rzen
0218ae4c21
Drag instrumentation — render counters, hot-path signposts, and the invariants that prove the gates
...
BoardRenderMetrics (DEBUG-only, the pathfinder's counter bag plus a
strip-body discriminator that tells a failed gate from a direct
Observation invalidation) counted at BoardView/LaneView/CardFaceView/
TrashLaneView bodies and MasonryLayout's callbacks. DragSignposts wraps
dropUpdated, retargetCards, commitDrop, and the commit-to-covering-
snapshot release pause; input latency reports honestly against
NSApp.currentEvent's mach base or labels itself base=none — no event
timestamp rides the drop path. BoardRenderPerformanceTests hosts the
real BoardView off-screen: a value-equal reload runs zero lane and zero
card bodies, a one-card edit repaints one card of 180. The lane-body
budget is <= laneCount with the headerInk chain documented and a
two-way tripwire that fails when the fix lands. Methodology in
RENDER-INSTRUMENTATION.md. Release build proves it all compiles out.
Drag-perf card a450ad09.
Claude-Session: https://claude.ai/code/session_01CqjXB7ASoWtbyoGod68k97
2026-08-01 20:04:01 -04:00
..
2026-07-30 21:30:22 -04:00
2026-08-01 07:43:45 -04:00
2026-08-01 09:12:49 -04:00
2026-07-30 17:46:32 -04:00
2026-08-01 11:38:25 -04:00
2026-08-01 09:12:49 -04:00
2026-08-01 09:12:49 -04:00
2026-08-01 10:52:02 -04:00
2026-07-30 17:04:30 -04:00
2026-07-28 07:20:14 -04:00
2026-07-31 13:18:07 -04:00
2026-08-01 12:07:12 -04:00
2026-08-01 11:38:25 -04:00
2026-08-01 09:53:26 -04:00
2026-07-29 13:02:57 -04:00
2026-07-30 17:46:32 -04:00
2026-08-01 20:04:01 -04:00
2026-08-01 12:07:12 -04:00
2026-08-01 09:53:26 -04:00
2026-08-01 11:38:25 -04:00
2026-07-30 17:46:32 -04:00
2026-08-01 07:43:45 -04:00
2026-07-28 09:59:18 -04:00
2026-07-31 18:35:07 -04:00
2026-07-31 16:41:14 -04:00
2026-07-28 17:47:56 -04:00
2026-07-29 12:34:55 -04:00
2026-07-30 20:19:52 -04:00
2026-07-31 19:39:50 -04:00
2026-07-31 20:23:45 -04:00
2026-08-01 07:43:45 -04:00
2026-07-29 08:48:25 -04:00
2026-07-31 18:35:07 -04:00
2026-07-30 17:46:32 -04:00
2026-08-01 12:07:12 -04:00
2026-07-31 18:35:07 -04:00
2026-07-31 18:35:07 -04:00
2026-07-27 07:47:11 -04:00
2026-07-31 19:39:50 -04:00
2026-07-30 20:19:52 -04:00
2026-07-30 21:30:22 -04:00
2026-07-31 18:35:07 -04:00
2026-07-30 20:19:52 -04:00
2026-08-01 07:43:45 -04:00
2026-08-01 07:43:45 -04:00
2026-08-01 07:43:45 -04:00
2026-07-29 10:20:16 -04:00
2026-07-26 20:41:48 -04:00
2026-07-27 20:10:24 -04:00
2026-07-29 13:02:57 -04:00
2026-08-01 17:55:48 -04:00
2026-08-01 08:07:54 -04:00
2026-07-31 07:34:30 -04:00
2026-07-29 18:19:52 -04:00
2026-07-31 18:35:07 -04:00
2026-07-28 17:47:56 -04:00
2026-08-01 11:38:25 -04:00
2026-07-28 15:55:40 -04:00
2026-08-01 07:43:45 -04:00
2026-08-01 07:43:45 -04:00
2026-08-01 07:43:45 -04:00
2026-08-01 07:43:45 -04:00
2026-07-29 15:45:48 -04:00
2026-07-31 19:39:50 -04:00
2026-08-01 07:43:45 -04:00
2026-07-31 18:35:07 -04:00
2026-08-01 08:28:53 -04:00
2026-08-01 07:43:45 -04:00
2026-07-26 15:00:31 -04:00
2026-08-01 19:14:11 -04:00
2026-07-27 15:38:34 -04:00
2026-08-01 19:33:33 -04:00
2026-07-29 15:45:48 -04:00
2026-08-01 07:43:45 -04:00
2026-07-28 10:46:02 -04:00
2026-07-28 08:11:59 -04:00
2026-07-28 17:47:56 -04:00
2026-07-27 13:48:50 -04:00
2026-07-30 17:04:30 -04:00
2026-07-27 20:10:24 -04:00
2026-08-01 07:43:45 -04:00
2026-08-01 07:43:45 -04:00
2026-08-01 18:56:08 -04:00
2026-07-29 12:34:55 -04:00
2026-07-30 17:46:32 -04:00
2026-07-31 18:35:07 -04:00
2026-07-31 18:35:07 -04:00
2026-07-28 17:47:56 -04:00
2026-07-29 15:45:48 -04:00
2026-07-28 17:47:56 -04:00
2026-08-01 07:43:45 -04:00
2026-07-30 18:14:58 -04:00
2026-08-01 11:16:58 -04:00
2026-07-28 17:47:56 -04:00
2026-07-31 18:35:07 -04:00
2026-08-01 07:43:45 -04:00
2026-07-31 18:35:07 -04:00
2026-08-01 09:12:49 -04:00
2026-07-31 18:35:07 -04:00
2026-08-01 18:28:33 -04:00
2026-07-29 08:48:25 -04:00
2026-07-30 17:46:32 -04:00
2026-07-27 07:47:11 -04:00
2026-07-27 07:47:11 -04:00
2026-07-31 18:35:07 -04:00
2026-07-30 17:04:30 -04:00