experiment(core): layered paint grid with measured performance tradeoffs - #1466
Draft
kommander wants to merge 28 commits into
Draft
experiment(core): layered paint grid with measured performance tradeoffs#1466kommander wants to merge 28 commits into
kommander wants to merge 28 commits into
Conversation
added 12 commits
August 28, 2026 23:34
added 16 commits
August 29, 2026 06:38
WIP checkpoint: exact frame parity and focused tests pass; final residual-overhead controls and full validation follow. Preserve eager recording and issue1465 fixes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status
Draft opt-in candidate. Explicit startup-cost decision required; the universal
performance goal remains unmet. The owner permits one or two1-3% benchmark
losses with substantial remaining gains. Minor warm losses fit that tolerance;
larger first-use/mixed costs do not become acceptable by averaging them away.
Runtime remains
d86dd308, secured ata8801276, versus actual main202e1e6a.The focused continuation retained no runtime change. Recommendation: keep this
low-complexity candidate disabled by default and explicitly accept the disclosed
startup cost for opt-in selective scenes, or decline it. Do not automatically add
another recording strategy or mark the PR ready. This is a tradeoff recommendation,
not a proof that no future architecture could improve startup.
Architecture
scalar handling remains for wide/complex/shared-tab inheritance semantics.
wide/inherited dependency closure. No reverse cell index or duplicate renderer.
grid allocation. Native owns invalidation/recovery; the JS flag owns only the
outstanding recording obligation. Raw writes, late fallback and scope cleanup
remain intact. Root uses its existing geometry revision, not duplicate state.
buffer integration. Tests/reports excluded from those counts, not removed.
Redundant owner fields and identical raw/direct modes were already removed.
preserving status2 throw BEFOREtry/finally. It was measured and rejected, not
shipped for fractional warm noise. No new runtime memory or strategy framework.
Fresh First-Use Evidence
120x40 and240x80 bothdepth4, ON/OFF,1000/600 steady frames after all28mixed frames.
Same observer-free harness, rotating sources, verified normal binaries. No
forcedGC, dropped tails, hidden prewarming or inferred pause subtraction.
large1.28-1.67ms versus0.63-0.75ms. These ranges are workload/batch medians, not
per-repeat ranges. All first2/3 totals and individual distributions are linked.
layout+1.8/+7.9%. Large mixed signs vary versus prior matrices; full ranges and
pauses retained, no claim old large losses were GC or have universally vanished.
-20fresh phase JSC profiles show Root first capture smallLLInt/largeBaseline,
with scope and native text work also sampled. Not proof the entire gap isFFI/JIT.
smallfirst3+3-6%, layoutmixed+6.2/+5.9%. Rejected and fully restored. Small
constructor+first3 separately19.685->20.300ms; no constructor-hidden benefit.
Full Warm Matrix
Historical final
simple-*source/binary-identical results, not newly rerun:allnine ON/OFF, seven1000-frame repeats at120x40/depth1, five600 at240x80/depth4,
with rotating main/current/prior and separate original-driver observer family.
Generic-11.1%, raw-12.4%, image-17.8%. Small losses:layout+2.7%, scroll+2.4%,
broad+0.6%; layout/scrollp50 improve, broadp50+1.3%.
image-12.5%, scroll-4.5%; broad+2.1%,p50+0.4%.
generic+11.6%. These remain published, not replaced selectively by fresh wins.
Initial native grid allocation0; retained capacity about94/173KB small and
243/542KB large plain/outside, notRSS or cumulative allocation traffic.
Validation
coverage. Final docs-only fmt/lint/diff checks pass.
normal libraries03acd5fa. Only the rejected trial'stwoTSfiles differed.
packedBun+Node/React59/Solid271 remain evidence, not newly rerun counts.
Earlier6890Solid crash and passing rerun stay disclosed; finald86Solid passed.
toolchain, newworktree/cache or cleanup changes. Same draft PR; no merge/ready.
Reports