Repository navigation
fix(templates): share backlight graph and honor the render camera - #440
Merged
Merged
Conversation
…erim root run primary-docs and instruction-budget specs pass 17/17. The root and native box stays open with the interim result, and the shooter perf regression is still unmeasured.
… evidence The twelve material templates now share one controller-owned render graph, so their generated scaffold trees move; rain is unchanged. Recompute the PRD-201 parent hashes through the spec that asserts them. Retained literal source/helper files under docs/benchmark/prd345/shooter-causes1 are raw evidence, like docs/benchmark/sweeps and docs/verification/visuals; ignore the tree from formatting so the evidence bytes stay literal.
jonit-dev
force-pushed
the
fix/prd345-shooter-perf
branch
from
October 5, 2026 04:32
c916625 to
ef5cbb2
Compare
jonit-dev
marked this pull request as ready for review
October 5, 2026 04:32
…-perf # Conflicts: # packages/create-threenative/__tests__/scaffold.spec.ts
jonit-dev
enabled auto-merge
October 5, 2026 05:25
…-perf # Conflicts: # packages/create-threenative/__tests__/scaffold.spec.ts
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 5, 2026
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.
The generated backlight shader now shares one render graph per controller across twelve material templates. Each converted material retains its own PBR inputs, maps and original emissive. A regression repair also resolves key-light layers against the actual render camera: when a second camera has different layers from the controller camera, it now receives the correct key contribution.
The controller owns the shared graph through a WeakMap. The render callbacks read current gains, light state and actual camera layers without changing light matrices. Rain keeps its custom shader.
The historical 21-launch study at unchanged 1920×1080 and 33 ms measured mean per-run p95 46.93 ms for per-material graphs (0/6 passes) and 30.43 ms for shared graphs (3/3). Raw reports, captured sources and PNG hashes remain in
docs/benchmark/prd345/shooter-causes1/. This historical result does not admit the complete current source: runtime/package/cooked-model and resource differences remain, and the camera callbacks have since been repaired.Current verification:
30d7847bbpassed CI37272442106. Its exact candidate673639aehas the same tree. The complete run passed 65 jobs with one explicit Android payload publish skip. All thirteen template nonvisual/pristine-typecheck legs, all four root unit shards (8,155 passed / 40 skipped tests), package, native, browser, playtest, typecheck and lint pass. These CI gates do not replace hardware template appearance or the unchanged 33 ms scenario.enabled=false/convertedMaterials=0execution jointly verify original-material preservation. Environment radiance honestly remains unknown and fill stays unadmitted. Independent review inspected the pixels and verified retained report/screenshot hashes. This is fallback execution and preservation evidence; matched current visual/cost observations remain unverified.Current integrated performance acceptance is RED. Six unchanged 1920×1080 / warmup60 / 33 ms scenarios measured shooter p95 112.9 / 144.5 / 88.9 ms and snow 59.8 / 48.6 / 51.8 ms; one shooter run also failed minimum FPS. Draw and triangle limits passed. These runs used two physical helper cores on a busy host and do not isolate code causality. Every failed outcome is retained. A same-current-assets comparison on physical cores 6–8 and their siblings passed measured suitability checks, then an actual CI Runner.Worker arrived eight seconds into the per-material launch. That arm was aborted; the shared arm was unrun, and no completed report, screenshot or new p95 statistic was produced. A preceding preparation-only attempt was retained separately after an idle-listener poll exposed an overly strict harness check; the focused listener classification regression is now 14/14 green. The scenario thresholds stayed unchanged, and the capture stopped without an automatic retry.
Current acceptance checkpoint and report seals distinguish verified, failed and unrun criteria. PRD-345 phases 2–3 remain open: integrated gameplay/performance and repeated startup admission, the complete all-template hardware gate and matched visual/cost observations, multi-camera and mixed-material/disposal GPU pixels, and rain's custom convention. Native original-material preservation and targeted Linux-x64 execution are verified. Enabled native grazing/fill is outside the documented admission scope; it is not an extra completion requirement. No local native build or denied replay was attempted in this task.
Published head
30d7847bbpreserves the owner reconciliation anddevelopd5d16970by normal merges. Develop subsequently advanced to9b3c4824through animation PR #395; the recorded qualification belongs to the explicitly named source tree above, and no new-base qualification is claimed. All new images remain local pending sharing approval; none were uploaded or added to Git. No performance limit, assertion, deadline or hook was weakened or bypassed.