Skip to content

Tags: lnorton89/golc

Tags

pre-rollback-backup

Toggle pre-rollback-backup's commit message
feat(13-13): add IconButton soft-disabled mode

Adds an opt-in disabledBehavior?: "native" | "soft" prop (default
"native", fully backward compatible -- every existing IconButton call
site across FixturePatch/ProjectFixtures/SceneList/LookBrowser/
ScenesLooksWorkspace passes unchanged, 54 tests green).

Desk.tsx's fader-clear/universe-release/fixture-release buttons and
FixtureStyleModal's reset buttons all use aria-disabled rather than the
native `disabled` attribute specifically because a native-disabled button
stops receiving hover/focus events in Chromium/WebView2, which silently
swallows the title tooltip explaining why the action is unavailable --
a deliberate, already-documented fix in the current Desk code. "soft"
mode preserves that behavior (button stays hoverable/focusable/tabbable,
aria-disabled and the dimmed visual still apply) so these can move onto
the shared primitive without regressing it; the caller keeps making its
own onClick a no-op while disabled, same as it already must in "native"
mode.

v1.0

Toggle v1.0's commit message
v1.0 Core Lighting Console (Club/DJ)

Delivered: The deterministic lighting-console core -- offline-safe configuration
and Linear traceability, modular semantic fixtures with reviewed pool/deployment
changes, tempo-aware deterministic show programming and playback, real Art-Net
output verified against hardware, durable SQLite-backed show storage with
recovery, a full Wails desktop authoring/operator surface with generic MIDI
control and independent safety overrides, a versioned audited external API, and
isolated capability-limited TypeScript scripting with a real debugger.

Key accomplishments:
- Offline-first configuration and credential-free Linear traceability (Phase 1)
- Modular semantic fixture catalog with reviewed impact analysis (Phase 2)
- Deterministic tempo-aware show programming and playback engine (Phase 3)
- Real, hardware-verified Art-Net output (Phase 4)
- Durable SQLite-backed show storage with recovery (Phase 5)
- Full Wails authoring/operator UI with MIDI and safety overrides (Phase 6)
- Versioned, audited external HTTP API (Phase 7)
- Isolated, sandboxed TypeScript scripting with a real debugger (Phase 8)

Scope note: LLM autonomy, Windows qualification, and telemetry (originally part
of the unified v1 requirements set) carry forward into a later milestone.

See .planning/MILESTONES.md for full details.