ChuckBuilds and Claude Opus 5
2f42d179f6
fix(composer): point the align toolbar at the anchor-clearing path
...
Two alignment implementations existed and the toolbar used the wrong one.
alignElement(dir) set el.x/el.y and stopped there. resolveAnchor turns
anchor='right' into `dim - val`, so with xAnchor='right' an "align left"
(el.x = 0) resolved to x = MATRIX_W and the element jumped to the far right
edge -- the opposite of what was asked. It also never touched el.x0/el.y0, so
a line's endpoints were left where they were.
_alignElement already did both correctly: it clears the anchor so the stored
value is absolute, and moves x0/y0 for lines. Its six wrappers -- alignLeft,
alignHCenter, alignRight, alignTop, alignVCenter, alignBottom -- existed and
had no callers at all.
All six toolbar buttons now call the wrappers, and the legacy method is
removed rather than left to drift back into use.
Tests: the toolbar calls each wrapper and no longer calls alignElement, the
legacy definition is gone, and _alignElement still clears the anchor and moves
line endpoints. Two of them fail against the previous markup.
Full suite 4062 passed, the one failure being test_install_lowmem
(pre-existing, awaiting #492 ).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01STMbQE4YctTacQXfbYqKuW
2026-08-22 15:13:27 -04:00
..
2026-08-07 10:17:30 -04:00
2026-08-07 10:17:30 -04:00
2026-08-21 14:30:29 -04:00
2026-03-20 15:06:58 -04:00
2026-08-21 11:16:52 -04:00
2026-07-13 08:59:41 -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-08-07 16:17:11 -04:00
2026-08-21 11:16:52 -04:00
2026-08-21 11:16:52 -04:00
2026-08-21 11:16:52 -04:00
2026-08-21 11:16:52 -04:00
2026-08-21 11:16:52 -04:00
2026-08-21 11:16:52 -04:00
2026-07-14 08:08:51 -04:00
2026-05-24 09:38:15 -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-08-12 08:42:56 -04:00
2026-08-19 12:28:22 -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-08-07 10:17:30 -04:00
2026-08-22 14:35:30 -04:00
2026-08-22 12:16:44 -04:00
2026-08-22 15:13:27 -04:00
2026-08-21 18:56:00 -04:00
2026-08-07 16:17:11 -04:00
2026-07-14 08:49:43 -04:00
2026-08-21 14:30:29 -04:00
2026-08-07 16:17:11 -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-08-04 13:46:28 -04:00
2026-05-24 09:38:15 -04:00
2026-08-07 10:17:30 -04:00
2026-06-01 11:58:21 -04:00
2026-07-06 17:37:01 -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-07-13 10:31:20 -04:00
2026-08-07 16:17:11 -04:00
2026-08-12 09:40:48 -04:00
2026-08-06 14:04:23 -04:00
2026-08-07 16:17:11 -04:00
2026-08-02 12:01:56 -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-08-07 10:17:30 -04:00
2026-05-24 09:38:15 -04:00
2026-08-21 14:30:29 -04:00
2026-08-10 08:17:57 -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-03 15:21:18 -04:00
2026-08-03 16:52:42 -04:00
2026-08-21 15:50:55 -04:00
2026-07-12 10:38:52 -04:00
2026-08-21 15:50:55 -04:00
2026-05-24 09:38:15 -04:00
2026-08-21 11:16:52 -04:00
2026-08-21 15:50:55 -04:00
2026-08-11 16:10:56 -04:00
2026-08-19 12:49:46 -04:00
2026-07-11 08:55:50 -04:00
2026-08-17 15:35:02 -04:00
2026-08-04 13:46:05 -04:00
2026-08-21 16:19:33 -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-07-09 07:54:18 -04:00
2026-08-02 10:40:12 -04:00
2026-08-05 19:38:11 -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-07-31 09:40:38 -04:00
2026-05-24 09:38:15 -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-08-02 12:39:33 -04:00
2026-08-02 12:39:33 -04:00
2026-08-21 16:24:15 -04:00
2026-08-02 12:39:33 -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-08-21 14:29:45 -04:00
2026-08-21 14:29:45 -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-08-10 09:41:25 -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-08-07 10:17:30 -04:00
2026-08-11 13:56:16 -04:00
2026-07-09 09:22:24 -04:00
2026-07-16 20:32:07 -04:00
2026-07-16 20:32:07 -04:00
2026-08-06 14:04:23 -04:00
2026-07-14 11:22:37 -04:00
2026-05-03 08:25:20 -04:00