You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(painter): delete dead fragment.X fallbacks from resolved-item reads (SD-2957)
The painter coalesced ~14 resolved-item field reads with the legacy fragment
back-pointer (resolvedItem?.X ?? fragment.X). The resolve producer
(resolveLayout) already copies these fields onto the resolved item whenever
the source fragment has them, so the fragment fallback was mathematically
equivalent to just resolvedItem?.X — dead code preserved from the SD-2836
transition.
Sweep covers:
* paragraph: continuesFromPrev, continuesOnNext, markerWidth (truthy use)
* list-item content: continuesFromPrev, continuesOnNext, markerWidth (used as
Math.max input — defaults to 0 when absent rather than reading fragment)
* list-item wrapper frame: markerWidth (used as Math.max input — defaults to 0)
* drop cap / paragraph / list marker / image: sourceAnchor
* image: pmStart, pmEnd, metadata
* fragment z-index: zIndex
Test fixture updated: the list-item-wrapper geometry test was relying on
the dead fallback (its resolved item omitted markerWidth). Populate
markerWidth on both initial and updated resolved items so the test reflects
the contract.
Out of scope (different semantics, not the same dead-fallback shape):
* block.width ?? fragment.width (image-block natural width vs fragment
layout width — separate concepts).
* fragment.lines ?? measure.lines.slice(...) — flagged as stretch.
* fragment.scale ?? 1 — literal default with no resolved-stage equivalent.
0 commit comments