@fps-games/editor 0.2.1-beta.3 → 0.2.1-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +44 -44
- package/dist/editor-commands/capabilities/assets.d.ts +8 -0
- package/dist/editor-commands/capabilities/assets.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/assets.js +41 -41
- package/dist/editor-commands/capabilities/assets.js.map +1 -0
- package/dist/editor-commands/capabilities/editor-state.d.ts +5 -0
- package/dist/editor-commands/capabilities/editor-state.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/editor-state.js +22 -22
- package/dist/editor-commands/capabilities/editor-state.js.map +1 -0
- package/dist/editor-commands/capabilities/hierarchy.d.ts +4 -0
- package/dist/editor-commands/capabilities/hierarchy.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/hierarchy.js +5 -5
- package/dist/editor-commands/capabilities/hierarchy.js.map +1 -0
- package/dist/editor-commands/capabilities/host-lifecycle.d.ts +11 -0
- package/dist/editor-commands/capabilities/host-lifecycle.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/host-lifecycle.js +149 -0
- package/dist/editor-commands/capabilities/host-lifecycle.js.map +1 -0
- package/dist/editor-commands/capabilities/prefabs.d.ts +5 -0
- package/dist/editor-commands/capabilities/prefabs.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/prefabs.js +93 -93
- package/dist/editor-commands/capabilities/prefabs.js.map +1 -0
- package/dist/editor-commands/capabilities/scene-objects.d.ts +8 -0
- package/dist/editor-commands/capabilities/scene-objects.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/scene-objects.js +480 -0
- package/dist/editor-commands/capabilities/scene-objects.js.map +1 -0
- package/dist/editor-commands/capabilities/selection.d.ts +5 -0
- package/dist/editor-commands/capabilities/selection.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/selection.js +60 -0
- package/dist/editor-commands/capabilities/selection.js.map +1 -0
- package/dist/editor-commands/capabilities/shadows.d.ts +5 -0
- package/dist/editor-commands/capabilities/shadows.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/shadows.js +74 -74
- package/dist/editor-commands/capabilities/shadows.js.map +1 -0
- package/dist/editor-commands/capabilities/transform.d.ts +5 -0
- package/dist/editor-commands/capabilities/transform.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/transform.js +164 -0
- package/dist/editor-commands/capabilities/transform.js.map +1 -0
- package/dist/editor-commands/capabilities/ui-regions.d.ts +4 -0
- package/dist/editor-commands/capabilities/ui-regions.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/ui-regions.js +55 -57
- package/dist/editor-commands/capabilities/ui-regions.js.map +1 -0
- package/dist/editor-commands/capabilities/viewport.d.ts +5 -0
- package/dist/editor-commands/capabilities/viewport.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/viewport.js +100 -100
- package/dist/editor-commands/capabilities/viewport.js.map +1 -0
- package/dist/editor-commands/command-sources.d.ts +7 -0
- package/dist/editor-commands/command-sources.d.ts.map +1 -0
- package/dist/editor-commands/command-sources.js +34 -0
- package/dist/editor-commands/command-sources.js.map +1 -0
- package/dist/editor-commands/diagnostics.d.ts +12 -0
- package/dist/editor-commands/diagnostics.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/diagnostics.js +4 -4
- package/dist/editor-commands/diagnostics.js.map +1 -0
- package/dist/{agent-bridge → editor-commands}/index.d.ts +1 -1
- package/dist/editor-commands/index.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/index.js +1 -1
- package/dist/editor-commands/index.js.map +1 -0
- package/dist/editor-commands/register.d.ts +4 -0
- package/dist/editor-commands/register.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/register.js +323 -286
- package/dist/editor-commands/register.js.map +1 -0
- package/dist/{agent-bridge → editor-commands}/shared.d.ts +80 -80
- package/dist/editor-commands/shared.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/shared.js +29 -29
- package/dist/editor-commands/shared.js.map +1 -0
- package/dist/editor-commands/source-types.d.ts +110 -0
- package/dist/editor-commands/source-types.d.ts.map +1 -0
- package/dist/editor-commands/source-types.js.map +1 -0
- package/dist/editor-plugin-commands.d.ts +4 -0
- package/dist/editor-plugin-commands.d.ts.map +1 -0
- package/dist/editor-plugin-commands.js +18 -0
- package/dist/editor-plugin-commands.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/local-editor-commands.d.ts +2 -0
- package/dist/local-editor-commands.d.ts.map +1 -0
- package/dist/local-editor-commands.js +2 -0
- package/dist/local-editor-commands.js.map +1 -0
- package/dist/local-editor-harness.d.ts +35 -21
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +1721 -367
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-prefab-stage-transaction.d.ts +2 -1
- package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -1
- package/dist/local-editor-prefab-stage-transaction.js +6 -5
- package/dist/local-editor-prefab-stage-transaction.js.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.js +2 -5
- package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
- package/dist/playable-local-editor-entry.d.ts +10 -0
- package/dist/playable-local-editor-entry.d.ts.map +1 -1
- package/dist/playable-local-editor-entry.js +10 -2
- package/dist/playable-local-editor-entry.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +3 -32
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js +6 -70
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-product-local-editor.d.ts +1 -2
- package/dist/playable-product-local-editor.d.ts.map +1 -1
- package/dist/playable-product-local-editor.js +0 -1
- package/dist/playable-product-local-editor.js.map +1 -1
- package/dist/playable-product-projection-preview.d.ts.map +1 -1
- package/dist/playable-product-projection-preview.js +1 -1
- package/dist/playable-product-projection-preview.js.map +1 -1
- package/dist/playable-product-scene-capabilities.d.ts +0 -2
- package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
- package/dist/playable-product-scene-capabilities.js +33 -6
- package/dist/playable-product-scene-capabilities.js.map +1 -1
- package/dist/playable-runtime-babylon.d.ts +4 -0
- package/dist/playable-runtime-babylon.d.ts.map +1 -1
- package/dist/playable-runtime-babylon.js +4 -0
- package/dist/playable-runtime-babylon.js.map +1 -1
- package/dist/playable-sdk.d.ts +1 -1
- package/dist/playable-sdk.d.ts.map +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.d.ts +0 -2
- package/dist/playable-standard-project.d.ts.map +1 -1
- package/dist/playable-standard-project.js +1 -2
- package/dist/playable-standard-project.js.map +1 -1
- package/dist/project-service-projection.d.ts +16 -0
- package/dist/project-service-projection.d.ts.map +1 -0
- package/dist/project-service-projection.js +67 -0
- package/dist/project-service-projection.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +18 -0
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +54 -18
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +9 -9
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +127 -13
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +66 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +6 -6
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts +32 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js +254 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts +68 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js +650 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +22 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +8 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +117 -6
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +14 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +100 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +75 -2
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +37 -12
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +25 -2
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +332 -107
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +7 -7
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts +107 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js +1211 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts +34 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js +260 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js +14 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts +18 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js +113 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts +82 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.js +1098 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -7
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +62 -103
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts +30 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js +540 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js +61 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +55 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +247 -6
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.d.ts +6 -2
- package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.js +6 -2
- package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +6 -6
- package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +41 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +27 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +214 -7
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +11 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +77 -31
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +8 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts +21 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js +90 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +27 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +161 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +5 -92
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts +7 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js +26 -9
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts +9 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +19 -8
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js +16 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +9 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +12 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js +10 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +17 -82
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +53 -57
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts +10 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js +256 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +7 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +134 -12
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +47 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts +27 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js +592 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +61 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +0 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -10
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +21 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts +13 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js +18 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts +28 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js +863 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts +1626 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/{agent-bridge.js → editor-command-capabilities.js} +766 -620
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts +69 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js +22 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts +136 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.js +2 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts +225 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.js +4 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -3
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js +6 -3
- package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/package.json +2 -2
- package/node_modules/@fps-games/editor-tooling/package.json +3 -3
- package/node_modules/@fps-games/editor-ui/package.json +1 -1
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/package.json +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/package.json +6 -6
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +78 -4
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/package.json +5 -5
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/package.json +5 -5
- package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/package.json +5 -5
- package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
- package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/package.json +23 -23
- package/dist/agent-bridge/capabilities/assets.d.ts +0 -8
- package/dist/agent-bridge/capabilities/assets.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/assets.js.map +0 -1
- package/dist/agent-bridge/capabilities/editor-state.d.ts +0 -5
- package/dist/agent-bridge/capabilities/editor-state.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/editor-state.js.map +0 -1
- package/dist/agent-bridge/capabilities/hierarchy.d.ts +0 -4
- package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/hierarchy.js.map +0 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +0 -11
- package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.js +0 -149
- package/dist/agent-bridge/capabilities/host-lifecycle.js.map +0 -1
- package/dist/agent-bridge/capabilities/prefabs.d.ts +0 -5
- package/dist/agent-bridge/capabilities/prefabs.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/prefabs.js.map +0 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts +0 -8
- package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/scene-objects.js +0 -480
- package/dist/agent-bridge/capabilities/scene-objects.js.map +0 -1
- package/dist/agent-bridge/capabilities/selection.d.ts +0 -5
- package/dist/agent-bridge/capabilities/selection.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/selection.js +0 -60
- package/dist/agent-bridge/capabilities/selection.js.map +0 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts +0 -5
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/shadows.js.map +0 -1
- package/dist/agent-bridge/capabilities/transform.d.ts +0 -5
- package/dist/agent-bridge/capabilities/transform.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/transform.js +0 -164
- package/dist/agent-bridge/capabilities/transform.js.map +0 -1
- package/dist/agent-bridge/capabilities/ui-regions.d.ts +0 -4
- package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +0 -1
- package/dist/agent-bridge/capabilities/viewport.d.ts +0 -5
- package/dist/agent-bridge/capabilities/viewport.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/viewport.js.map +0 -1
- package/dist/agent-bridge/capability-sources.d.ts +0 -7
- package/dist/agent-bridge/capability-sources.d.ts.map +0 -1
- package/dist/agent-bridge/capability-sources.js +0 -34
- package/dist/agent-bridge/capability-sources.js.map +0 -1
- package/dist/agent-bridge/diagnostics.d.ts +0 -12
- package/dist/agent-bridge/diagnostics.d.ts.map +0 -1
- package/dist/agent-bridge/diagnostics.js.map +0 -1
- package/dist/agent-bridge/index.d.ts.map +0 -1
- package/dist/agent-bridge/index.js.map +0 -1
- package/dist/agent-bridge/register.d.ts +0 -4
- package/dist/agent-bridge/register.d.ts.map +0 -1
- package/dist/agent-bridge/register.js.map +0 -1
- package/dist/agent-bridge/shared.d.ts.map +0 -1
- package/dist/agent-bridge/shared.js.map +0 -1
- package/dist/agent-bridge/source-types.d.ts +0 -110
- package/dist/agent-bridge/source-types.d.ts.map +0 -1
- package/dist/agent-bridge/source-types.js.map +0 -1
- package/dist/editor-plugin-agent-capabilities.d.ts +0 -4
- package/dist/editor-plugin-agent-capabilities.d.ts.map +0 -1
- package/dist/editor-plugin-agent-capabilities.js +0 -64
- package/dist/editor-plugin-agent-capabilities.js.map +0 -1
- package/dist/local-editor-agent-actions.d.ts +0 -43
- package/dist/local-editor-agent-actions.d.ts.map +0 -1
- package/dist/local-editor-agent-actions.js +0 -321
- package/dist/local-editor-agent-actions.js.map +0 -1
- package/dist/local-editor-agent-bridge-transport.d.ts +0 -129
- package/dist/local-editor-agent-bridge-transport.d.ts.map +0 -1
- package/dist/local-editor-agent-bridge-transport.js +0 -403
- package/dist/local-editor-agent-bridge-transport.js.map +0 -1
- package/dist/local-editor-agent-bridge.d.ts +0 -2
- package/dist/local-editor-agent-bridge.d.ts.map +0 -1
- package/dist/local-editor-agent-bridge.js +0 -2
- package/dist/local-editor-agent-bridge.js.map +0 -1
- package/dist/local-editor-agent-context.d.ts +0 -68
- package/dist/local-editor-agent-context.d.ts.map +0 -1
- package/dist/local-editor-agent-context.js +0 -716
- package/dist/local-editor-agent-context.js.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts +0 -22
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js +0 -106
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +0 -17
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +0 -14
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +0 -23
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +0 -47
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts +0 -112
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js +0 -159
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts +0 -15
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js +0 -76
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +0 -1622
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts +0 -68
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js +0 -23
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +0 -187
- package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.js +0 -5
- package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +0 -1
- /package/dist/{agent-bridge → editor-commands}/source-types.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-scene-workflow.js","sourceRoot":"","sources":["../../src/vite/editor-scene-workflow.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { mkdir, rm, writeFile } from 'node:fs/promises';\nimport path from 'node:path';\nimport type { ViteDevServer } from 'vite';\nimport {\n readSceneMainSourceSaveCompanionConfigs,\n readSceneMainSourceRenderingConfig,\n readSceneMainSourceStaticShadowsArtifact,\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY,\n} from '../scene-source/index';\nimport {\n readEditorSceneStaticShadowArtifact,\n} from '../static-shadows/index';\nimport {\n assertPlayableEditorRuntimeSceneConfig,\n assertPlayableEditorSceneDocumentContract,\n assertPlayableEditorScenePersistedSourceContract,\n} from '../scene-compiler/validation';\nimport {\n assertEditorSceneDocumentAssetCatalogCompleteness,\n dehydrateEditorSceneDocumentAssets,\n} from '../asset-library/index';\nimport type {\n EditorSceneAssetLibraryItem,\n EditorSceneDocument,\n} from '../document/index';\nimport {\n assertEditorSceneRenderingProfileContract,\n assertShadowMapExperimentConfig,\n type ShadowMapExperimentConfig,\n} from '@fps-games/playable-rendering';\nimport { canonicalizePlayableJsonNumbers, readRecord } from '../shared/json';\nimport { withPlayableVitePathWriteLock } from './path-write-coordinator';\n\nexport interface PlayableViteEditorSceneLoadServices {\n ensureAuthoringSource(editorScene: Record<string, unknown>): Record<string, unknown>;\n detectRuntimeInputDrift(editorScene: Record<string, unknown>, runtimeScene: unknown): unknown;\n enrichEditorSceneDocumentAssets(\n editorScene: Record<string, unknown>,\n editorAssets: Array<Record<string, unknown>>,\n ): Record<string, unknown>;\n ensureEditorSceneEnvironmentDefaults(editorScene: Record<string, unknown>): Record<string, unknown>;\n}\n\nexport interface PlayableViteEditorSceneSaveServices extends PlayableViteEditorSceneLoadServices {\n assertEditorSceneDocument(value: unknown): void;\n assertEditorSceneMaterialAssetIntegrity(editorScene: Record<string, unknown>): void;\n bumpEditorSceneAuthoringSourceRevision(editorScene: Record<string, unknown>): Record<string, unknown>;\n compileEditorSceneDocumentToSceneConfig(\n editorScene: Record<string, unknown>,\n previousSceneConfig: Record<string, unknown>,\n options?: { shadowMapExperimentConfig?: ShadowMapExperimentConfig | null },\n ): {\n sceneConfig: Record<string, unknown>;\n summary: Record<string, unknown>;\n };\n}\n\nexport interface PlayableViteEditorScenePaths {\n editorScenePath: string;\n scenePath: string;\n renderingConfigPath?: string;\n shadowsConfigPath?: string;\n}\n\nexport interface PlayableViteEditorSceneWorkflowOptions {\n projectRoot: string;\n server: ViteDevServer;\n paths: PlayableViteEditorScenePaths;\n listEditorAssetLibrary: (server: ViteDevServer) => Promise<Array<Record<string, unknown>>>;\n}\n\nexport interface PlayableViteEditorSceneLoadInput extends PlayableViteEditorSceneWorkflowOptions {\n loadServices: (server: ViteDevServer, projectRoot: string) => Promise<PlayableViteEditorSceneLoadServices>;\n}\n\nexport interface PlayableViteEditorSceneSaveWorkflowOptions extends PlayableViteEditorSceneWorkflowOptions {\n saveServices: (server: ViteDevServer, projectRoot: string) => Promise<PlayableViteEditorSceneSaveServices>;\n normalizeRenderingProfile?: (value: Record<string, unknown>) => Record<string, unknown>;\n summarizeRenderingProfile?: (value: Record<string, unknown> | null) => Record<string, unknown> | null;\n createRenderingInvalidationFiles?: (projectRoot: string, renderingConfigPath: string) => string[];\n invalidateFiles?: (server: ViteDevServer, files: string[]) => void;\n}\n\nexport interface PlayableViteEditorSceneSaveInput extends PlayableViteEditorSceneSaveWorkflowOptions {\n saveMode: string;\n rawEditorScene: Record<string, unknown>;\n body: Record<string, unknown>;\n}\n\nexport async function loadPlayableViteEditorScene(\n input: PlayableViteEditorSceneLoadInput,\n): Promise<Record<string, unknown>> {\n const paths = input.paths;\n const editorScene = readPlayableViteJsonFile(paths.editorScenePath);\n const runtimeScene = readPlayableViteJsonFile(paths.scenePath);\n const services = await input.loadServices(input.server, input.projectRoot);\n const editorAssets = await input.listEditorAssetLibrary(input.server);\n if (editorScene) assertPlayableEditorScenePersistedSourceContract(editorScene);\n if (editorScene) {\n assertEditorSceneDocumentAssetCatalogCompleteness(\n editorScene as unknown as EditorSceneDocument,\n editorAssets as unknown as EditorSceneAssetLibraryItem[],\n );\n }\n const normalizedEditorScene = editorScene\n ? services.ensureEditorSceneEnvironmentDefaults(\n services.enrichEditorSceneDocumentAssets(\n services.ensureAuthoringSource(editorScene),\n editorAssets,\n ),\n )\n : null;\n if (normalizedEditorScene) assertPlayableEditorSceneDocumentContract(normalizedEditorScene);\n const companionConfigs = readSceneMainSourceSaveCompanionConfigs(normalizedEditorScene);\n const shadowMapExperimentConfig = readPlayableViteShadowMapExperimentConfig(paths.shadowsConfigPath);\n return {\n ok: true,\n editorScenePath: paths.editorScenePath,\n scenePath: paths.scenePath,\n editorScene: normalizedEditorScene,\n assets: editorAssets,\n ...(Object.keys(companionConfigs).length > 0 ? { companionConfigs } : {}),\n ...(shadowMapExperimentConfig ? { shadowMapExperimentConfig } : {}),\n drift: normalizedEditorScene ? services.detectRuntimeInputDrift(normalizedEditorScene, runtimeScene) : null,\n summary: summarizePlayableEditorScene(normalizedEditorScene),\n };\n}\n\nexport async function savePlayableViteEditorScene(\n input: PlayableViteEditorSceneSaveInput,\n): Promise<Record<string, unknown>> {\n assertShadowMapExperimentConfigNotSubmitted(input.body, '$');\n assertShadowMapExperimentConfigNotSubmitted(input.rawEditorScene, '$.editorScene');\n const renderingConfig = readSceneMainSourceRenderingConfig(input.body);\n const companionConfigs = readSceneMainSourceSaveCompanionConfigs(input.body);\n const hasRenderingConfig = Object.prototype.hasOwnProperty.call(companionConfigs, 'rendering');\n if (renderingConfig) assertEditorSceneRenderingProfileContract(renderingConfig);\n const writePaths = [\n input.paths.editorScenePath,\n ...(input.saveMode === 'local-commit-save' ? [input.paths.scenePath] : []),\n ...(hasRenderingConfig && input.paths.renderingConfigPath ? [input.paths.renderingConfigPath] : []),\n ];\n return withPlayableVitePathWriteLock(writePaths, () => savePlayableViteEditorSceneNow(input));\n}\n\nasync function savePlayableViteEditorSceneNow(\n input: PlayableViteEditorSceneSaveInput,\n): Promise<Record<string, unknown>> {\n const services = await input.saveServices(input.server, input.projectRoot);\n const paths = input.paths;\n const companionConfigPayload = readSceneMainSourceSaveCompanionConfigs(input.body);\n const renderingConfig = readSceneMainSourceRenderingConfig(input.body);\n const hasRenderingConfigPayload = Object.prototype.hasOwnProperty.call(companionConfigPayload, 'rendering');\n const hasStaticShadowArtifactPayload = Object.prototype.hasOwnProperty.call(\n companionConfigPayload,\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY,\n );\n const staticShadowArtifactPayload = companionConfigPayload[\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY\n ];\n const staticShadowArtifact = readEditorSceneStaticShadowArtifact(\n staticShadowArtifactPayload,\n );\n const previousSceneConfig = readPlayableViteJsonFile(paths.scenePath) ?? {};\n const shadowMapExperimentConfig = readPlayableViteShadowMapExperimentConfig(paths.shadowsConfigPath);\n assertCurrentStaticShadowArtifactPayload(staticShadowArtifactPayload, staticShadowArtifact, {\n present: hasStaticShadowArtifactPayload,\n path: '$.companionConfigs.staticShadows',\n });\n const editorSceneCompanionConfigs = readSceneMainSourceSaveCompanionConfigs(input.rawEditorScene);\n const embeddedStaticShadowPayload = editorSceneCompanionConfigs[\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY\n ];\n assertCurrentStaticShadowArtifactPayload(\n embeddedStaticShadowPayload,\n readEditorSceneStaticShadowArtifact(embeddedStaticShadowPayload),\n {\n present: Object.prototype.hasOwnProperty.call(\n editorSceneCompanionConfigs,\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY,\n ),\n path: '$.editorScene.companionConfigs.staticShadows',\n },\n );\n const previousStaticShadowPayload = readRecord(previousSceneConfig)?.staticShadows;\n assertCurrentStaticShadowArtifactPayload(\n previousStaticShadowPayload,\n readEditorSceneStaticShadowArtifact(previousStaticShadowPayload),\n {\n present: Object.prototype.hasOwnProperty.call(previousSceneConfig, 'staticShadows'),\n path: '$.scene.staticShadows',\n },\n );\n assertPlayableEditorScenePersistedSourceContract(input.rawEditorScene);\n const normalizedRenderingConfig = renderingConfig && input.normalizeRenderingProfile\n ? input.normalizeRenderingProfile(renderingConfig)\n : renderingConfig;\n const editorAssets = await input.listEditorAssetLibrary(input.server);\n assertEditorSceneDocumentAssetCatalogCompleteness(\n input.rawEditorScene as unknown as EditorSceneDocument,\n editorAssets as unknown as EditorSceneAssetLibraryItem[],\n );\n const repairedEditorScene = services.ensureEditorSceneEnvironmentDefaults(\n services.enrichEditorSceneDocumentAssets(\n services.ensureAuthoringSource(input.rawEditorScene),\n editorAssets,\n ),\n );\n const canonicalEditorScene = canonicalizePlayableJsonNumbers(repairedEditorScene, 4);\n services.assertEditorSceneDocument(canonicalEditorScene);\n services.assertEditorSceneMaterialAssetIntegrity(canonicalEditorScene);\n const editorScene = services.bumpEditorSceneAuthoringSourceRevision(canonicalEditorScene);\n const runtimeStaticShadowArtifact = hasStaticShadowArtifactPayload\n ? staticShadowArtifact\n : staticShadowArtifact\n ?? readSceneMainSourceStaticShadowsArtifact(input.rawEditorScene)\n ?? readEditorSceneStaticShadowArtifact(readRecord(previousSceneConfig)?.staticShadows);\n const responseEditorScene = canonicalizePlayableJsonNumbers(\n withPlayableEditorSceneCompanionConfigs(editorScene, {\n staticShadows: runtimeStaticShadowArtifact,\n }),\n 4,\n );\n const persistedEditorScene = dehydrateEditorSceneDocumentAssets(\n responseEditorScene as unknown as EditorSceneDocument,\n editorAssets as unknown as EditorSceneAssetLibraryItem[],\n ) as unknown as Record<string, unknown>;\n const compiled = services.compileEditorSceneDocumentToSceneConfig(editorScene, previousSceneConfig, {\n shadowMapExperimentConfig: shadowMapExperimentConfig ?? null,\n });\n const compiledSceneConfigWithStaticShadows = runtimeStaticShadowArtifact\n ? {\n ...compiled.sceneConfig,\n staticShadows: runtimeStaticShadowArtifact,\n }\n : {\n ...compiled.sceneConfig,\n };\n if (!runtimeStaticShadowArtifact) delete compiledSceneConfigWithStaticShadows.staticShadows;\n const previousVersion = typeof previousSceneConfig.version === 'number' ? previousSceneConfig.version : undefined;\n const nextVersion = typeof previousVersion === 'number' ? previousVersion + 1 : 1;\n const updatedAt = new Date().toISOString();\n const runtimeSceneConfig = canonicalizePlayableJsonNumbers(\n input.saveMode === 'local-commit-save'\n ? {\n ...compiledSceneConfigWithStaticShadows,\n version: nextVersion,\n updatedAt,\n }\n : compiledSceneConfigWithStaticShadows,\n 4,\n );\n assertPlayableEditorRuntimeSceneConfig(runtimeSceneConfig);\n const runtimeVersion = readRecord(runtimeSceneConfig)?.version;\n const version = input.saveMode === 'local-commit-save'\n && typeof runtimeVersion === 'number'\n ? runtimeVersion\n : nextVersion;\n const savedEditorSceneText = `${JSON.stringify(persistedEditorScene, null, 2)}\\n`;\n const savedSceneJsonText = `${JSON.stringify(runtimeSceneConfig, null, 2)}\\n`;\n\n await writeFile(paths.editorScenePath, savedEditorSceneText, 'utf8');\n if (renderingConfig) {\n if (!paths.renderingConfigPath) throw new Error('rendering_config_path_missing');\n await mkdir(path.dirname(paths.renderingConfigPath), { recursive: true });\n await writeFile(paths.renderingConfigPath, `${JSON.stringify(renderingConfig, null, 2)}\\n`, 'utf8');\n } else if (hasRenderingConfigPayload) {\n if (!paths.renderingConfigPath) throw new Error('rendering_config_path_missing');\n await rm(paths.renderingConfigPath, { force: true });\n }\n if (input.saveMode === 'local-commit-save') {\n await writeFile(paths.scenePath, savedSceneJsonText, 'utf8');\n }\n const invalidationFiles = [\n paths.editorScenePath,\n ...(input.saveMode === 'local-commit-save' ? [paths.scenePath] : []),\n ...(hasRenderingConfigPayload && paths.renderingConfigPath\n ? input.createRenderingInvalidationFiles?.(input.projectRoot, paths.renderingConfigPath)\n ?? [paths.renderingConfigPath]\n : []),\n ];\n input.invalidateFiles?.(input.server, invalidationFiles);\n\n return {\n ok: true,\n mode: input.saveMode,\n editorScenePath: paths.editorScenePath,\n scenePath: paths.scenePath,\n expectedVersion: previousVersion,\n ...(input.saveMode === 'local-commit-save' ? { version, updatedAt } : {}),\n editorScene: responseEditorScene,\n ...(shadowMapExperimentConfig ? { shadowMapExperimentConfig } : {}),\n ...(hasRenderingConfigPayload || hasStaticShadowArtifactPayload ? {\n companionConfigs: {\n ...(hasRenderingConfigPayload ? { rendering: renderingConfig } : {}),\n ...(hasStaticShadowArtifactPayload ? { staticShadows: runtimeStaticShadowArtifact } : {}),\n },\n ...(renderingConfig ? {\n renderingSummary: input.summarizeRenderingProfile?.(normalizedRenderingConfig ?? null) ?? null,\n } : {}),\n } : {}),\n sceneJsonText: savedSceneJsonText,\n summary: {\n editorScene: summarizePlayableEditorScene(editorScene),\n compiled: compiled.summary,\n },\n };\n}\n\nfunction assertCurrentStaticShadowArtifactPayload(\n payload: unknown,\n artifact: unknown,\n input: { present: boolean; path: string },\n): void {\n if (!input.present || payload == null || artifact) return;\n const error = new Error(`schema.unsupportedVersion: ${input.path}`);\n Object.assign(error, { code: 'schema.unsupportedVersion', path: input.path });\n throw error;\n}\n\nexport function assertPlayableEditorSceneDocument(value: unknown): void {\n assertPlayableEditorSceneDocumentContract(value);\n}\n\nexport function summarizePlayableEditorScene(value: unknown): Record<string, unknown> {\n const record = readRecord(value);\n const meta = readRecord(record?.meta);\n const authoringSource = readRecord(meta?.authoringSource);\n const scene = readRecord(record?.scene);\n return {\n schemaVersion: record?.schemaVersion ?? null,\n sourceId: authoringSource?.sourceId ?? null,\n sourceType: authoringSource?.sourceType ?? null,\n revision: authoringSource?.revision ?? null,\n assets: Array.isArray(record?.assets) ? record.assets.length : 0,\n gameObjects: Array.isArray(scene?.gameObjects) ? scene.gameObjects.length : 0,\n materialAssets: Array.isArray(scene?.materialAssets) ? scene.materialAssets.length : 0,\n };\n}\n\nexport function withPlayableEditorSceneCompanionConfigs(\n editorScene: Record<string, unknown>,\n companionConfigs: Record<string, unknown>,\n): Record<string, unknown> {\n const nextCompanionConfigs = {\n ...readSceneMainSourceSaveCompanionConfigs(editorScene),\n };\n delete nextCompanionConfigs.rendering;\n for (const [key, value] of Object.entries(companionConfigs)) {\n if (value == null) {\n delete nextCompanionConfigs[key];\n } else {\n nextCompanionConfigs[key] = value as Record<string, unknown>;\n }\n }\n const nextEditorScene = { ...editorScene };\n if (Object.keys(nextCompanionConfigs).length > 0) {\n nextEditorScene.companionConfigs = nextCompanionConfigs;\n } else {\n delete nextEditorScene.companionConfigs;\n }\n return nextEditorScene;\n}\n\nfunction readPlayableViteJsonFile(filePath: string): Record<string, unknown> | null {\n return existsSync(filePath)\n ? JSON.parse(readFileSync(filePath, 'utf8') || '{}') as Record<string, unknown>\n : null;\n}\n\nfunction readPlayableViteShadowMapExperimentConfig(\n filePath: string | undefined,\n): ShadowMapExperimentConfig | null {\n if (!filePath) return null;\n if (!existsSync(filePath)) throw new Error(`shadows_config_missing:${filePath}`);\n const value = JSON.parse(readFileSync(filePath, 'utf8') || '{}') as unknown;\n assertShadowMapExperimentConfig(value, '$');\n return structuredClone(value) as ShadowMapExperimentConfig;\n}\n\nfunction assertShadowMapExperimentConfigNotSubmitted(value: unknown, path: string): void {\n const record = readRecord(value);\n if (!record) return;\n for (const key of ['shadowMapExperimentConfig', 'shadowsConfig']) {\n if (Object.prototype.hasOwnProperty.call(record, key)) {\n throw readonlyShadowConfigError(`${path}.${key}`);\n }\n }\n const companionConfigs = readRecord(record.companionConfigs);\n if (companionConfigs && Object.prototype.hasOwnProperty.call(companionConfigs, 'shadows')) {\n throw readonlyShadowConfigError(`${path}.companionConfigs.shadows`);\n }\n}\n\nfunction readonlyShadowConfigError(path: string): Error {\n const error = new Error(`shadow_map_experiment_config_readonly:${path}`);\n Object.assign(error, { code: 'shadowMapExperiment.configReadonly', path });\n return error;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"editor-scene-workflow.js","sourceRoot":"","sources":["../../src/vite/editor-scene-workflow.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, readFileSync } from 'node:fs';\nimport { mkdir, rm, writeFile } from 'node:fs/promises';\nimport path from 'node:path';\nimport type { ViteDevServer } from 'vite';\nimport {\n readSceneMainSourceSaveCompanionConfigs,\n readSceneMainSourceRenderingConfig,\n readSceneMainSourceStaticShadowsArtifact,\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY,\n} from '../scene-source/index';\nimport {\n readEditorSceneStaticShadowArtifact,\n} from '../static-shadows/index';\nimport {\n assertPlayableEditorRuntimeSceneConfig,\n assertPlayableEditorSceneDocumentContract,\n assertPlayableEditorScenePersistedSourceContract,\n} from '../scene-compiler/validation';\nimport {\n assertEditorSceneDocumentAssetCatalogCompleteness,\n dehydrateEditorSceneDocumentAssets,\n} from '../asset-library/index';\nimport type {\n EditorSceneAssetLibraryItem,\n EditorSceneDocument,\n} from '../document/index';\nimport {\n assertEditorSceneRenderingProfileContract,\n assertShadowMapExperimentConfig,\n type ShadowMapExperimentConfig,\n} from '@fps-games/playable-rendering';\nimport { canonicalizePlayableJsonNumbers, readRecord } from '../shared/json';\nimport { withPlayableVitePathWriteLock } from './path-write-coordinator';\n\nexport interface PlayableViteEditorSceneLoadServices {\n ensureAuthoringSource(editorScene: Record<string, unknown>): Record<string, unknown>;\n detectRuntimeInputDrift(editorScene: Record<string, unknown>, runtimeScene: unknown): unknown;\n enrichEditorSceneDocumentAssets(\n editorScene: Record<string, unknown>,\n editorAssets: Array<Record<string, unknown>>,\n ): Record<string, unknown>;\n ensureEditorSceneEnvironmentDefaults(editorScene: Record<string, unknown>): Record<string, unknown>;\n}\n\nexport interface PlayableViteEditorSceneSaveServices extends PlayableViteEditorSceneLoadServices {\n assertEditorSceneDocument(value: unknown): void;\n assertEditorSceneMaterialAssetIntegrity(editorScene: Record<string, unknown>): void;\n bumpEditorSceneAuthoringSourceRevision(editorScene: Record<string, unknown>): Record<string, unknown>;\n compileEditorSceneDocumentToSceneConfig(\n editorScene: Record<string, unknown>,\n previousSceneConfig: Record<string, unknown>,\n options?: { shadowMapExperimentConfig?: ShadowMapExperimentConfig | null },\n ): {\n sceneConfig: Record<string, unknown>;\n summary: Record<string, unknown>;\n };\n}\n\nexport interface PlayableViteEditorScenePaths {\n editorScenePath: string;\n scenePath: string;\n renderingConfigPath?: string;\n shadowsConfigPath?: string;\n}\n\nexport interface PlayableViteEditorSceneWorkflowOptions {\n projectRoot: string;\n server: ViteDevServer;\n paths: PlayableViteEditorScenePaths;\n listEditorAssetLibrary: (server: ViteDevServer) => Promise<Array<Record<string, unknown>>>;\n}\n\nexport interface PlayableViteEditorSceneLoadInput extends PlayableViteEditorSceneWorkflowOptions {\n loadServices: (server: ViteDevServer, projectRoot: string) => Promise<PlayableViteEditorSceneLoadServices>;\n}\n\nexport interface PlayableViteEditorSceneSaveWorkflowOptions extends PlayableViteEditorSceneWorkflowOptions {\n saveServices: (server: ViteDevServer, projectRoot: string) => Promise<PlayableViteEditorSceneSaveServices>;\n normalizeRenderingProfile?: (value: Record<string, unknown>) => Record<string, unknown>;\n summarizeRenderingProfile?: (value: Record<string, unknown> | null) => Record<string, unknown> | null;\n createRenderingInvalidationFiles?: (projectRoot: string, renderingConfigPath: string) => string[];\n invalidateFiles?: (server: ViteDevServer, files: string[]) => void;\n}\n\nexport interface PlayableViteEditorSceneSaveInput extends PlayableViteEditorSceneSaveWorkflowOptions {\n saveMode: string;\n rawEditorScene: Record<string, unknown>;\n body: Record<string, unknown>;\n}\n\nexport async function loadPlayableViteEditorScene(\n input: PlayableViteEditorSceneLoadInput,\n): Promise<Record<string, unknown>> {\n const paths = input.paths;\n const editorScene = readPlayableViteJsonFile(paths.editorScenePath);\n const runtimeScene = readPlayableViteJsonFile(paths.scenePath);\n const services = await input.loadServices(input.server, input.projectRoot);\n const editorAssets = await input.listEditorAssetLibrary(input.server);\n if (editorScene) assertPlayableEditorScenePersistedSourceContract(editorScene);\n if (editorScene) {\n assertEditorSceneDocumentAssetCatalogCompleteness(\n editorScene as unknown as EditorSceneDocument,\n editorAssets as unknown as EditorSceneAssetLibraryItem[],\n );\n }\n const normalizedEditorScene = editorScene\n ? services.ensureEditorSceneEnvironmentDefaults(\n services.enrichEditorSceneDocumentAssets(\n services.ensureAuthoringSource(editorScene),\n editorAssets,\n ),\n )\n : null;\n if (normalizedEditorScene) assertPlayableEditorSceneDocumentContract(normalizedEditorScene);\n const companionConfigs = readSceneMainSourceSaveCompanionConfigs(normalizedEditorScene);\n const shadowMapExperimentConfig = readPlayableViteShadowMapExperimentConfig(paths.shadowsConfigPath);\n return {\n ok: true,\n editorScenePath: paths.editorScenePath,\n scenePath: paths.scenePath,\n editorScene: normalizedEditorScene,\n assets: editorAssets,\n ...(Object.keys(companionConfigs).length > 0 ? { companionConfigs } : {}),\n ...(shadowMapExperimentConfig ? { shadowMapExperimentConfig } : {}),\n drift: normalizedEditorScene ? services.detectRuntimeInputDrift(normalizedEditorScene, runtimeScene) : null,\n summary: summarizePlayableEditorScene(normalizedEditorScene),\n };\n}\n\nexport async function savePlayableViteEditorScene(\n input: PlayableViteEditorSceneSaveInput,\n): Promise<Record<string, unknown>> {\n assertShadowMapExperimentConfigNotSubmitted(input.body, '$');\n assertShadowMapExperimentConfigNotSubmitted(input.rawEditorScene, '$.editorScene');\n const renderingConfig = readSceneMainSourceRenderingConfig(input.body);\n const companionConfigs = readSceneMainSourceSaveCompanionConfigs(input.body);\n const hasRenderingConfig = Object.prototype.hasOwnProperty.call(companionConfigs, 'rendering');\n if (renderingConfig) assertEditorSceneRenderingProfileContract(renderingConfig);\n const writePaths = [\n input.paths.editorScenePath,\n ...(input.saveMode === 'local-commit-save' ? [input.paths.scenePath] : []),\n ...(hasRenderingConfig && input.paths.renderingConfigPath ? [input.paths.renderingConfigPath] : []),\n ];\n return withPlayableVitePathWriteLock(writePaths, () => savePlayableViteEditorSceneNow(input));\n}\n\nasync function savePlayableViteEditorSceneNow(\n input: PlayableViteEditorSceneSaveInput,\n): Promise<Record<string, unknown>> {\n assertPlayableViteEditorSceneAuthoringRevision(input);\n const services = await input.saveServices(input.server, input.projectRoot);\n const paths = input.paths;\n const companionConfigPayload = readSceneMainSourceSaveCompanionConfigs(input.body);\n const renderingConfig = readSceneMainSourceRenderingConfig(input.body);\n const hasRenderingConfigPayload = Object.prototype.hasOwnProperty.call(companionConfigPayload, 'rendering');\n const hasStaticShadowArtifactPayload = Object.prototype.hasOwnProperty.call(\n companionConfigPayload,\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY,\n );\n const staticShadowArtifactPayload = companionConfigPayload[\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY\n ];\n const staticShadowArtifact = readEditorSceneStaticShadowArtifact(\n staticShadowArtifactPayload,\n );\n const previousSceneConfig = readPlayableViteJsonFile(paths.scenePath) ?? {};\n const shadowMapExperimentConfig = readPlayableViteShadowMapExperimentConfig(paths.shadowsConfigPath);\n assertCurrentStaticShadowArtifactPayload(staticShadowArtifactPayload, staticShadowArtifact, {\n present: hasStaticShadowArtifactPayload,\n path: '$.companionConfigs.staticShadows',\n });\n const editorSceneCompanionConfigs = readSceneMainSourceSaveCompanionConfigs(input.rawEditorScene);\n const embeddedStaticShadowPayload = editorSceneCompanionConfigs[\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY\n ];\n assertCurrentStaticShadowArtifactPayload(\n embeddedStaticShadowPayload,\n readEditorSceneStaticShadowArtifact(embeddedStaticShadowPayload),\n {\n present: Object.prototype.hasOwnProperty.call(\n editorSceneCompanionConfigs,\n SCENE_MAIN_SOURCE_STATIC_SHADOWS_COMPANION_CONFIG_KEY,\n ),\n path: '$.editorScene.companionConfigs.staticShadows',\n },\n );\n const previousStaticShadowPayload = readRecord(previousSceneConfig)?.staticShadows;\n assertCurrentStaticShadowArtifactPayload(\n previousStaticShadowPayload,\n readEditorSceneStaticShadowArtifact(previousStaticShadowPayload),\n {\n present: Object.prototype.hasOwnProperty.call(previousSceneConfig, 'staticShadows'),\n path: '$.scene.staticShadows',\n },\n );\n assertPlayableEditorScenePersistedSourceContract(input.rawEditorScene);\n const normalizedRenderingConfig = renderingConfig && input.normalizeRenderingProfile\n ? input.normalizeRenderingProfile(renderingConfig)\n : renderingConfig;\n const editorAssets = await input.listEditorAssetLibrary(input.server);\n assertEditorSceneDocumentAssetCatalogCompleteness(\n input.rawEditorScene as unknown as EditorSceneDocument,\n editorAssets as unknown as EditorSceneAssetLibraryItem[],\n );\n const repairedEditorScene = services.ensureEditorSceneEnvironmentDefaults(\n services.enrichEditorSceneDocumentAssets(\n services.ensureAuthoringSource(input.rawEditorScene),\n editorAssets,\n ),\n );\n const canonicalEditorScene = canonicalizePlayableJsonNumbers(repairedEditorScene, 4);\n services.assertEditorSceneDocument(canonicalEditorScene);\n services.assertEditorSceneMaterialAssetIntegrity(canonicalEditorScene);\n const editorScene = services.bumpEditorSceneAuthoringSourceRevision(canonicalEditorScene);\n const runtimeStaticShadowArtifact = hasStaticShadowArtifactPayload\n ? staticShadowArtifact\n : staticShadowArtifact\n ?? readSceneMainSourceStaticShadowsArtifact(input.rawEditorScene)\n ?? readEditorSceneStaticShadowArtifact(readRecord(previousSceneConfig)?.staticShadows);\n const responseEditorScene = canonicalizePlayableJsonNumbers(\n withPlayableEditorSceneCompanionConfigs(editorScene, {\n staticShadows: runtimeStaticShadowArtifact,\n }),\n 4,\n );\n const persistedEditorScene = dehydrateEditorSceneDocumentAssets(\n responseEditorScene as unknown as EditorSceneDocument,\n editorAssets as unknown as EditorSceneAssetLibraryItem[],\n ) as unknown as Record<string, unknown>;\n const compiled = services.compileEditorSceneDocumentToSceneConfig(editorScene, previousSceneConfig, {\n shadowMapExperimentConfig: shadowMapExperimentConfig ?? null,\n });\n const compiledSceneConfigWithStaticShadows = runtimeStaticShadowArtifact\n ? {\n ...compiled.sceneConfig,\n staticShadows: runtimeStaticShadowArtifact,\n }\n : {\n ...compiled.sceneConfig,\n };\n if (!runtimeStaticShadowArtifact) delete compiledSceneConfigWithStaticShadows.staticShadows;\n const previousVersion = typeof previousSceneConfig.version === 'number' ? previousSceneConfig.version : undefined;\n const nextVersion = typeof previousVersion === 'number' ? previousVersion + 1 : 1;\n const updatedAt = new Date().toISOString();\n const runtimeSceneConfig = canonicalizePlayableJsonNumbers(\n input.saveMode === 'local-commit-save'\n ? {\n ...compiledSceneConfigWithStaticShadows,\n version: nextVersion,\n updatedAt,\n }\n : compiledSceneConfigWithStaticShadows,\n 4,\n );\n assertPlayableEditorRuntimeSceneConfig(runtimeSceneConfig);\n const runtimeVersion = readRecord(runtimeSceneConfig)?.version;\n const version = input.saveMode === 'local-commit-save'\n && typeof runtimeVersion === 'number'\n ? runtimeVersion\n : nextVersion;\n const savedEditorSceneText = `${JSON.stringify(persistedEditorScene, null, 2)}\\n`;\n const savedSceneJsonText = `${JSON.stringify(runtimeSceneConfig, null, 2)}\\n`;\n\n await writeFile(paths.editorScenePath, savedEditorSceneText, 'utf8');\n if (renderingConfig) {\n if (!paths.renderingConfigPath) throw new Error('rendering_config_path_missing');\n await mkdir(path.dirname(paths.renderingConfigPath), { recursive: true });\n await writeFile(paths.renderingConfigPath, `${JSON.stringify(renderingConfig, null, 2)}\\n`, 'utf8');\n } else if (hasRenderingConfigPayload) {\n if (!paths.renderingConfigPath) throw new Error('rendering_config_path_missing');\n await rm(paths.renderingConfigPath, { force: true });\n }\n if (input.saveMode === 'local-commit-save') {\n await writeFile(paths.scenePath, savedSceneJsonText, 'utf8');\n }\n const invalidationFiles = [\n paths.editorScenePath,\n ...(input.saveMode === 'local-commit-save' ? [paths.scenePath] : []),\n ...(hasRenderingConfigPayload && paths.renderingConfigPath\n ? input.createRenderingInvalidationFiles?.(input.projectRoot, paths.renderingConfigPath)\n ?? [paths.renderingConfigPath]\n : []),\n ];\n input.invalidateFiles?.(input.server, invalidationFiles);\n\n return {\n ok: true,\n mode: input.saveMode,\n editorScenePath: paths.editorScenePath,\n scenePath: paths.scenePath,\n expectedVersion: previousVersion,\n ...(input.saveMode === 'local-commit-save' ? { version, updatedAt } : {}),\n editorScene: responseEditorScene,\n ...(shadowMapExperimentConfig ? { shadowMapExperimentConfig } : {}),\n ...(hasRenderingConfigPayload || hasStaticShadowArtifactPayload ? {\n companionConfigs: {\n ...(hasRenderingConfigPayload ? { rendering: renderingConfig } : {}),\n ...(hasStaticShadowArtifactPayload ? { staticShadows: runtimeStaticShadowArtifact } : {}),\n },\n ...(renderingConfig ? {\n renderingSummary: input.summarizeRenderingProfile?.(normalizedRenderingConfig ?? null) ?? null,\n } : {}),\n } : {}),\n sceneJsonText: savedSceneJsonText,\n summary: {\n editorScene: summarizePlayableEditorScene(editorScene),\n compiled: compiled.summary,\n },\n };\n}\n\nfunction assertPlayableViteEditorSceneAuthoringRevision(\n input: PlayableViteEditorSceneSaveInput,\n): void {\n const persistedEditorScene = readPlayableViteJsonFile(input.paths.editorScenePath);\n if (!persistedEditorScene) return;\n const persistedSource = readPlayableViteEditorSceneAuthoringSource(persistedEditorScene);\n if (!persistedSource) return;\n const submittedSource = readPlayableViteEditorSceneAuthoringSource(input.rawEditorScene);\n const expectedRevision = typeof input.body.expectedAuthoringSourceRevision === 'number'\n && Number.isFinite(input.body.expectedAuthoringSourceRevision)\n ? input.body.expectedAuthoringSourceRevision\n : null;\n const identityMatches = submittedSource?.sourceId === persistedSource.sourceId\n && submittedSource.sourceType === persistedSource.sourceType;\n const submittedRevisionMatches = submittedSource?.revision === persistedSource.revision;\n if (\n identityMatches\n && submittedRevisionMatches\n && expectedRevision === persistedSource.revision\n ) return;\n const stage = input.saveMode === 'prepare-platform-save'\n ? 'document.export'\n : 'document.save';\n const error = new Error('authoring_source_revision_mismatch');\n Object.assign(error, {\n code: 'authoring_source_revision_mismatch',\n stage,\n sourceId: submittedSource?.sourceId ?? persistedSource.sourceId,\n expectedRevision,\n actualRevision: persistedSource.revision,\n });\n throw error;\n}\n\nfunction readPlayableViteEditorSceneAuthoringSource(\n editorScene: Record<string, unknown>,\n): { sourceId: string; sourceType: string; revision: number } | null {\n const source = readRecord(readRecord(editorScene.meta)?.authoringSource);\n if (typeof source?.sourceId !== 'string' || !source.sourceId.trim()) return null;\n if (typeof source.sourceType !== 'string' || !source.sourceType.trim()) return null;\n if (typeof source.revision !== 'number' || !Number.isFinite(source.revision)) return null;\n return {\n sourceId: source.sourceId,\n sourceType: source.sourceType,\n revision: source.revision,\n };\n}\n\nfunction assertCurrentStaticShadowArtifactPayload(\n payload: unknown,\n artifact: unknown,\n input: { present: boolean; path: string },\n): void {\n if (!input.present || payload == null || artifact) return;\n const error = new Error(`schema.unsupportedVersion: ${input.path}`);\n Object.assign(error, { code: 'schema.unsupportedVersion', path: input.path });\n throw error;\n}\n\nexport function assertPlayableEditorSceneDocument(value: unknown): void {\n assertPlayableEditorSceneDocumentContract(value);\n}\n\nexport function summarizePlayableEditorScene(value: unknown): Record<string, unknown> {\n const record = readRecord(value);\n const meta = readRecord(record?.meta);\n const authoringSource = readRecord(meta?.authoringSource);\n const scene = readRecord(record?.scene);\n return {\n schemaVersion: record?.schemaVersion ?? null,\n sourceId: authoringSource?.sourceId ?? null,\n sourceType: authoringSource?.sourceType ?? null,\n revision: authoringSource?.revision ?? null,\n assets: Array.isArray(record?.assets) ? record.assets.length : 0,\n gameObjects: Array.isArray(scene?.gameObjects) ? scene.gameObjects.length : 0,\n materialAssets: Array.isArray(scene?.materialAssets) ? scene.materialAssets.length : 0,\n };\n}\n\nexport function withPlayableEditorSceneCompanionConfigs(\n editorScene: Record<string, unknown>,\n companionConfigs: Record<string, unknown>,\n): Record<string, unknown> {\n const nextCompanionConfigs = {\n ...readSceneMainSourceSaveCompanionConfigs(editorScene),\n };\n delete nextCompanionConfigs.rendering;\n for (const [key, value] of Object.entries(companionConfigs)) {\n if (value == null) {\n delete nextCompanionConfigs[key];\n } else {\n nextCompanionConfigs[key] = value as Record<string, unknown>;\n }\n }\n const nextEditorScene = { ...editorScene };\n if (Object.keys(nextCompanionConfigs).length > 0) {\n nextEditorScene.companionConfigs = nextCompanionConfigs;\n } else {\n delete nextEditorScene.companionConfigs;\n }\n return nextEditorScene;\n}\n\nfunction readPlayableViteJsonFile(filePath: string): Record<string, unknown> | null {\n return existsSync(filePath)\n ? JSON.parse(readFileSync(filePath, 'utf8') || '{}') as Record<string, unknown>\n : null;\n}\n\nfunction readPlayableViteShadowMapExperimentConfig(\n filePath: string | undefined,\n): ShadowMapExperimentConfig | null {\n if (!filePath) return null;\n if (!existsSync(filePath)) throw new Error(`shadows_config_missing:${filePath}`);\n const value = JSON.parse(readFileSync(filePath, 'utf8') || '{}') as unknown;\n assertShadowMapExperimentConfig(value, '$');\n return structuredClone(value) as ShadowMapExperimentConfig;\n}\n\nfunction assertShadowMapExperimentConfigNotSubmitted(value: unknown, path: string): void {\n const record = readRecord(value);\n if (!record) return;\n for (const key of ['shadowMapExperimentConfig', 'shadowsConfig']) {\n if (Object.prototype.hasOwnProperty.call(record, key)) {\n throw readonlyShadowConfigError(`${path}.${key}`);\n }\n }\n const companionConfigs = readRecord(record.companionConfigs);\n if (companionConfigs && Object.prototype.hasOwnProperty.call(companionConfigs, 'shadows')) {\n throw readonlyShadowConfigError(`${path}.companionConfigs.shadows`);\n }\n}\n\nfunction readonlyShadowConfigError(path: string): Error {\n const error = new Error(`shadow_map_experiment_config_readonly:${path}`);\n Object.assign(error, { code: 'shadowMapExperiment.configReadonly', path });\n return error;\n}\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type EditorServiceTokenScope } from '@fps-games/editor-protocol';
|
|
2
|
+
import type { ViteDevServer } from 'vite';
|
|
3
|
+
import type { FpsGameEditorProjectDefinition } from '../product/index';
|
|
4
|
+
import type { PlayableEditorViteResolvedIntegration } from './types';
|
|
5
|
+
export declare const PLAYABLE_EDITOR_AGENT_RUNTIME_RELATIVE_PATH: string;
|
|
6
|
+
export interface PlayableEditorViteEditorServiceOptions {
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
project?: FpsGameEditorProjectDefinition;
|
|
9
|
+
tokenScopes?: readonly EditorServiceTokenScope[];
|
|
10
|
+
}
|
|
11
|
+
export interface PlayableEditorViteEditorService {
|
|
12
|
+
readonly descriptorPath: string;
|
|
13
|
+
readonly serviceInstanceId: string;
|
|
14
|
+
dispose(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export interface PlayableEditorViteEditorServiceCredentials {
|
|
17
|
+
readonly serviceInstanceId: string;
|
|
18
|
+
readonly token: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function installPlayableEditorViteEditorService(input: {
|
|
21
|
+
readonly server: ViteDevServer;
|
|
22
|
+
readonly integration: PlayableEditorViteResolvedIntegration;
|
|
23
|
+
readonly options?: PlayableEditorViteEditorServiceOptions;
|
|
24
|
+
readonly credentials?: PlayableEditorViteEditorServiceCredentials;
|
|
25
|
+
readonly logger?: Pick<Console, 'info' | 'warn' | 'error'>;
|
|
26
|
+
}): Promise<PlayableEditorViteEditorService | null>;
|
|
27
|
+
//# sourceMappingURL=editor-service-vite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-service-vite.d.ts","sourceRoot":"","sources":["../../src/vite/editor-service-vite.ts"],"names":[],"mappings":"AAgBA,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,SAAS,CAAC;AAErE,eAAO,MAAM,2CAA2C,QAIvD,CAAC;AAOF,MAAM,WAAW,sCAAsC;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,8BAA8B,CAAC;IACzC,WAAW,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,sCAAsC,CAAC,KAAK,EAAE;IAClE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,qCAAqC,CAAC;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,sCAAsC,CAAC;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,0CAA0C,CAAC;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC5D,GAAG,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAoPlD"}
|