feat(#93): IMP-55 u1~u12 frontend manual section swap detection (manual_section_assignment bool axis + drag-only marker gate + dual-axis persistence + backend manual-true gate)
Some checks failed
Multi-MDX Regression (IMP-91) / multi-mdx-regression (push) Failing after 9s
Some checks failed
Multi-MDX Regression (IMP-91) / multi-mdx-regression (push) Failing after 9s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -65,6 +65,16 @@ export type ImageOverride = {
|
||||
};
|
||||
export type ImageOverridesOverride = Record<string, ImageOverride>;
|
||||
|
||||
/**
|
||||
* IMP-55 #93 u1 — bool intent marker that gates whether persisted
|
||||
* `zone_sections` are consumed by the backend pipeline. Frontend sets
|
||||
* `true` only on a real user drag-drop (Home.tsx handleSectionDrop, u6)
|
||||
* and `false` on layout apply/cancel auto-carry (u5/u12). Mirrors the
|
||||
* Python KNOWN_AXES (`manual_section_assignment`) added in u1 and the
|
||||
* Vite KNOWN_USER_OVERRIDES_AXES allowlist entry added in u1.
|
||||
*/
|
||||
export type ManualSectionAssignmentOverride = boolean;
|
||||
|
||||
/** Full on-disk schema. All axes optional — file may carry any subset. */
|
||||
export interface UserOverrides {
|
||||
layout: string;
|
||||
@@ -72,6 +82,7 @@ export interface UserOverrides {
|
||||
zone_geometries: ZoneGeometriesOverride;
|
||||
zone_sections: ZoneSectionsOverride;
|
||||
image_overrides: ImageOverridesOverride;
|
||||
manual_section_assignment: ManualSectionAssignmentOverride;
|
||||
}
|
||||
|
||||
/** Partial-mutation payload. `null` is the explicit clear sentinel (mirrors u4). */
|
||||
|
||||
Reference in New Issue
Block a user