Commit Graph
4 Commits
Author SHA1 Message Date
Ole André Vadla Ravnås 9ebb075e39 Show a gated action menu on pointer values
One shared component per frontend renders the value with a
context menu gated by the resolved address facts: Copy, Open
Disassembly when executable, Open Memory when mapped, then the
hook actions. Replace the per-site menus.
2026-06-24 13:23:19 +02:00
Ole André Vadla Ravnås 8ec9019796 Lay out thread registers in a grid
Mirror the CFG view: reflow registers into a multi-column grid
in both frontends, make values selectable, and narrow the
thread list so the grid has room.
2026-06-22 23:42:38 +02:00
Ole André Vadla Ravnås c5d2ff7050 core: Replace Workspace with per-document Engine
EngineRegistry caches one Engine per working-project URL.
MainWindowView.init does a pure lookup, so SwiftUI's
view-tree re-evaluations cannot open extra ProjectStores
that race the live one's BEGIN IMMEDIATE and crash via
try!.

UI-state persistence (collapse flag, sidebar selection,
session detail section, etc.) lives on Engine for GTK to
adopt. SQLite has a 5s busy timeout. Engine open failures
surface as an error view.

TargetPicker is host @State injected via environment.
Global instrument-UI defaults register at app startup;
per-engine instrument and local-notifier hookups live in
Engine extensions.
2026-05-11 21:15:47 +02:00
Ole André Vadla Ravnås 128b5980ff swiftui: Wire session detail and .luma directory
Sessions now have a top-level detail pane (Summary / Modules /
Threads) with master-detail panes for module symbols and thread
register snapshots. Sidebar gains a session row, and the ITrace
sidebar entries adopt the unified naming.

ITrace detail decodes the streaming trace data with first-paint
prefix, onProgress, and a Stop control restricted to thread
origins; the timeline paginates past 200 instructions.

The document is now a .luma directory wrapper containing
db.sqlite alongside a traces/ folder. Workspace owns the
ProjectUIState (selection, event-stream layout, collaboration
visibility) and a per-session SessionUIState (detail section,
last selected module/thread). MainWindowView reads/writes these
through Bindings instead of local @State.
2026-05-07 16:46:42 +02:00