Play-Act Data
The act-level details, if you ever need them mid-loop
- act
- title
- positive
- negative
- filename_part
- frames_count
Play-Act Data is the act-level extractor in comfyui_play_traversal. Feed it the current act - Play (Start) outputs act_current - and it surfaces the act's title, positive, negative, and filename_part as individual sockets, plus a frames_count output in the schema.
Real talk: this is the extractor you'll reach for least. The act layer carries arc-level prompt flavor that's usually already covered by the play-level prompts, and the beat-level text is where the per-shot action is. Where it earns its keep is labeling: if you're building per-act output folders, logging which chapter is rendering, or overlaying act titles, this is the clean source for that string. Its frames_count output is the one to be careful with - see below.
The outputs that matter
title,positive,negative- the act's name and its shared prompt strings (plain text, as everywhere in this pack).filename_part- the act's segment of the chunk filenames (#1infot_play_#1_#1_b1_0_0). Grabbing this lets you rebuild act-scoped paths yourself instead of relying onBatch Data's assembledfilename.frames_count- declared in the node's output schema. Treat it as unreliable right now: the shipped code returns four values for five declared outputs and never actually fills this one, so don't build logic on it until a release fixes the mismatch.
The act input is a single optional PLAY_ACT socket; unwired, you get empties out rather than an error.
Installing
With the pack, via ComfyUI Manager (search "comfyui_play_traversal") or:
cd ComfyUI/custom_nodes
git clone https://github.com/wgedeon/comfyui_play_traversal
pip install -r requirements.txt
Restart ComfyUI. Same heavy requirements as the rest of the pack (diffusers, accelerate, onnxruntime, opencv-python, spandrel, peft, clip_interrogator, sentencepiece, matplotlib, lark); no models bundled.
Where people get burned
- Grab
act_current, not your static Play-Act node. The loop re-injects the current act on each expansion, and a static reference won't follow the story forward. Wrong wire = same act's data on every chunk. - That
frames_countoutput. It's in the schema, it's not in the code - the author'sPlay Act Datareturns one value short. If you need per-act frame totals, add up the sceneframes_counts fromScene Datainstead. This is exactly the kind of rough edge you should expect from a "2.0.0-inprogress" pack. - Act vs scene vs beat. Three layers of prompts, three extractors. If you want the shot description, this is the wrong node - that's
Scene-Beat Data. - Single-author, early-stage pack - the console traversal logs are your ground truth when the numbers look wrong.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| actopt | PLAY_ACT | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| title | STRING | — |
| positive | STRING | — |
| negative | STRING | — |
| filename_part | STRING | — |
| frames_count | INT | — |