mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-09-12 05:48:32 +00:00
refactor(h3d-carve-7): extract O-section (lyrics + HUD overlay) → src/overlay.js
Move longestConsecutiveRun, drawChordDiagram, _drawDiagramCached,
drawSectionHud, drawToneHud, drawLyrics out of screen.js IIFE into
plugins/highway_3d/src/overlay.js as export function createOverlay({ diagRenderCache }).
Surprises vs approved contract:
• longestConsecutiveRun (lines 4338–4352) co-moved — called only by drawChordDiagram
• DIAG_SIZE_MIN, DIAG_SIZE_MAX, DIAG_CELL_MAX DELETED from screen.js (lines 573–575);
only users were inside the O-section; moved not copied to avoid drift
• _DIAG_CACHE_MAX DELETED from screen.js factory scope (line 3256); moved not copied
Beyond-subst rewires (2):
1. Factory wrapper createOverlay({ diagRenderCache })
2. _diagRenderCache → diagRenderCache (DI param) in 3 sites in _drawDiagramCached
Base run stated: 253/253 on a993d2b
Post-cut: 262/262 (+9 tests — 8 overlay class-killers + 1 panel-controls stub)
Named mutations verified RED:
• createOverlay({ diagRenderCache: new Map() }) → test 6 RED (ref-severance)
• void _DIAG_CACHE_MAX in screen.js → test 4 RED (bare private)
plugin.json: 3.42.0 → 3.43.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
a993d2b291
commit
0a91f4f1b1
@@ -112,6 +112,14 @@ function loadHighway3dStatics() {
|
||||
_meshMatForGhostFretDigit() {}, _spriteMat2MeshMat() {},
|
||||
pool: () => ({ get() {}, reset() {}, warm() { return this; } }),
|
||||
}),
|
||||
// h3d-carve-7: overlay (lyrics + HUD) moved to src/overlay.js.
|
||||
createOverlay: () => ({
|
||||
drawChordDiagram() { return 0; },
|
||||
_drawDiagramCached() { return 0; },
|
||||
drawSectionHud() { return 0; },
|
||||
drawToneHud() { return 0; },
|
||||
drawLyrics() { return 0; },
|
||||
}),
|
||||
};
|
||||
vm.createContext(sandbox);
|
||||
vm.runInContext(instrumented, sandbox, { filename: SCREEN_JS });
|
||||
|
||||
Reference in New Issue
Block a user