rrt/docs/control-loop-atlas/shell-ui-command-and-deferred-work-flow.md

20 lines
1.4 KiB
Markdown

## Shell UI Command and Deferred Work Flow
- Roots: shell callback paths that converge on `shell_dispatch_ui_command` at `0x00464410`.
- Trigger/Cadence: event-driven UI command dispatch plus deferred-message queue flushing during
shell activity.
- Key Dispatchers: `shell_dispatch_ui_command`, `shell_enqueue_deferred_work_message`,
`shell_post_deferred_message_type5`, `shell_post_deferred_message_type6`,
`shell_enqueue_deferred_message_type4`, `shell_enqueue_deferred_message_type1`.
- State Anchors: shell object at `0x0062be68`, queue roots around `[this+0x11369d]`,
`[this+0x1136a1]`, and `[this+0x1136a5]`, global routing gates at `0x006d4034`, and the separate
detail-panel controller rooted at `0x006d0818`.
- Subsystem Handoffs: routes into graphics config, scenario-text export, overlay generation,
multiplayer UI, shell detail windows such as `EditorPanel.win` and `TrainDetail.win`, and
presentation-facing deferred work later drained by `shell_service_frame_cycle`.
- Evidence: function-map shell rows around `0x00464410`, `0x004d4500`, `0x004ddbd0`, and
`0x0051f1d0..0x0051f460`.
- Current Boundary: current local evidence keeps this dispatcher on the shell-side UI callback and
detail-panel command path. The live `0x006d0818` lane reads as shell-only, while gameplay world
entry and long-lived frame cadence still rendezvous through the broader shell-owned bring-up and
frame-service coordinators rather than through this command table.