fix: touched by step flag issue

This commit is contained in:
2026-10-09 21:26:43 +05:00
parent 9916955b96
commit d58f6c90be
2 changed files with 9 additions and 5 deletions
+5 -5
View File
@@ -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 пропсов