Skip to content

fix(text): close Milestones 6 and 8 lifecycle gaps - #11

Merged
thejustinwalsh merged 13 commits into
feat/mtsdf-adjacent-texel-simdfrom
feat/milestone-6-8-closure
Aug 4, 2026
Merged

fix(text): close Milestones 6 and 8 lifecycle gaps#11
thejustinwalsh merged 13 commits into
feat/mtsdf-adjacent-texel-simdfrom
feat/milestone-6-8-closure

Conversation

@thejustinwalsh

@thejustinwalsh thejustinwalsh commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • keep pnpm as the repository's single workflow surface while mise supplies only the exact pinned Node, pnpm, Rust, and workload-scoped native tools
  • scope optional Meson, Ninja, and pipx provisioning to the benchmark app and document the HarfBuzz prerequisites without forcing them onto core contributors
  • close the remaining Text generation-lifecycle gaps around pending no-ops, callback ownership, failed retries, paint identity, font invalidation, and explicit disposal
  • remove stale benchmark React surfaces and retain React Doctor's explicit non-route entrypoint coverage
  • complete the deferred combined Milestone 6/8 adversarial review, independently remediate every actionable finding, and close both milestones in the canonical roadmap

Lifecycle guarantees

  • a pending semantic no-op cannot cancel or strand the generation that owns it
  • callback-only and rejected generations retain deterministic ownership and retry behavior
  • paint-only mutation preserves the generation identity used by font-disposal listeners
  • disposing a superseded font cannot invalidate a healthy replacement generation
  • explicit Text.dispose() clears terminal invalidation state

Toolchain boundary

Mise selects pinned tools; it does not define a parallel task graph. Humans with compatible tools may run the named pnpm scripts directly. Repository agents and CI enter the pinned environment with mise exec -- pnpm … and execute those same scripts. Optional HarfBuzz build tools live under apps/benchmarks/mise.toml, outside the core Rust-and-Node contribution path.

Verification

  • complete root pnpm check
  • Text integration: 182 passed
  • benchmark unit: 257 passed; benchmark script tests: 4 passed
  • complete Chromium headless conformance and packed-consumer execution
  • Japanese showcase subset freshness check
  • package-size and fail-closed autoresearch provenance checks
  • OKF validation: 0 conformance errors, 0 producer-profile errors, 0 warnings
  • independent Claude closure review: no unresolved actionable Milestone 6/8 finding

The browser core delta for the lifecycle fixes is +678 raw / +391 minified / +75 gzip / +106 Brotli bytes. Optional baker hosts and Wasm artifacts remain byte-identical, and all compressed absolute budgets remain unchanged.

Stack

Depends on #10 and completes the Milestone 8.6 stack. No experimental raster kernel ships from this layer.

@thejustinwalsh
thejustinwalsh force-pushed the feat/milestone-6-8-closure branch 2 times, most recently from eec076a to b773c66 Compare August 1, 2026 09:03
@thejustinwalsh
thejustinwalsh force-pushed the feat/milestone-6-8-closure branch from b773c66 to de0934d Compare August 1, 2026 09:08
@thejustinwalsh
thejustinwalsh force-pushed the feat/milestone-6-8-closure branch from b0513e8 to aae46e0 Compare August 1, 2026 15:44
@thejustinwalsh thejustinwalsh changed the title fix(tooling): complete fresh-checkout benchmark setup fix(text): close Milestones 6 and 8 lifecycle gaps Aug 1, 2026
@thejustinwalsh
thejustinwalsh force-pushed the feat/milestone-6-8-closure branch from aae46e0 to ada3fd5 Compare August 1, 2026 16:59
@thejustinwalsh
thejustinwalsh marked this pull request as ready for review August 1, 2026 19:33
@thejustinwalsh
thejustinwalsh force-pushed the feat/milestone-6-8-closure branch from ada3fd5 to d23cecb Compare August 4, 2026 01:44
@thejustinwalsh
thejustinwalsh merged commit 230ca0c into main Aug 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant