| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: make schema consumers tolerant of nullable containers (#2221) * fix: resolve schema fields and asset types through nullability wrappers * fix: read schema metadata from wrapper or inner branch consistently * fix: materialize nested schema defaults under defaulted containers * fix: treat an explicit null as absent when diffing template overrides Extract the comparison into a pure, testable module (matching the toolbar-order pattern); deep-equal.ts keeps the editor.method wiring. The missingFlagForField null-guard decision (Step 5) is deferred to the integrated template-instance e2e, since a spurious override can only manifest once the explicit-null catalog is deployed. * fix: drive presence-encoded flags from their values rather than key presence Custom-AABB toggle now reads aabbCenter as a value and writes the explicit null off-state on both the change and undo handlers, so turning it off never deletes the required key. UV1 and imported-material checks read their explicit values. * fix: select font mode from the json asset value rather than key presence * fix: treat an explicit null priority_scripts value as unset * feat: define MCP unset as delete on dynamic paths and reset on fixed fields * fix: drain the legacy static property alongside the other lightmap duplicates * style: apply prettier formatting and import order to schema changes * fix: preserve fixed schema fields on unset Resolve final-path optionality separately from dynamic parents so fixed children are reset to their catalog defaults. Route generic Editor unsets through that contract and keep retired migration cleanup local-only. * fix: source asset metadata defaults from schema Resolve metadata paths through the backend-provided type catalog so unset operations reset to canonical defaults without an Editor-side duplicate table. * fix: scope template null equivalence to schema | 1 个月前 | |
Consume versioned JSON-Schema editor catalog (#2197) * refactor(schema): consume versioned JSON-Schema editor catalog Read the schema catalog as a versioned (version: 1) JSON-Schema tree for asset/scene/settings/component schemas, replacing the previous $-prefixed shape. Nodes now use standard JSON-Schema keywords (type, properties, items, additionalProperties, enum, default, minItems/maxItems, anyOf) plus x-editor-type / x-merge-method / x-scope / x-open-map extensions. - editor-api/schema*: read the JSON-Schema shape and map metadata to x-* keys - inspector, components menu, templates, clipboard: updated to the new shape - fix: AssetsSchema.resolvePath deep-copies a field's default instead of returning a live reference into the shared catalog (matches ComponentSchema.resolvePath); prevents catalog corruption via mutation - fix: schema:material:getType falls back to 'string' (with a warning) for an unresolved path instead of returning null * docs(schema): restore param/returns TSDoc on schema API methods The JSON-Schema catalog refactor dropped @param/@returns/@example on the AssetsSchema, ComponentSchema, SceneSchema and SettingsSchema public methods whose signatures were unchanged. Restore them to match the current signatures. Docs only, no behaviour change. * fix: preserve behavior with schema catalog | 1 个月前 | |
fix: make schema consumers tolerant of nullable containers (#2221) * fix: resolve schema fields and asset types through nullability wrappers * fix: read schema metadata from wrapper or inner branch consistently * fix: materialize nested schema defaults under defaulted containers * fix: treat an explicit null as absent when diffing template overrides Extract the comparison into a pure, testable module (matching the toolbar-order pattern); deep-equal.ts keeps the editor.method wiring. The missingFlagForField null-guard decision (Step 5) is deferred to the integrated template-instance e2e, since a spurious override can only manifest once the explicit-null catalog is deployed. * fix: drive presence-encoded flags from their values rather than key presence Custom-AABB toggle now reads aabbCenter as a value and writes the explicit null off-state on both the change and undo handlers, so turning it off never deletes the required key. UV1 and imported-material checks read their explicit values. * fix: select font mode from the json asset value rather than key presence * fix: treat an explicit null priority_scripts value as unset * feat: define MCP unset as delete on dynamic paths and reset on fixed fields * fix: drain the legacy static property alongside the other lightmap duplicates * style: apply prettier formatting and import order to schema changes * fix: preserve fixed schema fields on unset Resolve final-path optionality separately from dynamic parents so fixed children are reset to their catalog defaults. Route generic Editor unsets through that contract and keep retired migration cleanup local-only. * fix: source asset metadata defaults from schema Resolve metadata paths through the backend-provided type catalog so unset operations reset to canonical defaults without an Editor-side duplicate table. * fix: scope template null equivalence to schema | 1 个月前 | |
fix: make schema consumers tolerant of nullable containers (#2221) * fix: resolve schema fields and asset types through nullability wrappers * fix: read schema metadata from wrapper or inner branch consistently * fix: materialize nested schema defaults under defaulted containers * fix: treat an explicit null as absent when diffing template overrides Extract the comparison into a pure, testable module (matching the toolbar-order pattern); deep-equal.ts keeps the editor.method wiring. The missingFlagForField null-guard decision (Step 5) is deferred to the integrated template-instance e2e, since a spurious override can only manifest once the explicit-null catalog is deployed. * fix: drive presence-encoded flags from their values rather than key presence Custom-AABB toggle now reads aabbCenter as a value and writes the explicit null off-state on both the change and undo handlers, so turning it off never deletes the required key. UV1 and imported-material checks read their explicit values. * fix: select font mode from the json asset value rather than key presence * fix: treat an explicit null priority_scripts value as unset * feat: define MCP unset as delete on dynamic paths and reset on fixed fields * fix: drain the legacy static property alongside the other lightmap duplicates * style: apply prettier formatting and import order to schema changes * fix: preserve fixed schema fields on unset Resolve final-path optionality separately from dynamic parents so fixed children are reset to their catalog defaults. Route generic Editor unsets through that contract and keep retired migration cleanup local-only. * fix: source asset metadata defaults from schema Resolve metadata paths through the backend-provided type catalog so unset operations reset to canonical defaults without an Editor-side duplicate table. * fix: scope template null equivalence to schema | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |