Skip to content

feat(web): Mixdown — interactive lab of the muzix closed loop#52

Merged
abhicris merged 1 commit into
mainfrom
feat/mixdown-lab
May 25, 2026
Merged

feat(web): Mixdown — interactive lab of the muzix closed loop#52
abhicris merged 1 commit into
mainfrom
feat/mixdown-lab

Conversation

@abhicris
Copy link
Copy Markdown
Contributor

Summary

Adds Mixdown — an interactive canvas lab that walks viewers through the entire muzix closed loop in six animated scenes. Single static HTML, no build step, fork-and-extend friendly. Lives at `web/public/mixdown.html` → served at `/mixdown.html` in production (`muzix.kcolbchain.com/mixdown.html`).

Mirrors the pattern from `kcolbchain/switchboard/web/agents-demo.html` but in muzix's vernacular — gold accent, music-flavored scene names, the contracts shipped this week as the cast.

The six scenes

# Scene What it shows Contract calls
1 Drop the master Sapta registers an album; cap-table (60/20/20) commits; root variant mints as 10,000 ERC-1155 units fanned by bps `Labelton.registerMaster`
2 Term sheet on the wire Sapta drafts a 3-yr exclusive distribution offering and publishes it `MuzixRightsOffering.createOffering` + `publishOffering`
3 Counters in the room Universal counters higher upfront; Sony takes base terms; Indie counters higher royalty — each posting 5k MUSD bond `submitCounter` / `acceptBaseTerms`
4 Sapta picks She accepts Sony; losing bidders self-withdraw and recover bonds `acceptCounter` + `withdrawCounter`
5 The numbers roll in Spotify / Apple / YouTube pushers submit verified revenue with confidence scores `MuzixStreamingOracle.submitRevenue`
6 Mixdown pays out MUSD reads `capTableOf` and fans the period revenue 60/20/20 atomically `MUSD` + `Labelton.capTableOf`

Why "Mixdown"

It's the recording-studio step where every track lands in one final master. Same shape as what these contracts do together — negotiation, registration, revenue, and settlement all land in one place. Picks up the music vernacular without overlapping switchboard's "agents-demo lab".

Chrome

  • Transport bar: play / pause (space), step (n), restart (r), arrow-key scene nav, prev/next buttons.
  • Scene pill bar: click any scene to jump.
  • Tooltip on hover: every agent shows its role, MUSD balance, or ERC-1155 share count.
  • `+ add your scene` placeholder links to the file on GitHub.
  • `web/public/SCENES.md` documents the scene contract so new scenes are an array append.

What's intentionally out of scope (follow-ups)

  • AI training license scene (IPTO calling `MuzixRightsOffering` for sync-style data deal).
  • Remix-variant scene (`Labelton.mintVariant` from a cap-table member).
  • Catalogue-wide bundle scene (5-yr full rights instead of single-album distribution).
  • Linking Mixdown from the Next.js app's primary nav — separate small PR.

Test plan

  • HTML loads without console errors (syntax-checked the embedded JS via `node --check`)
  • All 6 scenes registered; `SCENES.length === 6`
  • Visual review — open at `/mixdown.html` after preview deploy and walk through all scenes
  • Mobile layout sanity (caption + transport overlap check at 375 px width)

A single static HTML page at web/public/mixdown.html (served at
/mixdown.html in production) that walks viewers through the full muzix
closed loop in six animated canvas scenes:

  1. Drop the master            Labelton.registerMaster — cap-table
                                committed, root variant minted as
                                ERC-1155 fanned across holders.
  2. Term sheet on the wire     MuzixRightsOffering.createOffering +
                                publishOffering — draft → open.
  3. Counters in the room       Three bidders submit counters with
                                refundable MUSD bonds.
  4. Sapta picks                acceptCounter — winning bond refunded,
                                losers self-withdraw and recover bonds.
  5. The numbers roll in        Spotify / Apple / YouTube push verified
                                revenue to MuzixStreamingOracle with
                                confidence scores; latest pointer
                                updates.
  6. Mixdown pays out           MUSD reads Labelton.capTableOf and fans
                                the period revenue (60 / 20 / 20).

Pattern intentionally mirrors switchboard's web/agents-demo.html — single
file, no build, fork-and-extend friendly. Transport bar with play/pause
(space), step (n), restart (r), and arrow-key scene navigation.
Tooltip-on-hover shows each agent's role, MUSD balance, and ERC-1155
share count when set. SCENES.md documents the scene contract so new
scenes are an array append.

Naming follows muzix vernacular (mixdown = the recording-studio step
where every track lands in one final master — fits what the muzix
protocol does when negotiation, registration, revenue and payout all
settle in one place).
@abhicris abhicris merged commit 88a8a39 into main May 25, 2026
1 check passed
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