Commit Graph
2 Commits
Author SHA1 Message Date
Ole André Vadla Ravnås 9fda5eb27e Rename room → lab throughout
Match the server's rename: CollaborationSession uses labID,
createLab / joinLab, ProjectCollaborationState's roomID field
+ its DB column become labID / lab_id, and UI strings / deep-
link query param all track "lab".

Since the app hasn't launched, the DB column rename is landed
directly in the v1 migration rather than via a new migration —
dev databases need to be wiped.
2026-04-18 12:15:37 +02:00
Ole André Vadla Ravnås 0e669be3dc Move the rest of business logic into LumaCore
Workspace is now a thin host adapter. Engine owns sessions and
notebook entries (via store observation), GitHub auth + OAuth
device flow, hook-pack discovery, address annotations and address
actions, the disassembler cache, and all instrument lifecycle.
EventLog is @Observable so SwiftUI tracks it directly; the host
no longer mirrors event arrays or version counters.

R2 (live disassembly + trace inspection) lives entirely in
LumaCore as concrete Disassembler / TraceDisassembler classes
returning portable StyledText spans. ProcessNodeViewModel and
InstrumentRuntime are gone; views read engine.processNodes /
node.instruments / engine.descriptor(for:) directly.

Reorganize Luma/Models/ — instrument UI dispatch lives under
Luma/Instruments/, Monaco editor glue under Luma/Editor/, and the
remaining UI types sit at the top of Luma/.
2026-04-07 10:11:31 +02:00