Z-order via position.z and reset-to-default for asset properties
- Position is now { x, y, z }; higher z draws on top, ties keep hierarchy order
- Viewport sorts the objects layer deterministically (syncDrawOrder)
- Inspector shows a Z field; asset properties that differ from the schema
default are marked bold with a reset button (ResetAssetPropertyCommand)
- isModified() helper, unit tests, E2E checks and seed updated
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
aaa8154adf
commit
d4b1ffa051
18 files changed
+232
-63
No files matched your search
@@ -13,8 +13,11 @@ export interface FieldRow {
|
||||
row: Widget;
|
||||
/** Push a model value into the widget (no events fired). */
|
||||
setValue(value: PropertyValue): void;
|
||||
/** Highlight the row as overridden (scene objects) and show the reset button. */
|
||||
setOverridden(overridden: boolean): void;
|
||||
/**
|
||||
* Highlight the row as deviating from its base value and show the reset button:
|
||||
* an override on scene objects, a non-default value on assets.
|
||||
*/
|
||||
setModified(modified: boolean): void;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,10 +79,10 @@ export function createFieldRow(def: PropertyDef, value: PropertyValue, handlers:
|
||||
return {
|
||||
row,
|
||||
setValue,
|
||||
setOverridden(overridden) {
|
||||
label.setStyle(overridden ? 'bodyBold' : 'muted');
|
||||
if (reset && reset.visible !== overridden) {
|
||||
reset.visible = overridden;
|
||||
setModified(modified) {
|
||||
label.setStyle(modified ? 'bodyBold' : 'muted');
|
||||
if (reset && reset.visible !== modified) {
|
||||
reset.visible = modified;
|
||||
row.relayout();
|
||||
}
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user