UI improvements, settings workflow, compare tool, and documentation - #989
Open
m1llipede wants to merge 32 commits into
Open
UI improvements, settings workflow, compare tool, and documentation#989m1llipede wants to merge 32 commits into
m1llipede wants to merge 32 commits into
Conversation
…provements - ui_right.py: full-height gallery CSS (75vh), Save As button with JS prompt - ui_left.py: settings editor panel with load/apply buttons - ui_elements.py: added settings_editor_code component - gradio_funcs.py: sync_ui_to_editor, sync_editor_to_ui, process_settings_upload - settings.py: save_settings_from_animation_run auto-save on each run - args.py: additional argument handling - render.py: render loop improvements - style.css: gallery and UI styling Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…achine) Best-performing render settings used as new baseline for all new sessions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Hard-won notes from 8000+ frame render sessions covering sampler choice, strength/cadence sweet spots, LoRA stacking, checkpoint comparisons, and settings file workflow. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… motion summary - Quick-load dropdown: scan output folders for recent settings files, one click loads - Prompt preview: enter a frame number, see which keyframe prompt is active + when it changes - Keyframe viewer: expand all prompts with frame ranges in a scrollable panel - Motion summary: table of all translation/rotation/zoom keyframe values at a glance Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Quick Tools accordion added in previous commit referenced non-existent component keys (e.g. 'prompts' instead of 'animation_prompts'), which caused a KeyError on startup and prevented the Deforum tab from loading. Restored both files from working backups. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Standalone HTML comparison tool for reviewing Deforum renders side by side. Opens any folder of renders, matches videos to settings files, and shows all parameters in a sortable/filterable table with inline video playback. Features: star rating + notes (localStorage), drag-reorder rows, color-coded varying columns, settings diff in compare view with render-critical params prioritized, full-size video stepping with arrow keys, zoom control. Includes .bat launcher (Python http.server on localhost:48217) and README. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Full rewrite: structured sections for each change vs upstream, embedded screenshots of the Deforum UI (Run tab, Keyframes, Settings Editor, Init), Compare tool documentation with usage instructions, best practices guide reorganized, and a files-changed-vs-upstream reference table. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previous commit had UTF-16 encoding corruption from PowerShell echo. Rewrote with correct entries for *.bak and *_broken.py patterns. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ControlNet not-found error now lists registered alwayson scripts and points to common startup failures (e.g. mediapipe version conflicts). Compare tool landing page gains a drag-and-drop staging area for quick file comparison without scanning a full output folder. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Gallery starts at 280px height instead of full-size - Add Preview zoom buttons (256/512/1024/Full) above output panel - Zoom buttons dispatch resize event to keep live preview working - Hide send-to/paint icons from output panel - Fix livePreview container CSS for reliable absolute positioning - Fix Save As defaulting to gradio temp path - Auto-reconstruct output path from batch_name on settings upload Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Save As now opens a real Windows file picker via tkinter (no JS prompt) - New 'Load only prompts' button: imports just animation_prompts + positive/negative, leaves every other setting alone - Renamed labels: 'Load all settings', 'Load only video settings' - Added read-only 'Last save / load' status box that confirms where each save landed and which file the prompts-only loader read from - Compare Portable: folder-drop now scans only the dropped folder (no more whole-img2img scans), pairs settings+movie ignoring stills; loose .txt + .mp4 drops pair by stem; new persistent Columns dropdown; column order reshuffled to surface Model/Sampler/Steps and the strength/noise/coherence/cadence knobs first; W/H/animation_mode hidden by default; ~150x faster sort (single-pass column toggle vs per-column nth-child queries) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
When a PIL image is dropped into init_image_box, save the bytes to outputs/deforum_init_images/init_<sha8>.png (content-addressed so the same image always lands at the same file) and mirror that absolute path into the init_image URL textbox. The textbox IS serialized by save_settings, so on reload the path comes back, points at the same PNG on disk, and the renderer uses it transparently. Clearing the box leaves the textbox alone (non-destructive). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- examples/Microcosm_Best_settings.txt: the best long-form recipe to date (cadence 5, strength_schedule 0.6, noise 0.01, noise-mult OFF, LAB coherence, 50 keyframes), referenced at the top of the README as the recommended start. - ui_right.py: the Pause/Resume button was built but left visible=False; now visible. First click pauses the render (frees GPU/CPU), second resumes. - Compare Portable: default to showing ALL parameters (DIFFS_ONLY off) so every noise + cadence setting is visible on drag-drop. Fixes the bug where dropping individual settings files hid most columns while claiming to show all; folder and file drops now show identical column sets. Hide-unchanged is now opt-in and its button state stays honest. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Added info descriptions to args.py for: border mode, near/far schedule, seed schedule, subseed scheduling, sampler scheduling, noise/mask schedules, checkpoint scheduling, CLIP skip scheduling, noise multiplier scheduling, steps scheduling, reroll blank frames, reroll patience - Added examples/Spore_Mandala_settings.txt: 15000-frame geometric mandala to bioluminescent mushroom cave animation with full SDXL LoRA stack, LAB color coherence, DIS Fine optical flow, best-practice motion settings
15k-frame two-cycle journey: node-mandalas -> fractalized biological universe (faces, eyes, owls/wolves, fractal butterflies/caterpillars) -> empty space -> wormhole -> biological singularity. Cleaned prompts (negatives in the dedicated field), add-detail-xl 0.8, midas_weight -0.3 inverted-depth look preserved. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…forum panel ui_right.py: - Preset dropdown at the top of the panel: pick a saved recipe and it loads into every field via Deforum's own load_all_settings (no parallel loader). Presets are ordinary complete settings .txt files in /presets. - Drag-and-drop preset import: drop any number of settings files to add them as presets. Each is validated as Deforum JSON, has its init_image repaired (relinked if the file moved, use_init turned off if it's genuinely gone - this was silently breaking loads), and stale resume-timestrings cleared. Name clashes get suffixed, never overwritten. - Folders accordion: init-images and video/ControlNet input folders with a native folder picker, saved to a shared config. Models folder shown read-only with a note that it's fixed at launch via --ckpt-dir. - Link to the render gallery / comparison page. args.py, deforum_controlnet.py: SUGGESTED values and explanatory info text on the params and ControlNet toggles that had none. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e notes One place to get everything that goes around the renders: - Deforum_Render_Viewer.html - single self-contained file, no install, works offline. Drag in a render's mp4 + its _settings.txt and it evaluates the settings math live against playback, so the prompt / LoRAs / FOV / camera shown are the ones that produced the frame on screen. Tick two or more to compare every parameter side by side with differences highlighted. - BEST_DEFAULT_settings.txt - the Microcosm v2 recipe as one loadable file, sanitised: no absolute paths, no LoRA tags (so it runs on any SDXL checkpoint with no missing-file warnings), no init/looper/resume. - BEST_PRACTICES.txt - what actually causes the spaghetti-line streaking, the two smoothness recipes that hold past a few thousand frames, camera/FOV rules, init-image and prompt practice. - gallery-tab/ - optional A1111 extension for the same gallery live in the WebUI (folder scan, flags, comments, export). No pip installs. - _build_gallery.py - generator for both the standalone viewer and the in-WebUI page. README now points at render-kit/ up top and documents the panel additions. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
render-kit/ -> microcosm/, Deforum_Render_Viewer.html -> Microcosm.html, and the viewer's own title/header now read Microcosm. Named after the Microcosm v2 render - which is also the recipe shipped as BEST_DEFAULT_settings.txt, so the name actually points at something. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Stripping the LoRAs was wrong. Vello has the same ones, and they're what make the recipe work - without them it's a shell of the render it's named after. BEST_DEFAULT_settings.txt is now the actual Microcosm v2 settings: 50 keyframes, real prompts, the full 14-LoRA stack, seed and schedules intact. Only outdir/resume/batch_name are cleared. The init image ships with it (microcosm-init.png) so the recipe is complete - drop it in the Init box and this fork auto-ticks "use init". README now documents loading via the preset dropdown this fork adds, rather than telling people to hand-edit the file in Notepad, and lists the LoRA stack with weights so you can check what you have. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Best Practices was a single column of plain text. It now renders as a two-column document that fits on a screen, with a crop of the actual Deforum control each section is about (the way the Deforum docs do it), click-to-enlarge at full size. Screenshots are inlined as data URIs so the shared viewer stays offline and self-contained. Preset cards said "Download overlay .txt" / "Download merged settings.txt" - the button is just Download now, with the explanation where it belongs, in the tooltip and the note above the grid. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
.dirbar carried the hidden attribute but the author rule display:flex outranks the UA [hidden] rule, so the bar rendered anyway. Opened straight off disk, Vello got a "Renders / output folder" row whose Browse/Save/Rescan have no API to talk to. .fb-ov already guarded this; .dirbar didn't. Verified via file:// - bar gone, the real Browse files / Browse folder pickers (no server needed) still there. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
cardsAll is snapshotted at load and only refreshed in server mode, and dropped renders live in their own container outside it. So the shared viewer read "0 of 0 renders" with a render you'd just dropped on screen. Count dropped items too, and refresh the count after a drop. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The streaking section said strength 0.6 + noise 0.02 while the Microcosm v2 recipe two sections down, the README, and the shipped settings file all said 0.01. Brian confirmed 0.01 is the value. All four sources now agree. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
getAllFileEntries relied solely on webkitGetAsEntry(). When that yields nothing - which is what happens in several real cases, including opening the page straight off disk - it resolved to an empty array, the drop handler's `if(files.length)` was false, and the page did nothing at all. No card, no error, no clue. - fall back to dataTransfer.files (captured synchronously) when the entry API comes back empty - when neither works, say so, and point at the Browse folder button, which uses a normal file input and always works - show "Reading what you dropped..." while traversing: a Deforum output folder also holds thousands of PNG frames, and building a File object for every one of them looked like another silent no-op - only enumerate .mp4/.txt/.json, cap recursion depth, and time out rather than hanging forever Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Vello is a visual artist who has never used GitHub, so the extension needs a copy-a-folder-into-place path with no git, terminal, or pip, and an explicit way back if it goes wrong. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Backslash in the module docstring made Python print an invalid-escape warning on compile. Raw string. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Verified live in A1111 against Brian's questions: - Two settings drop boxes collapsed into one. The stock "Upload Settings (Drag & Drop)" box duplicated the preset box (both loaded a settings file on drop). Removed it; the one preset box now imports AND loads the file in a single drop, and sets the Settings File path so Save/Load still target it. - Seed the shipped Microcosm recipe into /presets on load, so "00 - Microcosm BEST" is in the Preset dropdown out of the box, on a fresh install too. Init image is pointed at the shipped png so use_init isn't left dangling. Confirmed: selecting it loads max_frames 15000, cadence 5, and the Microcosm prompts. - Removed the "Open the Render Gallery / comparison page" link from the panel - it's already a top-level tab. - README recipe line said FOV 70; the actual settings render at FOV 80. Doc now matches the settings file. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Brian: the standalone HTML and the in-SD Render Gallery tab were two apps running the same engine. Keep one. - Deforum panel gets an "Open the render viewer" button that opens the standalone microcosm/Microcosm.html in a browser tab via A1111's /file= endpoint - the exact same file you can double-click with SD closed. One viewer, reachable open or closed, no iframe, no second app. - Dropped the bundled gallery-tab from the kit and its README section. (The separate deforum-gallery-tab extension is archived off Brian's install.) - README/panel docs updated to describe the one-viewer setup. Verified live: Render Gallery tab gone, button serves <title>Microcosm</title>. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Brian's standing rule: no emojis, no em dashes, anywhere - chat, code, UI, commits. I'd left a picture icon on the Open-viewer button and emojis plus em dashes through the READMEs, INSTALL, and the panel labels. Removed all of it: button icon, README emojis, decorative arrows, and em dashes converted to plain commas. Rewrote INSTALL.txt cleanly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These changes are the result of running long-form 3D animations daily -- 8,000 to 15,000 frame psychedelic renders with heavy LoRA stacks and continuous camera movement.
Settings workflow improvements: Upload now correctly updates the save path. Added a Save As option for maintaining multiple versions. Added a JSON editor tab for direct parameter access.
Keyframes layout: Strength schedules and motion controls display in two columns, reducing navigation time when adjusting related parameters.
Init image handling: Dropping an image now auto-enables "Use init" to prevent unintentional renders without the init applied.
Tooltips: Added detailed descriptions for noise_schedule, diffusion_cadence, optical_flow_cadence, color_coherence, seed_behavior, midas_weight, and perspective flip parameters.
Depth controls: MiDaS weight is now always visible regardless of algorithm selection.
Gallery: Expanded to 75% of the viewport.
Bug fixes: Resolved a NoneType crash on save with no model loaded, and a component registration error that could prevent the tab from loading.
Comparison tool: A standalone HTML utility for reviewing renders side by side with full settings diffs. Scans output folders, matches videos to their settings files, and prioritizes render-critical parameters in the comparison view. No dependencies beyond Chrome and Python. Located in tools/Deforum_Compare_Portable.
The README includes a best practices section on samplers, strength ranges, cadence tuning, LoRA stacking, and model selection based on extensive testing across thousands of renders. Contributions and corrections welcome.
Can split this into smaller PRs if preferred.