Skip to content

feat: MakeCode song export (v0.7.1) - #17

Merged
jamiesun merged 1 commit into
mainfrom
feat/makecode-song-export
Aug 19, 2026
Merged

feat: MakeCode song export (v0.7.1)#17
jamiesun merged 1 commit into
mainfrom
feat/makecode-song-export

Conversation

@jamiesun

Copy link
Copy Markdown
Contributor

Summary

Adds scorekit makecode — a fourth compile target that turns a scene into Microsoft MakeCode song encoding v0 (music.createSong(hex\…`)`) for Arcade and micro:bit V2.

  • One paste-ready .ts snippet per scene, or one song per suite section, plus .meta.json (target: makecode-song-v0) reporting the tick grid and each track’s chip / drum voice.
  • Synthesis stays in the MakeCode runtime (no in-house DSP). The scene schema is unchanged.
  • Chip and drum amplitudes follow track intensity against a ~1.2 full-scale mix budget so stacked voices sit near the MakeCode editor’s 220–384 / 1024 range.
  • Unrepresentable features fail structurally (glide / pitch bends, clip CC automation, textures, humanize grids); pan / reverb are dropped with WARN + manifest.
  • Interoperability pinned by byte-exact roundtrips of four real MakeCode-editor songs; forest .ts is a golden E2E file.

Patch release v0.7.1. Docs, Agent skill, roadmap M17, and the acceptance matrix are updated together.

Test plan

  • cargo test (50 unit + 164 E2E)
  • cargo test makecode including editor-hex roundtrips, golden forest source, suite sections, and failure paths with no partial artifacts
  • After merge: tag v0.7.1 to trigger the Release workflow (binaries + Homebrew tap)

This session will follow the PR through merge.

Compile scenes to Microsoft MakeCode song encoding v0
(`scorekit makecode`) as paste-ready music.createSong TypeScript plus a
voice-mapping manifest. Chip amplitudes follow intensity against a mix
budget so Arcade/micro:bit speakers do not clip. Documents the target
and updates the acceptance matrix.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@jamiesun
jamiesun merged commit 075042a into main Aug 19, 2026
1 check passed
@jamiesun
jamiesun deleted the feat/makecode-song-export branch August 19, 2026 15:37
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