Skip to content

fix(story): name the CRI categories of each cue in cues.json - #87

Merged
nichinichisou0609 merged 1 commit into
mainfrom
fix/story-cue-categories
Oct 17, 2026
Merged

nichinichisou0609 merged 1 commit into
mainfrom
fix/story-cue-categories

Conversation

@nichinichisou0609

Copy link
Copy Markdown
Collaborator

Change

The volume of a CRI category reaches a cue through the categories its cue sheet puts it in. A story's cues.json now lists them per cue (categories, e.g. ["Voice", "VoiceConfig"]), read from the command list of the cue's sequence in the ACB (acb.cue_categories). A cue without any has no key.

  • cri.decode and cri.decode_acb_bytes take categories (default off); the story export sets it. Cue sheets of other exports keep their cues.json.
  • streams.json is unchanged.
  • Test: tests/formats/test_acb_categories.py on a synthetic ACB; docs/commands.md lists the field.

Checked on the cue sheet adv_voice_linkstory_raika_miku_10579: 38 of 38 cues list Voice and VoiceConfig.

🤖 Generated with Claude Code

The volume of a CRI category reaches a cue through the categories its cue
sheet puts it in, not through the category of the episode's sound row.
The cue sheets of a story now carry them: each cue of cues.json lists the
category names of its sequence ("categories"), read from the ACB, so a
player can route a cue to the bus its sheet names.

cri.decode and cri.decode_acb_bytes take `categories` for this; the story
export sets it. Cue sheets of other exports keep their cues.json.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@nichinichisou0609
nichinichisou0609 merged commit 689e6b4 into main Oct 17, 2026
8 checks passed
@nichinichisou0609
nichinichisou0609 deleted the fix/story-cue-categories branch October 17, 2026 05:56
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