- 09 Jun, 2026 8 commits
-
-
Stefy Lanza (nextime / spora ) authored
Tag regen/train jobs with kind/name/jtype and add a /active-jobs endpoint listing running ones. On Characters/Environments page load, resumeActiveJobs() re-attaches the live progress display to any in-flight job for the matching card, so a reload (or reopening the tab) keeps showing progress until completion. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
Add a shared image lightbox (injected into every page via _page) and make the reference-image thumbnails on the Characters/Environments pages clickable to view them full-size. Click the backdrop or press Escape to close. Delete button still works independently. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
- LoRA trainer: cache the SD/SDXL base on CPU between jobs so back-to-back trainings against the same base skip the disk reload, and the base holds no VRAM between jobs (moved to GPU only while training). Fixes the post-training eviction failure that forced the next image request into CPU/disk offload. - Model manager: add register_external_vram_releaser() + last-resort eviction pass so a generation can reclaim the trainer's cached base when needed (skips while a job runs). - Thermal: average 3 CPU samples spread across a 3s budget for the resume/ cooldown decision (CPU sensors swing +/-10C); pause stays single-read to react fast. Bounded so it never blocks past 3s of the poll interval. - Debug flags: --debug-web (uvicorn access lines), --debug-thermal ([thermal] [debug] checks), --debug-lora (per-step training loss to terminal); all off by default and independent of --debug. - Admin: lora_train_base_model field on the Models page; saves apply live to the running server (build_runtime_kwargs/apply_model_entry_live) with no restart. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
- images.py: stop reusing cached prompt embeds for Z-Image. Its encode_prompt returns per-sample lists the pipeline consumes during a run, so cache-HIT reuse corrupted the batch (AssertionError: len(size) == bsz in unpatchify). Z-Image now always encodes natively; cache key also bound to id(pipeline). - loras.py: fix wrong import (multi_model_manager lives in codai.models.manager, not codai.api.state) used for VRAM unload + base-model path resolution; add an up-front architecture guard so transformer/DiT models (Z-Image/Flux/SD3) fail with a clear message instead of crashing in the CLIP tokenizer. - New train_base_model on LoraTrainRequest: train LoRAs against a separate UNet-based SD1.x/SDXL model while generation keeps using the DiT image model. - gen_township_fighters.py: thread --lora-train-base-model / web field through train_lora, _train_profile_loras, stage_loras/stage_env_loras, all run + per- card call sites; CONFIG_FIELDS + live default_args apply on /start, /save-config. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
Browsers routinely abort media (video seek/scrub) and SSE connections mid-response, which surfaced as BrokenPipeError/ConnectionResetError tracebacks spamming the terminal. Swallow these in the request handler's handle_one_request() and finish() so they're ignored cleanly. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
Matches: - Outcomes are now per-match (<match>_<fighter>_<outcome>), generated for each match's two fighters, so each match's outcome scenes are its own/different. - Support multiple matches for the same pair+environment via unique match names (numeric suffix); scanner and delete isolate siblings correctly. - List view shows a lightweight preview (clip00 keyframe or metadata poster); detail view shows clips AND the match's outcomes per fighter, each with an editable prompt + re-render + remove. Clip/outcome prompts save to prompts.json. Legacy per-fighter outputs still listed. Prompts page: reframed as master prompts that auto-write a unique prompt per clip/outcome of every match; static templates marked fallback-only. Terminal: per-card action jobs (regenerate, train LoRA, match render) now echo their progress to the terminal too. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
Matches page: - Lightweight list view (no embedded players); per-match/per-fighter detail loads only that item's videos. - Edit a match: change fighters, environment, short/long targets, and each clip's prompt (saved to prompts.json). Fighter-outputs detail edits outcome prompts. - Remove videos: per clip, per final, whole match, single output, or all of a fighter's outputs (keeps plan/keyframes for re-render). Traversal-guarded. Global Prompts page (/prompts): - Edit the script's global templates — LLM fight/outcome system prompts and the static fight-shot + win/ko_win/retire/draw fallback templates. Persisted to <out-dir>/prompts_config.json, applied live and re-loaded on every run, with reset-to-defaults. Web UI: - Only auto-open a browser when --browser is passed (avoids spawning a terminal text browser on headless servers). Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
LoRA training (codai/api/loras.py): - Fix instant crash "mat1 and mat2 have the same dtype (Half != float)": components loaded in their checkpoint's native dtype (fp16 text encoders + fp32 UNet). Force consistent fp32 (stable LoRA reference) for both SD1.5 and SDXL, and free VAE/text encoders after pre-encoding to keep memory in budget. Web UI (tools/gen_township_fighters.py): - Per-profile LoRA training launched from the Characters/Environments cards (steps/rank, live server progress, status badge); the "Train LoRAs" step now trains regardless of the consistency setting and logs what it does. Profiles are uploaded to CoderAI first so server-side training has reference images. - New Matches page: final short/long videos, single clips, and outcome outputs per match. Re-render clips/outputs with the video model (reuses the render path, honoring keyframe/LoRA settings) or reassemble finals from existing clips (no model). - Replace browser alert/confirm/prompt with proper in-page modal dialogs (uiConfirm/uiAlert/uiPrompt) on every page. - Apply changed connection/model settings (image/video/text model) to the live session on Save config / Start, so per-profile jobs use them immediately. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
- 08 Jun, 2026 2 commits
-
-
Stefy Lanza (nextime / spora ) authored
Web UI (tools/gen_township_fighters.py): - Characters and Environments management pages: edit every meta field (data-driven form, not a fixed set), remove a profile, delete individual reference images — synced to CoderAI (DELETE/PATCH). - Regenerate references: background job generates N new images guided by the kept references (IP-Adapter) and APPENDS them, preserving non-deleted ones. - Upload your own reference image files (magic-byte validated, appended). - Clear run banner + status-pill label indicating which run/step is executing. - Config: -s/--save and -c/--config; web Save button writes server-side and, when launched with -c, defaults to that same config path. Environment parity / consistency: - Per-environment identity LoRAs (loras.py: environment field, env image resolver, "place" instance prompt; script stage_env_loras, env_loras.json, applied to keyframes + video alongside fighter LoRAs). - Environment IP-Adapter: environment_profiles on the image request (imagerequest.py) resolved into the IP-Adapter reference set (images.py), so environment regeneration can match kept references. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
CLI: -s/--save FILE writes selected generation options to a JSON config and exits; -c/--config FILE loads them as defaults (command-line args still override, via a two-phase parse). Web UI: "Save config" button writes the current form options to a file on the server (relative paths land in the output dir, absolute paths as-is) via a new /save-config endpoint. Web- and CLI-saved configs are interchangeable (shared CONFIG_FIELDS / canonical mapping). Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
- 03 Jun, 2026 1 commit
-
-
Stefy Lanza (nextime / spora ) authored
-
- 11 May, 2026 9 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
- 08 May, 2026 3 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
- 07 May, 2026 10 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Character profiles: extract from images/video or generate from text prompt; up to 6 profiles per image/video generation via IP-Adapter conditioning - Environment profiles: same multi-slot system for scene/background conditioning - Multi-character dialog for video: per-character TTS synthesis with voice profile support, sequential or manual timing, ffmpeg amix, Wav2Lip/SadTalker lip sync - 2D
↔ 3D conversion: image/video to stereo/anaglyph/depth/mesh and back; text/image to 3D model (GLB); turntable video rendering - Generation archive: auto-save all outputs with configurable retention and hourly cleanup; browse/delete from web UI and API - Voice profile enhancements: extract from video, PATCH update, GET by name; TTS endpoint now accepts voice_profile for F5-TTS cloning - Image generation progress tracking via GET /v1/images/progress - Web Studio: Profiles tab (Characters, Environments, Voices) with full managers; multi-slot character/environment selectors in all panels; character dialog section in all video panels; archive settings in Settings page - Fix: Profiles tab sub-tab switching now correctly updates the content panel Co-Authored-By:Claude Sonnet 4.6 <noreply@anthropic.com>
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
- 06 May, 2026 7 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-