jpmschweitzer and Claude Fable 5
f9ab3088ab
fix(ui): mouth-ring radius floored at 2x stroke — the radius-smaller-than-stroke draw_arc regime
...
Two separable findings from the live A/B (real driver): (1) the
original zero-ring report was a viewport-framing crop — the ring
fired all along at screen (1755,-191), above the frame under the
COVER fit; recentering via set_view proved the path live. (2) The
real bug once in-frame: at Quarter fit zoom the compensated ring
radius (5.0/7.5=0.667 canvas) fell below the floored stroke (1.0
canvas) and draw_arc's stroke filled its own hole — a solid blob,
not a ring. Bracket: 1x stroke=blob, 1.5x=hollow recovers, 2x=clean.
Fix: zoom_compensated_ring_radius() floors the radius at 2x the
paired stroke, wired through _zs_ring_radius() for both ring and
halo arcs; verified live producing a clean hollow double-ring. The
third member of the Godot sub-canvas-unit rasterizer family (width
floor, stroke-vs-width sites, now radius-vs-stroke) — all recorded
for the T-1176 render-mechanism discussion. 10 pin tests in the
stroke-width suite; revert-verified (floor drop -> named failures);
full client suite 3956/3956; gdlint clean.
Tickets: T-1170
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 15:47:33 +02:00
..
2026-07-22 10:35:37 +02:00
2026-07-16 20:29:53 +02:00
2026-07-06 21:53:35 +02:00
2026-02-28 12:20:02 +01:00
2026-04-05 09:59:56 +02:00
2026-02-18 11:51:41 +01:00
2026-02-25 11:45:34 +01:00
2026-02-28 12:20:02 +01:00
2026-06-12 16:22:01 +02:00
2026-04-22 09:06:51 +02:00
2026-02-18 11:51:41 +01:00
2026-07-14 17:31:15 +02:00
2026-07-22 19:51:12 +02:00
2026-07-22 11:41:37 +02:00
2026-07-22 11:41:37 +02:00
2026-07-21 09:26:02 +02:00
2026-07-22 19:51:12 +02:00
2026-07-16 20:34:01 +02:00
2026-07-22 11:41:37 +02:00
2026-07-21 13:32:06 +02:00
2026-07-23 13:05:40 +02:00
2026-07-23 15:47:33 +02:00
2026-07-23 12:54:25 +02:00
2026-07-23 10:37:56 +02:00
2026-07-23 13:05:40 +02:00
2026-07-22 19:05:15 +02:00
2026-07-22 22:36:05 +02:00
2026-07-22 21:15:47 +02:00
2026-07-22 20:56:46 +02:00
2026-07-23 14:54:10 +02:00
2026-07-23 11:33:31 +02:00
2026-07-23 08:55:29 +02:00
2026-04-05 09:59:56 +02:00
2026-02-21 13:43:43 +01:00
2026-06-12 16:22:01 +02:00
2026-02-21 13:43:43 +01:00
2026-07-17 10:24:39 +02:00
2026-04-21 17:29:49 +02:00
2026-02-21 13:43:43 +01:00
2026-04-05 09:59:56 +02:00
2026-02-18 11:51:41 +01:00
2026-04-21 14:30:38 +02:00
2026-03-20 07:48:47 +01:00
2026-04-21 09:48:26 +02:00
2026-04-05 09:59:56 +02:00
2026-02-21 13:43:43 +01:00
2026-05-02 10:19:11 +02:00
2026-02-18 11:51:41 +01:00
2026-06-12 16:22:01 +02:00
2026-02-18 11:51:41 +01:00
2026-04-19 21:58:24 +02:00
2026-02-18 11:51:41 +01:00
2026-02-23 21:01:30 +01:00
2026-02-21 13:43:43 +01:00
2026-02-19 12:05:36 +01:00
2026-02-18 11:51:41 +01:00
2026-03-04 09:50:02 +01:00
2026-06-12 16:22:01 +02:00
2026-02-28 12:20:02 +01:00
2026-06-12 16:22:01 +02:00
2026-02-28 12:20:02 +01:00
2026-06-12 16:22:01 +02:00
2026-02-12 23:43:37 +01:00
2026-06-12 16:22:01 +02:00
2026-02-28 12:20:02 +01:00
2026-05-02 22:50:17 +02:00
2026-02-28 12:20:02 +01:00
2026-07-06 20:18:01 +02:00
2026-02-18 11:51:41 +01:00
2026-05-02 22:50:17 +02:00
2026-05-02 18:03:06 +02:00
2026-05-02 22:50:17 +02:00
2026-02-28 12:20:02 +01:00
2026-04-05 09:59:34 +02:00
2026-02-28 12:20:02 +01:00
2026-07-07 00:35:20 +02:00
2026-04-21 17:29:49 +02:00
2026-02-21 13:43:43 +01:00
2026-07-14 15:44:56 +02:00
2026-04-19 15:36:04 +02:00
2026-04-19 15:36:04 +02:00
2026-04-19 15:36:04 +02:00
2026-07-21 20:00:18 +02:00
2026-02-18 18:28:37 +01:00
2026-02-21 13:43:43 +01:00
2026-07-21 20:00:18 +02:00
2026-07-16 21:30:52 +02:00
2026-02-14 09:49:41 +01:00
2026-04-05 09:59:56 +02:00
2026-02-21 13:43:43 +01:00
2026-04-21 17:29:49 +02:00
2026-02-18 11:51:41 +01:00
2026-04-21 17:29:49 +02:00
2026-02-12 23:43:37 +01:00
2026-04-21 17:29:49 +02:00
2026-02-28 12:20:02 +01:00
2026-04-21 17:29:49 +02:00
2026-02-11 20:59:46 +01:00
2026-04-05 09:59:34 +02:00
2026-02-11 16:52:27 +01:00
2026-04-22 10:06:39 +02:00
2026-06-12 16:22:01 +02:00
2026-02-21 13:43:43 +01:00
2026-02-18 02:14:29 +01:00
2026-02-18 11:51:41 +01:00
2026-04-22 10:06:39 +02:00
2026-02-18 11:51:41 +01:00
2026-04-22 10:06:39 +02:00
2026-02-18 11:51:41 +01:00
2026-04-21 17:29:49 +02:00
2026-02-18 11:51:41 +01:00
2026-07-22 00:47:53 +02:00
2026-02-11 19:16:56 +01:00
2026-07-22 19:05:15 +02:00
2026-05-02 10:19:11 +02:00
2026-02-12 23:43:37 +01:00
2026-02-27 18:06:16 +01:00
2026-02-28 12:20:02 +01:00
2026-05-02 10:19:11 +02:00
2026-03-05 11:44:12 +01:00
2026-04-05 09:59:56 +02:00
2026-02-21 14:10:06 +01:00
2026-02-25 21:59:56 +01:00
2026-02-28 12:20:02 +01:00
2026-02-13 02:07:43 +01:00
2026-02-11 19:16:56 +01:00
2026-02-23 21:01:22 +01:00
2026-02-28 12:20:02 +01:00
2026-02-19 14:59:50 +01:00
2026-02-21 13:43:43 +01:00
2026-07-06 21:15:32 +02:00
2026-02-12 23:43:37 +01:00
2026-07-14 17:31:15 +02:00
2026-05-02 10:19:11 +02:00
2026-02-28 12:20:02 +01:00
2026-04-19 21:58:24 +02:00
2026-02-21 14:10:06 +01:00
2026-02-13 18:07:15 +01:00
2026-02-14 09:49:41 +01:00
2026-04-05 09:59:56 +02:00
2026-02-28 12:20:02 +01:00
2026-07-16 21:40:03 +02:00
2026-03-05 08:41:09 +01:00
2026-07-16 20:29:14 +02:00
2026-03-05 08:41:09 +01:00