Skip to content

UI improvements, settings workflow, compare tool, and documentation - #989

Open
m1llipede wants to merge 32 commits into
deforum:automatic1111-webuifrom
m1llipede:automatic1111-webui
Open

UI improvements, settings workflow, compare tool, and documentation#989
m1llipede wants to merge 32 commits into
deforum:automatic1111-webuifrom
m1llipede:automatic1111-webui

Conversation

@m1llipede

@m1llipede m1llipede commented May 26, 2026

Copy link
Copy Markdown

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.

Brian and others added 30 commits May 23, 2026 07:59
…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 and others added 2 commits July 25, 2026 19:33
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant