Skip to content

v1.0.0 -- Vivijure Studio, first stable release

Latest

Choose a tag to compare

@skyphusion-mackaye skyphusion-mackaye released this 13 Jul 10:47
· 46 commits to main since this release
736d34c

Vivijure Studio leaves pre-1.0. The module-host control plane, the module registry, the
self-assembling UI, and the full render spine (planner -> keyframe -> motion -> finish -> score ->
assemble -> master) are OUTPUT-verified end-to-end on production -- every path re-run and the ACTUAL
artifact inspected (ffprobe stream shape plus eyeballed pixels / measured audio), not merely
phase=done. Verified paths:

  • Motion backends: seedance, kling, minimax-hailuo, google-veo, vidu-q3, alibaba-wan, own-gpu
    (same prod RunPod endpoint, Wan2.2 i2v_clip), and the local-gpu LTX door (propagandhi).
  • Keyframe: SDXL/RunPod keyframe and the GPUless cloud-keyframe (FLUX-2).
  • Finish: finish-rife, finish-upscale (exact 2x ESRGAN), finish-lipsync (MuseTalk).
  • Score / audio: dialogue-gen, narration-gen, music-gen, beat-sync, audio-master.
  • Captions: subtitle (burn + .srt), film-titles.
  • Cast: cast-LoRA-bound keyframe + voice; plan-enhance; scatter/gather.

Two release-promise degrades found and fixed on the way in: cross-render clip-adoption contamination
(a re-render with a different backend silently adopting a stale clip -- now fingerprinted by
backend/config, #768) and audio-master shipping a silent film (#765). Both are prod-confirmed. The
evidence ledger for this release lives at docs/release/v1.0-coverage.md.

Not in v1.0 scope: the experimental CogVideoX-16gb local door (vivijure-local-16gb) is marked not
ready for deployment; its kernel-stack rendering defect is tracked post-1.0. The mainstream local-gpu
path ships via the LTX 12gb door.

This release also rolls up the two distribution changes below.

Retire the text-overlay finish module (dead code; superseded by subtitle + film-titles).

  • text-overlay retired, not fixed. The module read its content from req.config.overlays (an
    array), but overlays was never a declared config_schema field (schema types are only int / float /
    bool / enum / string; there is no array type). The core validateConfig (src/modules/registry.ts)
    builds a module's validated config ONLY from declared schema keys, so overlays was always stripped
    before the module saw it: it could never receive overlay content through any path (config or derived),
    and always took the clean no-overlays passthrough. Captions and title / credit cards are already covered
    by the working, output-verified subtitle and film-titles modules. Removed: the
    modules/text-overlay/ worker, its MODULE_TEXT_OVERLAY service binding in wrangler.toml.example,
    the CI + deploy-doc references, and tests/text-overlay.test.ts. The film-orchestrator chain-advance
    fixtures that used it as a generic unmodeled finish step now use a neutral MODULE_FINISH_STUB. The
    core auto-discovers modules via the MODULE_* service-binding scan, so dropping the binding delists it
    after the next core deploy.

Delist alibaba-wan-lora from the v1.0 distribution (unverified, not retired).

  • alibaba-wan-lora delisted pending verification (#771). Its distinguishing feature -- injecting
    custom operator LoRAs into the Wan 2.2 cloud i2v path (high_noise_loras / low_noise_loras) -- is
    UNVERIFIED: exercising it needs a hosted Wan2.2 i2v LoRA artifact, and the cast LoRAs on hand are SDXL
    keyframe LoRAs (wrong architecture), so a render with empty LoRA arrays only duplicates the already
    output-verified alibaba-wan backend. Rather than ship an advertised-but-unverified feature in v1.0, the
    module is DELISTED, not retired: the MODULE_ALIBABA_WAN_LORA core binding is commented in
    wrangler.toml.example, the module DIR is added to the CI deploy-loop EXCLUDE, and it is dropped from
    deploy.sh STANDARD_MODULES. The module SOURCE and its tests stay intact; re-enable the binding + drop
    it from EXCLUDE once the custom-LoRA path is output-verified with a real Wan LoRA.