ComfyUI Node

Play-Act Data

The act-level details, if you ever need them mid-loop

By wgedeon·Created 12 months ago·Updated 10 months ago· 2
Play-Act Data
  • 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 (#1 in fot_play_#1_#1_b1_0_0). Grabbing this lets you rebuild act-scoped paths yourself instead of relying on Batch Data's assembled filename.
  • 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_count output. It's in the schema, it's not in the code - the author's Play Act Data returns one value short. If you need per-act frame totals, add up the scene frames_counts from Scene Data instead. 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.
CategoryFeller of Trees/Play Traversal

Inputs (1)

NameTypeDefaultDescription
actoptPLAY_ACT

Outputs (5)

NameTypeDescription
titleSTRING
positiveSTRING
negativeSTRING
filename_partSTRING
frames_countINT