{ "success": true, "data": { "nodes": [ { "enabled": true, "hittable": true, "index": 0, "depth": 0, "label": "Paseo Debug", "type": "Application", "rect": { "x": 0, "width": 402, "height": 874, "y": 0 }, "ref": "e1" }, { "type": "Window", "depth": 1, "rect": { "width": 402, "x": 0, "y": 0, "height": 874 }, "parentIndex": 0, "enabled": true, "index": 1, "hittable": false, "ref": "e2" }, { "rect": { "x": 0, "y": 0, "width": 402, "height": 874 }, "enabled": true, "type": "Other", "hittable": false, "parentIndex": 1, "index": 2, "depth": 2, "ref": "e3" }, { "hittable": false, "type": "Other", "depth": 3, "parentIndex": 2, "enabled": true, "rect": { "height": 874, "width": 402, "x": 0, "y": 0 }, "index": 3, "ref": "e4" }, { "enabled": true, "parentIndex": 3, "index": 4, "type": "Other", "hittable": false, "rect": { "width": 402, "y": 0, "x": 0, "height": 874 }, "depth": 4, "ref": "e5" }, { "depth": 5, "rect": { "height": 874, "width": 402, "x": 0, "y": 0 }, "type": "Other", "hittable": false, "enabled": true, "index": 5, "parentIndex": 4, "ref": "e6" }, { "hittable": false, "depth": 6, "type": "Other", "parentIndex": 5, "enabled": true, "rect": { "x": 0, "width": 402, "height": 874, "y": 0 }, "index": 6, "ref": "e7" }, { "hittable": false, "index": 7, "depth": 7, "parentIndex": 6, "type": "Other", "enabled": true, "rect": { "height": 874, "y": 0, "x": 0, "width": 402 }, "ref": "e8" }, { "type": "Other", "index": 8, "depth": 8, "parentIndex": 7, "enabled": true, "hittable": false, "rect": { "height": 874, "width": 402, "y": 0, "x": 0 }, "ref": "e9" }, { "rect": { "x": 0, "y": 0, "width": 402, "height": 874 }, "depth": 9, "type": "Other", "parentIndex": 8, "enabled": true, "hittable": false, "index": 9, "ref": "e10" }, { "index": 10, "hittable": false, "rect": { "width": 402, "x": 0, "height": 874, "y": 0 }, "depth": 9, "type": "Other", "enabled": true, "parentIndex": 8, "ref": "e11" }, { "parentIndex": 10, "enabled": true, "hittable": false, "depth": 10, "type": "Other", "rect": { "x": 0, "width": 402, "height": 874, "y": 0 }, "index": 11, "ref": "e12" }, { "index": 12, "parentIndex": 10, "rect": { "x": 0, "height": 874, "y": 0, "width": 402 }, "enabled": true, "hittable": false, "type": "Other", "depth": 10, "ref": "e13" }, { "hittable": false, "index": 13, "rect": { "y": 0, "width": 402, "x": 0, "height": 874 }, "parentIndex": 12, "type": "Other", "depth": 11, "enabled": true, "ref": "e14" }, { "type": "Other", "rect": { "width": 402, "height": 874, "x": 0, "y": 0 }, "parentIndex": 12, "hittable": false, "depth": 11, "index": 14, "enabled": true, "ref": "e15" }, { "enabled": true, "hittable": false, "rect": { "y": 0, "height": 874, "x": 0, "width": 402 }, "parentIndex": 14, "depth": 12, "type": "Other", "index": 15, "ref": "e16" }, { "index": 16, "type": "Other", "hittable": false, "depth": 13, "rect": { "x": 0, "y": 0, "height": 874, "width": 402 }, "enabled": true, "parentIndex": 15, "ref": "e17" }, { "depth": 14, "parentIndex": 16, "type": "Other", "index": 17, "hittable": false, "rect": { "width": 402, "height": 874, "x": 0, "y": 0 }, "enabled": true, "ref": "e18" }, { "enabled": true, "hittable": false, "parentIndex": 17, "depth": 15, "rect": { "width": 402, "height": 874, "y": 0, "x": 0 }, "index": 18, "type": "Other", "ref": "e19" }, { "parentIndex": 18, "index": 19, "rect": { "width": 402, "height": 874, "x": 0, "y": 0 }, "enabled": true, "depth": 16, "hittable": false, "type": "Other", "ref": "e20" }, { "enabled": true, "index": 20, "depth": 17, "hittable": false, "rect": { "x": 0, "width": 402, "height": 874, "y": 0 }, "type": "Other", "parentIndex": 19, "ref": "e21" }, { "hittable": false, "rect": { "height": 874, "y": 0, "width": 402, "x": 0 }, "depth": 18, "type": "Other", "parentIndex": 20, "enabled": true, "index": 21, "ref": "e22" }, { "index": 22, "type": "Other", "enabled": true, "parentIndex": 21, "hittable": false, "depth": 19, "rect": { "height": 874, "y": 0, "width": 402, "x": 0 }, "ref": "e23" }, { "index": 23, "rect": { "height": 874, "y": 0, "width": 402, "x": 0 }, "parentIndex": 22, "enabled": true, "depth": 20, "type": "Other", "hittable": false, "ref": "e24" }, { "rect": { "height": 874, "y": 0, "width": 402, "x": 0 }, "depth": 21, "index": 24, "enabled": true, "label": "Switch tabs (2 open)", "type": "Other", "parentIndex": 23, "hittable": false, "ref": "e25" }, { "hittable": false, "rect": { "height": 874, "y": 0, "width": 402, "x": 0 }, "label": "Open menu", "parentIndex": 24, "index": 25, "enabled": true, "type": "Other", "depth": 22, "ref": "e26" }, { "hittable": false, "index": 26, "depth": 23, "type": "Other", "parentIndex": 25, "label": "Open menu", "enabled": true, "rect": { "height": 874, "y": 0, "width": 402, "x": 0 }, "ref": "e27" }, { "type": "Other", "hittable": false, "parentIndex": 26, "enabled": true, "rect": { "height": 874, "y": 0, "width": 402, "x": 0 }, "label": "Open menu", "identifier": "workspace-deck-entry-srv_tk5MNmAhneJU:wks_3c1e2389120b500a", "index": 27, "depth": 24, "ref": "e28" }, { "identifier": "composer-dock-header", "index": 28, "hittable": false, "depth": 25, "parentIndex": 27, "label": "Open menu", "type": "Other", "enabled": true, "rect": { "height": 126, "y": 0, "width": 402, "x": 0 }, "ref": "e29" }, { "enabled": true, "type": "Other", "index": 29, "hittable": false, "rect": { "height": 56, "y": 70, "width": 402, "x": 0 }, "depth": 26, "parentIndex": 28, "ref": "e30" }, { "rect": { "height": 32, "y": 81.6666669845581, "width": 32, "x": 8 }, "hittable": false, "enabled": true, "depth": 26, "type": "Button", "parentIndex": 28, "identifier": "menu-button", "label": "Open menu", "index": 30, "ref": "e31" }, { "hittable": false, "index": 31, "parentIndex": 30, "enabled": true, "rect": { "height": 12, "y": 91.6666669845581, "width": 16, "x": 16 }, "depth": 27, "type": "Other", "ref": "e32" }, { "enabled": true, "depth": 28, "index": 32, "hittable": false, "type": "Other", "parentIndex": 31, "rect": { "height": 1.3333358764648438, "y": 91.6666669845581, "width": 16, "x": 16 }, "ref": "e33" }, { "depth": 28, "hittable": false, "rect": { "height": 1.6666717529296875, "y": 97.00000047683716, "width": 16, "x": 16 }, "index": 33, "enabled": true, "type": "Other", "parentIndex": 31, "ref": "e34" }, { "parentIndex": 31, "enabled": true, "rect": { "height": 1.6666641235351562, "y": 102.33333396911621, "width": 8, "x": 16 }, "type": "Other", "index": 34, "depth": 28, "hittable": false, "ref": "e35" }, { "type": "Other", "label": "main", "depth": 26, "rect": { "height": 34, "y": 80.6666669845581, "width": 314, "x": 48 }, "hittable": false, "index": 35, "enabled": true, "parentIndex": 28, "ref": "e36" }, { "depth": 27, "index": 36, "hittable": false, "enabled": true, "parentIndex": 35, "label": "main", "type": "Other", "rect": { "height": 34, "y": 80.6666669845581, "width": 278, "x": 48 }, "ref": "e37" }, { "rect": { "height": 18, "y": 80.6666669845581, "width": 278, "x": 48 }, "identifier": "workspace-header-title", "type": "StaticText", "enabled": true, "depth": 28, "index": 37, "parentIndex": 36, "label": "main", "hittable": false, "ref": "e38" }, { "rect": { "height": 18, "y": 80.6666669845581, "width": 278, "x": 48 }, "depth": 29, "parentIndex": 37, "enabled": true, "index": 38, "hittable": false, "type": "StaticText", "label": "main", "ref": "e39" }, { "identifier": "workspace-header-subtitle", "depth": 28, "type": "StaticText", "enabled": true, "rect": { "height": 15.666671752929688, "y": 98.6666669845581, "width": 163.3333282470703, "x": 48 }, "parentIndex": 36, "hittable": false, "index": 39, "label": "composer-dock-ios-fixture", "ref": "e40" }, { "label": "composer-dock-ios-fixture", "rect": { "height": 15.666671752929688, "y": 98.6666669845581, "width": 163.3333282470703, "x": 48 }, "depth": 29, "enabled": true, "index": 40, "type": "StaticText", "hittable": false, "parentIndex": 39, "ref": "e41" }, { "label": "·", "rect": { "y": 98.6666669845581, "width": 4, "height": 15.666671752929688, "x": 217.3333282470703 }, "depth": 28, "enabled": true, "index": 41, "type": "StaticText", "hittable": false, "parentIndex": 36, "ref": "e42" }, { "label": "·", "rect": { "y": 98.6666669845581, "width": 4, "height": 15.666671752929688, "x": 217.3333282470703 }, "depth": 29, "enabled": true, "index": 42, "type": "StaticText", "hittable": false, "parentIndex": 41, "ref": "e43" }, { "identifier": "host-badge-srv_tk5MNmAhneJU", "label": "dev-new", "rect": { "y": 98.6666669845581, "width": 68.00001525878906, "height": 16, "x": 227.3333282470703 }, "depth": 28, "enabled": true, "index": 43, "type": "Other", "hittable": false, "parentIndex": 36, "ref": "e44" }, { "rect": { "y": 100.6666669845581, "width": 12, "height": 12, "x": 227.3333282470703 }, "depth": 28, "enabled": true, "index": 44, "type": "Other", "hittable": false, "parentIndex": 36, "ref": "e45" }, { "rect": { "y": 101.1666669845581, "width": 11, "height": 11, "x": 227.8333282470703 }, "depth": 29, "enabled": true, "index": 45, "type": "Other", "hittable": false, "parentIndex": 44, "ref": "e46" }, { "rect": { "y": 101.1666669845581, "width": 11, "height": 5, "x": 227.8333282470703 }, "depth": 30, "enabled": true, "index": 46, "type": "Other", "hittable": false, "parentIndex": 45, "ref": "e47" }, { "rect": { "y": 107.1666669845581, "width": 11, "height": 5, "x": 227.8333282470703 }, "depth": 30, "enabled": true, "index": 47, "type": "Other", "hittable": false, "parentIndex": 45, "ref": "e48" }, { "rect": { "y": 103.1666669845581, "width": 1.0049999999999955, "height": 1, "x": 229.8333282470703 }, "depth": 30, "enabled": true, "index": 48, "type": "Other", "hittable": false, "parentIndex": 45, "ref": "e49" }, { "rect": { "y": 109.1666669845581, "width": 1.0049999999999955, "height": 1, "x": 229.8333282470703 }, "depth": 30, "enabled": true, "index": 49, "type": "Other", "hittable": false, "parentIndex": 45, "ref": "e50" }, { "label": "dev-new", "rect": { "y": 98.6666669845581, "width": 53.00001525878906, "height": 16, "x": 242.3333282470703 }, "depth": 28, "enabled": true, "index": 50, "type": "StaticText", "hittable": false, "parentIndex": 36, "ref": "e51" }, { "label": "dev-new", "rect": { "y": 98.6666669845581, "width": 53.00001525878906, "height": 16, "x": 242.3333282470703 }, "depth": 29, "enabled": true, "index": 51, "type": "StaticText", "hittable": false, "parentIndex": 50, "ref": "e52" }, { "identifier": "workspace-header-menu-trigger", "label": "Workspace actions", "rect": { "y": 81.6666669845581, "width": 32, "height": 32, "x": 330 }, "depth": 27, "enabled": true, "index": 52, "type": "Button", "hittable": false, "parentIndex": 35, "ref": "e53" }, { "identifier": "workspace-explorer-toggle", "label": "Open Explorer sidebar", "rect": { "y": 81.6666669845581, "width": 32, "height": 32, "x": 362 }, "depth": 26, "enabled": true, "index": 53, "type": "Button", "hittable": false, "parentIndex": 28, "ref": "e54" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 25, "enabled": true, "index": 54, "type": "Other", "hittable": false, "parentIndex": 27, "ref": "e55" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 25, "enabled": true, "index": 55, "type": "Other", "hittable": false, "parentIndex": 27, "ref": "e56" }, { "identifier": "workspace-tab-switcher-trigger", "label": "Switch tabs (2 open)", "rect": { "y": 126, "width": 402, "height": 34, "x": 0 }, "depth": 25, "enabled": true, "index": 56, "type": "Button", "hittable": false, "parentIndex": 27, "ref": "e57" }, { "identifier": "workspace-active-tab-icon", "rect": { "y": 136, "width": 14, "height": 14, "x": 20 }, "depth": 26, "enabled": true, "index": 57, "type": "Other", "hittable": false, "parentIndex": 56, "ref": "e58" }, { "identifier": "workspace-tabs-row", "rect": { "y": 126, "width": 402, "height": 35, "x": 0 }, "depth": 25, "enabled": true, "index": 58, "type": "Other", "hittable": false, "parentIndex": 27, "ref": "e59" }, { "rect": { "y": 161, "width": 402, "height": 713, "x": 0 }, "depth": 25, "enabled": true, "index": 59, "type": "Other", "hittable": false, "parentIndex": 27, "ref": "e60" }, { "rect": { "y": 161, "width": 402, "height": 713, "x": 0 }, "depth": 25, "enabled": true, "index": 60, "type": "Other", "hittable": false, "parentIndex": 27, "ref": "e61" }, { "label": "Add attachment", "rect": { "y": 161, "width": 402, "height": 713, "x": 0 }, "depth": 26, "enabled": true, "index": 61, "type": "Other", "hittable": false, "parentIndex": 60, "ref": "e62" }, { "rect": { "y": 161, "width": 402, "height": 713, "x": 0 }, "depth": 27, "enabled": true, "index": 62, "type": "Other", "hittable": false, "parentIndex": 61, "ref": "e63" }, { "rect": { "y": 161, "width": 402, "height": 713, "x": 0 }, "depth": 27, "enabled": true, "index": 63, "type": "Other", "hittable": false, "parentIndex": 61, "ref": "e64" }, { "identifier": "composer-viewport", "label": "Message agent... Message, @files, /commands", "rect": { "y": 161, "width": 402, "height": 713, "x": 0 }, "depth": 27, "enabled": true, "index": 64, "type": "Other", "hittable": false, "parentIndex": 61, "ref": "e65" }, { "label": "Scroll to bottom", "rect": { "y": -141, "width": 402, "height": 713, "x": 0 }, "depth": 28, "enabled": true, "index": 65, "type": "Other", "hittable": false, "parentIndex": 64, "ref": "e66" }, { "identifier": "composer-dock-content", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -141, "width": 402, "height": 575, "x": 0 }, "depth": 29, "enabled": true, "index": 66, "type": "Other", "hittable": false, "parentIndex": 65, "ref": "e67" }, { "rect": { "y": -141, "width": 402, "height": 575, "x": 0 }, "depth": 30, "enabled": true, "index": 67, "type": "Other", "hittable": false, "parentIndex": 66, "ref": "e68" }, { "label": "Horizontal scroll bar, 1 page", "rect": { "y": -141, "width": 402, "height": 575, "x": 0 }, "depth": 30, "enabled": true, "index": 68, "type": "Other", "hittable": false, "parentIndex": 66, "ref": "e69" }, { "rect": { "y": -141, "width": 402, "height": 575, "x": 0 }, "depth": 31, "enabled": true, "index": 69, "type": "Other", "hittable": false, "parentIndex": 68, "ref": "e70" }, { "identifier": "agent-chat-scroll", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -141, "width": 402, "height": 575, "x": 0 }, "depth": 31, "enabled": true, "index": 70, "type": "Other", "hittable": false, "parentIndex": 68, "ref": "e71" }, { "label": "Thinking", "rect": { "y": -141, "width": 402, "height": 575.0000000000002, "x": 0 }, "depth": 32, "enabled": true, "index": 71, "type": "ScrollView", "hittable": false, "parentIndex": 70, "ref": "e72" }, { "label": "Native scroll fixture 0: distinct history row after submitting from a dock host.\nNative scroll fixture 1: distinct history row after submitting from a dock host.\nNative scroll fixture 2: distinct history row after submitting from a dock host.\nNative scroll fixture 3: distinct history row after submitting from a dock host.\nNative scroll fixture 4: distinct history row after submitting from a dock host.\nNative scroll fixture 5: distinct history row after submitting from a dock host.\nNative scroll fixture 6: distinct history row after submitting from a dock host.\nNative scroll fixture 7: distinct history row after submitting from a dock host.\nNative scroll fixture 8: distinct history row after submitting from a dock host.\nNative scroll fixture 9: distinct history row after submitting from a dock host.\nNative scroll fixture 10: distinct history row after submitting from a dock host.\nNative scroll fixture 11: distinct history row after submitting from a dock host.\nNative scroll fixture 12: distinct history row after submitting from a dock host.\nNative scroll fixture 13: distinct history row after submitting from a dock host.\nNative scroll fixture 14: distinct history row after submitting from a dock host.\nNative scroll fixture 15: distinct history row after submitting from a dock host.\nNative scroll fixture 16: distinct history row after submitting from a dock host.\nNative scroll fixture 17: distinct history row after submitting from a dock host.\nNative scroll fixture 18: distinct history row after submitting from a dock host.\nNative scroll fixture 19: distinct history row after submitting from a dock host.\nNative scroll fixture 20: distinct history row after submitting from a dock host.\nNative scroll fixture 21: distinct history row after submitting from a dock host.\nNative scroll fixture 22: distinct history row after submitting from a dock host.\nNative scroll fixture 23: distinct history row after submitting from a dock host.\nNative scroll fixture 24: distinct history row after submitting from a dock host.\nNative scroll fixture 25: distinct history row after submitting from a dock host.\nNative scroll fixture 26: distinct history row after submitting from a dock host.\nNative scroll fixture 27: distinct history row after submitting from a dock host.\nNative scroll fixture 28: distinct history row after submitting from a dock host.\nNative scroll fixture 29: distinct history row after submitting from a dock host.\nNative scroll fixture 30: distinct history row after submitting from a dock host.\nNative scroll fixture 31: distinct history row after submitting from a dock host.\nNative scroll fixture 32: distinct history row after submitting from a dock host.\nNative scroll fixture 33: distinct history row after submitting from a dock host.\nNative scroll fixture 34: distinct history row after submitting from a dock host.\nNative scroll fixture 35: distinct history row after submitting from a dock host.\nNative scroll fixture 36: distinct history row after submitting from a dock host.\nNative scroll fixture 37: distinct history row after submitting from a dock host.\nNative scroll fixture 38: distinct history row after submitting from a dock host.\nNative scroll fixture 39: distinct history row after submitting from a dock host.\nNative scroll fixture 40: distinct history row after submitting from a dock host.\nNative scroll fixture 41: distinct history row after submitting from a dock host.\nNative scroll fixture 42: distinct history row after submitting from a dock host.\nNative scroll fi", "rect": { "y": -3831.666829427083, "width": 402, "height": 6169.33349609375, "x": 0 }, "depth": 33, "enabled": true, "index": 72, "type": "Other", "hittable": false, "parentIndex": 71, "ref": "e73" }, { "label": "Native scroll fixture 0: distinct history row after submitting from a dock host.\nNative scroll fixture 1: distinct history row after submitting from a dock host.\nNative scroll fixture 2: distinct history row after submitting from a dock host.\nNative scroll fixture 3: distinct history row after submitting from a dock host.\nNative scroll fixture 4: distinct history row after submitting from a dock host.\nNative scroll fixture 5: distinct history row after submitting from a dock host.\nNative scroll fixture 6: distinct history row after submitting from a dock host.\nNative scroll fixture 7: distinct history row after submitting from a dock host.\nNative scroll fixture 8: distinct history row after submitting from a dock host.\nNative scroll fixture 9: distinct history row after submitting from a dock host.\nNative scroll fixture 10: distinct history row after submitting from a dock host.\nNative scroll fixture 11: distinct history row after submitting from a dock host.\nNative scroll fixture 12: distinct history row after submitting from a dock host.\nNative scroll fixture 13: distinct history row after submitting from a dock host.\nNative scroll fixture 14: distinct history row after submitting from a dock host.\nNative scroll fixture 15: distinct history row after submitting from a dock host.\nNative scroll fixture 16: distinct history row after submitting from a dock host.\nNative scroll fixture 17: distinct history row after submitting from a dock host.\nNative scroll fixture 18: distinct history row after submitting from a dock host.\nNative scroll fixture 19: distinct history row after submitting from a dock host.\nNative scroll fixture 20: distinct history row after submitting from a dock host.\nNative scroll fixture 21: distinct history row after submitting from a dock host.\nNative scroll fixture 22: distinct history row after submitting from a dock host.\nNative scroll fixture 23: distinct history row after submitting from a dock host.\nNative scroll fixture 24: distinct history row after submitting from a dock host.\nNative scroll fixture 25: distinct history row after submitting from a dock host.\nNative scroll fixture 26: distinct history row after submitting from a dock host.\nNative scroll fixture 27: distinct history row after submitting from a dock host.\nNative scroll fixture 28: distinct history row after submitting from a dock host.\nNative scroll fixture 29: distinct history row after submitting from a dock host.\nNative scroll fixture 30: distinct history row after submitting from a dock host.\nNative scroll fixture 31: distinct history row after submitting from a dock host.\nNative scroll fixture 32: distinct history row after submitting from a dock host.\nNative scroll fixture 33: distinct history row after submitting from a dock host.\nNative scroll fixture 34: distinct history row after submitting from a dock host.\nNative scroll fixture 35: distinct history row after submitting from a dock host.\nNative scroll fixture 36: distinct history row after submitting from a dock host.\nNative scroll fixture 37: distinct history row after submitting from a dock host.\nNative scroll fixture 38: distinct history row after submitting from a dock host.\nNative scroll fixture 39: distinct history row after submitting from a dock host.\nNative scroll fixture 40: distinct history row after submitting from a dock host.\nNative scroll fixture 41: distinct history row after submitting from a dock host.\nNative scroll fixture 42: distinct history row after submitting from a dock host.\nNative scroll fi", "rect": { "y": -3831.666829427083, "width": 402, "height": 6169.33349609375, "x": 0 }, "depth": 34, "enabled": true, "index": 73, "type": "Other", "hittable": false, "parentIndex": 72, "ref": "e74" }, { "rect": { "y": -3831.666829427083, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 74, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e75" }, { "identifier": "older-history-slot", "rect": { "y": -3831.666829427083, "width": 378, "height": 32, "x": 12 }, "depth": 36, "enabled": true, "index": 75, "type": "Other", "hittable": false, "parentIndex": 74, "ref": "e76" }, { "rect": { "y": -3799.666829427083, "width": 378, "height": 747, "x": 12 }, "depth": 35, "enabled": true, "index": 76, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e77" }, { "label": "Native scroll fixture 0: distinct history row after submitting from a dock host.\nNative scroll fixture 1: distinct history row after submitting from a dock host.\nNative scroll fixture 2: distinct history row after submitting from a dock host.\nNative scroll fixture 3: distinct history row after submitting from a dock host.\nNative scroll fixture 4: distinct history row after submitting from a dock host.\nNative scroll fixture 5: distinct history row after submitting from a dock host.\nNative scroll fixture 6: distinct history row after submitting from a dock host.\nNative scroll fixture 7: distinct history row after submitting from a dock host.\nNative scroll fixture 8: distinct history row after submitting from a dock host.\nNative scroll fixture 9: distinct history row after submitting from a dock host.\nNative scroll fixture 10: distinct history row after submitting from a dock host.\nNative scroll fixture 11: distinct history row after submitting from a dock host.\nNative scroll fixture 12: distinct history row after submitting from a dock host.\nNative scroll fixture 13: distinct history row after submitting from a dock host.\nNative scroll fixture 14: distinct history row after submitting from a dock host.\nNative scroll fixture 15: distinct history row after submitting from a dock host.\nNative scroll fixture 16: distinct history row after submitting from a dock host.\nNative scroll fixture 17: distinct history row after submitting from a dock host.\nNative scroll fixture 18: distinct history row after submitting from a dock host.\nNative scroll fixture 19: distinct history row after submitting from a dock host.\nNative scroll fixture 20: distinct history row after submitting from a dock host.\nNative scroll fixture 21: distinct history row after submitting from a dock host.\nNative scroll fixture 22: distinct history row after submitting from a dock host.\nNative scroll fixture 23: distinct history row after submitting from a dock host.\nNative scroll fixture 24: distinct history row after submitting from a dock host.\nNative scroll fixture 25: distinct history row after submitting from a dock host.\nNative scroll fixture 26: distinct history row after submitting from a dock host.\nNative scroll fixture 27: distinct history row after submitting from a dock host.\nNative scroll fixture 28: distinct history row after submitting from a dock host.\nNative scroll fixture 29: distinct history row after submitting from a dock host.\nNative scroll fixture 30: distinct history row after submitting from a dock host.\nNative scroll fixture 31: distinct history row after submitting from a dock host.\nNative scroll fixture 32: distinct history row after submitting from a dock host.\nNative scroll fixture 33: distinct history row after submitting from a dock host.\nNative scroll fixture 34: distinct history row after submitting from a dock host.\nNative scroll fixture 35: distinct history row after submitting from a dock host.\nNative scroll fixture 36: distinct history row after submitting from a dock host.\nNative scroll fixture 37: distinct history row after submitting from a dock host.\nNative scroll fixture 38: distinct history row after submitting from a dock host.\nNative scroll fixture 39: distinct history row after submitting from a dock host.\nNative scroll fixture 40: distinct history row after submitting from a dock host.\nNative scroll fixture 41: distinct history row after submitting from a dock host.\nNative scroll fixture 42: distinct history row after submitting from a dock host.\nNative scroll fi", "rect": { "y": -3052.666829427083, "width": 378, "height": 1725.33349609375, "x": 12 }, "depth": 35, "enabled": true, "index": 77, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e78" }, { "identifier": "user-message", "rect": { "y": -3052.666829427083, "width": 362, "height": 1725.33349609375, "x": 20 }, "depth": 36, "enabled": true, "index": 78, "type": "Other", "hittable": false, "parentIndex": 77, "ref": "e79" }, { "label": "Native scroll fixture 0: distinct history row after submitting from a dock host.\nNative scroll fixture 1: distinct history row after submitting from a dock host.\nNative scroll fixture 2: distinct history row after submitting from a dock host.\nNative scroll fixture 3: distinct history row after submitting from a dock host.\nNative scroll fixture 4: distinct history row after submitting from a dock host.\nNative scroll fixture 5: distinct history row after submitting from a dock host.\nNative scroll fixture 6: distinct history row after submitting from a dock host.\nNative scroll fixture 7: distinct history row after submitting from a dock host.\nNative scroll fixture 8: distinct history row after submitting from a dock host.\nNative scroll fixture 9: distinct history row after submitting from a dock host.\nNative scroll fixture 10: distinct history row after submitting from a dock host.\nNative scroll fixture 11: distinct history row after submitting from a dock host.\nNative scroll fixture 12: distinct history row after submitting from a dock host.\nNative scroll fixture 13: distinct history row after submitting from a dock host.\nNative scroll fixture 14: distinct history row after submitting from a dock host.\nNative scroll fixture 15: distinct history row after submitting from a dock host.\nNative scroll fixture 16: distinct history row after submitting from a dock host.\nNative scroll fixture 17: distinct history row after submitting from a dock host.\nNative scroll fixture 18: distinct history row after submitting from a dock host.\nNative scroll fixture 19: distinct history row after submitting from a dock host.\nNative scroll fixture 20: distinct history row after submitting from a dock host.\nNative scroll fixture 21: distinct history row after submitting from a dock host.\nNative scroll fixture 22: distinct history row after submitting from a dock host.\nNative scroll fixture 23: distinct history row after submitting from a dock host.\nNative scroll fixture 24: distinct history row after submitting from a dock host.\nNative scroll fixture 25: distinct history row after submitting from a dock host.\nNative scroll fixture 26: distinct history row after submitting from a dock host.\nNative scroll fixture 27: distinct history row after submitting from a dock host.\nNative scroll fixture 28: distinct history row after submitting from a dock host.\nNative scroll fixture 29: distinct history row after submitting from a dock host.\nNative scroll fixture 30: distinct history row after submitting from a dock host.\nNative scroll fixture 31: distinct history row after submitting from a dock host.\nNative scroll fixture 32: distinct history row after submitting from a dock host.\nNative scroll fixture 33: distinct history row after submitting from a dock host.\nNative scroll fixture 34: distinct history row after submitting from a dock host.\nNative scroll fixture 35: distinct history row after submitting from a dock host.\nNative scroll fixture 36: distinct history row after submitting from a dock host.\nNative scroll fixture 37: distinct history row after submitting from a dock host.\nNative scroll fixture 38: distinct history row after submitting from a dock host.\nNative scroll fixture 39: distinct history row after submitting from a dock host.\nNative scroll fixture 40: distinct history row after submitting from a dock host.\nNative scroll fixture 41: distinct history row after submitting from a dock host.\nNative scroll fixture 42: distinct history row after submitting from a dock host.\nNative scroll fi", "rect": { "y": -3052.666829427083, "width": 362, "height": 1725.33349609375, "x": 20 }, "depth": 36, "enabled": true, "index": 79, "type": "Other", "hittable": false, "parentIndex": 77, "ref": "e80" }, { "rect": { "y": -3052.666829427083, "width": 362, "height": 1693.33349609375, "x": 20 }, "depth": 37, "enabled": true, "index": 80, "type": "Other", "hittable": false, "parentIndex": 79, "ref": "e81" }, { "label": "Native scroll fixture 0: distinct history row after submitting from a dock host.\nNative scroll fixture 1: distinct history row after submitting from a dock host.\nNative scroll fixture 2: distinct history row after submitting from a dock host.\nNative scroll fixture 3: distinct history row after submitting from a dock host.\nNative scroll fixture 4: distinct history row after submitting from a dock host.\nNative scroll fixture 5: distinct history row after submitting from a dock host.\nNative scroll fixture 6: distinct history row after submitting from a dock host.\nNative scroll fixture 7: distinct history row after submitting from a dock host.\nNative scroll fixture 8: distinct history row after submitting from a dock host.\nNative scroll fixture 9: distinct history row after submitting from a dock host.\nNative scroll fixture 10: distinct history row after submitting from a dock host.\nNative scroll fixture 11: distinct history row after submitting from a dock host.\nNative scroll fixture 12: distinct history row after submitting from a dock host.\nNative scroll fixture 13: distinct history row after submitting from a dock host.\nNative scroll fixture 14: distinct history row after submitting from a dock host.\nNative scroll fixture 15: distinct history row after submitting from a dock host.\nNative scroll fixture 16: distinct history row after submitting from a dock host.\nNative scroll fixture 17: distinct history row after submitting from a dock host.\nNative scroll fixture 18: distinct history row after submitting from a dock host.\nNative scroll fixture 19: distinct history row after submitting from a dock host.\nNative scroll fixture 20: distinct history row after submitting from a dock host.\nNative scroll fixture 21: distinct history row after submitting from a dock host.\nNative scroll fixture 22: distinct history row after submitting from a dock host.\nNative scroll fixture 23: distinct history row after submitting from a dock host.\nNative scroll fixture 24: distinct history row after submitting from a dock host.\nNative scroll fixture 25: distinct history row after submitting from a dock host.\nNative scroll fixture 26: distinct history row after submitting from a dock host.\nNative scroll fixture 27: distinct history row after submitting from a dock host.\nNative scroll fixture 28: distinct history row after submitting from a dock host.\nNative scroll fixture 29: distinct history row after submitting from a dock host.\nNative scroll fixture 30: distinct history row after submitting from a dock host.\nNative scroll fixture 31: distinct history row after submitting from a dock host.\nNative scroll fixture 32: distinct history row after submitting from a dock host.\nNative scroll fixture 33: distinct history row after submitting from a dock host.\nNative scroll fixture 34: distinct history row after submitting from a dock host.\nNative scroll fixture 35: distinct history row after submitting from a dock host.\nNative scroll fixture 36: distinct history row after submitting from a dock host.\nNative scroll fixture 37: distinct history row after submitting from a dock host.\nNative scroll fixture 38: distinct history row after submitting from a dock host.\nNative scroll fixture 39: distinct history row after submitting from a dock host.\nNative scroll fixture 40: distinct history row after submitting from a dock host.\nNative scroll fixture 41: distinct history row after submitting from a dock host.\nNative scroll fixture 42: distinct history row after submitting from a dock host.\nNative scroll fi", "rect": { "y": -3036.666829427083, "width": 330, "height": 1661.66650390625, "x": 36 }, "depth": 37, "enabled": true, "index": 81, "type": "StaticText", "hittable": false, "parentIndex": 79, "ref": "e82" }, { "label": "Native scroll fixture 0: distinct history row after submitting from a dock host.\nNative scroll fixture 1: distinct history row after submitting from a dock host.\nNative scroll fixture 2: distinct history row after submitting from a dock host.\nNative scroll fixture 3: distinct history row after submitting from a dock host.\nNative scroll fixture 4: distinct history row after submitting from a dock host.\nNative scroll fixture 5: distinct history row after submitting from a dock host.\nNative scroll fixture 6: distinct history row after submitting from a dock host.\nNative scroll fixture 7: distinct history row after submitting from a dock host.\nNative scroll fixture 8: distinct history row after submitting from a dock host.\nNative scroll fixture 9: distinct history row after submitting from a dock host.\nNative scroll fixture 10: distinct history row after submitting from a dock host.\nNative scroll fixture 11: distinct history row after submitting from a dock host.\nNative scroll fixture 12: distinct history row after submitting from a dock host.\nNative scroll fixture 13: distinct history row after submitting from a dock host.\nNative scroll fixture 14: distinct history row after submitting from a dock host.\nNative scroll fixture 15: distinct history row after submitting from a dock host.\nNative scroll fixture 16: distinct history row after submitting from a dock host.\nNative scroll fixture 17: distinct history row after submitting from a dock host.\nNative scroll fixture 18: distinct history row after submitting from a dock host.\nNative scroll fixture 19: distinct history row after submitting from a dock host.\nNative scroll fixture 20: distinct history row after submitting from a dock host.\nNative scroll fixture 21: distinct history row after submitting from a dock host.\nNative scroll fixture 22: distinct history row after submitting from a dock host.\nNative scroll fixture 23: distinct history row after submitting from a dock host.\nNative scroll fixture 24: distinct history row after submitting from a dock host.\nNative scroll fixture 25: distinct history row after submitting from a dock host.\nNative scroll fixture 26: distinct history row after submitting from a dock host.\nNative scroll fixture 27: distinct history row after submitting from a dock host.\nNative scroll fixture 28: distinct history row after submitting from a dock host.\nNative scroll fixture 29: distinct history row after submitting from a dock host.\nNative scroll fixture 30: distinct history row after submitting from a dock host.\nNative scroll fixture 31: distinct history row after submitting from a dock host.\nNative scroll fixture 32: distinct history row after submitting from a dock host.\nNative scroll fixture 33: distinct history row after submitting from a dock host.\nNative scroll fixture 34: distinct history row after submitting from a dock host.\nNative scroll fixture 35: distinct history row after submitting from a dock host.\nNative scroll fixture 36: distinct history row after submitting from a dock host.\nNative scroll fixture 37: distinct history row after submitting from a dock host.\nNative scroll fixture 38: distinct history row after submitting from a dock host.\nNative scroll fixture 39: distinct history row after submitting from a dock host.\nNative scroll fixture 40: distinct history row after submitting from a dock host.\nNative scroll fixture 41: distinct history row after submitting from a dock host.\nNative scroll fixture 42: distinct history row after submitting from a dock host.\nNative scroll fi", "rect": { "y": -3036.666829427083, "width": 330, "height": 1661.66650390625, "x": 36 }, "depth": 38, "enabled": true, "index": 82, "type": "StaticText", "hittable": false, "parentIndex": 81, "ref": "e83" }, { "identifier": "user-message-trailing-row", "rect": { "y": -1351.3334554036458, "width": 107.66665649414062, "height": 24, "x": 274.3333282470703 }, "depth": 37, "enabled": true, "index": 83, "type": "Other", "hittable": false, "parentIndex": 79, "ref": "e84" }, { "identifier": "user-message-timestamp", "label": "8:53 PM", "rect": { "y": -1347.3334554036458, "width": 49.666656494140625, "height": 15.66650390625, "x": 274.3333282470703 }, "depth": 37, "enabled": true, "index": 84, "type": "StaticText", "hittable": false, "parentIndex": 79, "ref": "e85" }, { "label": "8:53 PM", "rect": { "y": -1347.3334554036458, "width": 49.666656494140625, "height": 15.66650390625, "x": 274.3333282470703 }, "depth": 38, "enabled": true, "index": 85, "type": "StaticText", "hittable": false, "parentIndex": 84, "ref": "e86" }, { "label": "Rewind to this message", "rect": { "y": -1351.3334554036458, "width": 24, "height": 24, "x": 331.99999618530273 }, "depth": 37, "enabled": true, "index": 86, "type": "Other", "hittable": false, "parentIndex": 79, "ref": "e87" }, { "identifier": "rewind-menu-trigger", "label": "Rewind to this message", "rect": { "y": -1351.3334554036458, "width": 24, "height": 24, "x": 331.99999618530273 }, "depth": 38, "enabled": true, "index": 87, "type": "Button", "hittable": false, "parentIndex": 86, "ref": "e88" }, { "label": "Copy message", "rect": { "y": -1350.3334554036458, "width": 22, "height": 22, "x": 363.99999237060547 }, "depth": 37, "enabled": true, "index": 88, "type": "Button", "hittable": false, "parentIndex": 79, "ref": "e89" }, { "label": "Cycle 1", "rect": { "y": -1327.3333333333333, "width": 378, "height": 394, "x": 12 }, "depth": 35, "enabled": true, "index": 89, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e90" }, { "identifier": "assistant-message", "rect": { "y": -1327.3333333333333, "width": 362, "height": 390, "x": 20 }, "depth": 36, "enabled": true, "index": 90, "type": "Other", "hittable": false, "parentIndex": 89, "ref": "e91" }, { "label": "Cycle 1", "rect": { "y": -1291.3333333333333, "width": 84, "height": 33, "x": 20 }, "depth": 36, "enabled": true, "index": 91, "type": "Other", "hittable": false, "parentIndex": 89, "ref": "e92" }, { "label": "Cycle 1", "rect": { "y": -1291.3333333333333, "width": 84, "height": 33, "x": 20 }, "depth": 37, "enabled": true, "index": 92, "type": "Other", "hittable": false, "parentIndex": 91, "ref": "e93" }, { "rect": { "y": -1291.3333333333333, "width": 84, "height": 33, "x": 20 }, "depth": 38, "enabled": true, "index": 93, "type": "Other", "hittable": false, "parentIndex": 92, "ref": "e94" }, { "value": "Cycle 1", "label": "Cycle 1", "rect": { "y": 0, "width": 0, "height": 0, "x": 0 }, "depth": 38, "enabled": true, "index": 94, "type": "TextView", "hittable": false, "parentIndex": 92, "ref": "e95" }, { "label": "Cycle 1", "rect": { "y": -1291.3333333333333, "width": 83.7953545153141, "height": 33, "x": 20 }, "depth": 39, "enabled": true, "index": 95, "type": "TextView", "hittable": false, "parentIndex": 94, "ref": "e96" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -1291.3333333333333, "width": 30, "height": 33, "x": 71 }, "depth": 39, "enabled": true, "index": 96, "type": "Other", "hittable": false, "parentIndex": 94, "ref": "e97" }, { "rect": { "y": -1330.3333333333333, "width": 3, "height": 36, "x": 98 }, "depth": 40, "enabled": true, "index": 97, "type": "Other", "hittable": false, "parentIndex": 96, "ref": "e98" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -1277.8333333333333, "width": 84, "height": 16.5, "x": 20 }, "depth": 39, "enabled": true, "index": 98, "type": "Other", "hittable": false, "parentIndex": 94, "ref": "e99" }, { "rect": { "y": -1264.3333333333333, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 99, "type": "Other", "hittable": false, "parentIndex": 98, "ref": "e100" }, { "rect": { "y": -1291.3333333333333, "width": 362, "height": 42, "x": 20 }, "depth": 36, "enabled": true, "index": 100, "type": "Other", "hittable": false, "parentIndex": 89, "ref": "e101" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": -1225.3333333333333, "width": 362, "height": 264, "x": 20 }, "depth": 36, "enabled": true, "index": 101, "type": "Other", "hittable": false, "parentIndex": 89, "ref": "e102" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": -1225.3333333333333, "width": 362, "height": 264, "x": 20 }, "depth": 37, "enabled": true, "index": 102, "type": "Other", "hittable": false, "parentIndex": 101, "ref": "e103" }, { "rect": { "y": -1225.3333333333333, "width": 362, "height": 264, "x": 20 }, "depth": 38, "enabled": true, "index": 103, "type": "Other", "hittable": false, "parentIndex": 102, "ref": "e104" }, { "value": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": 0, "width": 0, "height": 0, "x": 0 }, "depth": 38, "enabled": true, "index": 104, "type": "TextView", "hittable": false, "parentIndex": 102, "ref": "e105" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so the first useful step is to read the relevant files.", "rect": { "y": -1225.3333333333333, "width": 362, "height": 264, "x": 20 }, "depth": 39, "enabled": true, "index": 105, "type": "TextView", "hittable": false, "parentIndex": 104, "ref": "e106" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -1225.3333333333333, "width": 30, "height": 264, "x": 349 }, "depth": 39, "enabled": true, "index": 106, "type": "Other", "hittable": false, "parentIndex": 104, "ref": "e107" }, { "rect": { "y": -1264.3333333333333, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 107, "type": "Other", "hittable": false, "parentIndex": 106, "ref": "e108" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -994.3333333333333, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 108, "type": "Other", "hittable": false, "parentIndex": 104, "ref": "e109" }, { "rect": { "y": -967.3333333333333, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 109, "type": "Other", "hittable": false, "parentIndex": 108, "ref": "e110" }, { "label": "Thinking", "rect": { "y": -933.3333333333333, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 110, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e111" }, { "identifier": "tool-call-badge", "rect": { "y": -933.3333333333333, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 111, "type": "Other", "hittable": false, "parentIndex": 110, "ref": "e112" }, { "label": "Thinking", "rect": { "y": -933.3333333333333, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 112, "type": "Button", "hittable": false, "parentIndex": 110, "ref": "e113" }, { "label": "Thinking", "rect": { "y": -926.3333333333333, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 113, "type": "Other", "hittable": false, "parentIndex": 112, "ref": "e114" }, { "label": "Thinking", "rect": { "y": -926.3333333333333, "width": 58.666664123535156, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 114, "type": "StaticText", "hittable": false, "parentIndex": 113, "ref": "e115" }, { "label": "Thinking", "rect": { "y": -926.3333333333333, "width": 58.666664123535156, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 115, "type": "StaticText", "hittable": false, "parentIndex": 114, "ref": "e116" }, { "label": "Read, packages/app/src/components/conversation-list.tsx", "rect": { "y": -901.3333333333333, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 116, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e117" }, { "identifier": "tool-call-badge", "rect": { "y": -901.3333333333333, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 117, "type": "Other", "hittable": false, "parentIndex": 116, "ref": "e118" }, { "label": "Read, packages/app/src/components/conversation-list.tsx", "rect": { "y": -901.3333333333333, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 118, "type": "Button", "hittable": false, "parentIndex": 116, "ref": "e119" }, { "label": "Read", "rect": { "y": -894.3333333333333, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 119, "type": "Other", "hittable": false, "parentIndex": 118, "ref": "e120" }, { "label": "Read", "rect": { "y": -894.3333333333333, "width": 35, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 120, "type": "StaticText", "hittable": false, "parentIndex": 119, "ref": "e121" }, { "label": "Read", "rect": { "y": -894.3333333333333, "width": 35, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 121, "type": "StaticText", "hittable": false, "parentIndex": 120, "ref": "e122" }, { "label": "packages/app/src/components/conversation-list.tsx", "rect": { "y": -894.3333333333333, "width": 301, "height": 18, "x": 85 }, "depth": 38, "enabled": true, "index": 122, "type": "StaticText", "hittable": false, "parentIndex": 119, "ref": "e123" }, { "label": "packages/app/src/components/conversation-list.tsx", "rect": { "y": -894.3333333333333, "width": 301, "height": 18, "x": 85 }, "depth": 39, "enabled": true, "index": 123, "type": "StaticText", "hittable": false, "parentIndex": 122, "ref": "e124" }, { "label": "Search, scrollToEnd", "rect": { "y": -869.3333333333333, "width": 378, "height": 36, "x": 12 }, "depth": 35, "enabled": true, "index": 124, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e125" }, { "identifier": "tool-call-badge", "rect": { "y": -869.3333333333333, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 125, "type": "Other", "hittable": false, "parentIndex": 124, "ref": "e126" }, { "label": "Search, scrollToEnd", "rect": { "y": -869.3333333333333, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 126, "type": "Button", "hittable": false, "parentIndex": 124, "ref": "e127" }, { "label": "Search", "rect": { "y": -862.3333333333333, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 127, "type": "Other", "hittable": false, "parentIndex": 126, "ref": "e128" }, { "label": "Search", "rect": { "y": -862.3333333333333, "width": 48, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 128, "type": "StaticText", "hittable": false, "parentIndex": 127, "ref": "e129" }, { "label": "Search", "rect": { "y": -862.3333333333333, "width": 48, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 129, "type": "StaticText", "hittable": false, "parentIndex": 128, "ref": "e130" }, { "label": "scrollToEnd", "rect": { "y": -862.3333333333333, "width": 79.66667175292969, "height": 18, "x": 98 }, "depth": 38, "enabled": true, "index": 130, "type": "StaticText", "hittable": false, "parentIndex": 127, "ref": "e131" }, { "label": "scrollToEnd", "rect": { "y": -862.3333333333333, "width": 79.66667175292969, "height": 18, "x": 98 }, "depth": 39, "enabled": true, "index": 131, "type": "StaticText", "hittable": false, "parentIndex": 130, "ref": "e132" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": -833.3333333333333, "width": 378, "height": 646, "x": 12 }, "depth": 35, "enabled": true, "index": 132, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e133" }, { "identifier": "assistant-message", "rect": { "y": -833.3333333333333, "width": 362, "height": 642, "x": 20 }, "depth": 36, "enabled": true, "index": 133, "type": "Other", "hittable": false, "parentIndex": 132, "ref": "e134" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": -821.3333333333333, "width": 362, "height": 132, "x": 20 }, "depth": 36, "enabled": true, "index": 134, "type": "Other", "hittable": false, "parentIndex": 132, "ref": "e135" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": -821.3333333333333, "width": 362, "height": 132, "x": 20 }, "depth": 37, "enabled": true, "index": 135, "type": "Other", "hittable": false, "parentIndex": 134, "ref": "e136" }, { "rect": { "y": -821.3333333333333, "width": 362, "height": 132, "x": 20 }, "depth": 38, "enabled": true, "index": 136, "type": "Other", "hittable": false, "parentIndex": 135, "ref": "e137" }, { "value": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 0, "width": 0, "height": 0, "x": 0 }, "depth": 38, "enabled": true, "index": 137, "type": "TextView", "hittable": false, "parentIndex": 135, "ref": "e138" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": -821.3333333333333, "width": 362, "height": 132, "x": 20 }, "depth": 39, "enabled": true, "index": 138, "type": "TextView", "hittable": false, "parentIndex": 137, "ref": "e139" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -821.3333333333333, "width": 30, "height": 132, "x": 349 }, "depth": 39, "enabled": true, "index": 139, "type": "Other", "hittable": false, "parentIndex": 137, "ref": "e140" }, { "rect": { "y": -860.3333333333333, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 140, "type": "Other", "hittable": false, "parentIndex": 139, "ref": "e141" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -722.3333333333333, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 141, "type": "Other", "hittable": false, "parentIndex": 137, "ref": "e142" }, { "rect": { "y": -695.3333333333333, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 142, "type": "Other", "hittable": false, "parentIndex": 141, "ref": "e143" }, { "label": "•", "rect": { "y": -661.3333333333333, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 143, "type": "StaticText", "hittable": false, "parentIndex": 132, "ref": "e144" }, { "label": "•", "rect": { "y": -661.3333333333333, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 144, "type": "StaticText", "hittable": false, "parentIndex": 143, "ref": "e145" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": -661.3333333333333, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 145, "type": "Other", "hittable": false, "parentIndex": 132, "ref": "e146" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": -661.3333333333333, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 146, "type": "Other", "hittable": false, "parentIndex": 145, "ref": "e147" }, { "rect": { "y": -661.3333333333333, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 147, "type": "Other", "hittable": false, "parentIndex": 146, "ref": "e148" }, { "value": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 0, "width": 0, "height": 0, "x": 0 }, "depth": 38, "enabled": true, "index": 148, "type": "TextView", "hittable": false, "parentIndex": 146, "ref": "e149" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": -661.3333333333333, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 149, "type": "TextView", "hittable": false, "parentIndex": 148, "ref": "e150" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -661.3333333333333, "width": 30, "height": 88, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 150, "type": "Other", "hittable": false, "parentIndex": 148, "ref": "e151" }, { "rect": { "y": -700.3333333333333, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 151, "type": "Other", "hittable": false, "parentIndex": 150, "ref": "e152" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -606.3333333333333, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 152, "type": "Other", "hittable": false, "parentIndex": 148, "ref": "e153" }, { "rect": { "y": -579.3333333333333, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 153, "type": "Other", "hittable": false, "parentIndex": 152, "ref": "e154" }, { "label": "•", "rect": { "y": -569.3333333333333, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 154, "type": "StaticText", "hittable": false, "parentIndex": 132, "ref": "e155" }, { "label": "•", "rect": { "y": -569.3333333333333, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 155, "type": "StaticText", "hittable": false, "parentIndex": 154, "ref": "e156" }, { "label": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "rect": { "y": -569.3333333333333, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 156, "type": "Other", "hittable": false, "parentIndex": 132, "ref": "e157" }, { "label": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "rect": { "y": -569.3333333333333, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 157, "type": "Other", "hittable": false, "parentIndex": 156, "ref": "e158" }, { "rect": { "y": -569.3333333333333, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 158, "type": "Other", "hittable": false, "parentIndex": 157, "ref": "e159" }, { "value": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "label": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "rect": { "y": 0, "width": 0, "height": 0, "x": 0 }, "depth": 38, "enabled": true, "index": 159, "type": "TextView", "hittable": false, "parentIndex": 157, "ref": "e160" }, { "label": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "rect": { "y": -569.3333333333333, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 160, "type": "TextView", "hittable": false, "parentIndex": 159, "ref": "e161" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -569.3333333333333, "width": 30, "height": 88, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 161, "type": "Other", "hittable": false, "parentIndex": 159, "ref": "e162" }, { "rect": { "y": -608.3333333333333, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 162, "type": "Other", "hittable": false, "parentIndex": 161, "ref": "e163" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -514.3333333333333, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 163, "type": "Other", "hittable": false, "parentIndex": 159, "ref": "e164" }, { "rect": { "y": -487.33333333333326, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 164, "type": "Other", "hittable": false, "parentIndex": 163, "ref": "e165" }, { "label": "•", "rect": { "y": -477.33333333333326, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 165, "type": "StaticText", "hittable": false, "parentIndex": 132, "ref": "e166" }, { "label": "•", "rect": { "y": -477.33333333333326, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 166, "type": "StaticText", "hittable": false, "parentIndex": 165, "ref": "e167" }, { "label": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "rect": { "y": -477.33333333333326, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 167, "type": "Other", "hittable": false, "parentIndex": 132, "ref": "e168" }, { "label": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "rect": { "y": -477.33333333333326, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 168, "type": "Other", "hittable": false, "parentIndex": 167, "ref": "e169" }, { "rect": { "y": -477.33333333333326, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 169, "type": "Other", "hittable": false, "parentIndex": 168, "ref": "e170" }, { "value": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "label": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "rect": { "y": 0, "width": 0, "height": 0, "x": 0 }, "depth": 38, "enabled": true, "index": 170, "type": "TextView", "hittable": false, "parentIndex": 168, "ref": "e171" }, { "label": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "rect": { "y": -477.33333333333326, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 171, "type": "TextView", "hittable": false, "parentIndex": 170, "ref": "e172" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -477.33333333333326, "width": 30, "height": 88, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 172, "type": "Other", "hittable": false, "parentIndex": 170, "ref": "e173" }, { "rect": { "y": -516.3333333333333, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 173, "type": "Other", "hittable": false, "parentIndex": 172, "ref": "e174" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -422.33333333333326, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 174, "type": "Other", "hittable": false, "parentIndex": 170, "ref": "e175" }, { "rect": { "y": -395.33333333333326, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 175, "type": "Other", "hittable": false, "parentIndex": 174, "ref": "e176" }, { "label": "•", "rect": { "y": -385.33333333333326, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 176, "type": "StaticText", "hittable": false, "parentIndex": 132, "ref": "e177" }, { "label": "•", "rect": { "y": -385.33333333333326, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 177, "type": "StaticText", "hittable": false, "parentIndex": 176, "ref": "e178" }, { "label": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "rect": { "y": -385.33333333333326, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 178, "type": "Other", "hittable": false, "parentIndex": 132, "ref": "e179" }, { "label": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "rect": { "y": -385.33333333333326, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 179, "type": "Other", "hittable": false, "parentIndex": 178, "ref": "e180" }, { "rect": { "y": -385.33333333333326, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 180, "type": "Other", "hittable": false, "parentIndex": 179, "ref": "e181" }, { "value": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "label": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "rect": { "y": 0, "width": 0, "height": 0, "x": 0 }, "depth": 38, "enabled": true, "index": 181, "type": "TextView", "hittable": false, "parentIndex": 179, "ref": "e182" }, { "label": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "rect": { "y": -385.33333333333326, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 182, "type": "TextView", "hittable": false, "parentIndex": 181, "ref": "e183" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -385.33333333333326, "width": 30, "height": 66, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 183, "type": "Other", "hittable": false, "parentIndex": 181, "ref": "e184" }, { "rect": { "y": -424.33333333333326, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 184, "type": "Other", "hittable": false, "parentIndex": 183, "ref": "e185" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -352.33333333333326, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 185, "type": "Other", "hittable": false, "parentIndex": 181, "ref": "e186" }, { "rect": { "y": -325.33333333333326, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 186, "type": "Other", "hittable": false, "parentIndex": 185, "ref": "e187" }, { "label": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "rect": { "y": -303.33333333333326, "width": 362, "height": 88, "x": 20 }, "depth": 36, "enabled": true, "index": 187, "type": "Other", "hittable": false, "parentIndex": 132, "ref": "e188" }, { "label": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "rect": { "y": -303.33333333333326, "width": 362, "height": 88, "x": 20 }, "depth": 37, "enabled": true, "index": 188, "type": "Other", "hittable": false, "parentIndex": 187, "ref": "e189" }, { "rect": { "y": -303.33333333333326, "width": 362, "height": 88, "x": 20 }, "depth": 38, "enabled": true, "index": 189, "type": "Other", "hittable": false, "parentIndex": 188, "ref": "e190" }, { "value": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "label": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "rect": { "y": 0, "width": 0, "height": 0, "x": 0 }, "depth": 38, "enabled": true, "index": 190, "type": "TextView", "hittable": false, "parentIndex": 188, "ref": "e191" }, { "label": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "rect": { "y": -303.33333333333326, "width": 362, "height": 88, "x": 20 }, "depth": 39, "enabled": true, "index": 191, "type": "TextView", "hittable": false, "parentIndex": 190, "ref": "e192" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -303.33333333333326, "width": 30, "height": 88, "x": 349 }, "depth": 39, "enabled": true, "index": 192, "type": "Other", "hittable": false, "parentIndex": 190, "ref": "e193" }, { "rect": { "y": -342.33333333333326, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 193, "type": "Other", "hittable": false, "parentIndex": 192, "ref": "e194" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": -248.33333333333326, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 194, "type": "Other", "hittable": false, "parentIndex": 190, "ref": "e195" }, { "rect": { "y": -221.33333333333326, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 195, "type": "Other", "hittable": false, "parentIndex": 194, "ref": "e196" }, { "label": "Edit, packages/app/src/hooks/use-scroll-anchor.ts", "rect": { "y": -187.33333333333326, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 196, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e197" }, { "identifier": "tool-call-badge", "rect": { "y": -187.33333333333326, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 197, "type": "Other", "hittable": false, "parentIndex": 196, "ref": "e198" }, { "label": "Edit, packages/app/src/hooks/use-scroll-anchor.ts", "rect": { "y": -187.33333333333326, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 198, "type": "Button", "hittable": false, "parentIndex": 196, "ref": "e199" }, { "label": "Edit", "rect": { "y": -180.33333333333326, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 199, "type": "Other", "hittable": false, "parentIndex": 198, "ref": "e200" }, { "label": "Edit", "rect": { "y": -180.33333333333326, "width": 26.666664123535156, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 200, "type": "StaticText", "hittable": false, "parentIndex": 199, "ref": "e201" }, { "label": "Edit", "rect": { "y": -180.33333333333326, "width": 26.666664123535156, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 201, "type": "StaticText", "hittable": false, "parentIndex": 200, "ref": "e202" }, { "label": "packages/app/src/hooks/use-scroll-anchor.ts", "rect": { "y": -180.33333333333326, "width": 309.3333435058594, "height": 18, "x": 76.66666793823242 }, "depth": 38, "enabled": true, "index": 202, "type": "StaticText", "hittable": false, "parentIndex": 199, "ref": "e203" }, { "label": "packages/app/src/hooks/use-scroll-anchor.ts", "rect": { "y": -180.33333333333326, "width": 309.3333435058594, "height": 18, "x": 76.66666793823242 }, "depth": 39, "enabled": true, "index": 203, "type": "StaticText", "hittable": false, "parentIndex": 202, "ref": "e204" }, { "label": "Shell, node scripts/simulate-stream-burst.mjs", "rect": { "y": -155.33333333333326, "width": 378, "height": 36, "x": 12 }, "depth": 35, "enabled": true, "index": 204, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e205" }, { "identifier": "tool-call-badge", "rect": { "y": -155.33333333333326, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 205, "type": "Other", "hittable": false, "parentIndex": 204, "ref": "e206" }, { "label": "Shell, node scripts/simulate-stream-burst.mjs", "rect": { "y": -155.33333333333326, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 206, "type": "Button", "hittable": false, "parentIndex": 204, "ref": "e207" }, { "label": "Shell", "rect": { "y": -148.33333333333326, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 207, "type": "Other", "hittable": false, "parentIndex": 206, "ref": "e208" }, { "label": "Shell", "rect": { "y": -148.33333333333326, "width": 33.666664123535156, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 208, "type": "StaticText", "hittable": false, "parentIndex": 207, "ref": "e209" }, { "label": "Shell", "rect": { "y": -148.33333333333326, "width": 33.666664123535156, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 209, "type": "StaticText", "hittable": false, "parentIndex": 208, "ref": "e210" }, { "label": "node scripts/simulate-stream-burst.mjs", "rect": { "y": -148.33333333333326, "width": 271.3333435058594, "height": 18, "x": 83.66666793823242 }, "depth": 38, "enabled": true, "index": 210, "type": "StaticText", "hittable": false, "parentIndex": 207, "ref": "e211" }, { "label": "node scripts/simulate-stream-burst.mjs", "rect": { "y": -148.33333333333326, "width": 271.3333435058594, "height": 18, "x": 83.66666793823242 }, "depth": 39, "enabled": true, "index": 211, "type": "StaticText", "hittable": false, "parentIndex": 210, "ref": "e212" }, { "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "rect": { "y": -119.33333333333326, "width": 378, "height": 570, "x": 12 }, "depth": 35, "enabled": true, "index": 212, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e213" }, { "identifier": "assistant-message", "rect": { "y": -119.33333333333326, "width": 362, "height": 566, "x": 20 }, "depth": 36, "enabled": true, "index": 213, "type": "Other", "hittable": false, "parentIndex": 212, "ref": "e214" }, { "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "rect": { "y": -107.33333333333326, "width": 362, "height": 242, "x": 20 }, "depth": 36, "enabled": true, "index": 214, "type": "Other", "hittable": false, "parentIndex": 212, "ref": "e215" }, { "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "rect": { "y": -107.33333333333326, "width": 362, "height": 242, "x": 20 }, "depth": 37, "enabled": true, "index": 215, "type": "Other", "hittable": false, "parentIndex": 214, "ref": "e216" }, { "rect": { "y": -107.33333333333326, "width": 362, "height": 242, "x": 20 }, "depth": 38, "enabled": true, "index": 216, "type": "Other", "hittable": false, "parentIndex": 215, "ref": "e217" }, { "value": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "rect": { "y": 0, "width": 362, "height": 134.66666666666674, "x": 20 }, "depth": 38, "enabled": true, "index": 217, "type": "TextView", "hittable": false, "parentIndex": 215, "ref": "e218" }, { "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle 2", "rect": { "y": -107.33333333333326, "width": 362, "height": 242, "x": 20 }, "depth": 39, "enabled": true, "index": 218, "type": "TextView", "hittable": false, "parentIndex": 217, "ref": "e219" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": -107.33333333333326, "width": 30, "height": 242, "x": 349 }, "depth": 39, "enabled": true, "index": 219, "type": "Other", "hittable": false, "parentIndex": 217, "ref": "e220" }, { "rect": { "y": -146.33333333333326, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 220, "type": "Other", "hittable": false, "parentIndex": 219, "ref": "e221" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 101.66666666666674, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 221, "type": "Other", "hittable": false, "parentIndex": 217, "ref": "e222" }, { "rect": { "y": 128.66666666666674, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 222, "type": "Other", "hittable": false, "parentIndex": 221, "ref": "e223" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": 158.66666666666674, "width": 362, "height": 264, "x": 20 }, "depth": 36, "enabled": true, "index": 223, "type": "Other", "hittable": false, "parentIndex": 212, "ref": "e224" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": 158.66666666666674, "width": 362, "height": 264, "x": 20 }, "depth": 37, "enabled": true, "index": 224, "type": "Other", "hittable": false, "parentIndex": 223, "ref": "e225" }, { "rect": { "y": 158.66666666666674, "width": 362, "height": 264, "x": 20 }, "depth": 38, "enabled": true, "index": 225, "type": "Other", "hittable": false, "parentIndex": 224, "ref": "e226" }, { "value": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": 158.66666666666674, "width": 362, "height": 264, "x": 20 }, "depth": 38, "enabled": true, "index": 226, "type": "TextView", "hittable": false, "parentIndex": 224, "ref": "e227" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so the first useful step is to read the relevant files.", "rect": { "y": 158.66666666666674, "width": 362, "height": 264, "x": 20 }, "depth": 39, "enabled": true, "index": 227, "type": "TextView", "hittable": false, "parentIndex": 226, "ref": "e228" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 158.66666666666674, "width": 30, "height": 264, "x": 349 }, "depth": 39, "enabled": true, "index": 228, "type": "Other", "hittable": false, "parentIndex": 226, "ref": "e229" }, { "rect": { "y": 119.66666666666674, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 229, "type": "Other", "hittable": false, "parentIndex": 228, "ref": "e230" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 389.66666666666674, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 230, "type": "Other", "hittable": false, "parentIndex": 226, "ref": "e231" }, { "rect": { "y": 416.66666666666674, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 231, "type": "Other", "hittable": false, "parentIndex": 230, "ref": "e232" }, { "label": "Thinking", "rect": { "y": 450.66666666666674, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 232, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e233" }, { "identifier": "tool-call-badge", "rect": { "y": 450.66666666666674, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 233, "type": "Other", "hittable": false, "parentIndex": 232, "ref": "e234" }, { "label": "Thinking", "rect": { "y": 450.66666666666674, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 234, "type": "Button", "hittable": false, "parentIndex": 232, "ref": "e235" }, { "label": "Read, packages/app/src/components/conversation-list.tsx", "rect": { "y": 482.66666666666674, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 235, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e236" }, { "identifier": "tool-call-badge", "rect": { "y": 482.66666666666674, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 236, "type": "Other", "hittable": false, "parentIndex": 235, "ref": "e237" }, { "label": "Read, packages/app/src/components/conversation-list.tsx", "rect": { "y": 482.66666666666674, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 237, "type": "Button", "hittable": false, "parentIndex": 235, "ref": "e238" }, { "label": "Read", "rect": { "y": 489.66666666666674, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 238, "type": "Other", "hittable": false, "parentIndex": 237, "ref": "e239" }, { "label": "Read", "rect": { "y": 489.66666666666674, "width": 35, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 239, "type": "StaticText", "hittable": false, "parentIndex": 238, "ref": "e240" }, { "label": "Read", "rect": { "y": 489.66666666666674, "width": 35, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 240, "type": "StaticText", "hittable": false, "parentIndex": 239, "ref": "e241" }, { "label": "packages/app/src/components/conversation-list.tsx", "rect": { "y": 489.66666666666674, "width": 301, "height": 18, "x": 85 }, "depth": 38, "enabled": true, "index": 241, "type": "StaticText", "hittable": false, "parentIndex": 238, "ref": "e242" }, { "label": "packages/app/src/components/conversation-list.tsx", "rect": { "y": 489.66666666666674, "width": 301, "height": 18, "x": 85 }, "depth": 39, "enabled": true, "index": 242, "type": "StaticText", "hittable": false, "parentIndex": 241, "ref": "e243" }, { "label": "Search, scrollToEnd", "rect": { "y": 514.6666666666667, "width": 378, "height": 36, "x": 12 }, "depth": 35, "enabled": true, "index": 243, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e244" }, { "identifier": "tool-call-badge", "rect": { "y": 514.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 244, "type": "Other", "hittable": false, "parentIndex": 243, "ref": "e245" }, { "label": "Search, scrollToEnd", "rect": { "y": 514.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 245, "type": "Button", "hittable": false, "parentIndex": 243, "ref": "e246" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 550.6666666666667, "width": 378, "height": 646, "x": 12 }, "depth": 35, "enabled": true, "index": 246, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e247" }, { "identifier": "assistant-message", "rect": { "y": 550.6666666666667, "width": 362, "height": 642, "x": 20 }, "depth": 36, "enabled": true, "index": 247, "type": "Other", "hittable": false, "parentIndex": 246, "ref": "e248" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 562.6666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 36, "enabled": true, "index": 248, "type": "Other", "hittable": false, "parentIndex": 246, "ref": "e249" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 562.6666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 37, "enabled": true, "index": 249, "type": "Other", "hittable": false, "parentIndex": 248, "ref": "e250" }, { "rect": { "y": 562.6666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 38, "enabled": true, "index": 250, "type": "Other", "hittable": false, "parentIndex": 249, "ref": "e251" }, { "value": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 562.6666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 38, "enabled": true, "index": 251, "type": "TextView", "hittable": false, "parentIndex": 249, "ref": "e252" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 562.6666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 39, "enabled": true, "index": 252, "type": "TextView", "hittable": false, "parentIndex": 251, "ref": "e253" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 562.6666666666667, "width": 30, "height": 132, "x": 349 }, "depth": 39, "enabled": true, "index": 253, "type": "Other", "hittable": false, "parentIndex": 251, "ref": "e254" }, { "rect": { "y": 523.6666666666667, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 254, "type": "Other", "hittable": false, "parentIndex": 253, "ref": "e255" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 661.6666666666667, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 255, "type": "Other", "hittable": false, "parentIndex": 251, "ref": "e256" }, { "rect": { "y": 688.6666666666667, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 256, "type": "Other", "hittable": false, "parentIndex": 255, "ref": "e257" }, { "label": "•", "rect": { "y": 722.6666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 257, "type": "StaticText", "hittable": false, "parentIndex": 246, "ref": "e258" }, { "label": "•", "rect": { "y": 722.6666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 258, "type": "StaticText", "hittable": false, "parentIndex": 257, "ref": "e259" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 722.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 259, "type": "Other", "hittable": false, "parentIndex": 246, "ref": "e260" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 722.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 260, "type": "Other", "hittable": false, "parentIndex": 259, "ref": "e261" }, { "rect": { "y": 722.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 261, "type": "Other", "hittable": false, "parentIndex": 260, "ref": "e262" }, { "value": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 722.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 262, "type": "TextView", "hittable": false, "parentIndex": 260, "ref": "e263" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 722.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 263, "type": "TextView", "hittable": false, "parentIndex": 262, "ref": "e264" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 722.6666666666667, "width": 30, "height": 88, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 264, "type": "Other", "hittable": false, "parentIndex": 262, "ref": "e265" }, { "rect": { "y": 683.6666666666667, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 265, "type": "Other", "hittable": false, "parentIndex": 264, "ref": "e266" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 777.6666666666667, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 266, "type": "Other", "hittable": false, "parentIndex": 262, "ref": "e267" }, { "rect": { "y": 804.6666666666667, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 267, "type": "Other", "hittable": false, "parentIndex": 266, "ref": "e268" }, { "label": "•", "rect": { "y": 814.6666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 268, "type": "StaticText", "hittable": false, "parentIndex": 246, "ref": "e269" }, { "label": "•", "rect": { "y": 814.6666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 269, "type": "StaticText", "hittable": false, "parentIndex": 268, "ref": "e270" }, { "label": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "rect": { "y": 814.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 270, "type": "Other", "hittable": false, "parentIndex": 246, "ref": "e271" }, { "label": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "rect": { "y": 814.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 271, "type": "Other", "hittable": false, "parentIndex": 270, "ref": "e272" }, { "rect": { "y": 814.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 272, "type": "Other", "hittable": false, "parentIndex": 271, "ref": "e273" }, { "value": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "label": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "rect": { "y": 814.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 273, "type": "TextView", "hittable": false, "parentIndex": 271, "ref": "e274" }, { "label": "We rely on onContentSizeChange to detect new content, but that fires after layout, not as the streaming delta arrives, so we end up scrolling one frame late on fast streams.", "rect": { "y": 814.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 274, "type": "TextView", "hittable": false, "parentIndex": 273, "ref": "e275" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 814.6666666666667, "width": 30, "height": 88, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 275, "type": "Other", "hittable": false, "parentIndex": 273, "ref": "e276" }, { "rect": { "y": 775.6666666666667, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 276, "type": "Other", "hittable": false, "parentIndex": 275, "ref": "e277" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 869.6666666666667, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 277, "type": "Other", "hittable": false, "parentIndex": 273, "ref": "e278" }, { "rect": { "y": 896.6666666666667, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 278, "type": "Other", "hittable": false, "parentIndex": 277, "ref": "e279" }, { "label": "•", "rect": { "y": 906.6666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 279, "type": "StaticText", "hittable": false, "parentIndex": 246, "ref": "e280" }, { "label": "•", "rect": { "y": 906.6666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 280, "type": "StaticText", "hittable": false, "parentIndex": 279, "ref": "e281" }, { "label": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "rect": { "y": 906.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 281, "type": "Other", "hittable": false, "parentIndex": 246, "ref": "e282" }, { "label": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "rect": { "y": 906.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 282, "type": "Other", "hittable": false, "parentIndex": 281, "ref": "e283" }, { "rect": { "y": 906.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 283, "type": "Other", "hittable": false, "parentIndex": 282, "ref": "e284" }, { "value": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "label": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "rect": { "y": 906.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 284, "type": "TextView", "hittable": false, "parentIndex": 282, "ref": "e285" }, { "label": "The gesture handler does not pause scroll-to-bottom while the user is actively dragging, which means a drag in progress can be visually overridden mid-frame.", "rect": { "y": 906.6666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 285, "type": "TextView", "hittable": false, "parentIndex": 284, "ref": "e286" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 906.6666666666667, "width": 30, "height": 88, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 286, "type": "Other", "hittable": false, "parentIndex": 284, "ref": "e287" }, { "rect": { "y": 867.6666666666667, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 287, "type": "Other", "hittable": false, "parentIndex": 286, "ref": "e288" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 961.6666666666667, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 288, "type": "Other", "hittable": false, "parentIndex": 284, "ref": "e289" }, { "rect": { "y": 988.6666666666667, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 289, "type": "Other", "hittable": false, "parentIndex": 288, "ref": "e290" }, { "label": "•", "rect": { "y": 998.6666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 290, "type": "StaticText", "hittable": false, "parentIndex": 246, "ref": "e291" }, { "label": "•", "rect": { "y": 998.6666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 291, "type": "StaticText", "hittable": false, "parentIndex": 290, "ref": "e292" }, { "label": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "rect": { "y": 998.6666666666667, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 292, "type": "Other", "hittable": false, "parentIndex": 246, "ref": "e293" }, { "label": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "rect": { "y": 998.6666666666667, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 293, "type": "Other", "hittable": false, "parentIndex": 292, "ref": "e294" }, { "rect": { "y": 998.6666666666667, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 294, "type": "Other", "hittable": false, "parentIndex": 293, "ref": "e295" }, { "value": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "label": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "rect": { "y": 998.6666666666667, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 295, "type": "TextView", "hittable": false, "parentIndex": 293, "ref": "e296" }, { "label": "Coalescing happens upstream, so the FlatList sees fewer updates than the wire — but each batch can still cause a relayout.", "rect": { "y": 998.6666666666667, "width": 340.6666564941406, "height": 66, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 296, "type": "TextView", "hittable": false, "parentIndex": 295, "ref": "e297" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 998.6666666666667, "width": 30, "height": 66, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 297, "type": "Other", "hittable": false, "parentIndex": 295, "ref": "e298" }, { "rect": { "y": 959.6666666666667, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 298, "type": "Other", "hittable": false, "parentIndex": 297, "ref": "e299" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 1031.6666666666667, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 299, "type": "Other", "hittable": false, "parentIndex": 295, "ref": "e300" }, { "rect": { "y": 1058.6666666666667, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 300, "type": "Other", "hittable": false, "parentIndex": 299, "ref": "e301" }, { "label": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "rect": { "y": 1080.6666666666667, "width": 362, "height": 88, "x": 20 }, "depth": 36, "enabled": true, "index": 301, "type": "Other", "hittable": false, "parentIndex": 246, "ref": "e302" }, { "label": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "rect": { "y": 1080.6666666666667, "width": 362, "height": 88, "x": 20 }, "depth": 37, "enabled": true, "index": 302, "type": "Other", "hittable": false, "parentIndex": 301, "ref": "e303" }, { "rect": { "y": 1080.6666666666667, "width": 362, "height": 88, "x": 20 }, "depth": 38, "enabled": true, "index": 303, "type": "Other", "hittable": false, "parentIndex": 302, "ref": "e304" }, { "value": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "label": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "rect": { "y": 1080.6666666666667, "width": 362, "height": 88, "x": 20 }, "depth": 38, "enabled": true, "index": 304, "type": "TextView", "hittable": false, "parentIndex": 302, "ref": "e305" }, { "label": "Let me make a small adjustment to the threshold and add a flag for active gestures, then run a quick command to confirm the order of events when streaming is fast.", "rect": { "y": 1080.6666666666667, "width": 362, "height": 88, "x": 20 }, "depth": 39, "enabled": true, "index": 305, "type": "TextView", "hittable": false, "parentIndex": 304, "ref": "e306" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 1080.6666666666667, "width": 30, "height": 88, "x": 349 }, "depth": 39, "enabled": true, "index": 306, "type": "Other", "hittable": false, "parentIndex": 304, "ref": "e307" }, { "rect": { "y": 1041.6666666666667, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 307, "type": "Other", "hittable": false, "parentIndex": 306, "ref": "e308" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 1135.6666666666667, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 308, "type": "Other", "hittable": false, "parentIndex": 304, "ref": "e309" }, { "rect": { "y": 1162.6666666666667, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 309, "type": "Other", "hittable": false, "parentIndex": 308, "ref": "e310" }, { "label": "Edit, packages/app/src/hooks/use-scroll-anchor.ts", "rect": { "y": 1196.6666666666667, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 310, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e311" }, { "identifier": "tool-call-badge", "rect": { "y": 1196.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 311, "type": "Other", "hittable": false, "parentIndex": 310, "ref": "e312" }, { "label": "Edit, packages/app/src/hooks/use-scroll-anchor.ts", "rect": { "y": 1196.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 312, "type": "Button", "hittable": false, "parentIndex": 310, "ref": "e313" }, { "label": "Edit", "rect": { "y": 1203.6666666666667, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 313, "type": "Other", "hittable": false, "parentIndex": 312, "ref": "e314" }, { "label": "Edit", "rect": { "y": 1203.6666666666667, "width": 26.666664123535156, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 314, "type": "StaticText", "hittable": false, "parentIndex": 313, "ref": "e315" }, { "label": "Edit", "rect": { "y": 1203.6666666666667, "width": 26.666664123535156, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 315, "type": "StaticText", "hittable": false, "parentIndex": 314, "ref": "e316" }, { "label": "packages/app/src/hooks/use-scroll-anchor.ts", "rect": { "y": 1203.6666666666667, "width": 309.3333435058594, "height": 18, "x": 76.66666793823242 }, "depth": 38, "enabled": true, "index": 316, "type": "StaticText", "hittable": false, "parentIndex": 313, "ref": "e317" }, { "label": "packages/app/src/hooks/use-scroll-anchor.ts", "rect": { "y": 1203.6666666666667, "width": 309.3333435058594, "height": 18, "x": 76.66666793823242 }, "depth": 39, "enabled": true, "index": 317, "type": "StaticText", "hittable": false, "parentIndex": 316, "ref": "e318" }, { "label": "Shell, node scripts/simulate-stream-burst.mjs", "rect": { "y": 1228.6666666666667, "width": 378, "height": 36, "x": 12 }, "depth": 35, "enabled": true, "index": 318, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e319" }, { "identifier": "tool-call-badge", "rect": { "y": 1228.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 319, "type": "Other", "hittable": false, "parentIndex": 318, "ref": "e320" }, { "label": "Shell, node scripts/simulate-stream-burst.mjs", "rect": { "y": 1228.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 320, "type": "Button", "hittable": false, "parentIndex": 318, "ref": "e321" }, { "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "rect": { "y": 1264.6666666666667, "width": 378, "height": 570, "x": 12 }, "depth": 35, "enabled": true, "index": 321, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e322" }, { "identifier": "assistant-message", "rect": { "y": 1264.6666666666667, "width": 362, "height": 566, "x": 20 }, "depth": 36, "enabled": true, "index": 322, "type": "Other", "hittable": false, "parentIndex": 321, "ref": "e323" }, { "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "rect": { "y": 1276.6666666666667, "width": 362, "height": 242, "x": 20 }, "depth": 36, "enabled": true, "index": 323, "type": "Other", "hittable": false, "parentIndex": 321, "ref": "e324" }, { "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "rect": { "y": 1276.6666666666667, "width": 362, "height": 242, "x": 20 }, "depth": 37, "enabled": true, "index": 324, "type": "Other", "hittable": false, "parentIndex": 323, "ref": "e325" }, { "rect": { "y": 1276.6666666666667, "width": 362, "height": 242, "x": 20 }, "depth": 38, "enabled": true, "index": 325, "type": "Other", "hittable": false, "parentIndex": 324, "ref": "e326" }, { "value": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle", "rect": { "y": 1276.6666666666667, "width": 362, "height": 242, "x": 20 }, "depth": 38, "enabled": true, "index": 326, "type": "TextView", "hittable": false, "parentIndex": 324, "ref": "e327" }, { "label": "The change should keep scroll-to-bottom working when the user is at the bottom while not yanking the viewport when they are reading earlier messages. The bash output confirms the userIsAtBottom flag flips correctly during a simulated streaming burst, and the gesture flag suppresses scroll while a drag is active. If you want, I can follow up with a regression test that drives the FlatList with synthetic deltas at high frequency to lock in the behavior. For now, I'll stop here so you can take a look.## Cycle 3", "rect": { "y": 1276.6666666666667, "width": 362, "height": 242, "x": 20 }, "depth": 39, "enabled": true, "index": 327, "type": "TextView", "hittable": false, "parentIndex": 326, "ref": "e328" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 1276.6666666666667, "width": 30, "height": 242, "x": 349 }, "depth": 39, "enabled": true, "index": 328, "type": "Other", "hittable": false, "parentIndex": 326, "ref": "e329" }, { "rect": { "y": 1237.6666666666667, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 329, "type": "Other", "hittable": false, "parentIndex": 328, "ref": "e330" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 1485.6666666666667, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 330, "type": "Other", "hittable": false, "parentIndex": 326, "ref": "e331" }, { "rect": { "y": 1512.6666666666667, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 331, "type": "Other", "hittable": false, "parentIndex": 330, "ref": "e332" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": 1542.6666666666667, "width": 362, "height": 264, "x": 20 }, "depth": 36, "enabled": true, "index": 332, "type": "Other", "hittable": false, "parentIndex": 321, "ref": "e333" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": 1542.6666666666667, "width": 362, "height": 264, "x": 20 }, "depth": 37, "enabled": true, "index": 333, "type": "Other", "hittable": false, "parentIndex": 332, "ref": "e334" }, { "rect": { "y": 1542.6666666666667, "width": 362, "height": 264, "x": 20 }, "depth": 38, "enabled": true, "index": 334, "type": "Other", "hittable": false, "parentIndex": 333, "ref": "e335" }, { "value": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so", "rect": { "y": 1542.6666666666667, "width": 362, "height": 264, "x": 20 }, "depth": 38, "enabled": true, "index": 335, "type": "TextView", "hittable": false, "parentIndex": 333, "ref": "e336" }, { "label": "I'll take a look at the scroll anchor behavior you described. Let me start by walking through how the conversation list currently handles streaming updates and where the auto-scroll logic actually lives. My instinct is that the anchor is supposed to pin to the bottom only when the user is already there, but I want to confirm that against the code rather than guess. This kind of behavior is usually a thin layout effect over a ref, and the bugs tend to come from event ordering rather than the math itself, so the first useful step is to read the relevant files.", "rect": { "y": 1542.6666666666667, "width": 362, "height": 264, "x": 20 }, "depth": 39, "enabled": true, "index": 336, "type": "TextView", "hittable": false, "parentIndex": 335, "ref": "e337" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 1542.6666666666667, "width": 30, "height": 264, "x": 349 }, "depth": 39, "enabled": true, "index": 337, "type": "Other", "hittable": false, "parentIndex": 335, "ref": "e338" }, { "rect": { "y": 1503.6666666666667, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 338, "type": "Other", "hittable": false, "parentIndex": 337, "ref": "e339" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 1773.6666666666667, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 339, "type": "Other", "hittable": false, "parentIndex": 335, "ref": "e340" }, { "rect": { "y": 1800.6666666666667, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 340, "type": "Other", "hittable": false, "parentIndex": 339, "ref": "e341" }, { "label": "Thinking", "rect": { "y": 1834.6666666666667, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 341, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e342" }, { "identifier": "tool-call-badge", "rect": { "y": 1834.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 342, "type": "Other", "hittable": false, "parentIndex": 341, "ref": "e343" }, { "label": "Thinking", "rect": { "y": 1834.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 343, "type": "Button", "hittable": false, "parentIndex": 341, "ref": "e344" }, { "label": "Thinking", "rect": { "y": 1841.6666666666667, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 344, "type": "Other", "hittable": false, "parentIndex": 343, "ref": "e345" }, { "label": "Thinking", "rect": { "y": 1841.6666666666667, "width": 58.666664123535156, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 345, "type": "StaticText", "hittable": false, "parentIndex": 344, "ref": "e346" }, { "label": "Thinking", "rect": { "y": 1841.6666666666667, "width": 58.666664123535156, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 346, "type": "StaticText", "hittable": false, "parentIndex": 345, "ref": "e347" }, { "label": "Read, packages/app/src/components/conversation-list.tsx", "rect": { "y": 1866.6666666666667, "width": 378, "height": 32, "x": 12 }, "depth": 35, "enabled": true, "index": 347, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e348" }, { "identifier": "tool-call-badge", "rect": { "y": 1866.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 348, "type": "Other", "hittable": false, "parentIndex": 347, "ref": "e349" }, { "label": "Read, packages/app/src/components/conversation-list.tsx", "rect": { "y": 1866.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 349, "type": "Button", "hittable": false, "parentIndex": 347, "ref": "e350" }, { "label": "Read", "rect": { "y": 1873.6666666666667, "width": 344, "height": 18, "x": 42 }, "depth": 37, "enabled": true, "index": 350, "type": "Other", "hittable": false, "parentIndex": 349, "ref": "e351" }, { "label": "Read", "rect": { "y": 1873.6666666666667, "width": 35, "height": 18, "x": 42 }, "depth": 38, "enabled": true, "index": 351, "type": "StaticText", "hittable": false, "parentIndex": 350, "ref": "e352" }, { "label": "Read", "rect": { "y": 1873.6666666666667, "width": 35, "height": 18, "x": 42 }, "depth": 39, "enabled": true, "index": 352, "type": "StaticText", "hittable": false, "parentIndex": 351, "ref": "e353" }, { "label": "packages/app/src/components/conversation-list.tsx", "rect": { "y": 1873.6666666666667, "width": 301, "height": 18, "x": 85 }, "depth": 38, "enabled": true, "index": 353, "type": "StaticText", "hittable": false, "parentIndex": 350, "ref": "e354" }, { "label": "packages/app/src/components/conversation-list.tsx", "rect": { "y": 1873.6666666666667, "width": 301, "height": 18, "x": 85 }, "depth": 39, "enabled": true, "index": 354, "type": "StaticText", "hittable": false, "parentIndex": 353, "ref": "e355" }, { "label": "Search, scrollToEnd", "rect": { "y": 1898.6666666666667, "width": 378, "height": 36, "x": 12 }, "depth": 35, "enabled": true, "index": 355, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e356" }, { "identifier": "tool-call-badge", "rect": { "y": 1898.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 356, "type": "Other", "hittable": false, "parentIndex": 355, "ref": "e357" }, { "label": "Search, scrollToEnd", "rect": { "y": 1898.6666666666667, "width": 388, "height": 32, "x": 7 }, "depth": 36, "enabled": true, "index": 357, "type": "Button", "hittable": false, "parentIndex": 355, "ref": "e358" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 1934.666666666667, "width": 378, "height": 336, "x": 12 }, "depth": 35, "enabled": true, "index": 358, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e359" }, { "identifier": "assistant-message", "rect": { "y": 1934.666666666667, "width": 362, "height": 336, "x": 20 }, "depth": 36, "enabled": true, "index": 359, "type": "Other", "hittable": false, "parentIndex": 358, "ref": "e360" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 1946.666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 36, "enabled": true, "index": 360, "type": "Other", "hittable": false, "parentIndex": 358, "ref": "e361" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 1946.666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 37, "enabled": true, "index": 361, "type": "Other", "hittable": false, "parentIndex": 360, "ref": "e362" }, { "rect": { "y": 1946.666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 38, "enabled": true, "index": 362, "type": "Other", "hittable": false, "parentIndex": 361, "ref": "e363" }, { "value": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 1946.666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 38, "enabled": true, "index": 363, "type": "TextView", "hittable": false, "parentIndex": 361, "ref": "e364" }, { "label": "Now I have a clearer picture. The auto-scroll uses a ref on the FlatList and tracks whether the user has scrolled away from the bottom by comparing the offset against the content size. There are a few subtle issues worth flagging before we change anything:", "rect": { "y": 1946.666666666667, "width": 362, "height": 132, "x": 20 }, "depth": 39, "enabled": true, "index": 364, "type": "TextView", "hittable": false, "parentIndex": 363, "ref": "e365" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 1946.666666666667, "width": 30, "height": 132, "x": 349 }, "depth": 39, "enabled": true, "index": 365, "type": "Other", "hittable": false, "parentIndex": 363, "ref": "e366" }, { "rect": { "y": 1907.666666666667, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 366, "type": "Other", "hittable": false, "parentIndex": 365, "ref": "e367" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 2045.666666666667, "width": 362, "height": 30, "x": 20 }, "depth": 39, "enabled": true, "index": 367, "type": "Other", "hittable": false, "parentIndex": 363, "ref": "e368" }, { "rect": { "y": 2072.666666666667, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 368, "type": "Other", "hittable": false, "parentIndex": 367, "ref": "e369" }, { "label": "•", "rect": { "y": 2106.666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 369, "type": "StaticText", "hittable": false, "parentIndex": 358, "ref": "e370" }, { "label": "•", "rect": { "y": 2106.666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 370, "type": "StaticText", "hittable": false, "parentIndex": 369, "ref": "e371" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 2106.666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 371, "type": "Other", "hittable": false, "parentIndex": 358, "ref": "e372" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 2106.666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 372, "type": "Other", "hittable": false, "parentIndex": 371, "ref": "e373" }, { "rect": { "y": 2106.666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 373, "type": "Other", "hittable": false, "parentIndex": 372, "ref": "e374" }, { "value": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 2106.666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 374, "type": "TextView", "hittable": false, "parentIndex": 372, "ref": "e375" }, { "label": "The threshold for 'near the bottom' is hardcoded at 80px, which feels too tight on dense content where headers and tool calls take up a lot of vertical space.", "rect": { "y": 2106.666666666667, "width": 340.6666564941406, "height": 88, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 375, "type": "TextView", "hittable": false, "parentIndex": 374, "ref": "e376" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 2106.666666666667, "width": 30, "height": 88, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 376, "type": "Other", "hittable": false, "parentIndex": 374, "ref": "e377" }, { "rect": { "y": 2067.666666666667, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 377, "type": "Other", "hittable": false, "parentIndex": 376, "ref": "e378" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 2161.666666666667, "width": 340.6666564941406, "height": 30, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 378, "type": "Other", "hittable": false, "parentIndex": 374, "ref": "e379" }, { "rect": { "y": 2188.666666666667, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 379, "type": "Other", "hittable": false, "parentIndex": 378, "ref": "e380" }, { "label": "•", "rect": { "y": 2198.666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 36, "enabled": true, "index": 380, "type": "StaticText", "hittable": false, "parentIndex": 358, "ref": "e381" }, { "label": "•", "rect": { "y": 2198.666666666667, "width": 7.333332061767578, "height": 22, "x": 30 }, "depth": 37, "enabled": true, "index": 381, "type": "StaticText", "hittable": false, "parentIndex": 380, "ref": "e382" }, { "label": "We rely on onContentSizeChange to dete", "rect": { "y": 2198.666666666667, "width": 340.6666564941406, "height": 22, "x": 41.33333396911621 }, "depth": 36, "enabled": true, "index": 382, "type": "Other", "hittable": false, "parentIndex": 358, "ref": "e383" }, { "label": "We rely on onContentSizeChange to dete", "rect": { "y": 2198.666666666667, "width": 340.6666564941406, "height": 22, "x": 41.33333396911621 }, "depth": 37, "enabled": true, "index": 383, "type": "Other", "hittable": false, "parentIndex": 382, "ref": "e384" }, { "rect": { "y": 2198.666666666667, "width": 340.6666564941406, "height": 22, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 384, "type": "Other", "hittable": false, "parentIndex": 383, "ref": "e385" }, { "value": "We rely on onContentSizeChange to dete", "label": "We rely on onContentSizeChange to dete", "rect": { "y": 2198.666666666667, "width": 340.6666564941406, "height": 22, "x": 41.33333396911621 }, "depth": 38, "enabled": true, "index": 385, "type": "TextView", "hittable": false, "parentIndex": 383, "ref": "e386" }, { "label": "We rely on onContentSizeChange to dete", "rect": { "y": 2198.666666666667, "width": 278.07421875, "height": 22, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 386, "type": "TextView", "hittable": false, "parentIndex": 385, "ref": "e387" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 2198.666666666667, "width": 30, "height": 22, "x": 349.00000063578284 }, "depth": 39, "enabled": true, "index": 387, "type": "Other", "hittable": false, "parentIndex": 385, "ref": "e388" }, { "rect": { "y": 2159.666666666667, "width": 3, "height": 36, "x": 376.00000063578284 }, "depth": 40, "enabled": true, "index": 388, "type": "Other", "hittable": false, "parentIndex": 387, "ref": "e389" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 2206.666666666667, "width": 340.6666564941406, "height": 11, "x": 41.33333396911621 }, "depth": 39, "enabled": true, "index": 389, "type": "Other", "hittable": false, "parentIndex": 385, "ref": "e390" }, { "rect": { "y": 2214.666666666667, "width": 36, "height": 3, "x": 2.333333969116211 }, "depth": 40, "enabled": true, "index": 390, "type": "Other", "hittable": false, "parentIndex": 389, "ref": "e391" }, { "label": "(end of synthetic stream)", "rect": { "y": 2236.666666666667, "width": 362, "height": 22, "x": 20 }, "depth": 36, "enabled": true, "index": 391, "type": "Other", "hittable": false, "parentIndex": 358, "ref": "e392" }, { "label": "(end of synthetic stream)", "rect": { "y": 2236.666666666667, "width": 362, "height": 22, "x": 20 }, "depth": 37, "enabled": true, "index": 392, "type": "Other", "hittable": false, "parentIndex": 391, "ref": "e393" }, { "rect": { "y": 2236.666666666667, "width": 362, "height": 22, "x": 20 }, "depth": 38, "enabled": true, "index": 393, "type": "Other", "hittable": false, "parentIndex": 392, "ref": "e394" }, { "value": "(end of synthetic stream)", "label": "(end of synthetic stream)", "rect": { "y": 2236.666666666667, "width": 362, "height": 22, "x": 20 }, "depth": 38, "enabled": true, "index": 394, "type": "TextView", "hittable": false, "parentIndex": 392, "ref": "e395" }, { "label": "(end of synthetic stream)", "rect": { "y": 2236.666666666667, "width": 183.234375, "height": 22, "x": 20 }, "depth": 39, "enabled": true, "index": 395, "type": "TextView", "hittable": false, "parentIndex": 394, "ref": "e396" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 2236.666666666667, "width": 30, "height": 22, "x": 349 }, "depth": 39, "enabled": true, "index": 396, "type": "Other", "hittable": false, "parentIndex": 394, "ref": "e397" }, { "rect": { "y": 2197.666666666667, "width": 3, "height": 36, "x": 376 }, "depth": 40, "enabled": true, "index": 397, "type": "Other", "hittable": false, "parentIndex": 396, "ref": "e398" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 2244.666666666667, "width": 362, "height": 11, "x": 20 }, "depth": 39, "enabled": true, "index": 398, "type": "Other", "hittable": false, "parentIndex": 394, "ref": "e399" }, { "rect": { "y": 2252.666666666667, "width": 36, "height": 3, "x": -19 }, "depth": 40, "enabled": true, "index": 399, "type": "Other", "hittable": false, "parentIndex": 398, "ref": "e400" }, { "label": "Copy turn", "rect": { "y": 2270.666666666667, "width": 378, "height": 67, "x": 12 }, "depth": 35, "enabled": true, "index": 400, "type": "Other", "hittable": false, "parentIndex": 73, "ref": "e401" }, { "label": "Copy turn", "rect": { "y": 2283.666666666667, "width": 22, "height": 22, "x": 16 }, "depth": 36, "enabled": true, "index": 401, "type": "Button", "hittable": false, "parentIndex": 400, "ref": "e402" }, { "label": "Fork chat from here", "rect": { "y": 2283.666666666667, "width": 22, "height": 22, "x": 46 }, "depth": 36, "enabled": true, "index": 402, "type": "Other", "hittable": false, "parentIndex": 400, "ref": "e403" }, { "identifier": "assistant-fork-menu-trigger", "label": "Fork chat from here", "rect": { "y": 2283.666666666667, "width": 22, "height": 22, "x": 46 }, "depth": 37, "enabled": true, "index": 403, "type": "Button", "hittable": false, "parentIndex": 402, "ref": "e404" }, { "label": "Worked for 10s, ended 8:53 PM", "rect": { "y": 2286.9999999205274, "width": 91.33332824707031, "height": 15.666671752929688, "x": 76 }, "depth": 36, "enabled": true, "index": 404, "type": "Button", "hittable": false, "parentIndex": 400, "ref": "e405" }, { "label": "Worked for 10s", "rect": { "y": 2286.9999999205274, "width": 91.33332824707031, "height": 15.666671752929688, "x": 76 }, "depth": 37, "enabled": true, "index": 405, "type": "StaticText", "hittable": false, "parentIndex": 404, "ref": "e406" }, { "label": "Worked for 10s", "rect": { "y": 2286.9999999205274, "width": 91.33332824707031, "height": 15.666671752929688, "x": 76 }, "depth": 38, "enabled": true, "index": 406, "type": "StaticText", "hittable": false, "parentIndex": 405, "ref": "e407" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 164, "width": 402, "height": 30, "x": 0 }, "depth": 33, "enabled": true, "index": 407, "type": "Other", "hittable": false, "parentIndex": 71, "ref": "e408" }, { "rect": { "y": 164, "width": 393, "height": 3, "x": 3 }, "depth": 34, "enabled": true, "index": 408, "type": "Other", "hittable": false, "parentIndex": 407, "ref": "e409" }, { "value": "32%", "label": "Vertical scroll bar, 23 pages", "rect": { "y": 161, "width": 30, "height": 273.0000000000002, "x": 369 }, "depth": 33, "enabled": true, "index": 409, "type": "Other", "hittable": false, "parentIndex": 71, "ref": "e410" }, { "rect": { "y": 320.3333333333337, "width": 3, "height": 36, "x": 396 }, "depth": 34, "enabled": true, "index": 410, "type": "Other", "hittable": false, "parentIndex": 409, "ref": "e411" }, { "value": "32%", "label": "Vertical scroll bar, 23 pages", "rect": { "y": 161, "width": 30, "height": 273.0000000000002, "x": 369 }, "depth": 33, "enabled": true, "index": 411, "type": "Other", "hittable": false, "parentIndex": 71, "ref": "e412" }, { "rect": { "y": 320.3333333333337, "width": 3, "height": 36, "x": 396 }, "depth": 34, "enabled": true, "index": 412, "type": "Other", "hittable": false, "parentIndex": 411, "ref": "e413" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 164, "width": 402, "height": 30, "x": 0 }, "depth": 33, "enabled": true, "index": 413, "type": "Other", "hittable": false, "parentIndex": 71, "ref": "e414" }, { "rect": { "y": 164, "width": 393, "height": 3, "x": 3 }, "depth": 34, "enabled": true, "index": 414, "type": "Other", "hittable": false, "parentIndex": 413, "ref": "e415" }, { "label": "Scroll to bottom", "rect": { "y": 370, "width": 48, "height": 48, "x": 177 }, "depth": 31, "enabled": true, "index": 415, "type": "Other", "hittable": false, "parentIndex": 68, "ref": "e416" }, { "identifier": "scroll-to-bottom-button", "label": "Scroll to bottom", "rect": { "y": 370, "width": 48, "height": 48, "x": 177 }, "depth": 32, "enabled": true, "index": 416, "type": "Button", "hittable": false, "parentIndex": 415, "ref": "e417" }, { "identifier": "composer-viewport-content", "label": "Message agent... Message, @files, /commands", "rect": { "y": 434, "width": 402, "height": 138, "x": 0 }, "depth": 29, "enabled": true, "index": 417, "type": "Other", "hittable": false, "parentIndex": 65, "ref": "e418" }, { "identifier": "message-input-root", "rect": { "y": 434, "width": 370, "height": 88, "x": 16 }, "depth": 30, "enabled": true, "index": 418, "type": "Other", "hittable": false, "parentIndex": 417, "ref": "e419" }, { "rect": { "y": 434, "width": 370, "height": 88, "x": 16 }, "depth": 30, "enabled": true, "index": 419, "type": "Other", "hittable": false, "parentIndex": 417, "ref": "e420" }, { "label": "Message agent... Message, @files, /commands", "rect": { "y": 443, "width": 344, "height": 30, "x": 29 }, "depth": 30, "enabled": true, "index": 420, "type": "Other", "hittable": false, "parentIndex": 417, "ref": "e421" }, { "label": "Message agent... Message, @files, /commands", "rect": { "y": 443, "width": 344, "height": 30, "x": 29 }, "depth": 31, "enabled": true, "index": 421, "type": "TextView", "hittable": false, "parentIndex": 420, "ref": "e422" }, { "value": "0%", "label": "Vertical scroll bar, 1 page", "rect": { "y": 443, "width": 30, "height": 30, "x": 340 }, "depth": 32, "enabled": true, "index": 422, "type": "Other", "hittable": false, "parentIndex": 421, "ref": "e423" }, { "rect": { "y": 439, "width": 3, "height": 31, "x": 367 }, "depth": 33, "enabled": true, "index": 423, "type": "Other", "hittable": false, "parentIndex": 422, "ref": "e424" }, { "value": "0%", "label": "Horizontal scroll bar, 1 page", "rect": { "y": 455, "width": 344, "height": 15, "x": 29 }, "depth": 32, "enabled": true, "index": 424, "type": "Other", "hittable": false, "parentIndex": 421, "ref": "e425" }, { "rect": { "y": 467, "width": 338, "height": 3, "x": 32 }, "depth": 33, "enabled": true, "index": 425, "type": "Other", "hittable": false, "parentIndex": 424, "ref": "e426" }, { "identifier": "message-input-attach-button", "label": "Add attachment", "rect": { "y": 485, "width": 28, "height": 28, "x": 23 }, "depth": 30, "enabled": true, "index": 426, "type": "Button", "hittable": false, "parentIndex": 417, "ref": "e427" }, { "rect": { "y": 485, "width": 28, "height": 28, "x": 23 }, "depth": 31, "enabled": true, "index": 427, "type": "Other", "hittable": false, "parentIndex": 426, "ref": "e428" }, { "rect": { "y": 489, "width": 20, "height": 20, "x": 27 }, "depth": 32, "enabled": true, "index": 428, "type": "Other", "hittable": false, "parentIndex": 427, "ref": "e429" }, { "rect": { "y": 492.3333333333333, "width": 13.333333333333332, "height": 13.333333333333371, "x": 30.333333333333332 }, "depth": 33, "enabled": true, "index": 429, "type": "Other", "hittable": false, "parentIndex": 428, "ref": "e430" }, { "rect": { "y": 498.16666666666663, "width": 13.333333333333332, "height": 1.6666666666666856, "x": 30.333333333333332 }, "depth": 34, "enabled": true, "index": 430, "type": "Other", "hittable": false, "parentIndex": 429, "ref": "e431" }, { "rect": { "y": 492.33333333333337, "width": 1.6666666666666643, "height": 13.333333333333314, "x": 36.16666666666667 }, "depth": 34, "enabled": true, "index": 431, "type": "Other", "hittable": false, "parentIndex": 429, "ref": "e432" }, { "label": "Select model (Ten second stream)", "rect": { "y": 485, "width": 232, "height": 28, "x": 51 }, "depth": 30, "enabled": true, "index": 432, "type": "Other", "hittable": false, "parentIndex": 417, "ref": "e433" }, { "identifier": "combined-model-selector", "label": "Select model (Ten second stream)", "rect": { "y": 485, "width": 202, "height": 28, "x": 51 }, "depth": 31, "enabled": true, "index": 433, "type": "Button", "hittable": false, "parentIndex": 432, "ref": "e434" }, { "rect": { "y": 489, "width": 20, "height": 20, "x": 59 }, "depth": 32, "enabled": true, "index": 434, "type": "Other", "hittable": false, "parentIndex": 433, "ref": "e435" }, { "rect": { "y": 489, "width": 20, "height": 20, "x": 59 }, "depth": 33, "enabled": true, "index": 435, "type": "Other", "hittable": false, "parentIndex": 434, "ref": "e436" }, { "rect": { "y": 491.5, "width": 18.33333333333332, "height": 15, "x": 59.833333333333336 }, "depth": 34, "enabled": true, "index": 436, "type": "Other", "hittable": false, "parentIndex": 435, "ref": "e437" }, { "rect": { "y": 494.83333333333337, "width": 15, "height": 11.666666666666686, "x": 61.5 }, "depth": 35, "enabled": true, "index": 437, "type": "Other", "hittable": false, "parentIndex": 436, "ref": "e438" }, { "rect": { "y": 491.5, "width": 5, "height": 5, "x": 64.83333333333333 }, "depth": 35, "enabled": true, "index": 438, "type": "Other", "hittable": false, "parentIndex": 436, "ref": "e439" }, { "rect": { "y": 499.83333333333337, "width": 3.3333333333333357, "height": 1.6666666666666856, "x": 59.83333333333333 }, "depth": 35, "enabled": true, "index": 439, "type": "Other", "hittable": false, "parentIndex": 436, "ref": "e440" }, { "rect": { "y": 499, "width": 1.6666666666666714, "height": 3.3333333333333144, "x": 65.66666666666666 }, "depth": 35, "enabled": true, "index": 440, "type": "Other", "hittable": false, "parentIndex": 436, "ref": "e441" }, { "rect": { "y": 499, "width": 1.6666666666666714, "height": 3.3333333333333144, "x": 70.66666666666667 }, "depth": 35, "enabled": true, "index": 441, "type": "Other", "hittable": false, "parentIndex": 436, "ref": "e442" }, { "rect": { "y": 499.83333333333337, "width": 3.3333333333333286, "height": 1.6666666666666856, "x": 74.83333333333334 }, "depth": 35, "enabled": true, "index": 442, "type": "Other", "hittable": false, "parentIndex": 436, "ref": "e443" }, { "label": "Ten second stream", "rect": { "y": 490, "width": 130.3333282470703, "height": 18, "x": 83 }, "depth": 32, "enabled": true, "index": 443, "type": "StaticText", "hittable": false, "parentIndex": 433, "ref": "e444" }, { "label": "Ten second stream", "rect": { "y": 490, "width": 130.3333282470703, "height": 18, "x": 83 }, "depth": 33, "enabled": true, "index": 444, "type": "StaticText", "hittable": false, "parentIndex": 443, "ref": "e445" }, { "identifier": "context-window-meter", "label": "Context window 2% used", "rect": { "y": 485, "width": 28, "height": 28, "x": 283 }, "depth": 30, "enabled": true, "index": 445, "type": "Image", "hittable": false, "parentIndex": 417, "ref": "e446" }, { "label": "Start dictation", "rect": { "y": 485, "width": 28, "height": 28, "x": 315 }, "depth": 30, "enabled": true, "index": 446, "type": "Button", "hittable": false, "parentIndex": 417, "ref": "e447" }, { "label": "Enable Voice mode", "rect": { "y": 485, "width": 28, "height": 28, "x": 351 }, "depth": 30, "enabled": true, "index": 447, "type": "Button", "hittable": false, "parentIndex": 417, "ref": "e448" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 11, "enabled": true, "index": 448, "type": "Other", "hittable": false, "parentIndex": 12, "ref": "e449" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 7, "enabled": true, "index": 449, "type": "Other", "hittable": false, "parentIndex": 6, "ref": "e450" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 8, "enabled": true, "index": 450, "type": "Other", "hittable": false, "parentIndex": 449, "ref": "e451" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 9, "enabled": true, "index": 451, "type": "Other", "hittable": false, "parentIndex": 450, "ref": "e452" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 1, "enabled": true, "index": 452, "type": "Window", "hittable": false, "parentIndex": 0, "ref": "e453" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 2, "enabled": true, "index": 453, "type": "Other", "hittable": false, "parentIndex": 452, "ref": "e454" }, { "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 3, "enabled": true, "index": 454, "type": "Other", "hittable": false, "parentIndex": 453, "ref": "e455" }, { "rect": { "y": 538, "width": 402, "height": 336, "x": 0 }, "depth": 3, "enabled": true, "index": 455, "type": "Other", "hittable": false, "parentIndex": 453, "ref": "e456" }, { "rect": { "y": 538, "width": 402, "height": 278, "x": 0 }, "depth": 4, "enabled": true, "index": 456, "type": "Other", "hittable": false, "parentIndex": 455, "ref": "e457" }, { "label": "Emoji", "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 1, "enabled": true, "index": 457, "type": "Window", "hittable": true, "parentIndex": 0, "ref": "e458" }, { "label": "Emoji", "rect": { "y": 0, "width": 402, "height": 874, "x": 0 }, "depth": 2, "enabled": true, "index": 458, "type": "Other", "hittable": true, "parentIndex": 457, "ref": "e459" }, { "label": "Emoji", "rect": { "y": 538, "width": 402, "height": 336, "x": 0 }, "depth": 3, "enabled": true, "index": 459, "type": "Other", "hittable": true, "parentIndex": 458, "ref": "e460" }, { "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 4, "enabled": true, "index": 460, "type": "Other", "hittable": false, "parentIndex": 459, "ref": "e461" }, { "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 5, "enabled": true, "index": 461, "type": "Other", "hittable": false, "parentIndex": 460, "ref": "e462" }, { "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 6, "enabled": true, "index": 462, "type": "Other", "hittable": false, "parentIndex": 461, "ref": "e463" }, { "identifier": "SystemInputAssistantView", "label": "Typing Predictions", "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 4, "enabled": true, "index": 463, "type": "Other", "hittable": true, "parentIndex": 459, "ref": "e464" }, { "label": "Typing Predictions", "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 5, "enabled": true, "index": 464, "type": "Other", "hittable": true, "parentIndex": 463, "ref": "e465" }, { "identifier": "CenterPageView", "label": "Typing Predictions", "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 6, "enabled": true, "index": 465, "type": "Other", "hittable": true, "parentIndex": 464, "ref": "e466" }, { "rect": { "y": -62, "width": 402, "height": 1245, "x": 0 }, "depth": 7, "enabled": true, "index": 466, "type": "Other", "hittable": false, "parentIndex": 465, "ref": "e467" }, { "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 8, "enabled": true, "index": 467, "type": "ScrollView", "hittable": false, "parentIndex": 466, "ref": "e468" }, { "label": "Typing Predictions", "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 7, "enabled": true, "index": 468, "type": "Other", "hittable": true, "parentIndex": 465, "ref": "e469" }, { "label": "Typing Predictions", "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 8, "enabled": true, "index": 469, "type": "Other", "hittable": true, "parentIndex": 468, "ref": "e470" }, { "label": "I", "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 9, "enabled": true, "index": 470, "type": "Other", "hittable": true, "parentIndex": 469, "ref": "e471" }, { "label": "I", "rect": { "y": 538, "width": 402, "height": 45, "x": 0 }, "depth": 10, "enabled": true, "index": 471, "type": "Other", "hittable": true, "parentIndex": 470, "ref": "e472" }, { "label": "I", "rect": { "y": 538, "width": 134, "height": 45, "x": 0 }, "depth": 11, "enabled": true, "index": 472, "type": "Other", "hittable": true, "parentIndex": 471, "ref": "e473" }, { "label": "The", "rect": { "y": 538, "width": 134, "height": 45, "x": 134 }, "depth": 11, "enabled": true, "index": 473, "type": "Other", "hittable": true, "parentIndex": 471, "ref": "e474" }, { "label": "I’m", "rect": { "y": 538, "width": 134, "height": 45, "x": 268 }, "depth": 11, "enabled": true, "index": 474, "type": "Other", "hittable": true, "parentIndex": 471, "ref": "e475" }, { "rect": { "y": 583, "width": 402, "height": 233, "x": 0 }, "depth": 4, "enabled": true, "index": 475, "type": "Other", "hittable": false, "parentIndex": 459, "ref": "e476" }, { "rect": { "y": 583, "width": 402, "height": 291, "x": 0 }, "depth": 5, "enabled": true, "index": 476, "type": "Other", "hittable": false, "parentIndex": 475, "ref": "e477" }, { "rect": { "y": 583, "width": 402, "height": 291, "x": 0 }, "depth": 6, "enabled": true, "index": 477, "type": "Other", "hittable": false, "parentIndex": 476, "ref": "e478" }, { "rect": { "y": 583, "width": 402, "height": 291, "x": 0 }, "depth": 7, "enabled": true, "index": 478, "type": "Other", "hittable": false, "parentIndex": 477, "ref": "e479" }, { "label": "Q", "rect": { "y": 583, "width": 402, "height": 233, "x": 0 }, "depth": 4, "enabled": true, "index": 479, "type": "Other", "hittable": false, "parentIndex": 459, "ref": "e480" }, { "label": "Q", "rect": { "y": 583, "width": 402, "height": 233, "x": 0 }, "depth": 5, "enabled": true, "index": 480, "type": "Keyboard", "hittable": false, "parentIndex": 479, "ref": "e481" }, { "label": "Q", "rect": { "y": 583, "width": 402, "height": 233, "x": 0 }, "depth": 6, "enabled": true, "index": 481, "type": "Other", "hittable": false, "parentIndex": 480, "ref": "e482" }, { "identifier": "UIKeyboardLayoutStar Preview", "label": "Q", "rect": { "y": 583, "width": 402, "height": 233, "x": 0 }, "depth": 7, "enabled": true, "index": 482, "type": "Other", "hittable": false, "parentIndex": 481, "ref": "e483" }, { "label": "Q", "rect": { "y": 590, "width": 40.333333333333336, "height": 46, "x": 0 }, "depth": 8, "enabled": true, "index": 483, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e484" }, { "label": "W", "rect": { "y": 590, "width": 40.00000000000001, "height": 46, "x": 40.333333333333336 }, "depth": 8, "enabled": true, "index": 484, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e485" }, { "label": "E", "rect": { "y": 590, "width": 40.33333333333334, "height": 46, "x": 80.33333333333334 }, "depth": 8, "enabled": true, "index": 485, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e486" }, { "label": "R", "rect": { "y": 590, "width": 40, "height": 46, "x": 120.66666666666669 }, "depth": 8, "enabled": true, "index": 486, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e487" }, { "label": "T", "rect": { "y": 590, "width": 40.33333333333334, "height": 46, "x": 160.66666666666669 }, "depth": 8, "enabled": true, "index": 487, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e488" }, { "label": "Y", "rect": { "y": 590, "width": 40.33333333333334, "height": 46, "x": 201.00000000000003 }, "depth": 8, "enabled": true, "index": 488, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e489" }, { "label": "U", "rect": { "y": 590, "width": 40, "height": 46, "x": 241.33333333333337 }, "depth": 8, "enabled": true, "index": 489, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e490" }, { "label": "I", "rect": { "y": 590, "width": 40.333333333333314, "height": 46, "x": 281.33333333333337 }, "depth": 8, "enabled": true, "index": 490, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e491" }, { "label": "O", "rect": { "y": 590, "width": 40, "height": 46, "x": 321.6666666666667 }, "depth": 8, "enabled": true, "index": 491, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e492" }, { "label": "P", "rect": { "y": 590, "width": 40.333333333333314, "height": 46, "x": 361.6666666666667 }, "depth": 8, "enabled": true, "index": 492, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e493" }, { "label": "A", "rect": { "y": 644, "width": 40.33333333333333, "height": 46, "x": 19.666666666666668 }, "depth": 8, "enabled": true, "index": 493, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e494" }, { "label": "S", "rect": { "y": 644, "width": 40.33333333333334, "height": 46, "x": 60 }, "depth": 8, "enabled": true, "index": 494, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e495" }, { "label": "D", "rect": { "y": 644, "width": 40, "height": 46, "x": 100.33333333333334 }, "depth": 8, "enabled": true, "index": 495, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e496" }, { "label": "F", "rect": { "y": 644, "width": 40.33333333333334, "height": 46, "x": 140.33333333333334 }, "depth": 8, "enabled": true, "index": 496, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e497" }, { "label": "G", "rect": { "y": 644, "width": 40, "height": 46, "x": 181.2026666666667 }, "depth": 8, "enabled": true, "index": 497, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e498" }, { "label": "H", "rect": { "y": 644, "width": 40.333333333333314, "height": 46, "x": 221.2026666666667 }, "depth": 8, "enabled": true, "index": 498, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e499" }, { "label": "J", "rect": { "y": 644, "width": 40, "height": 46, "x": 261.536 }, "depth": 8, "enabled": true, "index": 499, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e500" }, { "label": "K", "rect": { "y": 644, "width": 40.333333333333314, "height": 46, "x": 301.536 }, "depth": 8, "enabled": true, "index": 500, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e501" }, { "label": "L", "rect": { "y": 644, "width": 40.333333333333314, "height": 46, "x": 341.8693333333333 }, "depth": 8, "enabled": true, "index": 501, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e502" }, { "identifier": "shift", "label": "shift", "rect": { "y": 698, "width": 51.333333333333336, "height": 46, "x": 0 }, "selected": true, "enabled": true, "depth": 8, "index": 502, "type": "Button", "hittable": false, "parentIndex": 482, "ref": "e503" }, { "label": "Z", "rect": { "y": 698, "width": 40.33333333333334, "height": 46, "x": 60 }, "depth": 8, "enabled": true, "index": 503, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e504" }, { "label": "X", "rect": { "y": 698, "width": 40, "height": 46, "x": 100.33333333333334 }, "depth": 8, "enabled": true, "index": 504, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e505" }, { "label": "C", "rect": { "y": 698, "width": 40.33333333333334, "height": 46, "x": 140.33333333333334 }, "depth": 8, "enabled": true, "index": 505, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e506" }, { "label": "V", "rect": { "y": 698, "width": 40, "height": 46, "x": 181.2026666666667 }, "depth": 8, "enabled": true, "index": 506, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e507" }, { "label": "B", "rect": { "y": 698, "width": 40.333333333333314, "height": 46, "x": 221.2026666666667 }, "depth": 8, "enabled": true, "index": 507, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e508" }, { "label": "N", "rect": { "y": 698, "width": 40, "height": 46, "x": 261.536 }, "depth": 8, "enabled": true, "index": 508, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e509" }, { "label": "M", "rect": { "y": 698, "width": 40.333333333333314, "height": 46, "x": 301.536 }, "depth": 8, "enabled": true, "index": 509, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e510" }, { "identifier": "delete", "label": "delete", "rect": { "y": 698, "width": 51.333333333333314, "height": 46, "x": 350.42133333333334 }, "depth": 8, "enabled": true, "index": 510, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e511" }, { "identifier": "more", "label": "numbers", "rect": { "y": 752, "width": 101, "height": 46, "x": 0 }, "depth": 8, "enabled": true, "index": 511, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e512" }, { "identifier": "space", "label": "space", "rect": { "y": 752, "width": 201.33333333333334, "height": 46, "x": 100.33333333333334 }, "depth": 8, "enabled": true, "index": 512, "type": "Key", "hittable": false, "parentIndex": 482, "ref": "e513" }, { "identifier": "Return", "label": "return", "rect": { "y": 752, "width": 100.33333333333331, "height": 46, "x": 301.6666666666667 }, "depth": 8, "enabled": true, "index": 513, "type": "Button", "hittable": false, "parentIndex": 482, "ref": "e514" }, { "label": "Emoji", "rect": { "y": 583, "width": 402, "height": 291, "x": 0 }, "depth": 4, "enabled": true, "index": 514, "type": "Other", "hittable": true, "parentIndex": 459, "ref": "e515" }, { "label": "Emoji", "rect": { "y": 805.6989567998571, "width": 68.0852958475086, "height": 68.73516393505099, "x": 8.47726568115926 }, "depth": 5, "enabled": true, "index": 515, "type": "Button", "hittable": true, "parentIndex": 514, "ref": "e516" }, { "rect": { "y": 805.6989567998571, "width": 0, "height": 0, "x": 8.47726568115926 }, "depth": 6, "enabled": true, "index": 516, "type": "StaticText", "hittable": false, "parentIndex": 515, "ref": "e517" }, { "identifier": "dictation", "label": "Dictate", "rect": { "y": 805.3656234665239, "width": 68.08529584750863, "height": 68.73516393505099, "x": 325.43743847133214 }, "depth": 5, "enabled": true, "index": 517, "type": "Button", "hittable": false, "parentIndex": 514, "ref": "e518" }, { "rect": { "y": 805.3656234665239, "width": 0, "height": 0, "x": 325.43743847133214 }, "depth": 6, "enabled": true, "index": 518, "type": "StaticText", "hittable": false, "parentIndex": 517, "ref": "e519" }, { "identifier": "dictation", "label": "Dictate", "rect": { "y": 805.3656234665239, "width": 68.08529584750863, "height": 68.73516393505099, "x": 325.43743847133214 }, "depth": 5, "enabled": true, "index": 519, "type": "Button", "hittable": true, "parentIndex": 514, "ref": "e520" }, { "rect": { "y": 805.3656234665239, "width": 0, "height": 0, "x": 325.43743847133214 }, "depth": 6, "enabled": true, "index": 520, "type": "StaticText", "hittable": false, "parentIndex": 519, "ref": "e521" } ], "truncated": false, "appName": "sh.paseo.debug", "appBundleId": "sh.paseo.debug", "visibility": { "partial": false, "visibleNodeCount": 521, "totalNodeCount": 521, "reasons": [] }, "snapshotQuality": { "state": "healthy", "backend": "tree" }, "snapshotDiagnostics": { "stats": { "count": 120, "p50Ms": 143, "p95Ms": 1129, "maxMs": 3250, "slowThresholdMs": 1500, "platform": "ios", "backends": { "xctest": 120 } } }, "refsGeneration": 776184 } }