Commit History

  1. Level the finished take: even section loudness before it is served⁠

    ACloudCenter +1: Claude Fable 5.1
    182105b
  2. Show the app version under the title (v1.1.0)⁠

    ACloudCenter +1: Claude Fable 5.1
    cbc456c
  3. Recover last take is per visitor, not global⁠

    ACloudCenter +1: Claude Fable 5.1
    3fb3c19
  4. Consent block and Generate pill share one sticky dock⁠

    ACloudCenter +1: Claude Fable 5.1
    2deaf0e
  5. Responsible-use gate: one acknowledgment unlocks Generate, logged server-side⁠

    ACloudCenter +1: Claude Fable 5.1
    17e20d3
  6. Cut Modal cold start from ~3 min to ~30 s: bake weights, memory snapshot⁠

    ACloudCenter +1: Claude Fable 5.1
    d875227

  1. Launch guardrails, honest live-preview states, drop the dead script toggle⁠

    ACloudCenter +1: Claude Fable 5.1
    797f6c7
  2. Launch prep: warm-state status, cold-path note, README refresh⁠

    ACloudCenter +1: Claude Fable 5.1
    e3b6645

  1. Add Clean-noise export option and denoise uploaded clone references⁠

    ACloudCenter +1: Claude Fable 5
    4ead41b

  1. Stop voice previews on library close; cap reference clips at 60s⁠

    ACloudCenter +1: Claude Fable 5
    0bf5b0e
  2. Fix streamed-chunk voice mapping, stall margin, and progress jitter⁠

    ACloudCenter +1: Claude Fable 5
    daabfc0
  3. Stream audio while it renders: fast-start wave and live preview⁠

    ACloudCenter +1: Claude Fable 5
    888ef9a

  1. Measure every turn's start from the rendered audio itself⁠

    ACloudCenter +1: Claude Fable 5
    97d19f4
  2. Anchor captions to real chunk timings; simplify polish to Sound modes⁠

    ACloudCenter +1: Claude Fable 5
    a6cbeed
  3. Add loudness normalization as an independent polish option⁠

    ACloudCenter +1: Claude Fable 5
    816f182
  4. Sync captions to real pauses, add speaker orbs, clarify polish⁠

    ACloudCenter +1: Claude Fable 5
    7cc06e2

  1. Show estimated progress for single-wave renders and cold starts⁠

    ACloudCenter +1: Claude Fable 5
    149010f

  1. Say when a take has been cleared instead of failing the download⁠

    ACloudCenter +1: Claude Fable 5
    fb5cad2

  1. Make polish real post-processing; fix distortion, underline and dead MP3 click⁠

    ACloudCenter +1: Claude Fable 5
    9d60340
  2. Stream takes from the server instead of buffering them in the page⁠

    ACloudCenter +1: Claude Fable 5
    2232a4b
  3. Fix cursor flicker from a resizing modal; retire the bundled examples⁠

    ACloudCenter +1: Claude Fable 5
    88f088c
  4. Add playback polish; stop warm-up polluting generation time⁠

    ACloudCenter +1: Claude Fable 5
    a4d6323
  5. Interpolate progress inside the current wave⁠

    ACloudCenter +1: Claude Fable 5
    211e07b
  6. Put generation progress front and centre, and lock the workspace⁠

    ACloudCenter +1: Claude Fable 5
    3b57033
  7. Real generation progress: wave bar, ETA, elapsed, tab title; taller log⁠

    ACloudCenter +1: Claude Fable 5
    4df76dc
  8. Stride the waveform peak scan so hours-long takes stay instant⁠

    ACloudCenter +1: Claude Fable 5
    197d8c5
  9. Offer an MP3 download alongside the WAV⁠

    ACloudCenter +1: Claude Fable 5
    05a8f68

  1. Replace the canvas waveform with wavesurfer.js + streaming RMS peaks⁠

    ACloudCenter +1: Claude Fable 5
    6462150
  2. Style the import dialog's file picker⁠

    ACloudCenter +1: Claude Fable 5
    c33abe9
  3. Add a 60s stall watchdog to the take download⁠

    ACloudCenter +1: Claude Fable 5
    3e10642
  4. Never orphan a finished take: server keeps it, UI offers recovery⁠

    ACloudCenter +1: Claude Fable 5
    a5c94a5
  5. Stream the finished-audio download with MB progress⁠

    ACloudCenter +1: Claude Fable 5
    07e4766

  1. Add a Stop generation button⁠

    ACloudCenter +1: Claude Fable 5
    f1156dc
  2. Never fail a completed take on browser-side waveform decode⁠

    ACloudCenter +1: Claude Fable 5
    90834ab
  3. Give the Chorus wordmark a logomark and more presence⁠

    ACloudCenter +1: Claude Fable 5
    f156e50
  4. Clone dialog: multi-select Use as, longer read scripts, live recording pulse⁠

    ACloudCenter +1: Claude Fable 5
    c8ad0ed
  5. Simplify the clone dialog: name first, no Use as pills⁠

    ACloudCenter +1: Claude Fable 5
    9682ff0
  6. Add optional read-along scripts to the clone recorder⁠

    ACloudCenter +1: Claude Fable 5
    d881baf
  7. Add an Optimize audio option to the clone dialog⁠

    ACloudCenter +1: Claude Fable 5
    789220b
  8. Make cloned voices a persistent, named personal voice library⁠

    ACloudCenter +1: Claude Fable 5
    eb2dd32
  9. Rework voice picking and cloning around the slot, not the grid⁠

    ACloudCenter +1: Claude Fable 5
    9f21e80

  1. Icon affordances for the player: pop-out on the dock, x to close the stage⁠

    ACloudCenter +1: Claude Fable 5
    872bb6f
  2. Hide the collapsed-composer strip when expanded⁠

    ACloudCenter +1: Claude Fable 5
    f706862
  3. Collapse the composer after commit; add a Now Playing stage⁠

    ACloudCenter +1: Claude Fable 5
    f227d2a
  4. Replace the empty-prompt alert with an inline, context-aware hint⁠

    ACloudCenter +1: Claude Fable 5
    7ab32d4
  5. Redesign the studio UI from the voice-studio prototype⁠

    ACloudCenter +1: Claude Fable 5
    e550e2e

  1. Redesign the composer as a single input shell, not loose siblings⁠

    ACloudCenter +1: Claude Sonnet 5
    c4cec2e

  1. Add dropdown chevrons, grow the scenario field, harden voice preview⁠

    ACloudCenter +1: Claude Sonnet 5
    72df280
  2. Add a target-length control for AI script generation⁠

    ACloudCenter +1: Claude Sonnet 5
    d802243
  3. Give input fields real contrast, not a subtle tint⁠

    ACloudCenter +1: Claude Sonnet 5
    78ddef6