Skip to content

refactor(cli): run export live2d, audio and shader through the store - #48

Closed
nichinichisou0609 wants to merge 1 commit into
mainfrom
refactor/store-subjects
Closed

nichinichisou0609 wants to merge 1 commit into
mainfrom
refactor/store-subjects

Conversation

@nichinichisou0609

Copy link
Copy Markdown
Collaborator

Summary

export live2d, export audio and export shader run the stages of their subject through the store and copy the subject's artifacts into -o:

  • live2d: the live2d.model task of the model key, over the bundles of its closure.
  • audio: the cri.audio task of the cue sheet. The stage gains a format parameter (flac default, ogg, wav); its atoms follow the format (hca.decode, plus flac.encode or ogg.encode). Ogg is encoded with ffmpeg's bit-exact flags, so equal samples give equal files.
  • shader: the Shader artifacts of the unity.export tasks of the key's closure (or one APK bundle), limited to the class Shader. A name met again later in load order keeps its first shader.

A second export of the same subject is a store hit. shader.safe_name is public. The docs describe the store requirement of these commands and the new stage parameter.

Tests

  • tests/cli/test_subjects.py: each command on synthetic catalogs, including the store hit on a second run and the shader dedupe order.
  • tests/pipeline/test_cristages.py: format normalization, rejected parameters and the files of each format.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

The single-subject exports of a Live2D model, a cue sheet and the shaders
of a key now run their stages through the store over the files the
subject's catalog keys load, then copy the subject's artifacts into the
output directory. A second export of the same subject is a store hit.

- export live2d places the files of the live2d.model task.
- export audio runs cri.audio with a new `format` parameter (flac, ogg,
  wav); its atoms follow the format. Ogg is encoded with ffmpeg's
  bit-exact flags, so the same samples give the same file.
- export shader writes the Shader artifacts of the unity.export tasks of
  the key's closure; the first shader of each name in load order wins.
- shader.safe_name is public; the docs describe the store requirement.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nichinichisou0609

Copy link
Copy Markdown
Collaborator Author

Closing: the exports are moving to an assembly from per-object results, which covers these commands.

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