Chuck and Claude Opus 5
c693278d33
fix(display): size the preview after orientation and pixel mappers
...
display_geometry.physical_size claimed to give DisplayManager's answer but
only computed cols*chain x rows*parallel. RGBMatrix.width/height are measured
after the library's pixel mappers, so a Rotate:90 / orientation 90 chain
previewed 128x32 for a 32x128 panel and a U-mapper chain of four 256x32 for
128x64.
Model the built-in mappers' size effect as the pinned lib/pixel-mapper.cc
does (Rotate, U-mapper, V-mapper, StackToRow, Remap; Mirror and unknown
names leave it alone), and move the orientation composition here so
DisplayManager and the preview share it. The module docstring no longer
claims the sync handshake uses it; that imports only DEFAULT_CHAIN_LENGTH.
Audit finding F18.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-17 08:59:47 -04:00
..
2026-09-15 10:58:57 -04:00
2026-09-15 18:09:11 -04:00
2026-08-07 10:17:30 -04:00
2026-09-15 18:09:11 -04:00
2026-03-20 15:06:58 -04:00
2026-08-21 11:16:52 -04:00
2026-09-12 16:13:38 -04:00
2026-07-12 10:38:52 -04:00
2026-07-12 10:38:52 -04:00
2026-05-24 09:38:15 -04:00
2026-09-16 17:12:28 -04:00
2026-08-21 11:16:52 -04:00
2026-09-15 19:17:48 -04:00
2026-09-08 08:34:52 -04:00
2026-09-11 10:07:38 -04:00
2026-08-21 11:16:52 -04:00
2026-08-23 11:44:23 -04:00
2026-09-11 10:07:38 -04:00
2026-09-11 10:07:38 -04:00
2026-08-21 11:16:52 -04:00
2026-08-21 11:16:52 -04:00
2026-09-11 10:07:38 -04:00
2026-09-11 10:07:38 -04:00
2026-09-14 12:40:41 -04:00
2026-07-14 08:08:51 -04:00
2026-09-15 10:58:57 -04:00
2026-09-15 10:58:57 -04:00
2026-09-15 10:58:57 -04:00
2026-09-16 17:12:28 -04:00
2026-05-24 09:38:15 -04:00
2026-08-26 10:03:43 -04:00
2026-09-01 09:54:04 -04:00
2026-08-07 13:02:59 -04:00
2026-08-11 16:10:56 -04:00
2026-08-07 16:17:11 -04:00
2026-09-13 11:53:50 -04:00
2026-08-12 08:42:56 -04:00
2026-08-19 12:28:22 -04:00
2026-09-07 13:37:54 -04:00
2026-08-12 08:40:07 -04:00
2026-08-11 14:14:25 -04:00
2026-08-19 17:40:52 -04:00
2026-09-14 09:42:24 -04:00
2026-09-15 15:32:21 -04:00
2026-08-07 10:17:30 -04:00
2026-08-07 16:17:11 -04:00
2026-07-14 08:49:43 -04:00
2026-09-11 10:07:38 -04:00
2026-09-16 17:12:18 -04:00
2026-08-06 14:04:23 -04:00
2026-05-15 10:19:55 -04:00
2026-05-15 10:19:55 -04:00
2026-09-15 18:19:39 -04:00
2026-08-04 13:46:28 -04:00
2026-09-03 16:06:40 -04:00
2026-05-24 09:38:15 -04:00
2026-09-07 15:55:46 -04:00
2026-06-01 11:58:21 -04:00
2026-08-23 11:43:39 -04:00
2026-08-07 16:17:11 -04:00
2026-08-07 10:17:30 -04:00
2026-08-07 16:17:11 -04:00
2026-09-12 16:13:38 -04:00
2026-09-07 13:37:54 -04:00
2026-09-17 08:59:47 -04:00
2026-08-07 16:17:11 -04:00
2026-09-15 19:17:48 -04:00
2026-08-06 14:04:23 -04:00
2026-08-07 16:17:11 -04:00
2026-09-14 13:27:10 -04:00
2026-09-13 11:53:50 -04:00
2026-08-07 13:27:20 -04:00
2026-05-15 10:19:55 -04:00
2026-05-15 10:19:55 -04:00
2026-09-16 17:12:28 -04:00
2026-08-07 10:17:30 -04:00
2026-09-13 10:47:01 -04:00
2026-05-24 09:38:15 -04:00
2026-08-21 14:30:29 -04:00
2026-09-07 13:37:38 -04:00
2026-07-12 10:38:52 -04:00
2026-05-24 09:38:15 -04:00
2026-08-21 15:50:55 -04:00
2026-08-12 14:58:05 -04:00
2026-08-12 14:58:05 -04:00
2026-08-23 11:42:51 -04:00
2026-08-03 16:52:42 -04:00
2026-09-14 17:38:17 -04:00
2026-08-21 15:50:55 -04:00
2026-09-15 18:09:23 -04:00
2026-09-11 08:42:30 -04:00
2026-09-11 08:41:58 -04:00
2026-07-12 10:38:52 -04:00
2026-08-23 11:44:00 -04:00
2026-09-02 13:21:07 -04:00
2026-09-11 08:41:32 -04:00
2026-08-21 15:50:55 -04:00
2026-09-11 11:32:12 -04:00
2026-09-08 08:34:52 -04:00
2026-08-11 16:10:56 -04:00
2026-09-07 13:37:38 -04:00
2026-09-08 08:34:52 -04:00
2026-08-19 12:49:46 -04:00
2026-09-11 15:32:03 -04:00
2026-09-11 15:32:03 -04:00
2026-09-16 17:12:18 -04:00
2026-09-15 19:17:48 -04:00
2026-08-17 15:35:02 -04:00
2026-09-08 08:34:52 -04:00
2026-09-02 09:51:27 -04:00
2026-08-21 16:19:33 -04:00
2026-09-11 08:41:58 -04:00
2026-08-19 12:28:22 -04:00
2026-07-11 08:55:50 -04:00
2026-05-15 10:19:55 -04:00
2026-08-23 11:43:39 -04:00
2026-07-09 07:54:18 -04:00
2026-08-25 09:45:17 -04:00
2026-08-26 08:56:45 -04:00
2026-08-02 10:40:12 -04:00
2026-08-05 19:38:11 -04:00
2026-09-15 18:19:39 -04:00
2026-09-15 18:19:39 -04:00
2026-08-07 13:02:59 -04:00
2026-08-21 15:50:55 -04:00
2026-08-07 16:17:11 -04:00
2026-08-21 16:22:48 -04:00
2026-08-07 10:17:30 -04:00
2026-05-15 10:19:55 -04:00
2026-09-07 13:37:54 -04:00
2026-07-31 09:40:38 -04:00
2026-09-14 18:44:52 -04:00
2026-08-07 16:17:11 -04:00
2026-08-07 10:17:30 -04:00
2026-07-13 09:28:30 -04:00
2026-08-02 12:39:33 -04:00
2026-08-07 16:17:11 -04:00
2026-09-14 12:48:36 -04:00
2026-08-02 12:39:33 -04:00
2026-09-13 11:53:50 -04:00
2026-09-15 15:32:21 -04:00
2026-09-11 08:42:18 -04:00
2026-08-02 12:39:33 -04:00
2026-08-21 16:24:15 -04:00
2026-09-09 16:13:04 -04:00
2026-09-13 11:53:50 -04:00
2026-08-26 11:25:10 -04:00
2026-09-11 10:07:38 -04:00
2026-08-07 16:17:11 -04:00
2026-06-11 18:18:28 -04:00
2026-07-13 09:32:37 -04:00
2026-08-21 14:29:45 -04:00
2026-08-21 14:28:23 -04:00
2026-08-21 11:16:52 -04:00
2026-09-11 08:45:40 -04:00
2026-08-25 08:40:28 -04:00
2026-08-21 14:29:45 -04:00
2026-09-11 08:41:19 -04:00
2026-08-06 14:04:23 -04:00
2026-07-14 08:33:08 -04:00
2026-05-15 10:19:55 -04:00
2026-04-08 12:33:54 -04:00
2026-08-17 13:28:40 -04:00
2026-08-21 14:30:29 -04:00
2026-08-21 14:30:29 -04:00
2026-05-24 09:38:15 -04:00
2026-05-24 09:38:15 -04:00
2026-07-31 09:40:38 -04:00
2026-09-11 10:07:38 -04:00
2026-08-23 11:42:33 -04:00
2026-08-12 14:06:32 -04:00
2026-07-31 09:40:38 -04:00
2026-08-13 17:02:36 -04:00
2026-08-21 15:50:55 -04:00
2026-07-08 09:43:13 -04:00
2026-07-12 10:40:34 -04:00
2026-08-07 10:17:30 -04:00
2026-08-03 15:21:47 -04:00
2026-09-13 11:53:50 -04:00
2026-09-10 17:42:00 -04:00
2026-09-11 10:07:38 -04:00
2026-07-09 09:22:24 -04:00
2026-09-14 09:42:24 -04:00
2026-09-14 09:42:24 -04:00
2026-09-14 17:45:03 -04:00
2026-09-09 16:25:45 -04:00
2026-09-14 09:42:24 -04:00
2026-09-14 12:40:41 -04:00
2026-09-14 12:40:41 -04:00
2026-05-03 08:25:20 -04:00