* Renamed root menu category from 'deepsoch' to 'Deepsoch AI'.
* Added centralized branding module (core/branding.py) holding company,
email, website, and developer info — single source of truth for every
surface that shows contact details.
* Every node now has a DESCRIPTION tooltip (visible in the node search
menu and on hover) ending with the developer signature.
* Added web/about.js — right-click menu on every DeepSoch node now
shows About / Contact / Visit Website entries that open the email
client or the company website.
* README updated with the website row in the developer table.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Rewrote 7 generic presets so they no longer assume a face exists in
the input — removed words like `face`, `portrait`, `pores`, `skin`,
`expression` that were causing Flux Kontext to hallucinate faces onto
non-portrait inputs (e.g. warship / missile images). Each preset now
preserves whatever subject is present and includes an explicit
negative against adding new subjects, faces, or characters.
* Added `Ghibli (Clothes & Hair)` — intentionally face-specific, applies
Ghibli illustration only to clothing/hair while locking the face as a
real photograph and the background as the original.
* Added `Zombie (Game Style)` — AAA-game zombie skin/decay/blood while
preserving original colors and lighting (avoids the desaturated
teal/green grade Kontext applies when game references are mentioned).
* Added sample workflow at workflow/Transform-Image.json showing the
intended Load Images -> Prompt Preset -> CLIP -> sampler wiring.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Scaffolds the toolkit with a scalable layout (src/deepsoch_toolkit
package, per-category node subfolders, shared core helpers, shipped vs
user-writable preset directories) and ships four nodes:
* Prompt Preset (deepsoch/prompt) — checkbox-based multi-select over a
preset library, with select_all toggle and optional custom prompt;
outputs as a STRING list so downstream auto-runs once per prompt.
* Load Images (deepsoch/image) — upload-multi widget with native-style
multi-image preview (grid + click-to-fullscreen, X close, counter
cycling) mirroring ComfyUI's SaveImage UX via onDrawBackground.
* Set Node / Get Node (deepsoch/util) — wireless reroutes implemented
as Python stubs enhanced by JS into virtual nodes; getInputLink /
getInputNode redirect graph traversal through the matching Set.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>