Claude and claude[bot]
715735d753
refactor(iso): remove the empty overlay renderers and dead fixture fields ( #732 )
...
After #714 and #724 the 2.5D overlays still carried stubs:
- renderIsoOverlayGrounds and renderIsoRaisedOverlays returned an empty SVG
on every frame. They go with IsoFramePresentation.grounds/raised and the two
bindings in the card. The iso-overlays-svg element itself stays, now empty:
it is the inert camera-viewBox layer the contract and live-touch smokes
measure screen-facing HTML against, so the 2.5D DOM keeps its elements.
- IsoOverlayRenderEntry.groundRadius was computed for every device, room label
and lock and read only by the snapshot comparison that compared it.
The overlay test fixtures passed view, referenceView, stageSize and layers
(and one test selectedDeviceId), which IsoOverlaySceneInput does not have, and
asserted that changing them keeps the placement - a claim the signature makes
by itself. Those fields are gone from every fixture. The zoom/resize asserts of
"Stage 4 reuses pure overlay placements" and "#713 AC3" (renamed to what it
still checks) and the "#570 supersedes #473 W1" selection test go; the #724
AC2 test now zooms the way production does, through the live frame of
resolveIsoScene, and checks that the structural geometry and so the overlay
scene are reused. The #713 K8 fixture no longer passes stageSize, which
resolveIsoOverlayFitEnvelope does not read.
test/iso-overlay-fixture-types.test.mjs typechecks the overlay test files with
the TypeScript compiler: their fixture types (OverlaySceneFixture,
OverlayEntryFixture) are the keys of the production types with deliberately
loose values, so a partial fixture is fine and a field the type lacks is an
excess-property error. Three checks: no excess property in the fixture files;
a probe shows the fixture types resolve to the real inputs and reject view,
referenceView, stageSize, layers, selectedDeviceId and groundRadius; every
call of the scene builder gets its argument through a checked type (a literal
in overlayScene or a declaration of the fixture type). Each check is red when
a dead field is put back into a declared fixture, an override literal or an
entry, when a literal goes straight into the builder, when a fixture loses its
annotation, and when groundRadius returns to the entry type.
isometric-contract now asserts that nothing renders into the overlay surface
and that the removed renderers and groundRadius stay gone. No mutant is
anchored on the removed code; mutation-gate --check is unchanged (3 warnings).
The 19 2.5D golden scenes pass in capture on the accepted baselines.
Issue: #732
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
2026-09-30 23:26:46 +00:00
..
2026-09-21 13:13:50 +03:00
2026-09-20 10:28:51 +03:00
2026-09-24 10:23:28 +03:00
2026-08-12 19:18:54 +03:00
2026-09-06 17:52:05 +00:00
2026-08-29 10:13:09 +03:00
2026-09-27 18:07:37 +00:00
2026-08-31 04:35:56 +03:00
2026-08-31 03:56:01 +03:00
2026-09-30 21:01:10 +00:00
2026-09-08 19:51:04 +03:00
2026-09-27 22:33:03 +03:00
2026-09-30 18:38:56 +03:00
2026-09-11 22:12:11 +00:00
2026-09-26 07:28:23 +00:00
2026-09-26 07:28:23 +00:00
2026-09-26 07:28:23 +00:00
2026-09-26 21:00:43 +03:00
2026-09-02 22:10:16 +03:00
2026-09-20 13:51:05 +03:00
2026-09-03 01:22:01 +03:00
2026-09-17 23:19:56 +03:00
2026-08-23 00:34:55 +03:00
2026-09-09 18:53:38 +03:00
2026-09-27 06:32:49 +00:00
2026-09-26 21:42:57 +03:00
2026-08-30 19:05:24 +03:00
2026-09-29 23:04:41 +03:00
2026-09-27 09:48:02 +03:00
2026-09-06 17:52:05 +00:00
2026-09-20 23:06:43 +03:00
2026-09-01 15:08:22 +00:00
2026-09-29 00:30:04 +03:00
2026-09-12 22:29:16 +03:00
2026-09-25 23:33:07 +03:00
2026-08-30 12:42:31 +03:00
2026-09-12 22:29:16 +03:00
2026-09-15 00:16:35 +03:00
2026-09-03 15:23:40 +03:00
2026-09-23 10:34:09 +03:00
2026-09-26 21:00:43 +03:00
2026-09-05 09:25:08 +03:00
2026-09-30 18:38:57 +03:00
2026-09-06 17:38:47 +03:00
2026-09-08 21:26:29 +03:00
2026-09-28 17:51:06 +03:00
2026-09-03 15:23:40 +03:00
2026-09-04 08:58:48 +03:00
2026-09-03 15:23:40 +03:00
2026-08-29 21:39:08 +03:00
2026-09-30 21:01:10 +00:00
2026-09-26 07:28:23 +00:00
2026-09-03 15:23:40 +03:00
2026-08-20 11:00:22 +03:00
2026-09-14 02:57:50 +03:00
2026-09-23 05:35:41 +03:00
2026-09-24 22:50:30 +03:00
2026-08-20 11:00:22 +03:00
2026-09-14 03:16:00 +03:00
2026-09-10 11:41:16 +00:00
2026-08-30 13:16:27 +00:00
2026-09-18 13:40:57 +03:00
2026-09-18 13:40:57 +03:00
2026-09-18 13:40:57 +03:00
2026-08-30 07:48:16 +00:00
2026-08-16 22:35:54 +03:00
2026-08-30 14:03:35 +03:00
2026-09-24 05:09:23 +00:00
2026-09-24 05:09:23 +00:00
2026-09-25 03:50:40 +03:00
2026-09-01 17:54:48 +03:00
2026-09-29 01:22:14 +03:00
2026-09-06 17:38:47 +03:00
2026-09-24 01:35:25 +00:00
2026-09-19 18:32:19 +00:00
2026-08-30 00:45:31 +03:00
2026-09-07 03:47:57 +03:00
2026-09-01 22:23:57 +03:00
2026-09-29 00:30:04 +03:00
2026-08-28 05:40:28 +00:00
2026-08-24 15:06:06 +03:00
2026-08-11 19:15:21 +03:00
2026-09-25 02:13:32 +03:00
2026-09-23 03:18:37 +03:00
2026-09-19 13:38:49 +03:00
2026-09-23 15:49:45 +00:00
2026-09-21 15:01:18 +03:00
2026-09-25 18:55:14 +03:00
2026-09-03 01:22:01 +03:00
2026-09-19 13:38:49 +03:00
2026-09-21 15:01:18 +03:00
2026-09-27 06:32:49 +00:00
2026-09-26 07:28:23 +00:00
2026-09-14 02:28:50 +03:00
2026-08-29 14:46:52 +03:00
2026-09-25 03:50:40 +03:00
2026-09-30 16:19:40 +03:00
2026-09-04 19:26:35 +03:00
2026-09-30 12:25:46 +03:00
2026-09-02 00:08:02 +03:00
2026-08-25 12:49:41 +03:00
2026-08-19 02:12:37 +03:00
2026-09-25 18:55:14 +03:00
2026-08-13 00:14:51 +03:00
2026-09-25 13:11:44 +00:00
2026-09-04 22:03:45 +03:00
2026-09-23 21:09:44 +03:00
2026-09-11 22:12:11 +00:00
2026-09-23 02:00:48 +03:00
2026-09-25 01:25:20 +00:00
2026-09-20 12:18:12 +03:00
2026-09-24 14:51:18 +03:00
2026-09-24 14:51:18 +03:00
2026-09-26 21:00:43 +03:00
2026-08-20 01:38:01 +03:00
2026-09-30 15:18:00 +03:00
2026-09-30 23:26:46 +00:00
2026-09-30 22:39:24 +00:00
2026-09-30 15:18:00 +03:00
2026-09-30 23:26:46 +00:00
2026-09-30 23:26:46 +00:00
2026-09-06 07:06:54 +03:00
2026-09-30 23:26:46 +00:00
2026-08-28 10:46:27 +00:00
2026-09-25 18:55:14 +03:00
2026-09-26 21:22:14 +03:00
2026-08-17 16:45:41 +03:00
2026-08-31 04:35:56 +03:00
2026-09-05 12:10:26 +03:00
2026-09-28 17:51:06 +03:00
2026-09-24 05:00:45 +03:00
2026-09-28 16:27:45 +03:00
2026-08-18 21:31:04 +03:00
2026-09-30 20:25:08 +00:00
2026-08-12 12:43:27 +03:00
2026-09-25 01:25:20 +00:00
2026-09-28 22:39:36 +00:00
2026-09-23 21:09:44 +03:00
2026-09-30 12:25:46 +03:00
2026-09-30 12:25:46 +03:00
2026-09-27 17:54:21 +03:00
2026-09-21 14:12:17 +03:00
2026-09-28 22:39:36 +00:00
2026-09-25 18:31:17 +03:00
2026-09-24 05:48:42 +00:00
2026-09-20 12:18:12 +03:00
2026-09-23 21:09:44 +03:00
2026-09-24 10:23:28 +03:00
2026-09-27 22:33:03 +03:00
2026-09-25 01:25:20 +00:00
2026-08-30 21:34:32 +03:00
2026-08-19 18:04:11 +03:00
2026-08-22 12:25:05 +03:00
2026-08-25 12:17:30 +03:00
2026-08-19 15:43:23 +03:00
2026-09-06 07:48:03 +03:00
2026-08-29 21:15:21 +03:00
2026-09-06 17:38:47 +03:00
2026-09-24 08:00:58 +00:00
2026-09-06 17:38:47 +03:00
2026-09-28 17:51:06 +03:00
2026-08-19 15:43:23 +03:00
2026-09-07 21:07:03 +03:00
2026-09-07 11:06:28 +03:00
2026-09-07 11:36:23 +03:00
2026-09-07 03:47:57 +03:00
2026-09-07 11:06:28 +03:00
2026-09-07 03:47:57 +03:00
2026-09-28 14:58:33 +03:00
2026-09-07 03:50:36 +03:00
2026-09-07 11:06:28 +03:00
2026-09-16 21:34:39 +03:00
2026-09-30 19:42:52 +03:00
2026-09-25 18:55:14 +03:00
2026-09-30 20:17:15 +00:00
2026-09-06 17:38:47 +03:00
2026-09-28 09:59:52 +03:00
2026-08-27 13:58:06 +03:00
2026-09-06 17:38:47 +03:00
2026-09-06 17:38:47 +03:00
2026-09-24 19:57:41 +03:00
2026-09-09 18:53:38 +03:00
2026-08-20 08:42:34 +03:00
2026-09-29 00:30:04 +03:00
2026-09-29 23:04:41 +03:00
2026-09-27 22:10:46 +00:00
2026-09-27 22:10:46 +00:00
2026-09-23 08:51:17 +03:00
2026-09-24 10:23:28 +03:00
2026-09-29 23:04:41 +03:00
2026-09-30 18:27:54 +00:00
2026-09-30 22:26:44 +00:00
2026-09-13 23:23:30 +03:00
2026-09-09 03:54:42 +03:00
2026-09-09 03:52:23 +03:00
2026-09-09 03:52:23 +03:00
2026-09-09 03:54:02 +03:00
2026-09-28 22:39:36 +00:00
2026-09-30 20:25:08 +00:00
2026-09-30 18:24:39 +00:00
2026-09-13 10:35:43 +03:00
2026-09-13 10:35:43 +03:00
2026-09-13 10:35:43 +03:00
2026-09-26 10:02:40 +03:00
2026-09-13 10:35:43 +03:00
2026-08-27 18:55:41 +03:00
2026-09-30 22:26:44 +00:00
2026-09-30 20:30:34 +00:00
2026-09-23 21:09:44 +03:00
2026-09-04 22:03:45 +03:00
2026-09-08 00:31:25 +03:00
2026-08-26 02:20:57 +03:00
2026-09-06 17:38:47 +03:00
2026-08-24 22:59:33 +03:00
2026-08-26 02:20:57 +03:00
2026-08-28 05:40:28 +00:00
2026-08-24 17:35:45 +03:00
2026-09-28 23:09:46 +03:00
2026-09-24 10:23:28 +03:00
2026-09-27 22:10:47 +00:00
2026-09-27 22:10:46 +00:00
2026-08-22 10:56:22 +03:00
2026-09-28 16:27:45 +03:00
2026-09-25 10:15:34 +03:00
2026-09-08 10:44:13 +03:00
2026-09-10 11:41:16 +00:00
2026-09-04 00:41:40 +03:00
2026-09-04 00:35:21 +03:00
2026-09-30 21:01:10 +00:00
2026-08-28 05:40:28 +00:00
2026-09-13 20:29:35 +03:00
2026-09-11 01:42:46 +00:00
2026-09-29 08:45:44 +03:00
2026-08-28 10:25:36 +03:00
2026-09-03 16:50:54 +03:00
2026-08-29 21:15:21 +03:00
2026-09-10 11:41:16 +00:00
2026-09-09 02:53:36 +03:00
2026-09-03 19:18:13 +03:00
2026-09-23 15:27:51 +03:00
2026-08-31 09:45:53 +03:00
2026-08-19 02:49:39 +03:00
2026-08-21 00:50:15 +03:00
2026-08-25 14:47:04 +03:00
2026-08-29 21:17:31 +03:00
2026-09-27 14:41:18 +00:00
2026-09-29 21:52:52 +03:00
2026-09-29 07:19:05 +03:00
2026-09-24 02:33:08 +00:00
2026-08-26 01:34:20 +03:00
2026-09-25 18:55:14 +03:00
2026-09-09 09:32:36 +03:00
2026-09-26 08:51:15 +00:00
2026-09-30 22:16:19 +00:00
2026-09-09 13:57:53 +03:00
2026-09-15 09:05:58 +03:00
2026-09-25 14:22:36 +03:00
2026-09-29 08:45:44 +03:00
2026-09-25 03:50:40 +03:00
2026-09-24 05:00:45 +03:00
2026-09-27 21:27:57 +03:00
2026-09-13 06:05:45 +00:00
2026-09-14 21:23:58 +03:00
2026-09-01 16:32:25 +00:00
2026-09-27 09:18:50 +00:00
2026-09-10 11:41:16 +00:00
2026-09-03 23:24:08 +03:00
2026-08-29 11:29:42 +03:00
2026-09-28 23:38:50 +03:00
2026-09-30 18:27:54 +00:00
2026-09-12 22:29:16 +03:00
2026-09-05 16:10:19 +03:00
2026-09-12 03:49:46 +00:00
2026-09-14 07:06:16 +00:00
2026-08-31 01:36:59 +03:00
2026-08-14 03:32:53 +03:00
2026-09-13 10:26:12 +03:00
2026-08-26 13:39:52 +03:00
2026-08-22 10:56:38 +03:00
2026-09-06 17:38:47 +03:00
2026-08-27 20:30:07 +03:00
2026-09-11 11:19:04 +03:00
2026-09-05 22:13:25 +03:00
2026-09-10 11:41:16 +00:00
2026-09-30 23:19:47 +00:00
2026-09-27 13:57:21 +03:00
2026-09-24 01:35:25 +00:00
2026-09-06 17:52:05 +00:00
2026-09-06 17:38:47 +03:00
2026-09-25 18:55:14 +03:00