mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-09-12 22:38:33 +00:00
refactor(h3d-carve-8): extract Q-helpers (lighting/FX) → src/fx.js
Six functions extracted from Q-section of screen.js into a new
src/fx.js ES module behind a createFx({...}) factory:
_h3dHexOrDefault, _applyCinematic, _timingHex,
_sparkBurst, _sparkUpdate, _bloomEnsure
buildBoard (330 lines) deferred to plan §3 row 16 (P-section cut):
its write-back surface spans 9 factory-scope vars owned by P/U/Y —
premature extraction would require ~50 DI params. See plans/highway3d-carve.md.
DI surface (26 beyond-subst rewires):
BG_DEFAULTS, K — plain IIFE-scope constants
getT — live-accessor (Three.js, lazy)
getAmbLight/getDirLight/getCinematic/getTimingFx — live-accessors
getSparkPts/.../getSparkN — live-accessors (per-call, not init-cached)
setSparkPts/setSparkPos/setSparkVel/setSparkCol/setSparkLife — setters
getComposer/setComposer — getter+setter (_bloomEnsure lazy reassigns)
getBloomLoad/setBloomLoad/getBloomPass/setBloomPass — getter+setter pairs
getBloomW/setBloomW/getBloomH/setBloomH — getter+setter pairs
getRen/getScene/getCam/getHighwayCanvas — live-accessors (null pre-init)
canvasSize — factory function ref (stable)
Class-killers (all mutations verified RED before commit):
- _timingHex EARLY branch removed → RED
- _sparkBurst stale init-time sparkPos cache → RED (live-accessor required)
- setBloomLoad silenced → RED (synchronous write-back path)
- setComposer getComposer init-cached → RED (live getComposer() required)
GAP declared: setComposer(comp) inside .then() (async, no import() mock)
Tests: 1266/1268 (2 pre-existing failures unrelated to this cut)
plugin.json: 3.43.0 → 3.44.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014uZ169yfoFYArXz962g7KW
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
4b87db0c17
commit
9b98d78cbe
@@ -120,6 +120,15 @@ function loadHighway3dStatics() {
|
||||
drawToneHud() { return 0; },
|
||||
drawLyrics() { return 0; },
|
||||
}),
|
||||
// h3d-carve-8: Q-helpers (lighting/FX) moved to src/fx.js.
|
||||
createFx: () => ({
|
||||
_h3dHexOrDefault() { return 0; },
|
||||
_applyCinematic() {},
|
||||
_timingHex() { return 0x22ff88; },
|
||||
_sparkBurst() {},
|
||||
_sparkUpdate() {},
|
||||
_bloomEnsure() { return null; },
|
||||
}),
|
||||
};
|
||||
vm.createContext(sandbox);
|
||||
vm.runInContext(instrumented, sandbox, { filename: SCREEN_JS });
|
||||
|
||||
Reference in New Issue
Block a user