Viewers could not find the plugin after installing. README install step 2 now has a picture
(both languages) of the cube button at the canvas's top left and the C menu path
Extensions -> Anomalous Model Browser -> Open / Reset floating entry position, and says how
to make the entry easier to spot (labeled pill, large, or the top action bar); a line under
the language links points there.
Taking the picture showed the cube covering the C menu's "New" row: it sat at z-index
2147483000. It is now 1000: over the canvas and its tool layer (999), under the top bar
(1001), menus (PrimeVue, about 1800) and dialogs. Checked on the test ComfyUI.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every page in both languages, all themes and at 480:
- Give the window its own text colour: text with none took ComfyUI's, white on the light theme (Tidy headings and file names, the site chip).
- Keep a task's link chip in its row, its x in reach, and colour the next-task chip.
- Let choices in Settings wrap, the Models search shrink, and a workflow's preset row go to two lines.
- Add --amb-on-link for text on the accent: pale in the dark themes, so white was hard to read.
- Lists and colons follow the language (listSeparator, wordColon); tests/words_in_language.mjs keeps it so.
- Right plurals in English, "AI" on the rail, one line left in Chinese translated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Current node now reads what combos hold for the node's type: every box of
a node structure, by name, and a plain combo's prompt on a prompt box. They
get a chip of their own, a press goes to the combo, and the values go in
only on the user's press, as with the other sets (AD-021).
The rail's tools go by how often they are used: Current node, Model Check,
then the scan, and the tour follows.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A line per source with an Open link made the cards too dense. A set now
has a chip per channel (workflow, picture, saved here), each its own
colour: a press goes to the one source, or lists several by name first.
A name no longer repeats the node's type.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Types go by their usual names, base model chips narrow the list, the
version stands apart from the name, and a model's versions are one card
whose version opens the list to show another; a pick goes with it. The
grouping, the families and the type names are the Models page's own.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Anima loads through other nodes than a checkpoint, so none of the examples
could open on it. Two passes now comes in three versions: SDXL / SD 1.5,
Anima on ComfyUI's own nodes, and the recommended Anima held by Tile, the
way's tested values, kept in step by a test. The own-nodes version redraws
at 0.35: at 0.5 the shapes began to move with nothing holding them.
The window shows plans, versions and notes. A version that lacks a pack
or a model says what and has no Open button; an AI only gets those that
can run here. The layers of cards, examples, ways and skills are written
down as AD-025.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ways: "Use it this time" in the Ways view, for one task. It joins the
task's picks as a new kind, the AI is told, and add_nodes builds that way
for its use whichever one the AI asks for. "Only" lets in the nodes a
picked way builds.
Examples: text to picture, two passes, picture to picture and repainting
an area, on ComfyUI's own nodes. One card, first on the Workflows page,
opens them in a tab of their own. The files name no model or picture; a
checkpoint and a picture that are here are filled in when one is read.
list_workflows gives them to an AI when no saved workflow fits, and they
open and run by name like saved ones.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It said "waiting for an AI" three times and kept two folds that did what
the message box does. Now it is the sentence and its Copy button, in the
middle of the column; what to say first and pictures go in the message
box, whose words say so. The connect card comes first until an AI has ever
come, and is gone after that. The wish line, the big gallery fold and
what only they used go with it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Follow-ups hang one step in under the first task of their line, so the
list shows what goes on from what; a filter's tasks still show alone. Each
row has the head's menu, without opening the task. Removing a task joins
those after it to the one before. The pick list now stands over everything
at the place the menu opened: the head is drawn anew under an open menu.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Inserting took a round per LoRA. The picker now gathers them: click to add,
click again to drop, the number on a card is the order they go in. They go in
as a chain of ComfyUI's loaders, or through one Power Lora Loader or Easy-Use
stack where installed, all or nothing and as one undo step. Third-party nodes
change height just after they appear, so they are placed, and the step taken,
once they have settled. New nodes stand in one column and the view goes to
them when a crowded canvas leaves them out of sight.
Fixes the CLIP line going missing for a LoRA inserted before a sampler with a
LoRA already there: that LoRA counted as a prompt node, so there seemed to be
two CLIP sources.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Opening, closing and changing pages jumped; now they take a short
transition. Styles alone do it, since a dozen modules open the window:
anything leaving display: none starts its animation. The rail's highlight is
one piece that slides between the entries. Going between docked, floating
and full window lays the page out once and moves only its picture, where the
docked rule used to animate the width and lay it out on every frame.
Only opacity and position move, and all of it stays off under reduced motion.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drag the right edge from 480 up to leaving 240 of the canvas; the width is
remembered and a double-click restores 660. The limits live in the CSS, so
they hold when the browser window shrinks too.
Going through every page at 480 turned up what this needed:
- Workflow cards shrank into strips instead of the list scrolling: a card
clips its content, so plain grid rows fit the height.
- The Prompts page's own columns beat the narrow stacked rule, leaving half
a page empty, in a narrow floating window too.
- The Models header pushed the close button out.
- The Workflows bar only wrapped on a small screen, not a small window.
- The AI tabs kept a gap for their hidden icons and wrapped.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With the list a drawer over the task, Esc closed the whole window while the
drawer was open. It now closes the drawer, and the window on the next press.
The task's back button left the Esc list: from the task it would only reopen
the drawer, and Esc could never reach the window.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Filling the page, the list read as a page of its own rather than the records
of conversations. It now slides over the task shown, which stays visible and
dimmed beside it; a click there goes back. With no task it still fills the
page. The welcome page moved to ui_ai_ready.js to keep the workbench under its
size limit.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With no room for the side column the AI page showed a row of bare icons in the
title bar, and two tabs that changed under the user. It now shows labelled tabs
over the task, the timeline and every view, kept in the head while the
timeline scrolls, and words that named a right side say what they do. One
function gives both strips, in place of tabBar.
On a wide window the Prompts page left two thin boxes over empty space: the
boxes now share the room, side by side and full height, with wider cards. The
Saves page puts its cards side by side like the workflow cards and says how
many canvases and saves there are.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Walking through the AI workbench as a user: the task head held nine loose
controls that wrapped to four or five lines with the side column open. It is
now two lines whatever the width, with rename, privacy, links and remove in a
menu. The stages and what a task made share one line over the timeline, a
failed step is a mark instead of red text, New task opens at once, and a
missing label in the Ways panel is filled in.
The walk also caught AMB not starting at all on one page load. ComfyUI imports
every script under web/ on its own and at once, so any module of the big import
cycle can run first; ui_ai_workbench.js wrote to a const of ui_ai_results.js as
it loaded, which failed when that module was entered first. The value now
lives in a module that imports nothing, and tests/module_cycles.mjs refuses
the pattern.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A walk through the whole flow, as a user would, showed what felt wrong.
The folded bar floated over the canvas: it is now a handle on the canvas's
bottom edge. The bar lives in the canvas's panel, so the logs stay uncovered
and it wraps before going under ComfyUI's canvas tools; it holds the newest
six saves, the rest behind a button to the Saves page, instead of growing
into a block. A lit number now means the canvas stands at that save, going
dark on any change or undo. Words float over the bar and leave with the runs,
and on the page a kept card is a toast and runs show on their own save, so no
button moves under the pointer. Removing a save tells the next one what it
changes now, and the Saves view says the way back to the cards.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A save's line had a scrollbar under its pictures, and long change words had
one too. The line now holds what fits and folds the rest into a last +N tile,
refitting when the window changes. The tile, or the save's menu when all fit,
opens all its pictures as the gallery's own cards, in the list's place until
Back or Esc. Cards take their pictures from an option, so stepping, delete
and compare stay inside the save; the Gallery page passes nothing and works
as before. Change words stop at four lines, the rest on hover.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pictures dropped to a line of their own under the save's words, and a
thin line was all that told one save from the next. Each save is now a card:
what changed, its runs and buttons on the left, its pictures in a line on the
right, going under them only in a narrow window. A picture opens View
Parameters too, and the arrow keys step through all of that save's pictures.
The part sets its own text color, which light themes were missing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Presets, combos and Add to saves took more to keep sensible than they gave,
so a save now only becomes a new workflow card and only the canvas makes one.
The panel above the bar moves to the Saves page, a part for each canvas, open
or not, with each save's pictures and its runs: the whole group in order, or
one save alone. Running moves to snapshot_run.js for the bar and the page;
what is clicked goes in in click order, and closed canvases run too.
A run taken off ComfyUI's queue is now forgotten at once, so "runs to go" does
not stay wrong for a day. A first save on an unsaved tab now reaches ComfyUI's
draft of it, so a reload right after keeps the tab's saves on it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A save copies to a workflow card, a preset of a card with the same structure, or a
combo; a card's preset can join the open canvas's saves. The Workflows page lists
every group, so saves of a closed tab or a deleted file can be opened again, on a
new tab where the group goes on, or removed. A card keeps no key of a canvas's saves.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Saves move from the page to a store (api/workflow_saves.py), a group for each
canvas, found by a key in the workflow's extra or by its file, and go into
backups. The bar follows the open tab. A save's runs are named to the server, which
finds their pictures in ComfyUI's history, so a reload during a run loses nothing.
A save opens above the bar with what it made and what changed; removing one goes to
the Recycle Bin, and a group past its most takes no more and drops nothing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ComfyUI-Manager wraps app.graphToPrompt and drops the graph, so every run and
the check before it compiled the canvas: same seeds, nothing of the later marks.
A result that is not the copy's is now made by ComfyUI's own method.
Going back is one of ComfyUI's undo steps, so Ctrl+Z returns to the state left
behind. A save can also open on a new tab, the empty canvas's menu and a + on
the bar keep one, and marks show as saves, runs counted as runs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A node's "Mark this state" keeps the serialized canvas as a mark in a bar
under it. A mark's number goes back to that state, each has its runs, and
seeds are Random or Locked (one per round, shared by the marks; a fixed
seed alone would come from ComfyUI's cache). Run checks every mark with
validate_prompt first, then compiles detached copies with their seeds
written, so the canvas and its seeds stay as they are.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With two main models picked, ask_user(routes=true) shows the routes this
ComfyUI can build for them, each with what it does to the picture and a
sample, a saved card using both first; the answer says what to call, and
add_nodes(route=...) builds the route from the ways on a new tab, the LoRAs
on each model. get_toolbox lists each model's cards as its examples. A way
counts as ready when a family variant has what it needs. An AI placing
nodes itself is a new route: one reminder a task, or with the new gate the
user's OK.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Three fixes from the user's use of the current-node panel:
- ⇄ Compare on a saved set listed the whole workflow's values. It now
compares that node alone: a copy of the node holding the set's values,
nothing wired, against the canvas, under the node's id so the two pair
(a set's workflow numbered otherwise, with two prompt nodes, paired
neither). compareParams takes `only` for this; the comparison window
takes `nodeId` and leaves out the structure badge. Every set can now be
compared; the unused "could not read the set's workflow" text is gone.
- The Change model picker drew cards of its own: full-size covers and
videos without a still, so most showed blank, and only file names. It
now shows the models page's card face (modelCardFace, split out of
ui_grid.js): the cover thumbnail, a video's still until pointed at, the
base badge, version, readable name and file name; "current" and the
chosen outline stay. Versions are not folded. Its type and base chips
and their texts are gone.
- In the generated-pictures gallery (current node, View all), once
scrolled, "Close gallery" opened the picture scrolled up under it:
Chrome's hit-testing again (lessons.md). Its scroll box and the
picker's card area get clip-path: inset(0).
Checked in an isolated ComfyUI: the prompt node's compare lists only its
text; the picker shows covers and names, selects, replaces; the models
page's cards keep their buttons and open the details; a 13-step scroll
of the gallery leaves every click on the close button. Full suite and
structure check pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The tab labels in the title bar folded to icons only when the browser
was under 1100 px. Docked, Anomalous is 660 px wide in a wide browser,
so the six labelled tabs pushed maximize, dock and close out of the
window. A container query on the Anomalous window folds them instead.
Checked in an isolated ComfyUI at 1600 px: docked (660 px) and the
narrowest floating window (600 px) show icons and all four buttons.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The left column is gone. The details are one column: the flow, a row of
tabs under it (the workflow's own values, each preset with how many
values it changes, + to save the canvas or copy the one shown, all
pictures and versions at the end; it stays in view while the panel
scrolls) and the tab chosen in a panel joined to it.
The flow is small and shows only the structure: the stages in the order
they run, then the finishing nodes and the saves; above them one lane
each for the model files, the LoRAs and the control models, each a bar
over the stages it feeds (recipe_flow.flowLanes, tested). Steps, splits
and strengths moved into the boxes' tooltips; the legend and the hint
line are gone. What the preset shown changes from the workflow's own is
orange, and its head says how many values that is. A box's values open
under the flow only once one is picked, with x to close.
The set rows' key-value chips went with the column; the tabs count the
differences with ui_param_set_keys.setDifferences. Remaining "方案"
labels in the preset menus now say 预设.
Checked on the isolated test ComfyUI with the two-pass Anima card: each
preset marks the right boxes, the inspector, the + menu and its editor,
all pictures, versions, sticky tabs, and the narrow (docked) layout.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The flow now reads the whole graph: the model files and LoRAs (strength, the stages they
feed), control models above the stage they guide, finishing nodes such as ColorMatch after
the samplers. A stage the shown values do not run (a split's empty part, a bypassed sampler)
hangs dashed beside a straight line and no longer counts as changed when only its model
changed. Every box opens its node's values below, changed ones against the workflow's own,
and an unused box names the presets that use it. The in-flow preset row is gone; the left
column already lists them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A workflow card's details now begin with its flow, in the look of a
stage diagram: one box per sampler in the order they run (base picture,
goes on, enlarge and redraw), each with the main model it is fed
through LoRAs and patches (+ Tile for a Tile LLLite), its steps or the
part of a split it runs ("Not run" when none), the enlargement and the
redraw strength; then the saves. Under it the default and each preset;
the one shown is lit and the stages it changes are marked. The stages
are read from the saved graph alone (recipe_flow.js, pure, with
tests/recipe_flow.mjs); the drawing is ui_recipe_flow.js.
"参数方案" / parameter sets are now 预设 / presets everywhere on screen
(the term table in ui-flows.md lists the old word as retired). "Hand it
to the AI" moves from the bar to the preset's own actions and hands the
preset shown ("workflow / preset"), which run_workflow already applies.
Checked on an isolated ComfyUI with the verified two-pass Anima card:
the default, the "upscale on Realskin" and the "switch mid-way" presets
each mark the right stages and show their models and steps; the hand-off
sentence names the preset. Full suite and structure check pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AMB only uses: training goes to its own plugin. This takes back the
record of what works (api/ai_evidence.py), the training network and
rounds (api/ai_training.py, ui_ai_network*.js, the round form), the
Gates' record switch, the ways' order by record and the external_skill
field of log_outside that only fed the record.
Kept, as part of using AMB:
- the user's word under a finished run, now only told to the AI
(ai_run_control.set_verdict, ui_ai_verdict.js);
- the Gates' "Custom nodes: only the ways'" rule;
- a picks block left to the AI takes its recommended picture.
Reverts 73518dc, 67bf5b2, 6647b05 and 49d05cf, then puts those three
back with tests in test_ai_run_watch, test_ai_gates and test_ai_panels.
Full suite and structure check pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The side switch's training network now opens over the whole AI
workbench: numbers on top, a filter by kind, a graph or a table with a
cell per pair, and a detail column listing each run of a pair (model,
AI app, judgement, pictures, task), a base model's models and the
training rounds. New GET /anomalous/ai_training/runs; the network data
adds each model's runs and the rounds.
Not yet verified in the browser: Esc after routing it through the
browser's back buttons. Full test run pending.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The AI workbench's side column gets a training network view: base models
on the left, ways, skills and node packs on the right, a line for each
pair that ran, coloured by how it turned out (the user's word first, else
the AI's, dashed) and as thick as it ran often. A node or line shows its
record, last pictures and the pairs not tried yet in a card kept in sight.
"Start a training round" picks a skill (the AI's prompts with its advice
and without) or the ways of one use, up to four models and the pictures
each, and makes a task for the next AI (api/ai_training.py). Each run that
ends fills the trial it fits by what it used; the AI is told the next trial
and, once a model's trials are done, to compare them in a picks panel with
its own pick marked recommended. The record keeps the AI's pick apart from
the user's, and a picks block left to the AI takes its pick.
Tests: tests/test_ai_training.py; full suite and structure check pass.
Checked on an isolated ComfyUI: a round started from the view, four real
runs matched to their trials with the next one told each time, the
comparison panel and the user's pick reached the record and the graph.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each run the AI starts now counts for the ways it still has, the skills
fetched before it and the custom node packs of its nodes, by the base
model of its main model (api/ai_evidence.py). How it went comes from what
the user does anyway: a picture picked in a picks panel or kept in the
gallery, one passed over, or their word under the run (Turned out well /
Not quite, told to the AI as their message).
begin_task and get_toolbox give the AI the record in a few words, add_nodes
a way's or the packs' own, and add_nodes(use=...) picks the use's way that
did best on the canvas's model. The Ways panel shows each way's and skill's
record by model. The Gates window gets "Custom nodes: Any / Only the ways'",
which keeps the AI to the ways' nodes and the task's picks.
Tests: tests/test_ai_evidence.py; full suite and structure check pass.
Checked on an isolated ComfyUI: a real run was recorded with its model and
skill, the verdict reached the AI, and the ways-only rule refused a custom node.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The compact views set the card labels' padding with !important, so the
room kept for the versions tab was lost and the pin and title slid under it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ai_sealed keeps a private task's prompt text and picture file names behind tokens ([P1],
[img1], task["sealed"]): mcp_server puts the texts back into a call's arguments for the tool
only, and ai_privacy.guard has every result masked on its way out (a node's STRING inputs
by ComfyUI's node list, prompt fields, picture names, any sealed text, also in the text
content). The user's own canvas changes are told sealed. A "prompts" panel block is the
user's prompt box (ui_ai_prompt_box.js): prompts, a negative one and reference pictures from
the gallery or dropped in, answered only from Anomalous, the AI getting tokens; above it the
prompt_pose skill's words for the canvas's model. A new private-only skill, privacy, tells
the AI how to work, and begin_task points a private task at it. Tests plant canary prompts
and picture names in every tool's result and check none gets out.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each task has a lock in its header (task["privacy"]); the Gates window sets the default for
new tasks, and turning the default off pins the tasks it covered. mcp_server hands every
tool result to ai_privacy.guard last, after run pictures and the user's messages were
added, so a private task's image content never leaves; a call tied to no task is private
while the default is on or a private task is unfinished. The card in the AI app shows no
pictures for it, begin_task tells the AI, and turning it on or off is a user step and a
decision. A test calls every tool with a picture in its result and checks none gets out.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It fills the page like Combos but kept a pop-up's border, round corner and dark shadow,
which showed as a grey edge in the light theme.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Like the labels and buttons laid over a picture; it took the light theme's dark text on
its dark background and almost disappeared.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An Anima LLLite in controlnet is not misplaced while the ComfyUI-Anima-LLLite pack
(which reads it from there) is loaded, and identical copies kept one per loader folder
(controlnet and model_patches) are listed as shared, both in use, not as duplicates to
recycle. An IP-Adapter carrying LoRA layers (the Anima IP-Adapter) is no longer read as a
LoRA. The header cache keeps the new "form" field (older entries are read again).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A model with other versions downloaded is one card with a numbered tab on its right edge;
a click slides the versions out beside it, under one accent edge, the tab on the last folding
them back. A pin on each picks the version shown when folded. Open models stay open, and
"Open all versions" opens or folds every one. Replaces the version label menu.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each skill the AI fetches with get_toolbox(skill=...) is a "skill" step of its task
(ai_skills.note_use), with the form its advice came in for the canvas's model; the same
advice again before the next run adds nothing. A run's row lists the skills fetched since
the run before it (ai_task_view.skillsBefore). A skill step never names an untitled task.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Files a scan found on the same Civitai model page (metadata model_id; never a similar
file name) share one card in the model list, the newest version shown or the one picked
last (kept in this browser). The card's version label opens the shared action menu to
switch. The details list the versions here under the name, and "All versions on Civitai"
(GET /anomalous/download/versions, this computer only, asked only when pressed) lists
the page's versions to open or download beside this one, checked by SHA-256, a taken
file name getting the version's name added.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A 20480x13312 upscale is past Pillow's pixel limit, so its card image
failed and the catch-all fallback served the 324 MB original as the
thumbnail: the gallery and the AI workbench decoded it every time.
- A picture past the limit is shrunk once by a child process
(huge_picture.py, low priority, one at a time) and cached; a card is
never a large original, one with no card image gets an SVG with its size.
- /anomalous/output_preview gives the viewers the picture or a cached
4096 px copy of a very large one; the viewer (moved to
ui_gallery_viewer.js), the image workbench's stage and the AI pages'
larger pictures use it, with a note and "Open the original".
- The listing carries each file's size (and big ones' pixel size); such a
card says "Very large".
- The browser-side PNG metadata read stops at the image data.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The two new uses get their headings (换背景·人物不变, 换模型重画); each block's source, how it was tried and its models sit under Details, so a row reads as its title and a line.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Anomalous_TTS issue #2: there was no way to remove a character. Each card
now has an orange Delete character button (also on broken characters);
after a confirm, the node (interface 18, local only) moves the character's
folder to the Recycle Bin.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- api/block_models.json: the 15 models the ways recommend, each with its
Hugging Face / Civitai / GitHub links, size, SHA256 (all checked against the
sites), licence and folder. A block's "models" names its recommended ones; the
Ways panel ticks those here (by name, or by size for a renamed copy) and
downloads a missing one in a click with model_download.downloadFrom, its hash
checked.
- A block's "tested": the card (RTX 4050 laptop, 6 GB), sizes and a whole run's
time, shown in the panel and told to the AI with the block (answer.tested).
- color_lineart gets an Anima variant with Anima's lineart LLLite.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>