Skip to content

refactor(benchmarks): clarify workload and scene ownership - #36

Open
thejustinwalsh wants to merge 8 commits into
feat/benchmark-boundary-localityfrom
feat/benchmark-public-api-audit
Open

refactor(benchmarks): clarify workload and scene ownership#36
thejustinwalsh wants to merge 8 commits into
feat/benchmark-boundary-localityfrom
feat/benchmark-public-api-audit

Conversation

@thejustinwalsh

@thejustinwalsh thejustinwalsh commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Summary\n\n- colocate each authored workload definition and public Text scene under its own workload directory\n- move renderer-owned persistent scenes and metadata under explicit technique directories\n- move the retained comparison host out of workloads and into the benchmark surface hierarchy\n- reduce app.tsx to route selection; isolate the shared route identity, controller state machine, persistent layout, and scene composition\n- separate conformance scenes and probe-only adapters from executable benchmark targets\n- preserve warm Advanced Shaping font transitions and retained comparison publication\n- correct the shaping performance probe so each case observes twelve new telemetry reports after its transition\n- publish evidence-backed V1 raster recommendations and an external-plugin migration guide for the required stageBatch transaction\n\n## Public API audit\n\nAll nine authored workloads use published @pmndrs/text, FontLoader, FontRegistry, raster-subpath, and runtime-bake surfaces. Workload code contains no raw Wasm URL, private baker package, internal package import, renderer allocation, or RAF ownership.\n\nThe audit found no missing common rendering API. It explicitly rejects public buffer-slack controls, a second Text flush/commit publication path, and shipped retained-update diagnostics: the required raster transaction already owns bounded capacity, Three matrix traversal owns publication, and diagnostics remain benchmark-only at zero runtime cost.\n\nThe accepted V1 reference now links a migration how-to for external rasters moving from buildBatches, stageBatchUpdate, and updatePaint to one renderer-neutral transaction. The renderer capability matrix distinguishes shipped V1 roles from later color, expanded-effect, paging, and mixed-raster work.\n\n## Runtime evidence\n\n- 61 benchmark unit files and 321 tests passed\n- complete live browser lane passed on WebGPU and forced WebGL2\n- all 21 Bitmap/MTSDF/Slug comparison workload cells rendered sequentially\n- Main, Conformance, and Presentation recovered while retaining exclusive renderer ownership\n- Presentation completed its timed sequence with one renderer, returned to Off-axis 3D, and measured Icon Grid at 60.25 FPS\n- corrected isolated Advanced Shaping run held all five cases at 59.84–60.17 FPS; CJK measured 60.02 FPS, 0.77 ms CPU p95, and 3.82 ms GPU p95\n- React Doctor 0.7.2 reported no findings\n- production package-size hashes are unchanged\n\n## Repository gates\n\n- mise exec -- pnpm benchmarks:check\n- mise exec -- pnpm benchmarks:test:live\n- isolated corrected Advanced Shaping GPU performance probe\n- mise exec -- pnpm benchmarks:check:react-doctor\n- mise exec -- pnpm docs:check\n- mise exec -- pnpm format:check\n\nThe benchmark OKF digest and canonical package, API-shape, roadmap, renderer-guidance, migration, and chronology documents are refreshed in the same branch. Milestone 10 closes only with the latest top check and every lower stack check green.

@thejustinwalsh thejustinwalsh changed the title feat/benchmark public api audit refactor(benchmarks): clarify workload and scene ownership Aug 3, 2026
@thejustinwalsh
thejustinwalsh marked this pull request as ready for review August 3, 2026 15:57
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