oficina / sheets Public

Record completed shared Mac typography validation

Paul Campbell pushed by paul@keymail.dev 3a543df84158049bc8549c9a1a844016021ef353 parent 42a62f8
1 file changed, +22 −6
  • docs/superpowers/specs/2026-09-20-mac-document-windows.md +22 −6

CI passed — run details

diff --git a/docs/superpowers/specs/2026-09-20-mac-document-windows.md b/docs/superpowers/specs/2026-09-20-mac-document-windows.md
index 4de6ef9..abefde8 100644
--- a/docs/superpowers/specs/2026-09-20-mac-document-windows.md
+++ b/docs/superpowers/specs/2026-09-20-mac-document-windows.md
@@ -58,12 +58,28 @@ updates and fixed logical page width. Deliberately restoring full storage replac
and viewport-dependent width made the corresponding tests fail. A synthetic WebKit
fixture matches native heading, bold and body line breaks and body line spacing.
-This verifies the measured typography cases, not universal browser/TextKit parity.
-Complex lists, inline code, mixed styles, margin collapsing and multi-page pagination
-need a larger shared layout fixture suite before exact parity can be claimed. The
-existing native line-based page breaking and web block-based pagination differ.
-That remaining work is triggered by the requested exact cross-platform typesetting
-acceptance check; it is not considered complete by this branch.
+The follow-up comparison suite loads the production web CSS, bundled fonts and
+pages.mjs pagination functions directly into WebKit. It covers nested lists and
+quotes, heading margins, serif/monospace fonts, inline code including a code span
+starting on a wrapped line, mixed 72pt text, whole-block pagination and an oversized
+first paragraph. Native Mac pagination now uses the same 648pt top-level-block
+budget, an 18pt separator and collapsed surrounding margins. It does not insert
+characters or change CRDT data. Font struts and per-run half-leading determine
+line height; nested margins are collapsed before TextKit layout.
+
+Storage edits invalidate separator offsets immediately, including optimistic edits
+and marked-text composition. A regression test inserts, composes and deletes before
+an existing separator. Unchanged view layouts reuse the measured pagination plan.
+Deliberately removing code-start padding and storage invalidation made their tests
+fail for the intended reasons; the restored implementations pass.
+
+Follow-up review: GPT-6 Astra (high), 2026-09-20; no remaining blocker in the bounded
+source review. Docs validation: 39 XCTest cases plus 15 Swift Testing cases pass,
+as does the iOS simulator build. The web comparison allows one CSS pixel for
+per-line metric rounding and 1.5pt accumulated position error across a long fixture.
+These are measured layout results, not a claim of pixel-identical rasterization or
+proof for every possible document. iOS retains its existing responsive paginator;
+the document-window pagination change targets Mac as requested.
Builds are local ad-hoc Mac applications, not signed distribution or TestFlight
releases. No server deployment, merge or publication was performed.