Skip to content

feat(live): assemble a live as a product and export it through the pipeline - #78

Merged
nichinichisou0609 merged 1 commit into
redesign/depotfrom
redesign/live-product
Oct 15, 2026
Merged

nichinichisou0609 merged 1 commit into
redesign/depotfrom
redesign/live-product

Conversation

@nichinichisou0609

Copy link
Copy Markdown
Collaborator

A live becomes one product, live: one chart of a music, naming the products it plays with by their manifest paths. export live asks the depot's pipeline for it and its parts.

Product

live (subject <musicId>/<difficulty>[/<band>], manifest lives/<musicId>_<difficulty>[_<band>].json) starts from the chart Live/MusicScore/<file> and the jacket Image/Jacket/<name>.

File Contents
live.json format 1: the chart, the band and where it was taken from, the counts of the converted chart, the music's master rows, the jacket's object id, and parts
chart.json the chart as shipped, un-gzipped
notes.json, notes.mirror.json the runtime notes, without and with the MirrorChart option

parts gives the manifest paths of the products a live plays with: the scene, the note highway with the default note skin and effect set, the default sounds and the music. A subject without a band takes the band of the music's first vocal character.

The product layout makes the live of each chart whose key and jacket the selection holds.

export live

  • Writes the product layout of the live and its parts (lives/, scenes/, notes/, noteskins/, noteeffects/, sounds/, music/, assets/). It takes the depot options of export assets (--stored-catalog, --workers, --link, --explain, --dry-run).
  • --live-option adds the products of other note skins, note effect sets (with their Light variants at quality Low, where the catalog has them) and note sound sets. The products always hold the mirrored notes, the bar line view and the option tables.
  • --format is the web format of the BGM (aac by default). live.music takes it as the parameter audio.
  • Errors in the master data (no chart of the difficulty, an unknown leader card) are usage errors reported before the catalog index runs. A band whose start timeline or background the catalog lacks is a usage error too.

Shared helpers

The chart reader and the live share the music record (content.live.music_record), the band choice (band_choice) and the chart key. content.livenotes.default_assets gives the default note skin and effect set.

Checks

  • Unit tests on synthetic master tables and object tables: subjects, band choice, the live record, the live document, the stage's select/keys/parts/manifest, the assembled product, and the request export live makes.
  • For one real chart, the product's chart, notes, mirrored notes and master rows are identical to what the chart reader writes.

…peline

A live is the product `live`: one chart of a music, naming the products it
plays with by their manifest paths.

- `live` (subject `<musicId>/<difficulty>[/<band>]`, manifest
  `lives/<musicId>_<difficulty>[_<band>].json`) starts from the chart and the
  jacket. Its files are `live.json`, the chart as shipped (`chart.json`) and
  the converted notes with and without the mirror option. `live.json` holds
  the counts of the converted chart, the music's master rows, the band, the
  jacket's object id and `parts`: the manifests of the scene, the note highway
  with the default note skin and effect set, the default sounds and the music.
- `export live` asks the depot's pipeline for the live and its parts and
  writes the product layout. `--live-option` adds the products of other note
  skins, note effect sets (with their Light variants at quality Low) and note
  sound sets. `--format` is the web format of the BGM, and the command takes
  the depot options of `export assets`.
- `live.music` takes the BGM format as the parameter `audio`, so `--format`
  reaches only the stages that take an audio format.
- The chart reader and the live share the music record, the band choice and
  the chart key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nichinichisou0609
nichinichisou0609 merged commit 426b042 into redesign/depot Oct 15, 2026
8 checks passed
@nichinichisou0609
nichinichisou0609 deleted the redesign/live-product branch October 15, 2026 10:43
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