
byrongamatosandClaude Sonnet 4.6
7623ad85e3
feat(h3d-carve-15): extract U-section (per-frame renderer) into src/renderer.js
- createRenderer factory DI: 241 params (consts, fn-refs, 33 pool getters,
material/settings/camera/ND getters, 35 setters)
- screen.js: tombstone + createRenderer wiring after createNoteRenderer +
createCamera wirings (§1 ruling: createNoteRenderer called from screen.js)
- Restore createArp wiring + _resetStringDependentCaches to screen.js
(accidentally dropped during carve; both needed in IIFE scope)
- smoothNow: correction 3 — setter form setFrameNow(v); return v (no bare
return (_frameNow = raw))
- _applyNoteCamTargets callers: 2 sites (7940/9923); correction 2 verified
- lookaheadSmoothCamStep callers: 3 sites (9963/9974/9978); correction 2 verified
- plugin.json: bump 3.50.0 → 3.51.0
Tests (16 files updated to scan renderer.js):
- highway_3d_renderer.test.js: new, 15 tests — export contract, DI count
(241), tombstone, caller-list corrections, smoothNow semantics, ordering
- highway_3d_arp_deferral.test.js: add renderer.js scan (deferChordGems /
noteStreamCoversArpShape moved to renderer.js)
- highway_3d_lean_sustain.test.js: add renderer.js scan; update to
setLeanSus/getLeanSus() getter form
- highway_3d_smooth_clock_pause.test.js: fix literal-newline syntax error;
update to setClkAudioT/setClkPerf/setFrameNow setter form;
update new-sample regex to match getClkAudioT()
- highway_3d_slide_target.test.js: add renderer.js to src scan
- highway_3d_sustain_rail.test.js: assert against rendererSrc (pattern
moved from U-section)
- highway_chart_transform.test.js: add utils.js scan (_openStringPitchLabels-
ForTuning moved to src/utils.js by h3d-carve-3)
- highway_note_state.test.js: add renderer.js scan (_ndGetNoteState /
_ndHasProvider captures in renderer.js update())
- highway_3d_camera_bootstrap.test.js: setter form for camSnapped/curX/
measureStarts; renderer.js added to scan
- highway_3d_camera_framing.test.js: renderer.js added; setMeasureStarts/
setCamSnapped setter form in assertions
Suite: 1395/1396 (test 46 pre-existing failure unrelated to carve-15)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014uZ169yfoFYArXz962g7KW
2026-09-05 22:47:48 +02:00
..
2026-07-11 16:33:03 +02:00
2026-06-16 18:47:13 +02:00
2026-07-19 12:16:02 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-16 18:47:13 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-12 14:22:19 +02:00
2026-07-05 23:50:30 +02:00
2026-07-10 23:19:20 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 18:18:00 +02:00
2026-06-23 11:03:01 +02:00
2026-09-03 18:34:02 +02:00
2026-07-15 10:50:55 +02:00
2026-07-19 11:27:52 +02:00
2026-07-23 11:26:32 +02:00
2026-06-23 11:03:01 +02:00
2026-07-02 18:42:26 +02:00
2026-07-12 13:43:57 +02:00
2026-07-05 23:37:39 +02:00
2026-07-19 11:52:51 +02:00
2026-07-19 11:52:51 +02:00
2026-07-15 00:36:20 +02:00
2026-07-10 23:19:20 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 18:32:25 +02:00
2026-09-05 09:03:10 +02:00
2026-09-05 09:55:36 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 19:19:57 +02:00
2026-07-05 22:20:32 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 06:50:52 +02:00
2026-09-05 16:07:37 +02:00
2026-09-05 07:19:58 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 16:37:20 +02:00
2026-09-05 12:40:34 +02:00
2026-09-05 21:38:18 +02:00
2026-06-22 13:27:21 +02:00
2026-09-05 15:14:53 +02:00
2026-09-05 16:37:20 +02:00
2026-09-05 10:24:40 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 22:47:48 +02:00
2026-07-02 00:40:52 +02:00
2026-09-05 17:19:01 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 17:51:54 +02:00
2026-09-05 06:50:52 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 07:42:18 +02:00
2026-09-05 08:02:00 +02:00
2026-09-05 16:37:20 +02:00
2026-07-12 12:24:40 +02:00
2026-06-23 11:03:01 +02:00
2026-09-05 20:32:15 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 20:32:15 +02:00
2026-07-19 11:27:52 +02:00
2026-07-11 19:22:14 +02:00
2026-07-10 23:19:20 +02:00
2026-07-12 12:24:40 +02:00
2026-09-05 22:47:48 +02:00
2026-07-15 00:36:16 +02:00
2026-07-10 23:19:20 +02:00
2026-07-10 23:19:20 +02:00
2026-07-12 12:24:40 +02:00
2026-09-05 20:32:15 +02:00
2026-07-10 23:19:20 +02:00
2026-07-11 20:58:41 +02:00
2026-07-11 22:44:03 +02:00
2026-07-12 00:19:59 +02:00
2026-06-16 19:36:53 +01:00
2026-07-03 14:35:07 +02:00
2026-07-13 00:35:09 +02:00
2026-07-11 21:32:31 +02:00
2026-07-23 11:26:32 +02:00
2026-06-23 11:03:01 +02:00
2026-07-12 16:06:28 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 23:26:35 +02:00
2026-07-15 12:39:25 +02:00
2026-07-03 13:07:47 +02:00
2026-07-11 23:26:35 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 18:18:00 +02:00
2026-07-12 00:19:59 +02:00
2026-07-12 00:19:59 +02:00
2026-07-11 18:18:00 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 22:44:03 +02:00
2026-07-11 20:58:41 +02:00
2026-07-12 14:08:45 +02:00
2026-07-12 16:05:50 +02:00
2026-07-12 14:22:19 +02:00
2026-07-11 22:05:22 +02:00
2026-07-12 11:56:07 +02:00
2026-07-11 21:52:51 +02:00
2026-07-11 23:26:35 +02:00
2026-07-12 14:22:19 +02:00
2026-06-16 18:47:13 +02:00
2026-06-23 11:03:01 +02:00
2026-07-12 14:22:19 +02:00
2026-06-16 18:47:13 +02:00
2026-07-11 19:37:44 +02:00
2026-07-11 19:37:44 +02:00
2026-06-28 13:58:14 +02:00
2026-07-02 14:03:05 +02:00
2026-06-29 10:42:41 +02:00
2026-07-02 14:52:40 +02:00
2026-07-03 14:35:07 +02:00
2026-07-11 23:30:30 +02:00
2026-06-28 14:10:15 +02:00
2026-07-19 00:10:53 -05:00
2026-06-28 12:39:13 +02:00
2026-06-29 12:26:29 +02:00
2026-07-19 00:04:30 -05:00
2026-07-05 00:19:46 +02:00
2026-07-02 13:57:58 +02:00
2026-06-29 14:44:56 +02:00
2026-07-13 15:07:28 +02:00
2026-06-16 18:47:13 +02:00
2026-06-23 11:03:01 +02:00
2026-07-14 22:11:52 +02:00
2026-07-15 12:39:25 +02:00
2026-07-11 18:41:52 +02:00
2026-06-23 11:03:01 +02:00
2026-09-03 14:37:34 +02:00
2026-07-11 17:09:18 +02:00
2026-07-01 11:07:58 +02:00
2026-07-05 00:16:42 +02:00