{"version":"2.1.235","anchor":"app-render-root-and-transcript-view-reworked-process-global","canonical_anchor":"app-render-root-and-transcript-view-reworked-process-global","heading":"App render root and transcript view reworked; process-global singletons moved behind accessors","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235\/e\/app-render-root-and-transcript-view-reworked-process-global","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235","markdown":"### App render root and transcript view reworked; process-global singletons moved behind accessors\n\nRender root and transcript view reworked; several process-global singletons became per-instance state\n\nThe top-level render provider now takes session, storage, message queue, initial state, and a `keybindings` flag; the transcript-export path renders with keybindings off and folds `verbose` into initial state. The message-list component drops the separate `verbose`, `toolJSX`, `isMessageSelectorVisible`, `agentDefinitions` and individual search props in favor of a single `search` object plus a `pauseAnimation` prop.\n\nSeparately, several module-level mutable variables (background-beacon state, raw stdin capture state, the design-consent cache, the approved-plan map) became function-scoped state accessed through getters, making them per-instance rather than shared across the whole process.\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 0\/5"}