Files
soundcraft/docs/gaps.md
T
Brandon ThomasandClaude Opus 5.5 330a698397 Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#155)
* Progress docs to the craftrules standard; full re-measure against Pro Tools 2026.4.1

Stage: alpha. Menu breadth 482/512 (94.1%, measured), feature breadth ~70%,
ready for real work ~40%; ~350-570 agent-hours to beta, ~950-1,450 to full parity,
calibrated on this repo's PR history.

- ROADMAP.md rewritten: stage banner, two numbers, dimension/feature/language tables
- docs/target-app-parity.md: authoritative assessment (area table moved from ROADMAP)
- docs/gaps.md: 22 ranked gaps with evidence and estimates
- docs/roadmap.md: milestones, current focus, beta plan
- docs/ui-, file-format-, hardware-, plugin-, localization-parity.md: new checklists
- docs/parity.md -> docs/parity-checklist.md (generated by cargo xtask parity)
- architecture.md: video, vst3-host, au-host crates; device I/O limits

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Stage: pre-alpha under the core-workflow gate

Add the alpha gate to docs/roadmap.md: interface recording at a chosen buffer
size, MIDI recording, and session interchange with Pro Tools fail, so the stage
moves from alpha to pre-alpha (~5 points and ~110-180 agent-hours to alpha).
Mark the alpha blockers in docs/gaps.md; update ROADMAP.md, target-app-parity.md
and README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add mainstream-practitioner and essentials-user readiness numbers

Mainstream practitioner ~36% (weekly-area depth 50.6% x 0.90 interaction x 0.92
stability x 0.85 file exchange) and essentials user ~57% (core-feature depth
72.4% x 0.90 launch/stability x 0.90 discoverability x 0.97 files), with written
weights, discounts and GitHub user evidence. Full ready-for-real-work checked
against its written dimension weights (40.6%); unchanged at ~40%, stage unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Readiness by audience: hours to ~95% for full, mainstream and essentials

Full ~40% / 950-1,450 h, mainstream ~36% / 380-600 h, essentials ~57% / 110-200 h,
calibrated on this repo's PR history. The full number is already an additive
weighted sum over the written dimension table; method unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 14:08:49 -04:00

12 KiB
Raw Blame History

Where SoundCraft falls short of Pro Tools

Last reviewed: 2026-10-10 · Last updated: 2026-10-10 · Change: minor (alpha blockers marked after the core-workflow gate) · Target: Avid Pro Tools Ultimate 2026.4.1

Every known shortfall, one entry each, ranked by how much it stops a Pro Tools user from doing real work in SoundCraft. This is the work list: pick from the top. Rows marked alpha blocker fail the core-workflow gate in roadmap.md and keep SoundCraft pre-alpha. Numbers and weights live in target-app-parity.md; the plan that orders these into milestones is roadmap.md. Hours are Opus 5.5 agent-hours (calibration in target-app-parity.md). Estimates marked "≈" are judgements; issue numbers are storytold/soundcraft GitHub issues.

When you close a gap, delete its entry (or shrink it) in the same PR, and bump the timestamp.

Ranked gaps

# Gap Dimension Doc Est. (h)
G-01 Alpha blocker. No audio device, channel or buffer-size selection; no duplex low-latency path Hardware hardware-parity.md 25–40
G-02 Alpha blocker. No MIDI device input or output Hardware / MIDI hardware-parity.md 20–35
G-03 Alpha blocker. Cannot exchange sessions with Pro Tools (no AAF/OMF, no .ptx) File formats file-format-parity.md 50–90
G-04 Open correctness bugs in features counted as done (~25 issues) Stability this file 25–40
G-05 (Entitlement part: alpha blocker for the mix row) Third-party VST3s blocked in the signed macOS build; AU editors missing Ecosystem plugin-parity.md 15–25
G-06 (Record-to-disk part: alpha blocker for the tracking row) Sources decoded whole into RAM; recording into RAM Performance hardware-parity.md 15–25
G-07 Nothing is compared against Pro Tools' output (no fidelity harness) Features this file 20–30
G-08 Built-in plugin catalogue thin and unverified Features plugin-parity.md 80–120
G-09 English only, no string catalog, no CJK/RTL rendering Localization localization-parity.md 70–110
G-10 No control surfaces (HUI/MCU, EUCON) Hardware hardware-parity.md 40–70
G-11 No external sync (MTC, LTC, MIDI clock, video reference) Hardware hardware-parity.md 15–25
G-12 Immersive delivery: no Dolby Atmos/ADM BWF, MPEG-H, binaural Features file-format-parity.md 50–80
G-13 Sidechain inputs, ARA, out-of-process plugin sandboxing Ecosystem plugin-parity.md 30–50
G-14 Windows/Linux/Web exercised only lightly at runtime; no PR CI running the tests Platforms / Stability this file 20–40
G-15 Elastic Audio depth: one algorithm, no Elastic Pitch Features target-app-parity.md 30–45
G-16 Session templates, track presets, workspace browser, batch rename Features target-app-parity.md 25–40
G-17 Video: HEVC/DNx decode, video export, external timecode Features / Formats file-format-parity.md 30–50
G-18 Speech-to-text transcription AI this file 30–50
G-19 UI feel: generic plugin windows, shortcut collisions, pro-grade meters and scaling UI/UX ui-parity.md 60–100
G-20 MIDI/instrument depth: MIDI learn, sampler, notation editing Features target-app-parity.md 40–60
G-21 Compressed export (MP3, AAC/M4A, Ogg/Opus) File formats file-format-parity.md 10–20
G-22 Avid cloud services (collaboration, Sketch, Splice, sign-in) Ecosystem — not estimated (owner decision)

Details

G-01. Audio interface support

  • Missing: choosing the output or input device, the device's channel count and routing to physical channels, the buffer size, and the sample rate from the hardware side. Input and output are separate cpal streams on the default devices (crates/playback/src/lib.rs open_device, record.rs); the mix runs in fixed 512-sample blocks and resamples when rates differ. setup.playback_engine stores device/buffer_size params, but playback ignores them. No ASIO on Windows (WASAPI shared only), so latency there is high.
  • Evidence: code above; Playback Engine window says "Mix block size: 512 samples"; issue #42 (no input device selection, forced monitoring feedback with virtual routing).
  • Impact: blocks tracking with any multichannel interface; latency makes overdubs hard.
  • Estimate: ≈ 25–40 h (device enumeration and selection, buffer size, duplex stream with one clock, ASIO feature build, per-channel I/O mapping into I/O Setup, latency reporting and record-offset compensation). Needs hands-on hardware testing.

G-02. MIDI devices

  • Missing: all MIDI hardware I/O. No midir/CoreMIDI/WinMM/ALSA sequencer code exists; setup.midi_input_devices and setup.midi_studio only store names. You cannot record from a keyboard, play a hosted instrument live, drive external synths, or send MIDI clock/MTC. midi_editor.rs:288 notes audition "needs a live MIDI input path".
  • Impact: MIDI production is limited to drawing notes and importing SMF.
  • Estimate: ≈ 20–35 h (device layer, realtime input to armed tracks and instruments with timestamps, MIDI record/merge/loop, thru, output tracks, clock out).

G-03. Session interchange with Pro Tools

  • Missing: opening or saving .ptx/.ptf, AAF and OMF import and export (#40), Media Composer–compatible sessions. Our session format is .scraft JSON.
  • Impact: the standard's main-format bar for beta. A Pro Tools user cannot bring a project in or hand one back; post-production (picture editors deliver AAF) is blocked.
  • Estimate: AAF/OMF import + export ≈ 50–90 h (FilmCraft already writes AAF/OMF; we can learn from it but not share code). .ptx is proprietary and undocumented: owner decision on whether black-box format study is in the clean-room rules; not included in the estimate.

G-04. Correctness bugs in "done" features

Open on 2026-10-10 (several have PRs open): editing #3, #5, #140, #144; clip/session #86 (PR #123), #88 (PR #130), #91 (PR #124), #92 (PR #132); automation #104 (PR #134); mix/bounce #59 (PR #131), #103 (PR #133), #152; playback #101 (PR #129); MIDI #87, #98 (PR #125); import #89 (PR #128); CLI #95, #96 (PR #126, #127); MCP #145 (PR #146); web #63, #64, #136; Clip List #4 (PR #75); plugin view #6; shortcuts #7, #41; launch #142; Linux #45, #107.

  • Impact: each one is small, but together they say "presence is not parity": an outside contributor found seven in one sitting (#116–#122).
  • Estimate: ≈ 25–40 h at 0.5–1.5 h each, plus review of the open PRs.

G-05. Plugin hosting on macOS

  • Missing: the com.apple.security.cs.disable-library-validation entitlement in the signed build, so hardened runtime refuses third-party VST3 bundles (#153, #149). AU editor views (crates/au-host/src/lib.rs header: "Not hosted yet: Audio Unit editor views"). Embedded CLAP GUIs; VST3 editors on Windows/Linux.
  • Estimate: ≈ 15–25 h (entitlement ≈ 1 h; AU Cocoa views and VST3 HWND/X11 views most of it).

G-06. Memory-bound media

  • Missing: streaming sources from disk; recording to disk. Every source is decoded whole into the SourcePool; takes accumulate in RAM until stop (PR #84 open).
  • Impact: hour-long multitrack sessions and long takes exhaust memory; a crash during a long take loses it.
  • Estimate: ≈ 15–25 h.

G-07. Fidelity harness against Pro Tools

  • Missing: any measured comparison: null tests of bounces of the same material, fade curve and pan-law checks, plugin frequency/dynamics responses, elastic-audio quality, automation timing. Pro Tools is installed; it can be driven black-box with synthetic sessions (outputs kept under plan/, never committed).
  • Estimate: ≈ 20–30 h for the harness and the first 20 scored cases; turns many "≈" in target-app-parity.md into measurements.

G-08. Built-in plugins

See plugin-parity.md: 26 processors + 2 instruments against Pro Tools' roughly 80 bundled processors and instruments; no fidelity checks; generic parameter UIs; EQ parametric request #139. ≈ 80–120 h.

G-09. Localization

See localization-parity.md: no catalog, every string literal in code; egui has no complex-script shaping or RTL; no CJK font fallback (PR #141 open). ≈ 70–110 h plus native-speaker review.

G-10. Control surfaces

None: no HUI or Mackie Control, no EUCON (Avid-proprietary, needs Avid's SDK: owner decision), no generic MIDI controller mapping. Pro Tools users on S1/S3/S4/S6/Dock or HUI devices can't switch. ≈ 40–70 h for HUI/MCU plus a mapping layer; hardware needed to verify.

G-11. Sync

No MTC/LTC chase or generation, no MIDI Beat Clock (setup.midi_beat_clock stores a flag only), no video reference or word clock awareness, no Satellite-style linking. ≈ 15–25 h after G-01/G-02.

G-12. Immersive delivery

No Dolby Atmos renderer integration, ADM BWF import/export, re-renders, binaural monitoring, MPEG-H (new in Pro Tools 2026.4), surround/object automation. ≈ 50–80 h; Dolby's renderer and SDKs are licensed, so we'd write our own ADM and object renderer.

G-13. Plugin ecosystem depth

No sidechain (key input) buses for any host; no ARA (Melodyne-style editing is a menu in Pro Tools); plugins run in-process, so a crashing plugin can take the session down. ≈ 30–50 h. AAX cannot be hosted (#109): Avid's AAX SDK licence and PACE signing; owner decision, likely never.

G-14. Platforms and CI

Only freebsd.yml and windows-arm64.yml run on pull requests, and only for manifest paths; nothing runs cargo xtask ci on PRs. Windows and Linux have startup and rendering reports (#41, #45, #107, #142). ≈ 20–40 h (a PR CI matrix plus runtime smoke tests on three OSes).

G-15. Elastic Audio depth

One warp algorithm; Pro Tools offers several per track (polyphonic, rhythmic, monophonic, varispeed, high-quality offline) plus Elastic Pitch and warp-marker editing depth. ≈ 30–45 h.

G-16. Session management

No session templates, track presets, workspace/sound browser with previews, batch rename (new in 2026.4), disk-usage and relink depth. ≈ 25–40 h.

G-17. Video and post

No HEVC, DNxHD/HR or AV1 decode; no bounce with video; no external timecode/9-pin; no iXML field-recorder conform. ≈ 30–50 h.

G-18. Speech-to-text

Pro Tools transcribes dialogue to a searchable transcript (upgraded in 2026.4). We have a settings command only. Needs an openly licensed local speech model. ≈ 30–50 h.

G-19. UI feel

See ui-parity.md. ≈ 60–100 h.

G-20. MIDI and instrument depth

MIDI learn, a sampler (PR #108), drum machine depth, notation editing (tuplets, lyrics, articulations, parts). ≈ 40–60 h.

G-21. Compressed export

Bounce writes WAV/BWF/RF64, AIFF and FLAC; Pro Tools also writes MP3 and AAC/M4A in Bounce Mix. ≈ 10–20 h (pure-Rust encoders).

G-22. Avid cloud services

Collaboration, cloud projects, Sketch, Splice, Learn, sign-in: 11 of the 30 menu leaves still missing. Out of scope unless the owner decides otherwise.

Revision history

Date Change Summary
2026-10-10 minor Marked the alpha blockers (G-01, G-02, G-03; parts of G-05 and G-06) from the core-workflow gate
2026-10-10 major Created from the full re-measure against Pro Tools Ultimate 2026.4.1: 22 ranked gaps with evidence and estimates