{"version":"2.1.247","anchor":"repl-renders-in-flight-tool-ui-through-a-declared-progress-e","canonical_anchor":"repl-renders-in-flight-tool-ui-through-a-declared-progress-e","heading":"REPL renders in-flight tool UI through a declared progress element","tier":"internal","area":"UI","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/repl-renders-in-flight-tool-ui-through-a-declared-progress-e","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### REPL renders in-flight tool UI through a declared progress element\n\nLive tool output is rendered through a dedicated progress element rather than a shared slot.\n\n**What**\n\nThe mutable slot the REPL used to pass tool UI through is gone, replaced by a dedicated progress element, and the message list is now driven by a descriptor saying which live turn to show rather than being handed messages and pause flags individually.\n\n**Details**\n\n- `toolJsxSlot`, `clearToolJSX` and the background-hint setters are removed from the host binding.\n- Scroll plumbing changed from raw refs to viewport objects for both the main and modal scroll areas.\n- Structural only; tool UI and transcript rendering now share one path.\n\n**Evidence**\n\n`source: { kind: \"live\", focused: ya, turn: kt },`\n\n- Area: UI\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}