Commit Graph
2 Commits
Author SHA1 Message Date
digital-garbage ac0864e94f fix(editor): the render gains stay in Settings, they just stop being project state
Untying them from the project file was the ask; taking the dials away was not.
The six rows are back in Engine Settings exactly as they were.

What stays from the previous commit is the part that answers the ask: they are
stripped from sampler_inputs on load, so a dial moved in a session applies to
that session and the next open reads the key — or the defaults when no key is
active or the key files have been deleted.

Tests: 1777 python, 68 JS.
2026-08-26 19:09:08 +03:00
digital-garbage 48134120a1 fix(editor): the learned render knobs are key-scoped, not project state
Asked twice, and the first fix answered the wrong question. Clearing a dial on
its default stopped the value being STORED, but it was still a project field —
so deleting every refinement key left the old behaviour applying, and the only
way back was typing the neutral value in by hand.

These knobs are learned from ratings and live in the key's own state. A copy in
the project file was a second source of truth that outlived the key it came
from. So:

  - h3_gain_mode / h3_gain_video / h3_gain_prompt / h3_gain_audio /
    h3_prompt_scale / h3_taste_bias are stripped from sampler_inputs on project
    load, so a project that already carries them heals itself on first open
    rather than needing a hand-edited JSON;
  - they are no longer offered in Engine Settings at all, because offering one
    writes it back the moment it is touched — which is how the second copy got
    there;
  - with no key active the sampler already returns neutral, so deleting the key
    files now genuinely resets the behaviour.

Still widgets on the NODE: a raw ComfyUI graph with no Refiner in it drives
them by hand, which is what h3_gain_mode 'manual' exists for. Key-scoped means
not in the project, not removed.

Tests: 1771 python (+15), 68 JS.
2026-08-26 19:04:33 +03:00