power_lora_dom.js existed because a canvas custom widget could not repaint
itself inside core's WidgetLegacy wrapper, so toggling a lora or nudging a
strength changed the value with no visible feedback. Frontend 1.48.7's
WidgetLegacy.vue now assigns `widget.triggerDraw`, documented in litegraph's
widget types as the compatibility hook for "widgets implementing the draw
method when displayed in non-canvas renderers". That is the missing piece, so
the parallel 528-line DOM implementation is no longer needed.
- mxd_nodes2.js: add redrawWidget()/redrawWidgets(). Optional-call triggerDraw,
so both are no-ops in classic mode and on frontends that lack it.
- MxdBaseWidget.mouse(): repaint after every pointer event. Also fix its
"pointer left the widget" test, which compared node-relative bounds against
row-relative coordinates under Nodes 2.0 and swallowed clicks.
- power_lora_base/loader: repaint on the mutations that happen outside a
pointer handler — slot menu, toggle-all, async lora info, Show Strengths.
- Delete power_lora_dom.js, mxd_power_lora.css, and the MXD.PowerLora.RowStyle
setting. None of them were ever published, so no workflow or setting breaks.
No Python touched; harness still reports 65 nodes identical.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Trims the pack to its core: 77 nodes -> 67. Schema re-baselined intentionally
(scripts/node_schema_baseline.json committed with this change).
Moved to their own repos (each a working standalone pack):
- Live-Preview-MXD all live-preview code, incl. the taeltx LTX 2.3 decoder
- Prompt-Library-MXD the 3 prompt-library nodes, storage path unchanged
- Spell-Check-MXD a standalone copy of the spellchecker
- Dump-MXD tiled video upscale, FFGO, Krea 2 Sage Attention, and the
abandoned LTX2 lora loader
Removed here (10 nodes): Combine 2 Images / Fore + Back FFGO, Krea 2 Sage
Attention, LTX2 Lora Loader, LTX Preview, the 3 Prompt Library nodes, and both
Tiled Wan 2.2 Upscale nodes.
Also removes the `ltx_preview` widget from both LTX samplers. It was the last
widget on each, so saved workflows lose it without shifting any other value,
and Live-Preview-MXD previews every sampler with no widget to set.
Spellcheck deliberately still ships here as well as standalone. Both copies
claim window.__mxdPromptSpellcheckActive, so installing both attaches it once.
Other:
- Add MIT LICENSE. pyproject.toml already referenced a LICENSE file that did
not exist; pyproject itself is untouched, so this does not trigger a
registry publish.
- Gitignore CLAUDE.md, AGENTS.md, .claude/ and TODO.txt as local working
notes. The files stay on disk, they just stop being pushed.
- Delete TODO.txt (both items are resolved by this change).
- Drop the now-dead addDomLtx2StrengthRow helper and its CSS.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- web/lib/: the shared rgthree-derived layer (mxd_* utils, dialogs, api,
runtime) + its CSS, moved as a unit.
- web/nodes/: one extension file per node/feature, _mxd suffix dropped.
- web/vendor/zip_loader/: vendored zip import addon.
- index.js explicitly imports every module; loraloader_mxd_entry.js
folded into it and deleted.
Power Lora Loader merge: new web/nodes/power_lora_base.js holds the
shared node machinery, header row, and single-strength lora row widget.
power_lora_loader.js (dual model/clip strengths) and
ltx2_power_lora_loader.js (per-layer strength rows) are now thin
subclasses (~450 duplicated lines removed). Serialization formats,
widget names, extension names, and node targets unchanged.
better_combos.js scoped to MXD latent loaders only: removed the
pysssss CheckpointLoader/LoraLoader patching (already disabled behind
ENABLE_PYSSSS_NODE_ENHANCEMENTS=false, so provably inert), the dead
' MXD' alias config entries, and the no-op refreshComboInNodes wrapper.
scripts/check_web.py clean; node schema unchanged (68 identical).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Deleted the help_popup.js module and its dependencies (marked.min.js and purify.min.js), and removed its import from index.js. This cleans up unused code and dependencies related to the help popup feature.