In the /create control panel, the Components chapter shows the modified dot and reset button on a pristine load, and clicking reset never clears it.
useSectionStatus('components') (www/src/modules/create/panel/schema.tsx) tests Object.keys(designSystem.componentParams).length > 0, but componentParams is never empty: DEFAULTS.componentParams is seeded with every registry item's param defaults, and decodePreset merges defaults back in. Reset writes componentParams: {}, which round-trips through encode/decode straight back to the full defaults.
Fix direction: diff against DEFAULTS.componentParams (the comparison encodePreset's diffNestedRecords already does) instead of testing for emptiness — matching how every other chapter derives its status.
Found reviewing #511.
In the /create control panel, the Components chapter shows the modified dot and reset button on a pristine load, and clicking reset never clears it.
useSectionStatus('components')(www/src/modules/create/panel/schema.tsx) testsObject.keys(designSystem.componentParams).length > 0, butcomponentParamsis never empty:DEFAULTS.componentParamsis seeded with every registry item's param defaults, anddecodePresetmerges defaults back in. Reset writescomponentParams: {}, which round-trips through encode/decode straight back to the full defaults.Fix direction: diff against
DEFAULTS.componentParams(the comparisonencodePreset'sdiffNestedRecordsalready does) instead of testing for emptiness — matching how every other chapter derives its status.Found reviewing #511.