@fps-games/editor 0.2.1-beta.2 → 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 +46 -46
- 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 +1737 -374
- 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-babylon-rendering.d.ts +8 -7
- package/dist/playable-babylon-rendering.d.ts.map +1 -1
- package/dist/playable-babylon-rendering.js +77 -32
- package/dist/playable-babylon-rendering.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 +2 -0
- package/dist/playable-product-projection-preview.d.ts.map +1 -1
- package/dist/playable-product-projection-preview.js +8 -5
- 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 +2 -2
- package/dist/playable-sdk.d.ts.map +1 -1
- package/dist/playable-sdk.js +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.d.ts +0 -3
- package/dist/playable-standard-project.d.ts.map +1 -1
- package/dist/playable-standard-project.js +14 -6
- 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/environment/environment-texture-controller.d.ts +4 -2
- package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js +301 -121
- package/node_modules/@fps-games/babylon-renderer/dist/environment/environment-texture-controller.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js +5 -4
- package/node_modules/@fps-games/babylon-renderer/dist/environment/profile.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/types.d.ts +4 -4
- package/node_modules/@fps-games/babylon-renderer/dist/environment/types.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/environment/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts +2 -0
- package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js +12 -1
- package/node_modules/@fps-games/babylon-renderer/dist/game-world-plugin-lifecycle.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts +6 -3
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.js +100 -39
- package/node_modules/@fps-games/babylon-renderer/dist/plugin.js.map +1 -1
- 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/dist/reference.d.ts +1 -3
- package/node_modules/@fps-games/babylon-renderer/dist/reference.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +11 -8
- 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/asset-database/generated-module.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js +10 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/generated-module.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/index.js.map +1 -1
- 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/package-resolution/aliases.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.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/rendering-profile/panel.js +4 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.js +1 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/assets.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 +187 -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/upgrade-doctor/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.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/dist/identity.d.ts +1 -0
- package/node_modules/@fps-games/playable-assets/dist/identity.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/identity.js +1 -1
- package/node_modules/@fps-games/playable-assets/dist/identity.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/index.js +1 -0
- package/node_modules/@fps-games/playable-assets/dist/index.js.map +1 -1
- package/node_modules/@fps-games/playable-assets/dist/resource-resolver.d.ts +46 -0
- package/node_modules/@fps-games/playable-assets/dist/resource-resolver.d.ts.map +1 -0
- package/node_modules/@fps-games/playable-assets/dist/resource-resolver.js +109 -0
- package/node_modules/@fps-games/playable-assets/dist/resource-resolver.js.map +1 -0
- 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/dist/runtime.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/runtime.js +5 -0
- package/node_modules/@fps-games/playable-runtime/dist/runtime.js.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/types.d.ts +2 -0
- package/node_modules/@fps-games/playable-runtime/dist/types.d.ts.map +1 -1
- package/node_modules/@fps-games/playable-runtime/dist/types.js.map +1 -1
- 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/reference.d.ts.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/reference.js +11 -4
- package/node_modules/@fps-games/plugin-assets/dist/reference.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/renderer.d.ts +8 -0
- package/node_modules/@fps-games/plugin-assets/dist/renderer.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-assets/dist/renderer.js +13 -0
- package/node_modules/@fps-games/plugin-assets/dist/renderer.js.map +1 -0
- package/node_modules/@fps-games/plugin-assets/dist/resources.d.ts +12 -0
- package/node_modules/@fps-games/plugin-assets/dist/resources.d.ts.map +1 -0
- package/node_modules/@fps-games/plugin-assets/dist/resources.js +8 -0
- package/node_modules/@fps-games/plugin-assets/dist/resources.js.map +1 -0
- package/node_modules/@fps-games/plugin-assets/dist/runtime.d.ts +2 -1
- package/node_modules/@fps-games/plugin-assets/dist/runtime.d.ts.map +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/runtime.js +3 -0
- package/node_modules/@fps-games/plugin-assets/dist/runtime.js.map +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 +32 -8
- 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 +24 -22
- 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":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport type { FpsRuntimeAsset, FpsRuntimeData } from '@fps-games/playable-contracts';\nimport {\n createFpsRuntimeDataSnapshot,\n} from '@fps-games/playable-runtime-data';\nimport {\n FPS_SHADOW_MAP_EXPERIMENT_PLUGIN_ID,\n createShadowMapExperimentPlanSnapshot,\n normalizeEditorSceneRenderingProfile,\n type ShadowMapExperimentPlan,\n} from '@fps-games/playable-rendering/runtime';\nimport {\n defineFpsPluginEntry,\n defineFpsPluginManifest,\n defineFpsServiceToken,\n type FpsPluginEntry,\n type FpsPluginManifest,\n} from '@fps-games/plugin-api';\nimport { createFpsPluginHost, type FpsPluginHost } from '@fps-games/plugin-host';\nimport { createBabylonEnvironmentTextureController } from './environment/environment-texture-controller.js';\nimport {\n FPS_BABYLON_RENDERER_PLUGIN_ID,\n type FpsBabylonRendererPluginConfig,\n} from './reference.js';\nimport type {\n BabylonEnvironmentTextureController,\n BabylonEnvironmentTextureFactory,\n} from './environment/types.js';\nimport {\n createBabylonDefaultPostProcessPipelineController,\n readBabylonDefaultPostProcessPipelineControllerCleanup,\n} from './post-process/babylon-default-pipeline.js';\nimport type {\n BabylonDefaultPostProcessPipelineController,\n} from './post-process/types.js';\nimport {\n createBabylonShadowMapExperimentSystem,\n readBabylonShadowMapExperimentSystemCleanup,\n type BabylonRuntimeShadowObjectsOwner,\n type BabylonRuntimeShadowObjectsRegistration,\n type BabylonRuntimeShadowObjectsSnapshot,\n type BabylonShadowMapExperimentEvidence,\n type BabylonShadowMapExperimentSystem,\n} from './shadows/shadow-map-experiment-system.js';\nimport type {\n ShadowMapExperimentActivityKind,\n ShadowMapExperimentActivitySourceController,\n} from '@fps-games/playable-rendering/runtime';\n\nexport { FPS_BABYLON_RENDERER_PLUGIN_ID } from './reference.js';\n\nexport interface FpsBabylonRendererContext {\n readonly scene: Scene;\n readonly cameras: readonly Camera[];\n readonly resolveAssetUrl?: (\n assetId: string,\n asset: FpsRuntimeAsset | null,\n ) => string | null;\n readonly createEnvironmentTexture?: BabylonEnvironmentTextureFactory;\n}\n\nexport interface FpsBabylonRendererService {\n readonly shadows: FpsBabylonRendererShadowService;\n}\n\nexport interface FpsBabylonRendererHostController extends FpsBabylonRendererService {\n readonly environment: BabylonEnvironmentTextureController;\n readonly postProcess: BabylonDefaultPostProcessPipelineController;\n getRuntimeData(): FpsRuntimeData;\n update(data: FpsRuntimeData): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface FpsBabylonRendererShadowService {\n registerRuntimeShadowObjects(\n input: BabylonRuntimeShadowObjectsRegistration,\n ): BabylonRuntimeShadowObjectsOwner;\n registerActivitySource(input: {\n readonly entityId: string;\n readonly kind: ShadowMapExperimentActivityKind;\n readonly sourceId: string;\n }): ShadowMapExperimentActivitySourceController;\n getRuntimeSnapshot(): BabylonRuntimeShadowObjectsSnapshot;\n getEvidence(): BabylonShadowMapExperimentEvidence;\n}\n\nexport interface FpsBabylonRendererPlugin {\n readonly manifest: Readonly<FpsPluginManifest>;\n readonly renderer: Readonly<FpsPluginEntry>;\n}\n\nexport interface FpsBabylonRendererPluginOptions {\n readonly pluginVersion: string;\n}\n\nexport interface FpsBabylonRendererHostOptions extends FpsBabylonRendererPluginOptions {\n readonly data: FpsRuntimeData;\n readonly context: FpsBabylonRendererContext;\n readonly config?: FpsBabylonRendererPluginConfig;\n readonly report?: Parameters<typeof createFpsPluginHost>[0]['report'];\n}\n\nexport interface FpsBabylonRendererHost {\n readonly pluginId: typeof FPS_BABYLON_RENDERER_PLUGIN_ID;\n readonly host: FpsPluginHost;\n readonly renderer: FpsBabylonRendererHostController;\n dispose(): Promise<void>;\n}\n\nexport const FPS_BABYLON_RENDERER_CONTEXT = defineFpsServiceToken<FpsBabylonRendererContext>(\n 'fps.renderer.babylon.context',\n);\nexport const FPS_BABYLON_RENDERER_DATA = defineFpsServiceToken<FpsRuntimeData>(\n 'fps.renderer.babylon.runtime-data',\n);\nexport const FPS_BABYLON_RENDERER_SERVICE = defineFpsServiceToken<FpsBabylonRendererHostController>(\n 'fps.renderer.babylon.service',\n);\n\nconst fpsBabylonRendererSceneOwners = new WeakMap<Scene, object>();\n\nexport const pluginEntry = defineFpsPluginEntry({\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n environment: 'renderer',\n register(context) {\n const rendererContext = context.services.get(FPS_BABYLON_RENDERER_CONTEXT);\n const runtimeData = context.services.get(FPS_BABYLON_RENDERER_DATA);\n const releaseSceneOwnership = reserveFpsBabylonRendererScene(rendererContext.scene);\n let createdService: FpsBabylonRendererInternalService;\n try {\n createdService = createFpsBabylonRendererService(\n runtimeData,\n rendererContext,\n (context.config ?? {}) as FpsBabylonRendererPluginConfig,\n releaseSceneOwnership,\n );\n } catch (error) {\n const recoverConstruction = readFpsBabylonRendererConstructionCleanup(error)\n ?? readBabylonShadowMapExperimentSystemCleanup(error)\n ?? readBabylonDefaultPostProcessPipelineControllerCleanup(error);\n if (recoverConstruction) {\n context.add(() => {\n const cleanupErrors = [...recoverConstruction()];\n if (cleanupErrors.length > 0) {\n throw Object.assign(\n new Error('Babylon renderer construction cleanup failed.'),\n { cleanupErrors: Object.freeze(cleanupErrors) },\n );\n }\n releaseSceneOwnership();\n });\n } else {\n try { releaseSceneOwnership(); }\n catch (cleanupError) {\n const recoverRelease = createFpsBabylonRendererConstructionCleanup([releaseSceneOwnership]);\n context.add(() => throwCleanupResult(recoverRelease()));\n throw createFailureWithMetadata(\n error,\n 'Babylon renderer construction failed.',\n {\n cleanupErrors: Object.freeze([cleanupError]),\n fpsBabylonRendererConstructionCleanup: recoverRelease,\n },\n );\n }\n }\n throw error;\n }\n context.add(context.services.register(FPS_BABYLON_RENDERER_SERVICE, createdService));\n context.add(() => createdService.dispose());\n },\n async start(context) {\n await getFpsBabylonRendererInternalService(context).initialize();\n },\n async dispose(context) {\n await (context.services.getOptional(FPS_BABYLON_RENDERER_SERVICE) as FpsBabylonRendererInternalService | undefined)?.dispose();\n },\n});\n\nexport function createFpsBabylonRendererPlugin(\n options: FpsBabylonRendererPluginOptions,\n): FpsBabylonRendererPlugin {\n const manifest = defineFpsPluginManifest({\n id: FPS_BABYLON_RENDERER_PLUGIN_ID,\n version: options.pluginVersion,\n apiVersion: 1,\n requires: {},\n provides: { features: ['fps.renderer.babylon'] },\n entries: { renderer: './renderer' },\n environmentContracts: {\n renderer: {\n requires: {\n services: [\n FPS_BABYLON_RENDERER_CONTEXT.id,\n FPS_BABYLON_RENDERER_DATA.id,\n ],\n },\n provides: { services: [FPS_BABYLON_RENDERER_SERVICE.id] },\n scopes: ['application'],\n },\n },\n });\n return Object.freeze({ manifest, renderer: pluginEntry });\n}\n\nexport async function createFpsBabylonRendererHost(\n options: FpsBabylonRendererHostOptions,\n): Promise<FpsBabylonRendererHost> {\n const plugin = createFpsBabylonRendererPlugin(options);\n const host = createFpsPluginHost({\n environment: 'renderer',\n apiVersion: 1,\n manifests: [plugin.manifest],\n pluginConfigs: { [FPS_BABYLON_RENDERER_PLUGIN_ID]: options.config ?? {} },\n initialServices: [\n { token: FPS_BABYLON_RENDERER_CONTEXT, value: options.context },\n { token: FPS_BABYLON_RENDERER_DATA, value: options.data },\n ],\n loadEntry: async manifest => manifest.id === plugin.manifest.id ? plugin.renderer : null,\n report: options.report,\n });\n await host.start();\n const renderer = host.services.get(FPS_BABYLON_RENDERER_SERVICE);\n let hostDisposePromise: Promise<void> | null = null;\n return {\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n host,\n renderer,\n dispose: () => {\n if (!hostDisposePromise) {\n const operation = (async () => {\n const errors: unknown[] = [];\n try { await renderer.dispose(); } catch (error) { errors.push(error); }\n try { await host.dispose(); } catch (error) { errors.push(error); }\n if (errors.length === 1) throw errors[0];\n if (errors.length > 1) {\n throw Object.assign(new Error('Babylon renderer host disposal failed.'), { errors });\n }\n })();\n hostDisposePromise = operation.catch(error => {\n hostDisposePromise = null;\n throw error;\n });\n }\n return hostDisposePromise;\n },\n };\n}\n\ninterface FpsBabylonRendererInternalService extends FpsBabylonRendererHostController {\n readonly shadowMapExperimentSystem: BabylonShadowMapExperimentSystem;\n initialize(): Promise<void>;\n}\n\nfunction createFpsBabylonRendererService(\n initialData: FpsRuntimeData,\n context: FpsBabylonRendererContext,\n config: FpsBabylonRendererPluginConfig,\n releaseSceneOwnership: () => void,\n): FpsBabylonRendererInternalService {\n const initialPrepared = prepareFpsBabylonRendererUpdate(initialData, context, config);\n let data = initialPrepared.data;\n let disposed = false;\n let acceptingUpdates = true;\n let activeAbort: AbortController | null = null;\n let queue: Promise<void> = Promise.resolve();\n let disposePromise: Promise<void> | null = null;\n const originalEnvironmentTexture = context.scene.environmentTexture;\n const sceneWithIntensity = context.scene as unknown as { environmentIntensity?: number };\n const originalEnvironmentIntensity = sceneWithIntensity.environmentIntensity;\n const restoreOriginalSceneEnvironment = (): void => {\n context.scene.environmentTexture = originalEnvironmentTexture;\n if (originalEnvironmentIntensity === undefined) delete sceneWithIntensity.environmentIntensity;\n else sceneWithIntensity.environmentIntensity = originalEnvironmentIntensity;\n };\n const postProcess = createBabylonDefaultPostProcessPipelineController(\n context.scene,\n [...context.cameras],\n null,\n );\n let environment: BabylonEnvironmentTextureController;\n try {\n environment = createBabylonEnvironmentTextureController(context.scene, null, {\n createTexture: context.createEnvironmentTexture,\n });\n } catch (error) {\n throwFpsBabylonRendererConstructionFailure(error, [\n () => postProcess.dispose(),\n restoreOriginalSceneEnvironment,\n ]);\n }\n let shadowMapExperiment: BabylonShadowMapExperimentSystem;\n try {\n shadowMapExperiment = createBabylonShadowMapExperimentSystem(context.scene);\n } catch (error) {\n const shadowCleanup = readBabylonShadowMapExperimentSystemCleanup(error);\n throwFpsBabylonRendererConstructionFailure(error, [\n ...(shadowCleanup ? [() => throwCleanupResult(shadowCleanup())] : []),\n () => environment.dispose(),\n () => postProcess.dispose(),\n restoreOriginalSceneEnvironment,\n ]);\n }\n const assertAcceptingShadowOwnership = (): void => {\n if (!acceptingUpdates || disposed) {\n throw new Error('Babylon renderer service is disposed.');\n }\n };\n const shadows: FpsBabylonRendererShadowService = Object.freeze({\n registerRuntimeShadowObjects: (input: BabylonRuntimeShadowObjectsRegistration) => {\n assertAcceptingShadowOwnership();\n return shadowMapExperiment.registerRuntimeShadowObjects(input);\n },\n registerActivitySource: (input: {\n readonly entityId: string;\n readonly kind: ShadowMapExperimentActivityKind;\n readonly sourceId: string;\n }) => {\n assertAcceptingShadowOwnership();\n return shadowMapExperiment.registerCasterActivitySource(input);\n },\n getRuntimeSnapshot: () => shadowMapExperiment.getEvidence().runtime,\n getEvidence: () => shadowMapExperiment.getEvidence(),\n });\n\n const cleanup = (): void => {\n const cleanupErrors: unknown[] = [];\n try { shadowMapExperiment.dispose(); } catch (error) { cleanupErrors.push(error); }\n try { environment.dispose(); } catch (error) { cleanupErrors.push(error); }\n try { postProcess.dispose(); } catch (error) { cleanupErrors.push(error); }\n try { restoreOriginalSceneEnvironment(); } catch (error) { cleanupErrors.push(error); }\n if (cleanupErrors.length === 0) {\n try { releaseSceneOwnership(); } catch (error) { cleanupErrors.push(error); }\n }\n if (cleanupErrors.length > 0) {\n const error = new Error('Babylon renderer cleanup failed.');\n Object.assign(error, { cleanupErrors });\n throw error;\n }\n };\n\n const commit = async (\n prepared: FpsBabylonRendererPreparedUpdate,\n signal: AbortSignal,\n ): Promise<void> => {\n const previousEnvironment = environment.getProfile();\n const previousControllerTexture = environment.getTexture();\n const previousSceneTexture = context.scene.environmentTexture;\n const previousSceneIntensity = sceneWithIntensity.environmentIntensity;\n const previousPostProcess = postProcess.getProfile();\n const previousShadowMapExperimentPlan = shadowMapExperiment.getPlan();\n try {\n shadowMapExperiment.setPlan(prepared.shadowMapExperimentPlan);\n postProcess.setProfile(prepared.postProcess);\n await environment.setProfileAsync(prepared.environment, signal);\n if (signal.aborted) throw createFpsBabylonRendererAbortError();\n data = prepared.data;\n } catch (error) {\n const rollbackErrors: unknown[] = [];\n try { await environment.setProfileAsync(previousEnvironment); } catch (rollbackError) { rollbackErrors.push(rollbackError); }\n try {\n if (previousSceneTexture !== previousControllerTexture) {\n context.scene.environmentTexture = previousSceneTexture;\n }\n if (previousSceneIntensity === undefined) delete sceneWithIntensity.environmentIntensity;\n else sceneWithIntensity.environmentIntensity = previousSceneIntensity;\n } catch (rollbackError) {\n rollbackErrors.push(rollbackError);\n }\n try { postProcess.setProfile(previousPostProcess); } catch (rollbackError) { rollbackErrors.push(rollbackError); }\n try { shadowMapExperiment.setPlan(previousShadowMapExperimentPlan); } catch (rollbackError) { rollbackErrors.push(rollbackError); }\n if (rollbackErrors.length > 0) {\n throw createFailureWithMetadata(\n error,\n 'Babylon renderer update failed.',\n { rollbackErrors: Object.freeze(rollbackErrors) },\n );\n }\n throw error;\n }\n };\n\n const enqueue = (prepared: FpsBabylonRendererPreparedUpdate): Promise<void> => {\n const operation = queue.then(async () => {\n if (!acceptingUpdates || disposed) throw new Error('Babylon renderer service is disposed.');\n const abort = new AbortController();\n activeAbort = abort;\n try {\n await commit(prepared, abort.signal);\n } finally {\n if (activeAbort === abort) activeAbort = null;\n }\n });\n queue = operation.then(() => undefined, () => undefined);\n return operation;\n };\n\n const service: FpsBabylonRendererInternalService = {\n environment,\n postProcess,\n shadows,\n shadowMapExperimentSystem: shadowMapExperiment,\n getRuntimeData: () => data,\n initialize: () => enqueue(initialPrepared),\n async update(nextData) {\n if (!acceptingUpdates || disposed) throw new Error('Babylon renderer service is disposed.');\n await enqueue(prepareFpsBabylonRendererUpdate(nextData, context, config));\n },\n async dispose() {\n if (disposePromise) return disposePromise;\n acceptingUpdates = false;\n activeAbort?.abort();\n const operation = (async () => {\n await queue;\n if (disposed) return;\n cleanup();\n disposed = true;\n })();\n disposePromise = operation.catch(error => {\n disposePromise = null;\n throw error;\n });\n return disposePromise;\n },\n };\n return service;\n}\n\ntype FpsBabylonRendererConstructionCleanup = () => readonly unknown[];\n\nfunction throwFpsBabylonRendererConstructionFailure(\n failure: unknown,\n operations: readonly (() => void)[],\n): never {\n const cleanup = createFpsBabylonRendererConstructionCleanup(operations);\n const cleanupErrors = cleanup();\n if (cleanupErrors.length === 0) throw failure;\n throw createFailureWithMetadata(\n failure,\n 'Babylon renderer construction failed.',\n {\n cleanupErrors,\n fpsBabylonRendererConstructionCleanup: cleanup,\n },\n );\n}\n\nfunction createFpsBabylonRendererConstructionCleanup(\n operations: readonly (() => void)[],\n): FpsBabylonRendererConstructionCleanup {\n let pending = [...operations];\n return () => {\n const cleanupErrors: unknown[] = [];\n const retry: (() => void)[] = [];\n for (const operation of pending) {\n try { operation(); }\n catch (error) {\n cleanupErrors.push(error);\n retry.push(operation);\n }\n }\n pending = retry;\n return Object.freeze(cleanupErrors);\n };\n}\n\nfunction readFpsBabylonRendererConstructionCleanup(\n error: unknown,\n): FpsBabylonRendererConstructionCleanup | null {\n if (!error || (typeof error !== 'object' && typeof error !== 'function')) return null;\n const cleanup = (error as { fpsBabylonRendererConstructionCleanup?: unknown })\n .fpsBabylonRendererConstructionCleanup;\n return typeof cleanup === 'function' ? cleanup as FpsBabylonRendererConstructionCleanup : null;\n}\n\nfunction throwCleanupResult(cleanupErrors: readonly unknown[]): void {\n if (cleanupErrors.length === 0) return;\n if (cleanupErrors.length === 1) throw cleanupErrors[0];\n throw Object.assign(new Error('Babylon renderer construction cleanup failed.'), {\n cleanupErrors: Object.freeze([...cleanupErrors]),\n });\n}\n\nfunction createFailureWithMetadata(\n failure: unknown,\n fallbackMessage: string,\n metadata: Readonly<Record<string, unknown>>,\n): object {\n if (failure && (typeof failure === 'object' || typeof failure === 'function')) {\n try {\n Object.assign(failure, metadata);\n if (Object.entries(metadata).every(([key, value]) => (\n (failure as Record<string, unknown>)[key] === value\n ))) return failure;\n } catch {\n // A non-extensible primary error is wrapped so recovery metadata remains reachable.\n }\n }\n return Object.assign(\n new Error(failure instanceof Error ? failure.message : fallbackMessage),\n { cause: failure, ...metadata },\n );\n}\n\nfunction reserveFpsBabylonRendererScene(scene: Scene): () => void {\n if (fpsBabylonRendererSceneOwners.has(scene)) {\n throw new Error('Babylon renderer Scene already has an active owner.');\n }\n const owner = Object.freeze({});\n fpsBabylonRendererSceneOwners.set(scene, owner);\n let released = false;\n return () => {\n if (released) return;\n if (fpsBabylonRendererSceneOwners.get(scene) !== owner) {\n throw new Error('Babylon renderer Scene ownership was replaced before cleanup completed.');\n }\n fpsBabylonRendererSceneOwners.delete(scene);\n released = true;\n };\n}\n\nfunction getFpsBabylonRendererInternalService(\n context: Parameters<NonNullable<FpsPluginEntry['start']>>[0],\n): FpsBabylonRendererInternalService {\n return context.services.get(FPS_BABYLON_RENDERER_SERVICE) as FpsBabylonRendererInternalService;\n}\n\nfunction createFpsBabylonRendererAbortError(): Error {\n return Object.assign(new Error('Babylon renderer update aborted.'), { name: 'AbortError' });\n}\n\ninterface FpsBabylonRendererPreparedUpdate {\n readonly data: FpsRuntimeData;\n readonly environment: {\n readonly textureUrl: string | null;\n readonly intensity: number;\n readonly rotationY: number;\n };\n readonly postProcess: ReturnType<typeof normalizeEditorSceneRenderingProfile>['postProcess'];\n readonly shadowMapExperimentPlan: ShadowMapExperimentPlan | null;\n}\n\nfunction prepareFpsBabylonRendererUpdate(\n input: FpsRuntimeData,\n context: FpsBabylonRendererContext,\n config: FpsBabylonRendererPluginConfig,\n): FpsBabylonRendererPreparedUpdate {\n const data = createFpsRuntimeDataSnapshot(input);\n const profile = normalizeEditorSceneRenderingProfile(data.rendering);\n const textureRef = profile.environment.texture;\n const textureAsset = textureRef?.textureAssetId\n ? data.assets.find(asset => asset.id === textureRef.textureAssetId) ?? null\n : null;\n const textureUrl = textureRef?.url\n ?? (textureRef?.textureAssetId\n ? context.resolveAssetUrl?.(textureRef.textureAssetId, textureAsset) ?? textureAsset?.url ?? null\n : null)\n ?? config.environmentTexture\n ?? null;\n const shadowMapExperimentEntry = data.plugins?.find(\n entry => entry.pluginId === FPS_SHADOW_MAP_EXPERIMENT_PLUGIN_ID,\n );\n return Object.freeze({\n data,\n environment: Object.freeze({\n textureUrl,\n intensity: profile.environment.iblIntensity,\n rotationY: profile.environment.rotationY,\n }),\n postProcess: profile.postProcess,\n shadowMapExperimentPlan: shadowMapExperimentEntry\n ? createShadowMapExperimentPlanSnapshot(shadowMapExperimentEntry.data)\n : null,\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport type { FpsRuntimeData } from '@fps-games/playable-contracts';\nimport type {\n PlayableAssetResourceResolutionDiagnostic,\n PlayableAssetResourceResolver,\n PlayableResolvedAssetResource,\n} from '@fps-games/playable-assets';\nimport {\n createFpsRuntimeDataSnapshot,\n} from '@fps-games/playable-runtime-data';\nimport {\n FPS_SHADOW_MAP_EXPERIMENT_PLUGIN_ID,\n createShadowMapExperimentPlanSnapshot,\n normalizeEditorSceneRenderingProfile,\n type ShadowMapExperimentPlan,\n} from '@fps-games/playable-rendering/runtime';\nimport {\n defineFpsPluginEntry,\n defineFpsPluginManifest,\n defineFpsServiceToken,\n type FpsPluginEntry,\n type FpsDiagnostic,\n type FpsPluginManifest,\n} from '@fps-games/plugin-api';\nimport { createFpsPluginHost, type FpsPluginHost } from '@fps-games/plugin-host';\nimport {\n FPS_ASSETS_PLUGIN_ID,\n createFpsAssetsPluginManifest,\n} from '@fps-games/plugin-assets';\nimport { pluginEntry as assetsRendererPluginEntry } from '@fps-games/plugin-assets/renderer';\nimport {\n FPS_ASSET_CATALOG_SOURCE,\n FPS_ASSET_RESOURCE_RESOLVER,\n type FpsAssetCatalogSource,\n} from '@fps-games/plugin-assets/resources';\nimport { createBabylonEnvironmentTextureController } from './environment/environment-texture-controller.js';\nimport {\n FPS_BABYLON_RENDERER_PLUGIN_ID,\n type FpsBabylonRendererPluginConfig,\n} from './reference.js';\nimport type {\n BabylonEnvironmentTextureController,\n BabylonEnvironmentTextureFactory,\n} from './environment/types.js';\nimport {\n createBabylonDefaultPostProcessPipelineController,\n readBabylonDefaultPostProcessPipelineControllerCleanup,\n} from './post-process/babylon-default-pipeline.js';\nimport type {\n BabylonDefaultPostProcessPipelineController,\n} from './post-process/types.js';\nimport {\n createBabylonShadowMapExperimentSystem,\n readBabylonShadowMapExperimentSystemCleanup,\n type BabylonRuntimeShadowObjectsOwner,\n type BabylonRuntimeShadowObjectsRegistration,\n type BabylonRuntimeShadowObjectsSnapshot,\n type BabylonShadowMapExperimentEvidence,\n type BabylonShadowMapExperimentSystem,\n} from './shadows/shadow-map-experiment-system.js';\nimport type {\n ShadowMapExperimentActivityKind,\n ShadowMapExperimentActivitySourceController,\n} from '@fps-games/playable-rendering/runtime';\n\nexport { FPS_BABYLON_RENDERER_PLUGIN_ID } from './reference.js';\n\nexport interface FpsBabylonRendererContext {\n readonly scene: Scene;\n readonly cameras: readonly Camera[];\n readonly createEnvironmentTexture?: BabylonEnvironmentTextureFactory;\n}\n\nexport interface FpsBabylonRendererService {\n readonly shadows: FpsBabylonRendererShadowService;\n}\n\nexport interface FpsBabylonRendererHostController extends FpsBabylonRendererService {\n readonly environment: BabylonEnvironmentTextureController;\n readonly postProcess: BabylonDefaultPostProcessPipelineController;\n getRuntimeData(): FpsRuntimeData;\n update(data: FpsRuntimeData): Promise<void>;\n dispose(): Promise<void>;\n}\n\nexport interface FpsBabylonRendererShadowService {\n registerRuntimeShadowObjects(\n input: BabylonRuntimeShadowObjectsRegistration,\n ): BabylonRuntimeShadowObjectsOwner;\n registerActivitySource(input: {\n readonly entityId: string;\n readonly kind: ShadowMapExperimentActivityKind;\n readonly sourceId: string;\n }): ShadowMapExperimentActivitySourceController;\n getRuntimeSnapshot(): BabylonRuntimeShadowObjectsSnapshot;\n getEvidence(): BabylonShadowMapExperimentEvidence;\n}\n\nexport interface FpsBabylonRendererPlugin {\n readonly manifest: Readonly<FpsPluginManifest>;\n readonly renderer: Readonly<FpsPluginEntry>;\n}\n\nexport interface FpsBabylonRendererPluginOptions {\n readonly pluginVersion: string;\n}\n\nexport interface FpsBabylonRendererHostOptions extends FpsBabylonRendererPluginOptions {\n readonly data: FpsRuntimeData;\n readonly assetCatalog: FpsAssetCatalogSource['catalog'];\n readonly context: FpsBabylonRendererContext;\n readonly config?: FpsBabylonRendererPluginConfig;\n readonly report?: Parameters<typeof createFpsPluginHost>[0]['report'];\n}\n\nexport interface FpsBabylonRendererHost {\n readonly pluginId: typeof FPS_BABYLON_RENDERER_PLUGIN_ID;\n readonly host: FpsPluginHost;\n readonly renderer: FpsBabylonRendererHostController;\n dispose(): Promise<void>;\n}\n\nexport const FPS_BABYLON_RENDERER_CONTEXT = defineFpsServiceToken<FpsBabylonRendererContext>(\n 'fps.renderer.babylon.context',\n);\nexport const FPS_BABYLON_RENDERER_DATA = defineFpsServiceToken<FpsRuntimeData>(\n 'fps.renderer.babylon.runtime-data',\n);\nexport const FPS_BABYLON_RENDERER_SERVICE = defineFpsServiceToken<FpsBabylonRendererHostController>(\n 'fps.renderer.babylon.service',\n);\n\nexport type FpsBabylonRendererHostCleanup = () => Promise<void>;\n\nexport function readFpsBabylonRendererHostCleanup(\n error: unknown,\n): FpsBabylonRendererHostCleanup | null {\n if (!error || (typeof error !== 'object' && typeof error !== 'function')) return null;\n const cleanup = (error as { fpsBabylonRendererHostCleanup?: unknown })\n .fpsBabylonRendererHostCleanup;\n return typeof cleanup === 'function' ? cleanup as FpsBabylonRendererHostCleanup : null;\n}\n\nconst fpsBabylonRendererSceneOwners = new WeakMap<Scene, object>();\n\nexport const pluginEntry = defineFpsPluginEntry({\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n environment: 'renderer',\n register(context) {\n const rendererContext = context.services.get(FPS_BABYLON_RENDERER_CONTEXT);\n const runtimeData = context.services.get(FPS_BABYLON_RENDERER_DATA);\n const assetResources = context.services.get(FPS_ASSET_RESOURCE_RESOLVER);\n const releaseSceneOwnership = reserveFpsBabylonRendererScene(rendererContext.scene);\n let createdService: FpsBabylonRendererInternalService;\n try {\n createdService = createFpsBabylonRendererService(\n runtimeData,\n rendererContext,\n assetResources,\n diagnostic => context.report(diagnostic),\n releaseSceneOwnership,\n );\n } catch (error) {\n const recoverConstruction = readFpsBabylonRendererConstructionCleanup(error)\n ?? readBabylonShadowMapExperimentSystemCleanup(error)\n ?? readBabylonDefaultPostProcessPipelineControllerCleanup(error);\n if (recoverConstruction) {\n context.add(() => {\n const cleanupErrors = [...recoverConstruction()];\n if (cleanupErrors.length > 0) {\n throw Object.assign(\n new Error('Babylon renderer construction cleanup failed.'),\n { cleanupErrors: Object.freeze(cleanupErrors) },\n );\n }\n releaseSceneOwnership();\n });\n } else {\n try { releaseSceneOwnership(); }\n catch (cleanupError) {\n const recoverRelease = createFpsBabylonRendererConstructionCleanup([releaseSceneOwnership]);\n context.add(() => throwCleanupResult(recoverRelease()));\n throw createFailureWithMetadata(\n error,\n 'Babylon renderer construction failed.',\n {\n cleanupErrors: Object.freeze([cleanupError]),\n fpsBabylonRendererConstructionCleanup: recoverRelease,\n },\n );\n }\n }\n throw error;\n }\n context.add(context.services.register(FPS_BABYLON_RENDERER_SERVICE, createdService));\n context.add(() => createdService.dispose());\n },\n async start(context) {\n await getFpsBabylonRendererInternalService(context).initialize();\n },\n async dispose(context) {\n await (context.services.getOptional(FPS_BABYLON_RENDERER_SERVICE) as FpsBabylonRendererInternalService | undefined)?.dispose();\n },\n});\n\nexport function createFpsBabylonRendererPlugin(\n options: FpsBabylonRendererPluginOptions,\n): FpsBabylonRendererPlugin {\n const manifest = defineFpsPluginManifest({\n id: FPS_BABYLON_RENDERER_PLUGIN_ID,\n version: options.pluginVersion,\n apiVersion: 1,\n requires: {},\n provides: { features: ['fps.renderer.babylon'] },\n entries: { renderer: './renderer' },\n environmentContracts: {\n renderer: {\n requires: {\n services: [\n FPS_BABYLON_RENDERER_CONTEXT.id,\n FPS_BABYLON_RENDERER_DATA.id,\n FPS_ASSET_RESOURCE_RESOLVER.id,\n ],\n },\n provides: { services: [FPS_BABYLON_RENDERER_SERVICE.id] },\n scopes: ['application'],\n },\n },\n });\n return Object.freeze({ manifest, renderer: pluginEntry });\n}\n\nexport async function createFpsBabylonRendererHost(\n options: FpsBabylonRendererHostOptions,\n): Promise<FpsBabylonRendererHost> {\n const plugin = createFpsBabylonRendererPlugin(options);\n const assetsManifest = createFpsAssetsPluginManifest();\n const host = createFpsPluginHost({\n environment: 'renderer',\n apiVersion: 1,\n manifests: [assetsManifest, plugin.manifest],\n pluginConfigs: {\n [FPS_ASSETS_PLUGIN_ID]: null,\n [FPS_BABYLON_RENDERER_PLUGIN_ID]: options.config ?? {},\n },\n initialServices: [\n { token: FPS_BABYLON_RENDERER_CONTEXT, value: options.context },\n { token: FPS_BABYLON_RENDERER_DATA, value: options.data },\n {\n token: FPS_ASSET_CATALOG_SOURCE,\n value: Object.freeze({ catalog: options.assetCatalog }),\n },\n ],\n loadEntry: async manifest => (\n manifest.id === assetsManifest.id\n ? assetsRendererPluginEntry\n : manifest.id === plugin.manifest.id\n ? plugin.renderer\n : null\n ),\n report: options.report,\n });\n try {\n await host.start();\n } catch (error) {\n if (host.state !== 'cleanup-failed') throw error;\n const retryCleanup: FpsBabylonRendererHostCleanup = () => host.dispose();\n throw attachFpsBabylonRendererHostCleanup(error, retryCleanup);\n }\n const renderer = host.services.get(FPS_BABYLON_RENDERER_SERVICE);\n let hostDisposePromise: Promise<void> | null = null;\n return {\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n host,\n renderer,\n dispose: () => {\n if (!hostDisposePromise) {\n const operation = (async () => {\n // Abort queued renderer work immediately. If cleanup fails, keep the\n // Plugin Host and Scene ownership intact until the caller explicitly\n // retries this public disposal operation.\n await renderer.dispose();\n await host.dispose();\n })();\n hostDisposePromise = operation.catch(error => {\n hostDisposePromise = null;\n throw error;\n });\n }\n return hostDisposePromise;\n },\n };\n}\n\nfunction attachFpsBabylonRendererHostCleanup(\n failure: unknown,\n cleanup: FpsBabylonRendererHostCleanup,\n): Error {\n const error = failure instanceof Error\n ? failure\n : new Error('Babylon Renderer Host start failed and cleanup is incomplete.');\n const metadata = {\n fpsBabylonRendererHostCleanup: cleanup,\n retryCleanup: cleanup,\n };\n try {\n Object.assign(error, metadata);\n if (readFpsBabylonRendererHostCleanup(error) === cleanup) return error;\n } catch {\n // Preserve the primary rejection as cause when it cannot carry cleanup metadata.\n }\n return Object.assign(\n new Error('Babylon Renderer Host start failed and cleanup is incomplete.'),\n { cause: failure, ...metadata },\n );\n}\n\ninterface FpsBabylonRendererInternalService extends FpsBabylonRendererHostController {\n readonly shadowMapExperimentSystem: BabylonShadowMapExperimentSystem;\n initialize(): Promise<void>;\n}\n\nfunction createFpsBabylonRendererService(\n initialData: FpsRuntimeData,\n context: FpsBabylonRendererContext,\n assetResources: PlayableAssetResourceResolver,\n report: (diagnostic: FpsDiagnostic) => void,\n releaseSceneOwnership: () => void,\n): FpsBabylonRendererInternalService {\n const initialPrepared = prepareFpsBabylonRendererUpdate(initialData, assetResources, report);\n let data = initialPrepared.data;\n let disposed = false;\n let acceptingUpdates = true;\n let activeAbort: AbortController | null = null;\n let queue: Promise<void> = Promise.resolve();\n let disposePromise: Promise<void> | null = null;\n const originalEnvironmentTexture = context.scene.environmentTexture;\n const sceneWithIntensity = context.scene as unknown as { environmentIntensity?: number };\n const originalEnvironmentIntensity = sceneWithIntensity.environmentIntensity;\n const restoreOriginalSceneEnvironment = (): void => {\n context.scene.environmentTexture = originalEnvironmentTexture;\n if (originalEnvironmentIntensity === undefined) delete sceneWithIntensity.environmentIntensity;\n else sceneWithIntensity.environmentIntensity = originalEnvironmentIntensity;\n };\n const postProcess = createBabylonDefaultPostProcessPipelineController(\n context.scene,\n [...context.cameras],\n null,\n );\n let environment: BabylonEnvironmentTextureController;\n try {\n environment = createBabylonEnvironmentTextureController(context.scene, {\n createTexture: context.createEnvironmentTexture,\n });\n } catch (error) {\n throwFpsBabylonRendererConstructionFailure(error, [\n () => postProcess.dispose(),\n restoreOriginalSceneEnvironment,\n ]);\n }\n let shadowMapExperiment: BabylonShadowMapExperimentSystem;\n try {\n shadowMapExperiment = createBabylonShadowMapExperimentSystem(context.scene);\n } catch (error) {\n const shadowCleanup = readBabylonShadowMapExperimentSystemCleanup(error);\n throwFpsBabylonRendererConstructionFailure(error, [\n ...(shadowCleanup ? [() => throwCleanupResult(shadowCleanup())] : []),\n () => environment.dispose(),\n () => postProcess.dispose(),\n restoreOriginalSceneEnvironment,\n ]);\n }\n const assertAcceptingShadowOwnership = (): void => {\n if (!acceptingUpdates || disposed) {\n throw new Error('Babylon renderer service is disposed.');\n }\n };\n const shadows: FpsBabylonRendererShadowService = Object.freeze({\n registerRuntimeShadowObjects: (input: BabylonRuntimeShadowObjectsRegistration) => {\n assertAcceptingShadowOwnership();\n return shadowMapExperiment.registerRuntimeShadowObjects(input);\n },\n registerActivitySource: (input: {\n readonly entityId: string;\n readonly kind: ShadowMapExperimentActivityKind;\n readonly sourceId: string;\n }) => {\n assertAcceptingShadowOwnership();\n return shadowMapExperiment.registerCasterActivitySource(input);\n },\n getRuntimeSnapshot: () => shadowMapExperiment.getEvidence().runtime,\n getEvidence: () => shadowMapExperiment.getEvidence(),\n });\n\n const cleanup = (): void => {\n const cleanupErrors: unknown[] = [];\n try { shadowMapExperiment.dispose(); } catch (error) { cleanupErrors.push(error); }\n try { environment.dispose(); } catch (error) { cleanupErrors.push(error); }\n try { postProcess.dispose(); } catch (error) { cleanupErrors.push(error); }\n try { restoreOriginalSceneEnvironment(); } catch (error) { cleanupErrors.push(error); }\n if (cleanupErrors.length === 0) {\n try { releaseSceneOwnership(); } catch (error) { cleanupErrors.push(error); }\n }\n if (cleanupErrors.length > 0) {\n const error = new Error('Babylon renderer cleanup failed.');\n Object.assign(error, { cleanupErrors });\n throw error;\n }\n };\n\n const commit = async (\n prepared: FpsBabylonRendererPreparedUpdate,\n signal: AbortSignal,\n ): Promise<void> => {\n const previousEnvironment = environment.getProfile();\n const previousControllerTexture = environment.getTexture();\n const previousSceneTexture = context.scene.environmentTexture;\n const previousSceneIntensity = sceneWithIntensity.environmentIntensity;\n const previousPostProcess = postProcess.getProfile();\n const previousShadowMapExperimentPlan = shadowMapExperiment.getPlan();\n try {\n shadowMapExperiment.setPlan(prepared.shadowMapExperimentPlan);\n postProcess.setProfile(prepared.postProcess);\n await environment.applyProfile(prepared.environment, signal);\n if (signal.aborted) throw createFpsBabylonRendererAbortError();\n data = prepared.data;\n } catch (error) {\n const rollbackErrors: unknown[] = [];\n try { await environment.applyProfile(previousEnvironment); } catch (rollbackError) { rollbackErrors.push(rollbackError); }\n try {\n if (previousSceneTexture !== previousControllerTexture) {\n context.scene.environmentTexture = previousSceneTexture;\n }\n if (previousSceneIntensity === undefined) delete sceneWithIntensity.environmentIntensity;\n else sceneWithIntensity.environmentIntensity = previousSceneIntensity;\n } catch (rollbackError) {\n rollbackErrors.push(rollbackError);\n }\n try { postProcess.setProfile(previousPostProcess); } catch (rollbackError) { rollbackErrors.push(rollbackError); }\n try { shadowMapExperiment.setPlan(previousShadowMapExperimentPlan); } catch (rollbackError) { rollbackErrors.push(rollbackError); }\n if (rollbackErrors.length > 0) {\n throw createFailureWithMetadata(\n error,\n 'Babylon renderer update failed.',\n { rollbackErrors: Object.freeze(rollbackErrors) },\n );\n }\n throw error;\n }\n };\n\n const enqueue = (prepared: FpsBabylonRendererPreparedUpdate): Promise<void> => {\n const operation = queue.then(async () => {\n if (!acceptingUpdates || disposed) throw new Error('Babylon renderer service is disposed.');\n const abort = new AbortController();\n activeAbort = abort;\n try {\n await commit(prepared, abort.signal);\n } finally {\n if (activeAbort === abort) activeAbort = null;\n }\n });\n queue = operation.then(() => undefined, () => undefined);\n return operation;\n };\n\n const service: FpsBabylonRendererInternalService = {\n environment,\n postProcess,\n shadows,\n shadowMapExperimentSystem: shadowMapExperiment,\n getRuntimeData: () => data,\n initialize: () => enqueue(initialPrepared),\n async update(nextData) {\n if (!acceptingUpdates || disposed) throw new Error('Babylon renderer service is disposed.');\n await enqueue(prepareFpsBabylonRendererUpdate(nextData, assetResources, report));\n },\n async dispose() {\n if (disposePromise) return disposePromise;\n acceptingUpdates = false;\n activeAbort?.abort();\n const operation = (async () => {\n await queue;\n if (disposed) return;\n cleanup();\n disposed = true;\n })();\n disposePromise = operation.catch(error => {\n disposePromise = null;\n throw error;\n });\n return disposePromise;\n },\n };\n return service;\n}\n\ntype FpsBabylonRendererConstructionCleanup = () => readonly unknown[];\n\nfunction throwFpsBabylonRendererConstructionFailure(\n failure: unknown,\n operations: readonly (() => void)[],\n): never {\n const cleanup = createFpsBabylonRendererConstructionCleanup(operations);\n const cleanupErrors = cleanup();\n if (cleanupErrors.length === 0) throw failure;\n throw createFailureWithMetadata(\n failure,\n 'Babylon renderer construction failed.',\n {\n cleanupErrors,\n fpsBabylonRendererConstructionCleanup: cleanup,\n },\n );\n}\n\nfunction createFpsBabylonRendererConstructionCleanup(\n operations: readonly (() => void)[],\n): FpsBabylonRendererConstructionCleanup {\n let pending = [...operations];\n return () => {\n const cleanupErrors: unknown[] = [];\n const retry: (() => void)[] = [];\n for (const operation of pending) {\n try { operation(); }\n catch (error) {\n cleanupErrors.push(error);\n retry.push(operation);\n }\n }\n pending = retry;\n return Object.freeze(cleanupErrors);\n };\n}\n\nfunction readFpsBabylonRendererConstructionCleanup(\n error: unknown,\n): FpsBabylonRendererConstructionCleanup | null {\n if (!error || (typeof error !== 'object' && typeof error !== 'function')) return null;\n const cleanup = (error as { fpsBabylonRendererConstructionCleanup?: unknown })\n .fpsBabylonRendererConstructionCleanup;\n return typeof cleanup === 'function' ? cleanup as FpsBabylonRendererConstructionCleanup : null;\n}\n\nfunction throwCleanupResult(cleanupErrors: readonly unknown[]): void {\n if (cleanupErrors.length === 0) return;\n if (cleanupErrors.length === 1) throw cleanupErrors[0];\n throw Object.assign(new Error('Babylon renderer construction cleanup failed.'), {\n cleanupErrors: Object.freeze([...cleanupErrors]),\n });\n}\n\nfunction createFailureWithMetadata(\n failure: unknown,\n fallbackMessage: string,\n metadata: Readonly<Record<string, unknown>>,\n): object {\n if (failure && (typeof failure === 'object' || typeof failure === 'function')) {\n try {\n Object.assign(failure, metadata);\n if (Object.entries(metadata).every(([key, value]) => (\n (failure as Record<string, unknown>)[key] === value\n ))) return failure;\n } catch {\n // A non-extensible primary error is wrapped so recovery metadata remains reachable.\n }\n }\n return Object.assign(\n new Error(failure instanceof Error ? failure.message : fallbackMessage),\n { cause: failure, ...metadata },\n );\n}\n\nfunction reserveFpsBabylonRendererScene(scene: Scene): () => void {\n if (fpsBabylonRendererSceneOwners.has(scene)) {\n throw new Error('Babylon renderer Scene already has an active owner.');\n }\n const owner = Object.freeze({});\n fpsBabylonRendererSceneOwners.set(scene, owner);\n let released = false;\n return () => {\n if (released) return;\n if (fpsBabylonRendererSceneOwners.get(scene) !== owner) {\n throw new Error('Babylon renderer Scene ownership was replaced before cleanup completed.');\n }\n fpsBabylonRendererSceneOwners.delete(scene);\n released = true;\n };\n}\n\nfunction getFpsBabylonRendererInternalService(\n context: Parameters<NonNullable<FpsPluginEntry['start']>>[0],\n): FpsBabylonRendererInternalService {\n return context.services.get(FPS_BABYLON_RENDERER_SERVICE) as FpsBabylonRendererInternalService;\n}\n\nfunction createFpsBabylonRendererAbortError(): Error {\n return Object.assign(new Error('Babylon renderer update aborted.'), { name: 'AbortError' });\n}\n\ninterface FpsBabylonRendererPreparedUpdate {\n readonly data: FpsRuntimeData;\n readonly environment: {\n readonly texture: PlayableResolvedAssetResource | null;\n readonly intensity: number;\n readonly rotationY: number;\n };\n readonly postProcess: ReturnType<typeof normalizeEditorSceneRenderingProfile>['postProcess'];\n readonly shadowMapExperimentPlan: ShadowMapExperimentPlan | null;\n}\n\nfunction prepareFpsBabylonRendererUpdate(\n input: FpsRuntimeData,\n assetResources: PlayableAssetResourceResolver,\n report: (diagnostic: FpsDiagnostic) => void,\n): FpsBabylonRendererPreparedUpdate {\n const data = createFpsRuntimeDataSnapshot(input);\n const profile = normalizeEditorSceneRenderingProfile(data.rendering);\n const textureRef = profile.environment.texture;\n const textureResolution = textureRef\n ? assetResources.resolve({\n assetId: textureRef.textureAssetId,\n url: textureRef.url,\n })\n : null;\n if (textureResolution && !textureResolution.ok) {\n const diagnostic: FpsDiagnostic = {\n code: textureResolution.diagnostic.code,\n severity: 'error',\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n message: createAssetResourceResolutionMessage(textureResolution.diagnostic),\n details: { ...textureResolution.diagnostic },\n };\n report(diagnostic);\n throw Object.assign(new Error(diagnostic.message), {\n code: diagnostic.code,\n diagnostic: Object.freeze(diagnostic),\n });\n }\n const shadowMapExperimentEntry = data.plugins?.find(\n entry => entry.pluginId === FPS_SHADOW_MAP_EXPERIMENT_PLUGIN_ID,\n );\n return Object.freeze({\n data,\n environment: Object.freeze({\n texture: textureResolution?.resource ?? null,\n intensity: profile.environment.iblIntensity,\n rotationY: profile.environment.rotationY,\n }),\n postProcess: profile.postProcess,\n shadowMapExperimentPlan: shadowMapExperimentEntry\n ? createShadowMapExperimentPlanSnapshot(shadowMapExperimentEntry.data)\n : null,\n });\n}\n\nfunction createAssetResourceResolutionMessage(\n diagnostic: PlayableAssetResourceResolutionDiagnostic,\n): string {\n const identity = diagnostic.assetId ? ` asset ${diagnostic.assetId}` : ' external resource';\n if (diagnostic.code === 'asset.resource.not-found') {\n return `Environment texture${identity} was not found in the generated asset catalog.`;\n }\n if (diagnostic.code === 'asset.resource.format-missing') {\n return `Environment texture${identity} has no resolvable source format.`;\n }\n if (diagnostic.code === 'asset.resource.format-unsupported') {\n return `Environment texture${identity} uses unsupported format ${diagnostic.format ?? '<unknown>'}.`;\n }\n return `Environment texture${identity} reference is invalid.`;\n}\n"]}
|
package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
import '@babylonjs/core/Shaders/postprocess.vertex.js';
|
|
2
|
+
import '@babylonjs/core/Shaders/imageProcessing.fragment.js';
|
|
3
|
+
import '@babylonjs/core/Shaders/extractHighlights.fragment.js';
|
|
4
|
+
import '@babylonjs/core/Shaders/kernelBlur.fragment.js';
|
|
5
|
+
import '@babylonjs/core/Shaders/kernelBlur.vertex.js';
|
|
6
|
+
import '@babylonjs/core/Shaders/bloomMerge.fragment.js';
|
|
7
|
+
import '@babylonjs/core/Shaders/fxaa.fragment.js';
|
|
8
|
+
import '@babylonjs/core/Shaders/fxaa.vertex.js';
|
|
9
|
+
import '@babylonjs/core/Shaders/pass.fragment.js';
|
|
10
|
+
import '@babylonjs/core/ShadersWGSL/postprocess.vertex.js';
|
|
11
|
+
import '@babylonjs/core/ShadersWGSL/imageProcessing.fragment.js';
|
|
12
|
+
import '@babylonjs/core/ShadersWGSL/extractHighlights.fragment.js';
|
|
13
|
+
import '@babylonjs/core/ShadersWGSL/kernelBlur.fragment.js';
|
|
14
|
+
import '@babylonjs/core/ShadersWGSL/kernelBlur.vertex.js';
|
|
15
|
+
import '@babylonjs/core/ShadersWGSL/bloomMerge.fragment.js';
|
|
16
|
+
import '@babylonjs/core/ShadersWGSL/fxaa.fragment.js';
|
|
17
|
+
import '@babylonjs/core/ShadersWGSL/fxaa.vertex.js';
|
|
18
|
+
import '@babylonjs/core/ShadersWGSL/pass.fragment.js';
|
|
1
19
|
import type { Camera } from '@babylonjs/core/Cameras/camera.js';
|
|
2
20
|
import type { Scene } from '@babylonjs/core/scene.js';
|
|
3
21
|
import { type BabylonDefaultPostProcessPipelineController, type BabylonDefaultPostProcessPipelineControllerOptions, type BabylonDefaultPostProcessProfile } from './types.js';
|
package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babylon-default-pipeline.d.ts","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"babylon-default-pipeline.d.ts","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"AACA,OAAO,+CAA+C,CAAC;AACvD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,uDAAuD,CAAC;AAC/D,OAAO,gDAAgD,CAAC;AACxD,OAAO,8CAA8C,CAAC;AACtD,OAAO,gDAAgD,CAAC;AACxD,OAAO,0CAA0C,CAAC;AAClD,OAAO,wCAAwC,CAAC;AAChD,OAAO,0CAA0C,CAAC;AAClD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yDAAyD,CAAC;AACjE,OAAO,2DAA2D,CAAC;AACnE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,kDAAkD,CAAC;AAC1D,OAAO,oDAAoD,CAAC;AAC5D,OAAO,8CAA8C,CAAC;AACtD,OAAO,4CAA4C,CAAC;AACpD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EACL,KAAK,2CAA2C,EAChD,KAAK,kDAAkD,EACvD,KAAK,gCAAgC,EACtC,MAAM,YAAY,CAAC;AASpB,MAAM,MAAM,kDAAkD,GAAG,MAAM,SAAS,OAAO,EAAE,CAAC;AAE1F,wBAAgB,sDAAsD,CACpE,KAAK,EAAE,OAAO,GACb,kDAAkD,GAAG,IAAI,CAO3D;AAED,wBAAgB,iDAAiD,CAC/D,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,cAAc,CAAC,EAAE,gCAAgC,GAAG,IAAI,EACxD,OAAO,GAAE,kDAAuD,GAC/D,2CAA2C,CAsB7C"}
|
package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration.js';
|
|
2
|
+
import '@babylonjs/core/Shaders/postprocess.vertex.js';
|
|
3
|
+
import '@babylonjs/core/Shaders/imageProcessing.fragment.js';
|
|
4
|
+
import '@babylonjs/core/Shaders/extractHighlights.fragment.js';
|
|
5
|
+
import '@babylonjs/core/Shaders/kernelBlur.fragment.js';
|
|
6
|
+
import '@babylonjs/core/Shaders/kernelBlur.vertex.js';
|
|
7
|
+
import '@babylonjs/core/Shaders/bloomMerge.fragment.js';
|
|
8
|
+
import '@babylonjs/core/Shaders/fxaa.fragment.js';
|
|
9
|
+
import '@babylonjs/core/Shaders/fxaa.vertex.js';
|
|
10
|
+
import '@babylonjs/core/Shaders/pass.fragment.js';
|
|
11
|
+
import '@babylonjs/core/ShadersWGSL/postprocess.vertex.js';
|
|
12
|
+
import '@babylonjs/core/ShadersWGSL/imageProcessing.fragment.js';
|
|
13
|
+
import '@babylonjs/core/ShadersWGSL/extractHighlights.fragment.js';
|
|
14
|
+
import '@babylonjs/core/ShadersWGSL/kernelBlur.fragment.js';
|
|
15
|
+
import '@babylonjs/core/ShadersWGSL/kernelBlur.vertex.js';
|
|
16
|
+
import '@babylonjs/core/ShadersWGSL/bloomMerge.fragment.js';
|
|
17
|
+
import '@babylonjs/core/ShadersWGSL/fxaa.fragment.js';
|
|
18
|
+
import '@babylonjs/core/ShadersWGSL/fxaa.vertex.js';
|
|
19
|
+
import '@babylonjs/core/ShadersWGSL/pass.fragment.js';
|
|
2
20
|
import { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js';
|
|
3
21
|
import {} from './types.js';
|
|
4
22
|
import { normalizeBabylonDefaultPostProcessProfile } from './profile.js';
|
|
@@ -95,7 +113,8 @@ class BabylonDefaultPostProcessPipelineControllerImpl {
|
|
|
95
113
|
}
|
|
96
114
|
if (!this.pipeline || this.structuralKey !== nextStructuralKey) {
|
|
97
115
|
this.disposePipeline();
|
|
98
|
-
this.pipeline = new DefaultRenderingPipeline(this.name, nextProfile.hdr, this.scene, this.cameras);
|
|
116
|
+
this.pipeline = new DefaultRenderingPipeline(this.name, nextProfile.hdr, this.scene, this.cameras, false);
|
|
117
|
+
this.pipeline.automaticBuild = true;
|
|
99
118
|
this.structuralKey = nextStructuralKey;
|
|
100
119
|
}
|
|
101
120
|
this.applyProfile(nextProfile);
|
|
@@ -113,24 +132,41 @@ class BabylonDefaultPostProcessPipelineControllerImpl {
|
|
|
113
132
|
this.structuralKey = '';
|
|
114
133
|
}
|
|
115
134
|
applyProfile(profile) {
|
|
116
|
-
|
|
135
|
+
const pipeline = this.pipeline;
|
|
136
|
+
if (!pipeline)
|
|
117
137
|
return;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
138
|
+
const automaticBuild = pipeline.automaticBuild;
|
|
139
|
+
let profileApplied = false;
|
|
140
|
+
pipeline.automaticBuild = false;
|
|
141
|
+
try {
|
|
142
|
+
pipeline.imageProcessingEnabled = true;
|
|
143
|
+
const imageProcessing = pipeline.scene.imageProcessingConfiguration;
|
|
144
|
+
imageProcessing.exposure = profile.imageProcessing.exposure;
|
|
145
|
+
imageProcessing.contrast = profile.imageProcessing.contrast;
|
|
146
|
+
imageProcessing.toneMappingEnabled = profile.toneMapping.enabled;
|
|
147
|
+
imageProcessing.toneMappingType = resolveToneMappingType(profile.toneMapping.type);
|
|
148
|
+
pipeline.samples = profile.antialiasing.samples;
|
|
149
|
+
pipeline.bloomEnabled = profile.bloom.enabled;
|
|
150
|
+
pipeline.bloomThreshold = profile.bloom.threshold;
|
|
151
|
+
pipeline.bloomWeight = profile.bloom.weight;
|
|
152
|
+
pipeline.bloomKernel = profile.bloom.kernel;
|
|
153
|
+
pipeline.bloomScale = profile.bloom.scale;
|
|
154
|
+
pipeline.sharpenEnabled = false;
|
|
155
|
+
pipeline.chromaticAberrationEnabled = false;
|
|
156
|
+
pipeline.depthOfFieldEnabled = false;
|
|
157
|
+
pipeline.grainEnabled = false;
|
|
158
|
+
pipeline.fxaaEnabled = this.fxaaEnabled;
|
|
159
|
+
profileApplied = true;
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
try {
|
|
163
|
+
if (profileApplied)
|
|
164
|
+
pipeline.prepare();
|
|
165
|
+
}
|
|
166
|
+
finally {
|
|
167
|
+
pipeline.automaticBuild = automaticBuild;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
134
170
|
}
|
|
135
171
|
disposePipeline() {
|
|
136
172
|
this.pipeline?.dispose();
|
package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babylon-default-pipeline.js","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration.js';\nimport { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js';\nimport type { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport {\n type BabylonDefaultPostProcessPipelineController,\n type BabylonDefaultPostProcessPipelineControllerOptions,\n type BabylonDefaultPostProcessProfile,\n} from './types.js';\nimport { normalizeBabylonDefaultPostProcessProfile } from './profile.js';\nimport { createPostProcessStructuralKey } from './volume-stack.js';\n\nconst babylonDefaultPostProcessSceneOwners = new WeakMap<Scene, {\n readonly name: string;\n readonly token: object;\n}>();\n\nexport type BabylonDefaultPostProcessPipelineControllerCleanup = () => readonly unknown[];\n\nexport function readBabylonDefaultPostProcessPipelineControllerCleanup(\n error: unknown,\n): BabylonDefaultPostProcessPipelineControllerCleanup | null {\n if (!error || (typeof error !== 'object' && typeof error !== 'function')) return null;\n const cleanup = (error as { babylonDefaultPostProcessPipelineControllerCleanup?: unknown })\n .babylonDefaultPostProcessPipelineControllerCleanup;\n return typeof cleanup === 'function'\n ? cleanup as BabylonDefaultPostProcessPipelineControllerCleanup\n : null;\n}\n\nexport function createBabylonDefaultPostProcessPipelineController(\n scene: Scene,\n cameras: Camera[],\n initialProfile?: BabylonDefaultPostProcessProfile | null,\n options: BabylonDefaultPostProcessPipelineControllerOptions = {},\n): BabylonDefaultPostProcessPipelineController {\n const name = options.name ?? 'defaultPostProcessPipeline';\n const releaseOwnership = reserveBabylonDefaultPostProcessScene(scene, name);\n let controller: BabylonDefaultPostProcessPipelineControllerImpl | null = null;\n try {\n controller = new BabylonDefaultPostProcessPipelineControllerImpl(\n scene,\n [...cameras],\n name,\n options.fxaaEnabled === true,\n releaseOwnership,\n );\n controller.setProfile(initialProfile ?? null);\n return controller;\n } catch (error) {\n const allocatedController = controller;\n const cleanup = createRetryableCleanup(\n allocatedController ? () => allocatedController.dispose() : releaseOwnership,\n );\n const cleanupErrors = cleanup();\n throw createInitializationFailure(error, cleanup, cleanupErrors);\n }\n}\n\nclass BabylonDefaultPostProcessPipelineControllerImpl implements BabylonDefaultPostProcessPipelineController {\n private pipeline: DefaultRenderingPipeline | null = null;\n private profile: BabylonDefaultPostProcessProfile | null = null;\n private structuralKey = '';\n private readonly pendingCameraAttachments = new Set<Camera>();\n\n constructor(\n private readonly scene: Scene,\n private readonly cameras: Camera[],\n private readonly name: string,\n private readonly fxaaEnabled: boolean,\n private readonly releaseOwnership: () => void,\n ) {}\n\n addCamera(camera: Camera): void {\n const knownCamera = this.cameras.includes(camera);\n if (knownCamera && !this.pendingCameraAttachments.has(camera)) return;\n if (knownCamera && this.pendingCameraAttachments.has(camera)) {\n this.pipeline?.removeCamera(camera);\n }\n try {\n this.pipeline?.addCamera(camera);\n } catch (error) {\n let failure = error;\n if (this.pipeline?.cameras.includes(camera)) {\n try { this.pipeline.removeCamera(camera); }\n catch (cleanupError) {\n if (!knownCamera) this.cameras.push(camera);\n this.pendingCameraAttachments.add(camera);\n failure = createFailureWithMetadata(\n error,\n 'babylon.postProcess.cameraAttachmentFailed',\n { cleanupErrors: Object.freeze([cleanupError]) },\n );\n }\n }\n throw failure;\n }\n if (!knownCamera) this.cameras.push(camera);\n this.pendingCameraAttachments.delete(camera);\n }\n\n removeCamera(camera: Camera): void {\n const index = this.cameras.indexOf(camera);\n if (index < 0) return;\n this.pipeline?.removeCamera(camera);\n this.cameras.splice(index, 1);\n this.pendingCameraAttachments.delete(camera);\n }\n\n setProfile(profile: BabylonDefaultPostProcessProfile | null | undefined): void {\n if (!profile) {\n this.disposePipeline();\n this.profile = null;\n this.structuralKey = '';\n return;\n }\n const nextProfile = normalizeBabylonDefaultPostProcessProfile(profile);\n const nextStructuralKey = createPostProcessStructuralKey(nextProfile);\n this.profile = nextProfile;\n if (!nextProfile.enabled) {\n this.disposePipeline();\n this.structuralKey = nextStructuralKey;\n return;\n }\n if (!this.pipeline || this.structuralKey !== nextStructuralKey) {\n this.disposePipeline();\n this.pipeline = new DefaultRenderingPipeline(\n this.name,\n nextProfile.hdr,\n this.scene,\n this.cameras,\n );\n this.structuralKey = nextStructuralKey;\n }\n this.applyProfile(nextProfile);\n }\n\n getProfile(): BabylonDefaultPostProcessProfile | null {\n return this.profile;\n }\n\n getPipeline(): DefaultRenderingPipeline | null {\n return this.pipeline;\n }\n\n dispose(): void {\n this.disposePipeline();\n this.releaseOwnership();\n this.profile = null;\n this.structuralKey = '';\n }\n\n private applyProfile(profile: BabylonDefaultPostProcessProfile): void {\n if (!this.pipeline) return;\n this.pipeline.imageProcessingEnabled = true;\n this.pipeline.imageProcessing.exposure = profile.imageProcessing.exposure;\n this.pipeline.imageProcessing.contrast = profile.imageProcessing.contrast;\n this.pipeline.imageProcessing.toneMappingEnabled = profile.toneMapping.enabled;\n this.pipeline.imageProcessing.toneMappingType = resolveToneMappingType(profile.toneMapping.type);\n\n this.pipeline.samples = profile.antialiasing.samples;\n this.pipeline.bloomEnabled = profile.bloom.enabled;\n this.pipeline.bloomThreshold = profile.bloom.threshold;\n this.pipeline.bloomWeight = profile.bloom.weight;\n this.pipeline.bloomKernel = profile.bloom.kernel;\n this.pipeline.bloomScale = profile.bloom.scale;\n\n this.pipeline.sharpenEnabled = false;\n this.pipeline.chromaticAberrationEnabled = false;\n this.pipeline.depthOfFieldEnabled = false;\n this.pipeline.grainEnabled = false;\n this.pipeline.fxaaEnabled = this.fxaaEnabled;\n }\n\n private disposePipeline(): void {\n this.pipeline?.dispose();\n this.pipeline = null;\n this.pendingCameraAttachments.clear();\n }\n}\n\nfunction createRetryableCleanup(operation: () => void): BabylonDefaultPostProcessPipelineControllerCleanup {\n let pending = true;\n return () => {\n if (!pending) return Object.freeze([]);\n try {\n operation();\n pending = false;\n return Object.freeze([]);\n } catch (error) {\n return Object.freeze([error]);\n }\n };\n}\n\nfunction createInitializationFailure(\n error: unknown,\n cleanup: BabylonDefaultPostProcessPipelineControllerCleanup,\n cleanupErrors: readonly unknown[],\n): unknown {\n if (cleanupErrors.length === 0) return error;\n const metadata = {\n cleanupErrors: Object.freeze([...cleanupErrors]),\n babylonDefaultPostProcessPipelineControllerCleanup: cleanup,\n } as const;\n if (error && (typeof error === 'object' || typeof error === 'function')) {\n try {\n Object.assign(error, metadata);\n if (readBabylonDefaultPostProcessPipelineControllerCleanup(error) === cleanup) return error;\n } catch {\n // A non-extensible primary error is wrapped so cleanup ownership remains reachable.\n }\n }\n return Object.assign(\n new Error(error instanceof Error ? error.message : 'babylon.postProcess.initializationFailed'),\n { cause: error, ...metadata },\n );\n}\n\nfunction createFailureWithMetadata(\n failure: unknown,\n fallbackMessage: string,\n metadata: Readonly<Record<string, unknown>>,\n): object {\n if (failure && (typeof failure === 'object' || typeof failure === 'function')) {\n try {\n Object.assign(failure, metadata);\n if (Object.entries(metadata).every(([key, value]) => (\n (failure as Record<string, unknown>)[key] === value\n ))) return failure;\n } catch {\n // A non-extensible primary error is wrapped so cleanup diagnostics remain reachable.\n }\n }\n return Object.assign(\n new Error(failure instanceof Error ? failure.message : fallbackMessage),\n { cause: failure, ...metadata },\n );\n}\n\nfunction reserveBabylonDefaultPostProcessScene(scene: Scene, name: string): () => void {\n const activeOwner = babylonDefaultPostProcessSceneOwners.get(scene);\n if (activeOwner) {\n throw Object.assign(\n new Error(\n `Babylon default post-process Scene already has an active owner \"${activeOwner.name}\"; `\n + `cannot create \"${name}\".`,\n ),\n {\n code: 'babylon.postProcess.ownerConflict',\n activeOwnerName: activeOwner.name,\n requestedOwnerName: name,\n },\n );\n }\n const token = Object.freeze({});\n babylonDefaultPostProcessSceneOwners.set(scene, { name, token });\n let released = false;\n return () => {\n if (released) return;\n const currentOwner = babylonDefaultPostProcessSceneOwners.get(scene);\n if (currentOwner?.token !== token) {\n throw new Error('Babylon default post-process Scene ownership changed before cleanup completed.');\n }\n babylonDefaultPostProcessSceneOwners.delete(scene);\n released = true;\n };\n}\n\nfunction resolveToneMappingType(type: BabylonDefaultPostProcessProfile['toneMapping']['type']): number {\n if (type === 'aces') return ImageProcessingConfiguration.TONEMAPPING_ACES;\n if (type === 'khr-pbr-neutral') return ImageProcessingConfiguration.TONEMAPPING_KHR_PBR_NEUTRAL;\n return ImageProcessingConfiguration.TONEMAPPING_STANDARD;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"babylon-default-pipeline.js","sourceRoot":"","sources":["../../src/post-process/babylon-default-pipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration.js';\nimport '@babylonjs/core/Shaders/postprocess.vertex.js';\nimport '@babylonjs/core/Shaders/imageProcessing.fragment.js';\nimport '@babylonjs/core/Shaders/extractHighlights.fragment.js';\nimport '@babylonjs/core/Shaders/kernelBlur.fragment.js';\nimport '@babylonjs/core/Shaders/kernelBlur.vertex.js';\nimport '@babylonjs/core/Shaders/bloomMerge.fragment.js';\nimport '@babylonjs/core/Shaders/fxaa.fragment.js';\nimport '@babylonjs/core/Shaders/fxaa.vertex.js';\nimport '@babylonjs/core/Shaders/pass.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/postprocess.vertex.js';\nimport '@babylonjs/core/ShadersWGSL/imageProcessing.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/extractHighlights.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/kernelBlur.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/kernelBlur.vertex.js';\nimport '@babylonjs/core/ShadersWGSL/bloomMerge.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/fxaa.fragment.js';\nimport '@babylonjs/core/ShadersWGSL/fxaa.vertex.js';\nimport '@babylonjs/core/ShadersWGSL/pass.fragment.js';\nimport { DefaultRenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js';\nimport type { Camera } from '@babylonjs/core/Cameras/camera.js';\nimport type { Scene } from '@babylonjs/core/scene.js';\nimport {\n type BabylonDefaultPostProcessPipelineController,\n type BabylonDefaultPostProcessPipelineControllerOptions,\n type BabylonDefaultPostProcessProfile,\n} from './types.js';\nimport { normalizeBabylonDefaultPostProcessProfile } from './profile.js';\nimport { createPostProcessStructuralKey } from './volume-stack.js';\n\nconst babylonDefaultPostProcessSceneOwners = new WeakMap<Scene, {\n readonly name: string;\n readonly token: object;\n}>();\n\nexport type BabylonDefaultPostProcessPipelineControllerCleanup = () => readonly unknown[];\n\nexport function readBabylonDefaultPostProcessPipelineControllerCleanup(\n error: unknown,\n): BabylonDefaultPostProcessPipelineControllerCleanup | null {\n if (!error || (typeof error !== 'object' && typeof error !== 'function')) return null;\n const cleanup = (error as { babylonDefaultPostProcessPipelineControllerCleanup?: unknown })\n .babylonDefaultPostProcessPipelineControllerCleanup;\n return typeof cleanup === 'function'\n ? cleanup as BabylonDefaultPostProcessPipelineControllerCleanup\n : null;\n}\n\nexport function createBabylonDefaultPostProcessPipelineController(\n scene: Scene,\n cameras: Camera[],\n initialProfile?: BabylonDefaultPostProcessProfile | null,\n options: BabylonDefaultPostProcessPipelineControllerOptions = {},\n): BabylonDefaultPostProcessPipelineController {\n const name = options.name ?? 'defaultPostProcessPipeline';\n const releaseOwnership = reserveBabylonDefaultPostProcessScene(scene, name);\n let controller: BabylonDefaultPostProcessPipelineControllerImpl | null = null;\n try {\n controller = new BabylonDefaultPostProcessPipelineControllerImpl(\n scene,\n [...cameras],\n name,\n options.fxaaEnabled === true,\n releaseOwnership,\n );\n controller.setProfile(initialProfile ?? null);\n return controller;\n } catch (error) {\n const allocatedController = controller;\n const cleanup = createRetryableCleanup(\n allocatedController ? () => allocatedController.dispose() : releaseOwnership,\n );\n const cleanupErrors = cleanup();\n throw createInitializationFailure(error, cleanup, cleanupErrors);\n }\n}\n\nclass BabylonDefaultPostProcessPipelineControllerImpl implements BabylonDefaultPostProcessPipelineController {\n private pipeline: DefaultRenderingPipeline | null = null;\n private profile: BabylonDefaultPostProcessProfile | null = null;\n private structuralKey = '';\n private readonly pendingCameraAttachments = new Set<Camera>();\n\n constructor(\n private readonly scene: Scene,\n private readonly cameras: Camera[],\n private readonly name: string,\n private readonly fxaaEnabled: boolean,\n private readonly releaseOwnership: () => void,\n ) {}\n\n addCamera(camera: Camera): void {\n const knownCamera = this.cameras.includes(camera);\n if (knownCamera && !this.pendingCameraAttachments.has(camera)) return;\n if (knownCamera && this.pendingCameraAttachments.has(camera)) {\n this.pipeline?.removeCamera(camera);\n }\n try {\n this.pipeline?.addCamera(camera);\n } catch (error) {\n let failure = error;\n if (this.pipeline?.cameras.includes(camera)) {\n try { this.pipeline.removeCamera(camera); }\n catch (cleanupError) {\n if (!knownCamera) this.cameras.push(camera);\n this.pendingCameraAttachments.add(camera);\n failure = createFailureWithMetadata(\n error,\n 'babylon.postProcess.cameraAttachmentFailed',\n { cleanupErrors: Object.freeze([cleanupError]) },\n );\n }\n }\n throw failure;\n }\n if (!knownCamera) this.cameras.push(camera);\n this.pendingCameraAttachments.delete(camera);\n }\n\n removeCamera(camera: Camera): void {\n const index = this.cameras.indexOf(camera);\n if (index < 0) return;\n this.pipeline?.removeCamera(camera);\n this.cameras.splice(index, 1);\n this.pendingCameraAttachments.delete(camera);\n }\n\n setProfile(profile: BabylonDefaultPostProcessProfile | null | undefined): void {\n if (!profile) {\n this.disposePipeline();\n this.profile = null;\n this.structuralKey = '';\n return;\n }\n const nextProfile = normalizeBabylonDefaultPostProcessProfile(profile);\n const nextStructuralKey = createPostProcessStructuralKey(nextProfile);\n this.profile = nextProfile;\n if (!nextProfile.enabled) {\n this.disposePipeline();\n this.structuralKey = nextStructuralKey;\n return;\n }\n if (!this.pipeline || this.structuralKey !== nextStructuralKey) {\n this.disposePipeline();\n this.pipeline = new DefaultRenderingPipeline(\n this.name,\n nextProfile.hdr,\n this.scene,\n this.cameras,\n false,\n );\n this.pipeline.automaticBuild = true;\n this.structuralKey = nextStructuralKey;\n }\n this.applyProfile(nextProfile);\n }\n\n getProfile(): BabylonDefaultPostProcessProfile | null {\n return this.profile;\n }\n\n getPipeline(): DefaultRenderingPipeline | null {\n return this.pipeline;\n }\n\n dispose(): void {\n this.disposePipeline();\n this.releaseOwnership();\n this.profile = null;\n this.structuralKey = '';\n }\n\n private applyProfile(profile: BabylonDefaultPostProcessProfile): void {\n const pipeline = this.pipeline;\n if (!pipeline) return;\n const automaticBuild = pipeline.automaticBuild;\n let profileApplied = false;\n pipeline.automaticBuild = false;\n try {\n pipeline.imageProcessingEnabled = true;\n const imageProcessing = pipeline.scene.imageProcessingConfiguration;\n imageProcessing.exposure = profile.imageProcessing.exposure;\n imageProcessing.contrast = profile.imageProcessing.contrast;\n imageProcessing.toneMappingEnabled = profile.toneMapping.enabled;\n imageProcessing.toneMappingType = resolveToneMappingType(profile.toneMapping.type);\n\n pipeline.samples = profile.antialiasing.samples;\n pipeline.bloomEnabled = profile.bloom.enabled;\n pipeline.bloomThreshold = profile.bloom.threshold;\n pipeline.bloomWeight = profile.bloom.weight;\n pipeline.bloomKernel = profile.bloom.kernel;\n pipeline.bloomScale = profile.bloom.scale;\n\n pipeline.sharpenEnabled = false;\n pipeline.chromaticAberrationEnabled = false;\n pipeline.depthOfFieldEnabled = false;\n pipeline.grainEnabled = false;\n pipeline.fxaaEnabled = this.fxaaEnabled;\n profileApplied = true;\n } finally {\n try {\n if (profileApplied) pipeline.prepare();\n } finally {\n pipeline.automaticBuild = automaticBuild;\n }\n }\n }\n\n private disposePipeline(): void {\n this.pipeline?.dispose();\n this.pipeline = null;\n this.pendingCameraAttachments.clear();\n }\n}\n\nfunction createRetryableCleanup(operation: () => void): BabylonDefaultPostProcessPipelineControllerCleanup {\n let pending = true;\n return () => {\n if (!pending) return Object.freeze([]);\n try {\n operation();\n pending = false;\n return Object.freeze([]);\n } catch (error) {\n return Object.freeze([error]);\n }\n };\n}\n\nfunction createInitializationFailure(\n error: unknown,\n cleanup: BabylonDefaultPostProcessPipelineControllerCleanup,\n cleanupErrors: readonly unknown[],\n): unknown {\n if (cleanupErrors.length === 0) return error;\n const metadata = {\n cleanupErrors: Object.freeze([...cleanupErrors]),\n babylonDefaultPostProcessPipelineControllerCleanup: cleanup,\n } as const;\n if (error && (typeof error === 'object' || typeof error === 'function')) {\n try {\n Object.assign(error, metadata);\n if (readBabylonDefaultPostProcessPipelineControllerCleanup(error) === cleanup) return error;\n } catch {\n // A non-extensible primary error is wrapped so cleanup ownership remains reachable.\n }\n }\n return Object.assign(\n new Error(error instanceof Error ? error.message : 'babylon.postProcess.initializationFailed'),\n { cause: error, ...metadata },\n );\n}\n\nfunction createFailureWithMetadata(\n failure: unknown,\n fallbackMessage: string,\n metadata: Readonly<Record<string, unknown>>,\n): object {\n if (failure && (typeof failure === 'object' || typeof failure === 'function')) {\n try {\n Object.assign(failure, metadata);\n if (Object.entries(metadata).every(([key, value]) => (\n (failure as Record<string, unknown>)[key] === value\n ))) return failure;\n } catch {\n // A non-extensible primary error is wrapped so cleanup diagnostics remain reachable.\n }\n }\n return Object.assign(\n new Error(failure instanceof Error ? failure.message : fallbackMessage),\n { cause: failure, ...metadata },\n );\n}\n\nfunction reserveBabylonDefaultPostProcessScene(scene: Scene, name: string): () => void {\n const activeOwner = babylonDefaultPostProcessSceneOwners.get(scene);\n if (activeOwner) {\n throw Object.assign(\n new Error(\n `Babylon default post-process Scene already has an active owner \"${activeOwner.name}\"; `\n + `cannot create \"${name}\".`,\n ),\n {\n code: 'babylon.postProcess.ownerConflict',\n activeOwnerName: activeOwner.name,\n requestedOwnerName: name,\n },\n );\n }\n const token = Object.freeze({});\n babylonDefaultPostProcessSceneOwners.set(scene, { name, token });\n let released = false;\n return () => {\n if (released) return;\n const currentOwner = babylonDefaultPostProcessSceneOwners.get(scene);\n if (currentOwner?.token !== token) {\n throw new Error('Babylon default post-process Scene ownership changed before cleanup completed.');\n }\n babylonDefaultPostProcessSceneOwners.delete(scene);\n released = true;\n };\n}\n\nfunction resolveToneMappingType(type: BabylonDefaultPostProcessProfile['toneMapping']['type']): number {\n if (type === 'aces') return ImageProcessingConfiguration.TONEMAPPING_ACES;\n if (type === 'khr-pbr-neutral') return ImageProcessingConfiguration.TONEMAPPING_KHR_PBR_NEUTRAL;\n return ImageProcessingConfiguration.TONEMAPPING_STANDARD;\n}\n"]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { type FpsPluginReference } from '@fps-games/plugin-api';
|
|
2
2
|
export declare const FPS_BABYLON_RENDERER_PLUGIN_ID = "fps.renderer.babylon";
|
|
3
3
|
export declare const FPS_BABYLON_RENDERER_PACKAGE_NAME = "@fps-games/babylon-renderer";
|
|
4
|
-
export
|
|
5
|
-
readonly environmentTexture?: string | null;
|
|
6
|
-
}
|
|
4
|
+
export type FpsBabylonRendererPluginConfig = Readonly<Record<string, never>>;
|
|
7
5
|
export declare function babylonRendererPlugin(config?: FpsBabylonRendererPluginConfig): Readonly<FpsPluginReference<FpsBabylonRendererPluginConfig>>;
|
|
8
6
|
//# sourceMappingURL=reference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,8BAA8B,yBAAyB,CAAC;AACrE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAE/E,MAAM,
|
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,8BAA8B,yBAAyB,CAAC;AACrE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAE/E,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE7E,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,8BAAmC,GAC1C,QAAQ,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC,CAY9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AACrE,MAAM,CAAC,MAAM,iCAAiC,GAAG,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AACrE,MAAM,CAAC,MAAM,iCAAiC,GAAG,6BAA6B,CAAC;AAI/E,MAAM,UAAU,qBAAqB,CACnC,SAAyC,EAAE;IAE3C,OAAO,wBAAwB,CAAC;QAC9B,WAAW,EAAE,iCAAiC;QAC9C,QAAQ,EAAE,8BAA8B;QACxC,MAAM;QACN,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,8BAA8B;gBAC9B,mCAAmC;aACpC;SACF;KACF,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n defineFpsPluginReference,\n type FpsPluginReference,\n} from '@fps-games/plugin-api';\n\nexport const FPS_BABYLON_RENDERER_PLUGIN_ID = 'fps.renderer.babylon';\nexport const FPS_BABYLON_RENDERER_PACKAGE_NAME = '@fps-games/babylon-renderer';\n\nexport type FpsBabylonRendererPluginConfig = Readonly<Record<string, never>>;\n\nexport function babylonRendererPlugin(\n config: FpsBabylonRendererPluginConfig = {},\n): Readonly<FpsPluginReference<FpsBabylonRendererPluginConfig>> {\n return defineFpsPluginReference({\n packageName: FPS_BABYLON_RENDERER_PACKAGE_NAME,\n pluginId: FPS_BABYLON_RENDERER_PLUGIN_ID,\n config,\n hostServices: {\n renderer: [\n 'fps.renderer.babylon.context',\n 'fps.renderer.babylon.runtime-data',\n ],\n },\n });\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fps-games/babylon-renderer",
|
|
3
|
-
"version": "0.2.1-beta.
|
|
3
|
+
"version": "0.2.1-beta.4",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Babylon-backed renderer capabilities for fps-game-editor.",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"fpsGamePlugin": {
|
|
26
26
|
"id": "fps.renderer.babylon",
|
|
27
|
-
"version": "0.2.1-beta.
|
|
27
|
+
"version": "0.2.1-beta.4",
|
|
28
28
|
"apiVersion": 1,
|
|
29
29
|
"requires": {},
|
|
30
30
|
"provides": {
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"requires": {
|
|
41
41
|
"services": [
|
|
42
42
|
"fps.renderer.babylon.context",
|
|
43
|
-
"fps.renderer.babylon.runtime-data"
|
|
43
|
+
"fps.renderer.babylon.runtime-data",
|
|
44
|
+
"fps.asset.resource.resolver"
|
|
44
45
|
]
|
|
45
46
|
},
|
|
46
47
|
"provides": {
|
|
@@ -55,11 +56,13 @@
|
|
|
55
56
|
}
|
|
56
57
|
},
|
|
57
58
|
"dependencies": {
|
|
58
|
-
"@fps-games/playable-
|
|
59
|
-
"@fps-games/playable-
|
|
60
|
-
"@fps-games/playable-
|
|
61
|
-
"@fps-games/
|
|
62
|
-
"@fps-games/plugin-
|
|
59
|
+
"@fps-games/playable-assets": "0.2.1-beta.4",
|
|
60
|
+
"@fps-games/playable-contracts": "0.2.1-beta.4",
|
|
61
|
+
"@fps-games/playable-rendering": "0.2.1-beta.4",
|
|
62
|
+
"@fps-games/playable-runtime-data": "0.2.1-beta.4",
|
|
63
|
+
"@fps-games/plugin-assets": "0.2.1-beta.4",
|
|
64
|
+
"@fps-games/plugin-api": "0.2.1-beta.4",
|
|
65
|
+
"@fps-games/plugin-host": "0.2.1-beta.4"
|
|
63
66
|
},
|
|
64
67
|
"peerDependencies": {
|
|
65
68
|
"@babylonjs/core": "^8.0.0"
|
|
@@ -188,6 +188,7 @@ type ProjectionMaterialOwnerResolution = MaterialOwnerResolution<BabylonMaterial
|
|
|
188
188
|
export interface BabylonEditorProjectionReadyEvent {
|
|
189
189
|
nodeId: string;
|
|
190
190
|
async: boolean;
|
|
191
|
+
batchId?: number;
|
|
191
192
|
}
|
|
192
193
|
export interface BabylonEditorProjectionBatchSettledEvent {
|
|
193
194
|
batchId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../src/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAUhC,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EAExB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EACvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAkBjB,OAAO,EAEL,KAAK,4CAA4C,EACjD,KAAK,6CAA6C,EAClD,KAAK,wCAAwC,EAC9C,MAAM,qCAAqC,CAAC;AAE7C,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAC9D,MAAM,WAAW,2BAA2B;IAC1C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAKD,MAAM,MAAM,gCAAgC,GAAG,uBAAuB,CAAC;AAEvE,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,2BAA2B,CAAC;CAC9C;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,qCAAqC,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,qCAAqC,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE5F,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,qCAAqC,CAAC;CAC9C;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,+BAA+B,CAAC;CAChD;AAED,MAAM,MAAM,iCAAiC,GAAG,cAAc,GAAG,aAAa,CAAC;AAE/E,MAAM,WAAW,qCAAqC;IACpD,UAAU,CAAC,EAAE,iCAAiC,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;CAClD;AAED,MAAM,WAAW,4CAA4C;IAC3D,MAAM,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,+BAA+B;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,+CAA+C;IAC9D,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,2BAA2B,CAAC;IACvC,YAAY,CAAC,EAAE,+BAA+B,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,+CAA+C;IAC9D,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,+BAA+B,CAAC;IAC/C,WAAW,CAAC,EAAE,+BAA+B,CAAC;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,oCAAoC,GAC5C,+CAA+C,GAC/C,+CAA+C,CAAC;AAEpD,MAAM,MAAM,iCAAiC,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9G,MAAM,WAAW,gCAAgC;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,gCAAgC,CAAC;IAC7C,KAAK,CAAC,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,gCAAgC,CAAC;IAC7C,MAAM,CAAC,EAAE,qCAAqC,CAAC;IAC/C,KAAK,CAAC,EAAE,oCAAoC,CAAC;IAC7C,OAAO,CAAC,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,0BAA0B,CAAC,EAAE,yBAAyB,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,mCAAmC;IAClD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,qCAAqC,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAElF,MAAM,WAAW,yCAAyC;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,qCAAqC,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,6CAA6C;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,4CAA4C;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,8CAA8C;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,8CAA8C;IAC7D,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,yCAAyC,EAAE,CAAC;IACnD,SAAS,EAAE,6CAA6C,EAAE,CAAC;IAC3D,QAAQ,EAAE,4CAA4C,EAAE,CAAC;IACzD,UAAU,EAAE,8CAA8C,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,2BAA2B,CAAC;IAClC,KAAK,EAAE,4BAA4B,CAAC;CACrC;AAED,MAAM,MAAM,+BAA+B,GAAG,CAC5C,OAAO,EAAE,oCAAoC,KAC1C,OAAO,CAAC,mCAAmC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAErE,MAAM,MAAM,4CAA4C,GAAG,aAAa,GAAG,aAAa,CAAC;AACzF,MAAM,MAAM,+CAA+C,GACvD,MAAM,GACN,sBAAsB,GACtB,MAAM,CAAC;AACX,MAAM,MAAM,kDAAkD,GAC1D,UAAU,GACV,aAAa,GACb,2BAA2B,GAC3B,kBAAkB,GAClB,iBAAiB,GACjB,uBAAuB,GACvB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,gDAAgD;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,4CAA4C,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,+CAA+C,CAAC;IAC3D,oBAAoB,EAAE,kDAAkD,CAAC;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qBAAqB,CAAC,EAAE,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IACpE,mBAAmB,CAAC,EAAE,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAChE,uBAAuB,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC;IACxE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,6BAA6B,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,+BAA+B,CAAC;IAC9C,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrF,+FAA+F;IAC/F,qBAAqB,CAAC,EAAE,4CAA4C,CAAC;IACrE,+BAA+B,CAAC,EAAE,4CAA4C,CAAC;IAC/E,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,IAAI,CAAC;IACvE,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,wCAAwC,KAAK,IAAI,CAAC;IACrF,2BAA2B,CAAC,EAAE,CAAC,UAAU,EAAE,gDAAgD,KAAK,IAAI,CAAC;CACtG;AAED,MAAM,MAAM,4CAA4C,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AA2CrF,KAAK,iCAAiC,GAAG,uBAAuB,CAAC,0BAA0B,CAAC,CAAC;AAS7F,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wCAAwC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,iCAAiC,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEhF,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,iCAAiC,CAAC;CAC1C;AAED,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,IAAI,kCAAkC,CAAC;IAChD,OAAO,EAAE,OAAO,CAAC,kCAAkC,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,kCAAkC,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,6CAA6C;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kCAAkC;IACjD,GAAG,EAAE,2BAA2B,CAAC;IACjC,GAAG,EAAE,2BAA2B,CAAC;IACjC,IAAI,EAAE,2BAA2B,CAAC;IAClC,MAAM,EAAE,2BAA2B,CAAC;CACrC;AAED,MAAM,WAAW,6CAA6C;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,WAAW,GAAG,iBAAiB,CAAC;IACrH,MAAM,CAAC,EAAE,kCAAkC,CAAC;IAC5C,MAAM,CAAC,EAAE,2BAA2B,CAAC;IACrC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IACnC,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;IACxB,4BAA4B,CAAC,EAAE,wCAAwC,EAAE,CAAC;IAC1E,eAAe,EAAE,GAAG,EAAE,CAAC;IACvB,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,8CAA8C,GAAG,IAAI,CAAC;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,KAAK,EAAE,2BAA2B,EAAE,GAAG,kCAAkC,CAAC;IACvF,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,0BAA0B,GAAG,IAAI,CAAC;IAClF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,KAAK,EAAE,2BAA2B,EAAE,GAAG,kCAAkC,CAAC;IAClF,sBAAsB,IAAI,kCAAkC,GAAG,IAAI,CAAC;IACpE,YAAY,IAAI,gCAAgC,CAAC;IACjD,WAAW,IAAI,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACzD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAAC;IAClE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC/E,oBAAoB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,GAAG,uBAAuB,GAAG,IAAI,CAAC;IAC/G,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,8CAA8C,GAAG,IAAI,CAAC;IAC/F,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAClF,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,IAAI,CAAC;IACpF,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;IAC9C,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,6BAA6B,GAAG,IAAI,CAAC;IAC5E,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,GAAG,IAAI,CAAC;IAClE,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAC3D,eAAe,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC;IAC5D,gBAAgB,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAC1D,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrD,mCAAmC,IAAI,6CAA6C,CAAC;IACrF,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9D,sBAAsB,CAAC,IAAI,EAAE,iCAAiC,GAAG,MAAM,EAAE,CAAC;IAC1E,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAAC;IACpE,mBAAmB,IAAI,MAAM,EAAE,CAAC;IAChC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjD,6BAA6B,IAAI,6CAA6C,EAAE,CAAC;IACjF,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,6CAA6C,EAAE,CAAC;IACnH,+BAA+B,IAAI,6CAA6C,EAAE,CAAC;IACnF,qBAAqB,CAAC,KAAK,EAAE,6CAA6C,EAAE,GAAG,MAAM,EAAE,CAAC;IACxF,uBAAuB,IAAI,OAAO,CAAC;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,GAAG,EAAE,2BAA2B,CAAC;IACjC,GAAG,EAAE,2BAA2B,CAAC;IACjC,MAAM,EAAE,2BAA2B,CAAC;IACpC,IAAI,EAAE,2BAA2B,CAAC;IAClC,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,2BAA2B,CAAC;QACpC,IAAI,EAAE,2BAA2B,CAAC;QAClC,IAAI,EAAE;YACJ,CAAC,EAAE,2BAA2B,CAAC;YAC/B,CAAC,EAAE,2BAA2B,CAAC;YAC/B,CAAC,EAAE,2BAA2B,CAAC;SAChC,CAAC;KACH,CAAC;CACH;AAsBD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CAidzB;AA8WD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,uBAAuB,CAE1E;AAssED,wBAAgB,8CAA8C,CAC5D,QAAQ,EAAE,qCAAqC,GAAG,SAAS,GAC1D,qCAAqC,CAoBvC;AAED,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,qCAAqC,GAAG,SAAS,EAC3D,OAAO,GAAE,4CAAiD,GACzD,qCAAqC,CAmDvC;AA4KD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,gCAAgC,GAC1C,IAAI,CAqBN"}
|
|
@@ -131,7 +131,7 @@ export function createBabylonEditorProjection(options) {
|
|
|
131
131
|
applyProjectionPreviewVisibility(node.id);
|
|
132
132
|
applyProjectionOutline(projectionNodes.get(node.id) ?? node, projection);
|
|
133
133
|
selectionPresentation.updateProjectedNode(projection);
|
|
134
|
-
options.onProjectionReady?.({ nodeId: node.id, async: true });
|
|
134
|
+
options.onProjectionReady?.({ nodeId: node.id, async: true, batchId: batch.id });
|
|
135
135
|
}
|
|
136
136
|
scheduleBatchSettled(batch);
|
|
137
137
|
});
|