mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-11-13 17:08:20 +00:00
fix: touched by step flag issue
This commit is contained in:
@@ -58,12 +58,12 @@
|
||||
`$derived.by`; ручной сброс `maskResults = {}` в `init()` удалён — derived
|
||||
пересчитывается сам по смене `steps`/`source`/`maskOnKeys`.
|
||||
|
||||
### M2. `init()` в эффекте не сбрасывает часть состояния
|
||||
### M2. `init()` не сбрасывал часть состояния — СДЕЛАНО (2026-10)
|
||||
|
||||
`SchemaToolView.svelte:514-516` + :218-254: `$effect(() => init())` —
|
||||
синхронизация состояния по смене пропсов (анти-паттерн из документации Svelte
|
||||
5). При этом `touchedByStep` (:105) и `lastAxis` (:107) в `init()` не
|
||||
сбрасываются — при смене хоста остаются метки от прежних ключей шагов.
|
||||
`SchemaToolView.svelte`: `init()` теперь очищает `touchedByStep` и `lastAxis` —
|
||||
метки от ключей шагов прошлого хоста больше не протекают в новую цепочку.
|
||||
Переработка самого паттерна `$effect(() => init())` — часть H1, отдельно не
|
||||
делалась.
|
||||
|
||||
### M3. `SchemaPreview.svelte` — интерфейс из ~40 пропсов
|
||||
|
||||
|
||||
@@ -275,6 +275,10 @@
|
||||
verdictVars = undefined;
|
||||
displayError = null;
|
||||
maskOnKeys.clear();
|
||||
// Marks are keyed by step.key from the previous host; keep them and
|
||||
// stale keys leak into the new chain's fields.
|
||||
touchedByStep.clear();
|
||||
for (const k of Object.keys(lastAxis)) delete lastAxis[k];
|
||||
}
|
||||
|
||||
function setStepValue(
|
||||
|
||||
Reference in New Issue
Block a user