Shipped workflow templates and manifests (#33) #79
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
needs-info
needs-triage
question
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crowmaki/ai-studio!79
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-33-shipped-workflows"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #33. Part of #24.
What
crates/studio-core/workflows/: an API-format template and a manifest for each ofh3.draft,h3.promotion,h3.final,image.t2iandimage.board.research/h3-latent-reuse. The owner's helper nodes (easy seed, rgthree switches,ImpactSwitch, Pixaroma LoRA loader, resolution and math nodes,SimpleCalculatorKJ, the media loader, splitter and prompt IDE) are gone, so Rust fills sizes, length and seed directly. The only custom packs left are VideoHelperSuite and the H3 latent upscaler.h3.promotionalways freezes the loaded draft audio with aSetLatentNoiseMask(SolidMask0).image.boardbuilds its text from a fixed rough-storyboard style string plus the caller's prompt (StringConcatenate), so it can drift fromimage.t2i.version,changes_output,bindings(name -> node_id.input),outputs,node_packs(name, URL, class types),models(folder, file, URL and where the template names it),speed_modes(binding values for Distilled/Full), and for H3 thereference_slotsandlora_chainsplice points.studio_core::shipped_workflows()loads them and exposesid,version,changes_output,template_hash(blake3 of the canonical JSON, so formatting and key order don't matter), the template and the manifest.ShippedWorkflow::problems()lists every way a manifest fails to line up with its template.workflows/hashes.jsonrecords(id, version, hash)for each workflow.Tests
tests/shipped_workflows.rs:class_typeis covered by a node pack, no pack lists a class the template lacks, and all links point at real nodes.cargo testthat compares the shipped hashes withhashes.json. It fails with "template changed but version is still N" when a hash changes without a version bump. It also fails when the record is stale after a bump, and the message prints the line to paste. I checked by hand that changing a template value fails the test.Checks
cargo test --workspace --all-features: pass.cargo clippy --workspace --all-targets --all-features -- -D warnings: pass.cargo fmt --check -p studio-core: pass. The workspace-widecargo fmt --checkfails onsrc-tauri/src/lib.rsandsrc-tauri/tests/smoke.rs, which are already unformatted on main. I left them alone as unrelated.bun run check: not run, because no frontend files changed.Known gaps / follow-ups
SaveAudiowrites lossless FLAC. The owner accepted FLAC, and the spec (#24, #51) now says FLAC.VAEEncodeAudio-> 0 mask branch for Performance-driven Takes (#65).h3.promotionsizes the upscale withupscale_megapixels, not W x H. For non-16:9 ratios the upscaled output may not match the conditioning W x H. Needs verifying in #57.lora_chainsplices user LoRAs after node 5 (ModelAttentionBackend), upstream of the DMAD distill LoRA (node 6). The owner confirmed that the order relative to the shipped LoRAs doesn't matter. This spot just gives one rewire point, because node 6 is node 5's only consumer.h3.finalreuses it.Open questions
Everything below is a best guess, not something the tickets or research settle:
split_files/<folder>/layout. The H3 VAEs and DMAD LoRA point at the MiniMax H3 integration index, and the upscaler points at its HF repo page. These are landing pages, not direct downloads.upscale_models, and the file is the..._3d_bf16one seen in the captured promotion graph. Research #15 saw..._conv_v1_fp16. The folder the node actually reads is unconfirmed.MinimaxH3\...combo value. Preflight should compare it with separators normalized.VHS_VideoCombinewithformat: "video/ProRes"andprofile: "hq". I couldn't confirm VHS offers these. Preflight's combo-value check will tell.WAVResolved: FLAC is accepted.H3PromptIDE/ reference-input chain is dropped andpromptis bound as a string straight onMiniMaxH3ReferenceToVideo. I haven't confirmed it accepts a literal, and the<Picture N>tags rely on slot order.Forced Performance audioResolved: the job builder may make a third structural edit for it (#65).ModelSamplingAuraFlow. Sampler settings are the Qwen-Image 2.1 doc defaults (25 steps, cfg 1, euler, simple). The board style text is my wording.upscale_megapixels, default 2.1), so the job builder has to turn the final W x H into megapixels.