@@ -447,6 +447,34 @@ with no new registration.
447447 unresolved placeholders.
448448- [x] 1.6 Full ` cargo nextest run -p quarto-core ` → ** 2386 passed** .
449449
450+ ## Part 3 outcome — interactive-preview crossref (bd-zecehtnc) — CLOSED (semantics done)
451+
452+ Investigation (2026-06-18) found the interactive preview already renders crossrefs
453+ correctly, and Part 2 improved it:
454+
455+ - The q2-preview React renderer (` ts-packages/preview-renderer/src/q2-preview/ ` )
456+ has dedicated components for every crossref custom node — ` custom/FloatRefTarget.tsx ` ,
457+ ` CrossrefResolvedRef.tsx ` , ` Theorem.tsx ` , ` Proof.tsx ` , ` Equation.tsx ` — registered
458+ in ` registry.ts ` and dispatched by ` type_name ` (` dispatchers.tsx:207 ` ).
459+ ` FloatRefTarget ` composes "Figure N:" captions; ` CrossrefResolvedRef ` renders
460+ ` <a class="quarto-xref" href="#id">{kind} {n}</a> ` .
461+ - ** Numbering, links, captions, figure-vs-div, theorems/proofs/equations all work**
462+ — 53 ` custom-components.integration.test.tsx ` tests pass.
463+ - ** Part 2 also fixed preview's attribute-form figure crossref** : the
464+ ` {#fig-1} ` figure is no longer destroyed by early auto-stretch, so it
465+ becomes a proper numbered ` FloatRefTarget ` custom node in preview too.
466+ - ** nbsp parity: already correct.** ` CrossrefResolvedRef.tsx ` already emits a
467+ non-breaking space between kind and number (byte-confirmed: ` …7d c2 a0 24… ` );
468+ the "regular space" I first reported was a terminal-rendering artifact. No fix.
469+
470+ Decision (user): ** close bd-zecehtnc as semantics-done.** The only remaining gap
471+ is * visual* revealjs auto-stretch parity for crossref figures in preview (a
472+ single-image crossref figure fills the slide in ` render ` but shows at natural size
473+ in ` preview ` , because the Rust auto-stretch transform skips ` Block::Custom ` and
474+ ` FloatRefTarget.tsx ` adds no ` r-stretch ` ). Deferred to ** bd-hbloemff** (recommended
475+ approach there: make ` RevealAutoStretchTransform ` CustomNode-aware + have
476+ ` FloatRefTarget.tsx ` honor the mark).
477+
450478## Reference: key files
451479
452480- Pipeline order: ` crates/quarto-core/src/pipeline.rs:1078-1309 `
0 commit comments