Skip to content

M167: Interactive authoring foundation#200

Merged
Coasterpete merged 11 commits into
mainfrom
feature/m167-interactive-authoring
Jul 23, 2026
Merged

M167: Interactive authoring foundation#200
Coasterpete merged 11 commits into
mainfrom
feature/m167-interactive-authoring

Conversation

@Coasterpete

Copy link
Copy Markdown
Owner

Summary

This PR completes M167, establishing the first interactive authoring foundation for Quantum.

The milestone introduces frontend-neutral transactional editing, live preview infrastructure, latest-wins evaluation scheduling, and the first production live editing workflow while preserving Track Layout Package V2 compatibility.

Included milestones

M167.1 — Measurement and redundant compilation cleanup

  • Added scoped authoring pipeline instrumentation.
  • Eliminated redundant graph compilation throughout editor workflows.
  • Bound compile results to immutable source graphs.
  • Introduced prepared graph states containing:
    • source graph
    • compile result
    • canonical package JSON
  • Reduced compiler invocations:
    • ApplyGraphEdit: 5 → 1
    • ReplaceGraph: 2 → 1
    • Save: 2 → 0
    • Open: 3 → 1
    • Undo/Redo: 2 → 0

M167.2 — Frontend-neutral authoring session

Added Quantum.Application.

Implemented:

  • TrackAuthoringSession
  • structural revision identities
  • transactional editing
  • provisional evaluation
  • exact candidate adoption
  • unified dirty-state ownership
  • prepared-state history
  • zero-compilation commit/undo/redo

M167.3 — Latest-wins evaluation scheduling

Implemented:

  • serialized one-running / one-latest-pending scheduler
  • structural stale-result rejection
  • throttling
  • cancellation hints
  • fault reporting
  • scheduler metrics
  • synchronous and opt-in background execution

Commit continues to reuse the exact accepted candidate with zero recompilation.


M167.4 — First live interactive edit

Implemented the first complete live editing workflow.

Features include:

  • live straight-length scrubber
  • provisional preview
  • session-owned publication
  • exact asynchronous commit
  • invalid preview handling
  • camera preservation
  • station preservation
  • stable-node selection
  • command conflict handling
  • real Avalonia headless interaction tests

M167.5 — Live-edit hardening

Completed:

  • authoritative session-owned history
  • lifecycle-safe shutdown/replacement
  • stale/post-lifecycle diagnostics
  • keyboard accessibility
  • configurable scrub sensitivity
  • Release performance measurements
  • percentile latency reporting
  • scheduler validation

Validation

  • 1,948 Release tests passed
  • 0 failed
  • 0 skipped

Working tree clean.

Compatibility

  • Track Layout Package V2 preserved.
  • Existing one-shot editing remains supported.
  • Live editing currently targets StraightSectionDefinition.Length as the reference interaction.
  • Background scheduling remains opt-in pending broader thread-safety validation.

Follow-up

The next milestone (M168) will focus on improving the live authoring experience, including reliable live preview during section creation and continued evolution toward an FVD-style authoring workflow.

@Coasterpete
Coasterpete merged commit 8a057db into main Jul 23, 2026
1 check passed
@Coasterpete
Coasterpete deleted the feature/m167-interactive-authoring branch July 23, 2026 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant