Commit Graph
64 Commits
Author SHA1 Message Date
digital-garbageandClaude Sonnet 5.5 b6319c51c4 fix: forget fires only once the first run is queued, one owner per Generate; velocity bias banks likes only, mixed sizes import, says when no structure step, refuses windows/second-order/negative-only calls
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 16:34:03 +03:00
digital-garbageandClaude Sonnet 5.5 6e37dc36ef feat: velocity bias module (liked clips' motion at the structure step, rotated in size-kept)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 16:27:30 +03:00
digital-garbageandClaude Sonnet 5.5 c4e5ceac64 fix: momentum leaves second-order samplers alone and says so; nudge at strength 0 only learns; more tests
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 12:16:26 +03:00
digital-garbageandClaude Sonnet 5.5 632a61e224 fix: momentum step size exact on plain latents too, refuses context windows in words, restarts by step index, skips last step/probes; nudge says bf16 loss and step-unknown, similar-prompts never reads the negative prompt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:57:43 +03:00
digital-garbageandClaude Sonnet 5.5 ca2d23b3b1 fix: momentum memory per window/call, probes and the last step excluded, exact v4 step size, freed after the run; prompt nudge keeps the sound's channels, v4's absolute strength, teaches only the positive prompt, says when it never acted
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:49:47 +03:00
digital-garbageandClaude Sonnet 5.5 1e7899854a feat: taste prompt nudge (embed guidance): free late-step shift of the prompt words toward the liked direction
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:40:34 +03:00
digital-garbageandClaude Sonnet 5.5 8f1ce2a1fe feat: momentum guidance module (running-average direction blend below a noise level, carried into the next step's input)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:37:22 +03:00
digital-garbageandClaude Sonnet 5.5 397f36014a fix: loop roll failures reach the guard (recorded, dropped, call rerun); sampler keeps an empty fault record
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:34:36 +03:00
digital-garbageandClaude Sonnet 5.5 6ac6acf612 fix: loop only catches its own roll (model errors pass, no double forward); fault record rides model_options so stock clones keep it
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:29:50 +03:00
digital-garbageandClaude Sonnet 5.5 4d82d199e9 fix: unet-wrapper guard passes model errors through and falls back to the earlier wrapper; identity key outside the modifier prefix; loop roll shared by a step's calls; loop+windows and dropped window keywords said
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:21:54 +03:00
digital-garbageandClaude Sonnet 5.5 639b29e697 fix: LTX temporal styles scaled nothing (core hands the wrapper a bare frame_rate); identity transfer on guided latents; context-window overlap cut below the window; fault record survives model clones
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:08:28 +03:00
digital-garbageandClaude Sonnet 5.5 bc8631f683 feat: LTX temporal style (frame-rate styles, pulse, rapid, Mobius loop) as a model module; unet-wrapper guard
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 10:52:41 +03:00
digital-garbageandClaude Sonnet 5.5 a51faa729b feat: LTX modules — video->audio coupling, context windows, identity transfer (Best-FaceID); TinyLTX real-model fixture; ltx_av trait
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 10:48:36 +03:00
digital-garbageandClaude Sonnet 5.5 587fef3876 fix: module control — off/quarantined modules' values are not checked, repaired means loaded not just edited, quarantine holds when the file cannot be written, cache keys follow it
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 03:06:50 +03:00
digital-garbageandClaude Sonnet 5.5 1724e94c2d feat: module control — switch a module off per project, and a module that fails stays off across runs until repaired or turned back on (Settings > Modules)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 02:59:57 +03:00
digital-garbageandClaude Sonnet 5.5 fd236a6e97 fix: phrase probe re-installs when its switch flips (cache key), sits innermost so other features' extra forwards are not measured, panel keeps peaks; enhancer reads Qwen-style tokenizers, chat comments key on the typed prompt; scenes get eff_frames/eff_fps
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 15:35:37 +03:00
digital-garbageandClaude Sonnet 5.5 28339e9fec feat: dislikes name what went wrong (bad image / bad composition); composition learners and DynaShift read the other axis as neutral; picker labels reach the taste store
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 15:23:24 +03:00
digital-garbageandClaude Sonnet 5.5 8be3770080 feat: H3 tiled and X2 Detail VAE decode, phrase probe with Settings panel
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 15:17:03 +03:00
digital-garbageandClaude Sonnet 5.5 e720055f65 fix: camera move never says both active and inactive; late-branch returns the model's own answer if mixing fails
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 10:18:46 +03:00
digital-garbageandClaude Sonnet 5.5 66337e24c5 fix: shot memory blends a CPU-stored shot into GPU noise; learners also capture on the last step; multi-call clears the capture
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 09:59:09 +03:00
digital-garbageandClaude Sonnet 5.5 f41136e3e0 fix: learners teach only from pushes that were felt, per setup; sla counter ignores throwaway calls; camera frame change; shot memory amount 0
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 09:44:24 +03:00
digital-garbageandClaude Sonnet 5.5 4b9d92a5dd feat: late-branch guidance, STAS, camera move; shared rated_dial learner
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 09:22:22 +03:00
digital-garbageandClaude Sonnet 5.5 233c5c1f78 feat: shot memory (starting noise remembers liked layouts)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 09:15:07 +03:00
digital-garbageandClaude Sonnet 5.5 4bdf1b7295 feat: decisiveness (temporal score rescaling), learned or manual, carried into the next step
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 09:13:30 +03:00
digital-garbageandClaude Sonnet 5.5 2686367705 fix: block-influence problems reach the panel whatever key it shows; midpoint calls no longer called inactive
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 04:32:37 +03:00
digital-garbageandClaude Sonnet 5.5 93998e3656 fix: block influence says so with no key, banner scoped to its key and cleared; steer reports per run
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 04:24:58 +03:00
digital-garbageandClaude Sonnet 5.5 01f584a23e fix: clear answers for its own key; block-influence problems shown in the panel; repeated-sigma schedules blamed correctly
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 03:47:02 +03:00
digital-garbageandClaude Sonnet 5.5 54fc8df9d6 fix: clear/export act on the exact key shown; multi-call samplers declared; guards covered by tests
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 03:37:40 +03:00
digital-garbageandClaude Sonnet 5.5 313d703846 fix: input steer reports reach not size, resets per run; block influence validates before toggling, finds the real key
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 03:24:03 +03:00
digital-garbageandClaude Sonnet 5.5 7dab350961 feat: rating-driven steering rides into the next step's input (core/input_steer); block influence probe
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 03:13:44 +03:00
digital-garbageandClaude Opus 5.5 6acfd7e27b test: cancel test runs the real sampler at the end of the chain
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 19:10:23 +03:00
digital-garbageandClaude Opus 5.5 3c187bda8a feat: first-step seed search; ALG passes the sampler call on instead of skipping inner wrappers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 19:08:02 +03:00
digital-garbageandClaude Opus 5.5 0bb7e3a01a fix: H3 picture found in the packed model output; latent steering was off on every real run
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 19:01:13 +03:00
digital-garbageandClaude Opus 5.5 169e8a6a1e feat: taste slider leans late steps toward what liked prompts share; similar-prompts option
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 18:58:07 +03:00
digital-garbageandClaude Opus 5.5 f99944e5e4 fix: DynaShift and taste guidance read the step from ComfyUI's positional call; they never steered
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 18:53:51 +03:00
digital-garbageandClaude Opus 5.5 895a61e8d3 feat: taste guidance + early taste guidance steer by a judge learned from ratings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 18:41:02 +03:00
digital-garbageandClaude Opus 5.5 78e5459422 fix: learning features read new ratings every run, not once per cached node
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 18:37:09 +03:00
digital-garbageandClaude Opus 5.5 b831372879 feat: DynaShift steers late steps away from disliked clips, banked on the taste key
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 18:34:16 +03:00
digital-garbageandClaude Opus 5.5 53cbc29948 feat: taste steering + taste attention learn from ratings; a failing wrapper no longer re-runs sampling
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 18:31:10 +03:00
digital-garbageandClaude Opus 5.5 3cd0c1e00a fix(v5): block repeat and shadow negative sample with the model compiler off
Both replace what a block allocates, which crashes aimdo's compiler (seen on a
rental with v4's shadow negative). Attached to the model, so any sampler.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 17:59:18 +03:00
digital-garbageandClaude Opus 5.5 5787190b3f feat(v5): H3 second pass as graph -- upscaler loader, latent resample, typed pass-2 schedule
H3's latent upscaler loads through the H3 module (ComfyUI's loader has no
branch for it); an upscale resizes H3's anchor pin so pass 2 stays pinned.
FunPack Sampler takes an optional wired schedule, run exactly as written.
New preset: H3 Reference to Video + second pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 17:49:39 +03:00
digital-garbageandClaude Opus 5.5 56490ec769 feat(v5): ALG loosens H3's pinned opening keyframe
The H3 module offers anchor_pin, so ALG blurs the pin's latent without
learning H3's payload layout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 17:37:49 +03:00
digital-garbageandClaude Opus 5.5 9dcb8b0f63 feat(v5): video detail module for H3 -- picture only, sound bit-identical
core.patching.strip now also removes our object patches, so a feature switched
off does not keep its patch on a model that goes round again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 17:36:10 +03:00
digital-garbageandClaude Opus 5.5 dc4d81be60 feat(v5): shadow negative module for H3 -- actually runs now
v4 read the prompt length from transformer_options['c_crossattn'], which
ComfyUI never sets, so every block fell back to stock. It also stood down on
any i2v scene (per-token mod rows). Both fixed; tested on a real tiny H3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 17:34:54 +03:00
digital-garbageandClaude Opus 5.5 c3ad0dfd79 feat(v5): randomizer and block repeat modules for H3, on shared chainable block hooks
Block repeat's video-only mode now really keeps audio single-pass: H3 blocks
write in place, so v4 restored audio from an already-repeated stream.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 17:29:42 +03:00
digital-garbageandClaude Sonnet 5 776529e0d8 feat: assign category to every remaining module
The port plan calls for every module under modules/ to declare a
CATEGORY so Settings/Engine panels can group by it. Only alg, sharpen,
appearance, and full_control had one; the other 12 (loaders, empty
latent, media load, minimax_h3, output decode, sampling modifiers/
sampler, system pipeline) are plain infrastructure with no user-facing
settings dial, so they land in "system" except output_decode (post,
matching its STAGE) and the two sampling modules (sampling). Verified
against core/tests (548 passed) -- category validation and the
registry's field-mapping catch a typo here, per the earlier fixture-gap
fix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 09:46:58 +03:00
digital-garbageandClaude Sonnet 5 29ac44ffcd feat: v4 UI port Phase A start -- module categories, legacy frontend served live
Two pieces of the "port v4's exact UI onto v5's backend" plan:

- core/contract.py: new optional ModuleSpec.category field (closed set:
  continuity, guidance, conditioning, sampling, post, system), validated in
  core/schema.py, threaded through core/registry.py's FIELDS and
  to_manifest(). Presentation grouping, independent of STAGE (execution
  order) -- a module can be stage="sampling" and category="guidance" at
  once. Only the 4 existing modules that actually render a settings panel
  (alg, sharpen, appearance, full_control) got a category assigned; the
  other 12 have none to categorize (no SETTINGS block) and stay
  uncategorised, which is valid.

- v4's frontend (movie_editor/frontend/*, ~29k lines, 61 files) copied
  verbatim into app/legacy/. core/routes.py's "/" route now serves
  legacy/index.html instead of the composer entry point; a <base> tag in
  that file resolves its own relative script/link tags against
  /funpack/app/legacy/ regardless of what URL it's served at, so every
  file moved as a unit with zero per-file path edits. Verified live: all
  61 assets load 200 OK, the real v4 onboarding screen renders pixel-for-
  pixel (it's the actual DOM/CSS, not a reimplementation), and several v4
  API calls (/api/media, /api/projects, /api/git/status) already succeed
  against v5's real backend by coincidence of shared route naming -- the
  rest 404/405 as expected, since api.js's ~90 functions haven't been
  rewired to v5's actual routes yet (next piece of this plan).

The old composer entry point (app/index.html, app/composer/**) stays in
the tree, unreferenced, until a later cleanup pass once nothing imports it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 23:58:51 +03:00
digital-garbage 1b0f489950 core, app: what the panels hold now reaches the run
Every module panel was decoration. The values lived in the browser and
nothing sent them, so a modifier switched on was one the run never heard
about. They now travel with the pipeline on every check, and core places
them wherever a module says they belong -- announced, not known, so the
node that carries them is not privileged.

Settings with nowhere to go are said beside Generate rather than
swallowed, and the warning survives the run it is about: the status line
is redrawn by every message, so a warning put there was gone the moment
the run said Queued.

Also: a settings row in a docked panel squeezed its label to one word per
line, because the control keeps a 140px floor and took it out of the
label. Below the width where they fit side by side, they stack.
2026-08-30 20:16:46 +03:00
digital-garbage 65b35e9cf3 log: one function for "it loaded and then broke", said in six places
The wording fix a commit ago was written by hand in two files and the same
mislabel was still sitting in four others -- traits, chain, modifier install and
node schema all reported a thing that loaded, recognised its work and then
raised as one that "did not load", sending a reader after an import error that
never happened. Three hand-written strings would have drifted, so log.broke()
now says it once and every site calls it.

Two of the new tests were vacuous when first written -- "nothing said did not
load" is also true where nothing ran at all, and picking the first provider
found lands on one whose traits exclude the test's model. Both assert the line
is present before asserting the wrong line is not.

One finding, confirmed, plus four sites it did not name.
2026-08-29 23:21:23 +03:00
digital-garbage bcee7607a2 foundation: a modifier offered where its own maths cannot run
Detail declared no traits, which read as "works on everything" and meant "is
offered on everything and drops itself on half of them". Core's unsharp mask
pads in two dimensions and raises on anything with more, so on a model with a
time axis the toggle was present, switchable, and inert -- a knob that does
nothing, which is the fault this project has shipped once already. It now
declares spatial_latent and is absent where it cannot work.

The guard's regression case survives, because the guard is not about a module
being wrong about itself: a hook meets the tensor it was handed. The stub model
now announces a latent rank, without which every trait-declaring modifier was
filtered out and those tests passed by installing nothing at all.

Round seven, one finding, confirmed in part -- the maths is deliberately not
being fixed, the advertisement was the defect.
2026-08-29 22:49:23 +03:00