Codex and claude[bot]
e758c3d9fb
fix: quantise the light aperture amount of moving covers ( #366 )
...
A gate or door bound to a position-reporting cover fed current_position
into the light-barrier signature at toFixed(3) precision: every percent of
movement produced a new fingerprint, a full physicalBodyParts recompute
and a recut — up to ~100 heavy passes per gate cycle, plus LRU churn.
The light pipeline now consumes one quantised amount
(OPENING_LIGHT_AMOUNT_QUANTUM = 0.05, exact 0 and 1 nodes) at the single
point that feeds BOTH the signature and the cut geometry, so the cache key
and the drawn aperture agree by construction and a full sweep costs at
most 21 recomputes. The door LEAF animation stays smooth — _openingAmt is
quantised only for the light pipeline, nowhere else. Binary contact doors
are byte-identical to the previous behaviour (pinned by unit).
Assumption recorded in the spec: the 5% visual step of the light cut is
indistinguishable on real plans; if field impressions disagree, the
quantum is a one-constant change (0.02 => <=51 recomputes) or the decision
falls back to a debounce. LIGHT.md §Caching documents the grid.
Issue: #366
User-Visible: yes
2026-08-29 08:15:51 +00:00
..
2026-08-28 13:07:58 +00:00
2026-08-12 19:18:54 +03:00
2026-08-20 19:32:16 +00:00
2026-08-29 10:13:09 +03:00
2026-08-04 14:13:38 +03:00
2026-08-29 10:06:41 +03:00
2026-08-28 14:32:08 +00:00
2026-08-28 05:40:28 +00:00
2026-08-28 10:44:27 +03:00
2026-08-22 13:45:26 +03:00
2026-08-23 00:34:55 +03:00
2026-08-26 02:20:57 +03:00
2026-08-28 05:40:28 +00:00
2026-08-09 21:51:33 +03:00
2026-08-06 16:48:45 +03:00
2026-08-16 21:53:41 +03:00
2026-08-08 21:33:09 +03:00
2026-08-28 05:40:28 +00:00
2026-08-28 11:26:19 +00:00
2026-08-07 13:02:46 +03:00
2026-08-20 11:00:22 +03:00
2026-08-27 23:17:52 +00:00
2026-08-20 11:00:22 +03:00
2026-08-29 06:39:28 +00:00
2026-08-28 13:07:58 +00:00
2026-08-28 13:07:58 +00:00
2026-08-19 22:37:25 +03:00
2026-08-23 08:08:17 +03:00
2026-08-16 22:35:54 +03:00
2026-08-28 16:48:10 +03:00
2026-08-23 00:19:54 +03:00
2026-08-28 14:32:08 +00: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-08-28 19:23:16 +03:00
2026-08-29 07:55:23 +00:00
2026-08-29 07:55:23 +00:00
2026-08-19 23:33:44 +03:00
2026-08-11 02:49:42 +03:00
2026-08-10 00:24:42 +03:00
2026-08-29 00:51:43 +03:00
2026-08-28 18:18:24 +03:00
2026-08-25 12:49:41 +03:00
2026-08-19 02:12:37 +03:00
2026-08-13 00:14:51 +03:00
2026-08-28 05:40:28 +00:00
2026-08-28 18:08:27 +03:00
2026-08-28 18:52:03 +03:00
2026-08-20 01:38:01 +03:00
2026-08-23 01:59:26 +03:00
2026-08-14 00:43:13 +03:00
2026-08-14 00:43:13 +03:00
2026-08-26 01:34:20 +03:00
2026-08-28 10:46:27 +00:00
2026-08-28 14:40:06 +03:00
2026-08-11 22:12:08 +03:00
2026-08-17 16:45:41 +03:00
2026-08-29 08:15:51 +00:00
2026-08-18 21:31:04 +03:00
2026-08-12 12:43:27 +03:00
2026-08-27 00:21:23 +03:00
2026-08-28 01:33:36 +03:00
2026-08-28 05:40:28 +00:00
2026-08-28 05:40:28 +00:00
2026-08-28 16:02:17 +03:00
2026-08-28 05:40:28 +00: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-08-23 01:59:26 +03:00
2026-08-23 01:59:26 +03:00
2026-08-26 02:20:57 +03:00
2026-08-28 05:40:28 +00:00
2026-08-19 15:43:23 +03:00
2026-08-10 18:01:16 +03:00
2026-08-28 05:40:28 +00:00
2026-08-28 10:19:37 +03:00
2026-08-28 22:33:07 +03:00
2026-08-27 13:58:06 +03:00
2026-08-26 14:01:58 +03:00
2026-08-25 16:36:55 +03:00
2026-08-20 08:42:34 +03:00
2026-08-26 10:28:04 +03:00
2026-08-28 12:47:30 +03:00
2026-08-10 18:01:16 +03:00
2026-08-27 18:55:41 +03:00
2026-08-28 05:40:28 +00:00
2026-08-23 10:15:45 +03:00
2026-08-26 02:20:57 +03:00
2026-08-27 20:30:07 +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-08-29 10:38:36 +03:00
2026-08-22 10:56:22 +03:00
2026-08-22 15:32:55 +03:00
2026-08-11 02:49:42 +03:00
2026-08-28 05:40:28 +00:00
2026-08-22 18:32:52 +03:00
2026-08-28 10:25:36 +03:00
2026-08-23 00:35:48 +03:00
2026-08-27 16:33:47 +03:00
2026-08-17 16:45:41 +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-26 01:34:20 +03:00
2026-08-26 01:55:00 +03:00
2026-08-17 12:01:14 +03:00
2026-08-28 11:58:46 +03:00
2026-08-28 23:16:58 +03:00
2026-08-28 16:02:17 +03:00
2026-08-14 03:32:53 +03:00
2026-08-11 05:40:32 +03:00
2026-08-08 21:33:09 +03:00
2026-08-26 13:39:52 +03:00
2026-08-22 10:56:38 +03:00
2026-08-21 13:25:16 +03:00
2026-08-27 20:30:07 +03:00
2026-08-28 05:40:28 +00:00
2026-08-27 15:00:30 +03:00
2026-08-28 05:40:28 +00:00
2026-08-26 13:39:52 +03:00