isaacand isaac
562de27c30
InstantPage V2: AI streaming animation for rich-data bubbles
...
Spec, plan, and full implementation of the AI-message streaming
animation in ChatMessageRichDataBubbleContentNode. Extracts
TextRevealController into a shared StreamingTextReveal submodule;
precomputes per-character rects in V2 layout (RTL-safe, glyph-ink
bounds); splits InstantPageV2TextView into render container + render
view with a reveal mask layer; implements mask + snippet pop-in
reveal; adds a per-text-view reveal cost map + applyReveal extension;
switches reveal cost to a width-based unit; sizes / clips the bubble
to the revealed prefix during streaming; aligns the Thinking… header
with TextBubble; floors table cell reveal cost at cell frame width;
includes layout closing pad in revealedContentSize; documents the
non-obvious invariants in CLAUDE.md.
2026-05-20 00:34:07 +08:00
..
2026-04-28 23:53:26 +02:00
2026-05-03 10:28:50 +02:00
2026-05-05 00:44:27 +02:00
2026-04-28 23:53:26 +02:00
2025-12-26 20:29:30 +08:00
2026-04-07 11:31:22 +02:00
2026-04-14 15:33:19 +02:00
2026-05-07 07:36:30 +02:00
2026-04-20 20:26:58 +02:00
2026-02-02 15:54:43 +04:00
2026-05-07 07:36:30 +02:00
2026-04-20 20:26:58 +02:00
2025-11-26 23:05:30 +08:00
2025-09-12 10:54:22 +02:00
2026-05-20 00:33:11 +08:00
2026-04-22 23:03:51 +02:00
2026-05-20 00:30:43 +08:00
2026-05-03 10:28:50 +02:00
2026-05-20 00:34:07 +08:00
2026-05-05 14:11:06 +02:00
2026-05-20 00:18:15 +08:00
2026-04-20 20:26:58 +02:00
2026-04-25 20:48:15 +04:00
2026-02-03 20:17:44 +08:00
2026-01-25 22:17:49 +04:00
2026-04-24 03:16:14 +02:00
2026-04-28 23:53:26 +02:00
2026-04-20 20:26:58 +02:00
2026-02-06 17:14:35 +04:00
2026-05-03 10:28:50 +02:00
2026-04-27 04:40:29 +02:00
2026-05-07 07:36:30 +02:00
2026-03-11 18:51:44 +01:00
2026-04-20 20:26:58 +02:00
2026-05-07 07:36:30 +02:00
2026-04-28 19:16:08 +02:00
2026-05-03 10:28:50 +02:00
2026-04-20 20:26:58 +02:00
2026-05-05 20:26:25 +02:00
2026-03-24 22:51:44 +08:00
2026-03-28 00:52:16 +08:00
2026-04-07 11:31:22 +02:00
2026-04-07 11:31:22 +02:00
2026-01-25 22:17:49 +04:00
2026-02-03 20:17:44 +08:00
2026-04-20 20:26:58 +02:00
2025-09-09 20:39:17 +04:00
2026-05-03 10:28:50 +02:00
2026-04-20 20:26:58 +02:00
2026-04-07 11:31:22 +02:00
2026-05-03 10:28:50 +02:00
2026-05-05 14:11:06 +02:00
2026-04-25 20:48:15 +04:00
2026-05-07 07:36:30 +02:00
2026-05-03 10:28:50 +02:00
2026-05-07 07:36:30 +02:00
2026-04-15 23:12:53 +02:00
2026-03-13 11:04:33 +01:00
2026-03-27 16:48:23 +01:00
2026-04-24 11:24:13 +04:00
2026-05-03 10:28:50 +02:00
2026-05-07 07:36:30 +02:00
2026-03-18 00:27:13 +01:00
2026-03-18 00:27:13 +01:00
2026-05-05 20:23:06 +02:00
2026-03-12 13:51:27 +01:00
2026-05-05 00:44:27 +02:00
2026-05-05 00:44:27 +02:00
2025-12-01 22:13:33 +08:00
2026-05-03 10:28:50 +02:00
2026-05-03 10:28:50 +02:00
2026-05-20 00:33:32 +08:00
2026-03-22 05:17:29 +03:00
2026-04-22 23:03:51 +02:00
2026-04-27 03:07:38 +02:00
2025-10-16 05:30:06 +04:00
2025-12-02 17:20:43 +08:00
2026-04-19 23:45:18 +02:00
2025-12-02 17:20:43 +08:00
2025-11-13 08:27:11 +04:00
2026-02-27 14:34:18 +04:00
2026-05-05 00:44:27 +02:00
2026-01-25 22:17:49 +04:00
2025-08-21 09:08:35 +04:00
2026-05-05 00:44:27 +02:00
2026-05-07 07:36:30 +02:00
2026-05-07 07:36:30 +02:00
2026-05-03 10:28:50 +02:00
2025-10-16 05:30:06 +04:00
2026-03-10 19:33:45 +01:00
2026-04-20 20:26:58 +02:00
2026-01-25 00:31:18 +08:00
2026-04-24 11:24:13 +04:00
2026-05-03 10:28:50 +02:00
2026-04-15 23:12:53 +02:00
2025-12-06 01:28:06 +08:00
2026-04-07 11:31:22 +02:00
2026-05-03 10:28:50 +02:00
2026-04-28 16:58:04 +04:00
2026-01-25 22:17:49 +04:00
2026-05-03 10:28:50 +02:00
2026-04-24 03:16:14 +02:00
2026-05-07 07:36:30 +02:00
2026-05-20 00:18:15 +08:00
2026-04-25 20:48:15 +04:00
2025-11-07 22:54:56 +08:00
2026-04-24 04:55:22 +02:00
2026-05-03 10:28:50 +02:00
2026-03-30 02:55:35 +02:00
2026-04-16 01:18:22 +02:00
2026-04-25 20:48:15 +04:00
2026-04-20 20:26:58 +02:00
2026-04-20 20:26:58 +02:00
2026-04-20 20:26:58 +02:00
2026-05-07 07:36:30 +02:00
2026-05-05 14:11:06 +02:00
2026-04-20 20:26:58 +02:00
2026-01-25 00:31:18 +08:00
2026-01-16 21:23:32 +08:00
2025-12-05 18:41:50 +04:00
2026-04-20 20:26:58 +02:00
2026-05-07 07:36:30 +02:00
2026-04-25 20:48:15 +04:00
2026-05-07 07:36:30 +02:00
2026-05-05 20:26:25 +02:00
2025-11-15 01:14:50 +04:00
2026-01-16 21:23:32 +08:00
2026-02-13 12:23:53 +04:00
2026-05-07 07:36:30 +02:00
2025-10-28 15:44:44 +04:00
2026-05-20 00:18:15 +08:00
2026-04-24 23:19:43 +04:00
2026-05-07 07:36:30 +02:00
2026-05-20 00:34:07 +08:00
2026-04-07 12:35:54 +02:00
2026-04-07 12:35:54 +02:00
2025-12-22 00:48:28 +04:00
2026-03-22 05:17:29 +03:00
2025-12-16 20:05:44 +04:00
2025-12-28 22:39:34 +08:00
2026-05-05 14:11:06 +02:00
2026-05-05 14:11:06 +02:00
2026-03-22 13:44:04 +01:00
2025-12-16 20:05:44 +04:00
2026-04-29 21:23:36 +04:00
2026-03-22 05:17:29 +03:00
2025-12-26 20:29:30 +08:00
2026-03-22 05:17:29 +03:00
2026-05-03 10:28:50 +02:00
2026-04-20 20:26:58 +02:00
2026-04-14 15:33:19 +02:00
2026-04-02 20:37:35 +02:00
2026-05-03 10:28:50 +02:00
2026-02-13 17:08:48 +04:00
2026-03-03 20:26:45 +04:00
2026-05-05 21:01:48 +02:00