Skip to content

Latest commit

 

History

History
126 lines (99 loc) · 5.35 KB

File metadata and controls

126 lines (99 loc) · 5.35 KB

ACE-Step DAW — Development Process

Repository: ace-step/ACE-Step-DAW This document supplements AGENTS.md with detailed operational procedures.


Competitive Research Index

Ableton Live 12 (Primary Reference)

FL Studio

GarageBand

REAPER

ACE-Step


Research Depth Standard

Every feature must be researched at interaction-detail level before coding.

Bad (too shallow)

"Ableton has Group Tracks"

Good (deep enough)

"Ableton Group Track: nestable, folded view shows sub-clip overview, Session View group slots have independent launch/stop, Cmd+Click for multi-select grouping, group color can be applied to all sub-tracks, output defaults to Group Track but can be rerouted, can serve as pure folder, deleting Group deletes all contents, Ungroup reverts to individual tracks"

Research output

  • Save to docs/research-notes/<feature>-details.md
  • Include: interaction details, parameter ranges, edge cases, shortcuts, visual feedback, error handling

System Test Checklist (Every 5 Versions)

Use the QA matrix before running a large test pass:

  • Generate the release-critical runlist: npm run qa:runlist
  • Generate a broader regression runlist: npm run qa:runlist -- --status=release-critical,core-regression
  • Validate story references before handoff: npm run qa:validate
  • Use --format=json or --output=... when handing the runlist to another agent or attaching it to a report

Cold Start

  • Clear browser cache / IndexedDB
  • Open app from scratch
  • Verify all components render correctly

Full User Journey

  • Create new project (name, BPM, key, time signature)
  • Add Stems track → generate with AI → verify playback
  • Add Piano Roll track → draw MIDI notes → verify synth playback
  • Add Sequencer track → program drum pattern → verify playback
  • Add Sample track → import audio file → verify playback
  • Open Mixer → adjust volume/pan/mute/solo per track
  • Add effects to a track → verify effect chain UI
  • Multi-track playback → verify all tracks play in sync
  • Export project to WAV → verify output file
  • Save project → close → reopen → verify all data persists

AI Features

  • Generate track via LEGO pipeline (context-aware)
  • Create Cover from existing clip
  • Repaint selection on a clip
  • Vocal2BGM generation
  • Audio Analysis (BPM/key detection)
  • Model selector in Settings

Edge Cases

  • Rapid button clicking (transport, add track, etc.)
  • Extreme zoom (min/max)
  • Empty project with all operations
  • 10+ tracks performance
  • Browser resize / responsive behavior
  • Network offline behavior (generation should show clear error)

Visual Audit

  • Dark theme consistency across all panels
  • Button states (hover, active, disabled) all correct
  • Text readability (no truncated labels)
  • Alignment and spacing consistency
  • No overlapping elements

Agent Usability (every feature, every version)

  • All new interactive elements have aria-label or role attributes
  • New features are accessible via window.__store API (not just UI clicks)
  • User story tested as agent: program a beat, write a melody, adjust mixer, trigger generation — all via store API or DOM automation
  • Canvas-based features have equivalent programmatic API (e.g. Piano Roll → addMidiNote)
  • Default scroll/zoom positions open to the most useful view (not blank/extreme ranges)
  • Keyboard shortcuts documented and working for all new toolbar actions

Code Quality

  • npx tsc --noEmit — 0 errors
  • npm run build — passes
  • Zero unused imports
  • Zero console.log (except error handlers)
  • Zero untyped any
  • Components under 600 lines (split if larger)
  • All useEffect have cleanup returns where needed
  • All event listeners properly removed

Refer to AGENTS.md for the complete development workflow and rules.