fix(h3d-carve-15): resolve Creed r1 F1/F2/F3 + camera import + smoke tests

F1: return { update, _prewarmStatic, _prewarmChart } from createRenderer;
    screen.js destructures all three (callers at :7377/:7461 were getting undefined).

F2: _applyNoteCamTargets read cameraLockLow/cameraLockZoom as free variables;
    replaced with getCameraLockLow() / getCameraLockZoom() getter calls.

F3: add dZ, renderOrderForLayerAtZ to geometry.js import; DI TS, S_BASE,
    FRET_LABEL_GOLD_HEX, FRET_LABEL_IDLE_HEX as shorthands from screen.js.

Camera import fix: camera.js only exports createCamera; remove the broken
    import of lookaheadBootstrapTime/ComputeFretBounds/TargetWorldX from
    camera.js (caused SyntaxError on module load); DI them as shorthands
    from screen.js createCamera() destructure at line 6755.

DI count: 177 → 184 (+7 shorthands).

Tests: 6 new execution-readiness guards (17-22) in highway_3d_renderer.test.js,
    each RED at 7180eff and GREEN at this tip. Suite 1402/1403 (pre-existing #46).

ESLint gate: Creed F1/F2/F3 names cleared; 160 remaining no-undef identifiers
    documented in hive/plans/h3d-cut15-creed-fix.md (categories B-G: deferred
    screen.js consts/fn-refs and renderer-internal closure state — carve-15b).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014uZ169yfoFYArXz962g7KW
This commit is contained in:
byrongamatos
2026-09-06 00:23:32 +02:00
co-authored by Claude Sonnet 4.6
parent 7180eff05d
commit d475899c5a
3 changed files with 110 additions and 18 deletions
+3 -1
View File
@@ -6847,7 +6847,7 @@ import { createRenderer } from './src/renderer.js'; // h3d-carve-15
// extracted to src/renderer.js (createRenderer factory).
// HONEST GAPS: _prewarmStatic/_prewarmChart need ren.compile() — documented
// in renderer.js with ponytail: comments.
const { update } = createRenderer({
const { update, _prewarmStatic, _prewarmChart } = createRenderer({
// ── Consts ─────────────────────────────────────────────────────
K, NFRETS, NW, NH, AHEAD, BEHIND, S_GAP,
CAM_FOCUS_BLEND_RATE,
@@ -6859,6 +6859,7 @@ import { createRenderer } from './src/renderer.js'; // h3d-carve-15
INLAY_LABEL_FRETS,
GHOST_HOLD_AFTER_ONSET,
CHORD_FRAME_RIM_MIN, CHORD_FRAME_RIM_FRAC_H,
TS, S_BASE, FRET_LABEL_GOLD_HEX, FRET_LABEL_IDLE_HEX,
// ── Fn-refs ─────────────────────────────────────────────────────
sY, xFret, xFretMid, fretLabelScaleForFret, pbBeg, pbEnd, pbReportTick,
hwyFirstRelevantFrettedTime, _syncOpenStringPitchLabels, txtMat, _setLabelMap,
@@ -6866,6 +6867,7 @@ import { createRenderer } from './src/renderer.js'; // h3d-carve-15
drawNote, drawArpBrackets, chordHarmonyLabels,
// createCamera outputs:
camUpdate,
lookaheadBootstrapTime, lookaheadComputeFretBounds, lookaheadTargetWorldX,
// createArp outputs:
chordWireHighDensity, chordTemplateLabel, chordTemplateMarkedArpeggio,
chordHandShapeArpeggioHint,