@fps-games/editor 0.1.4-beta.4 → 0.1.5-beta.1
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 +45 -0
- package/dist/local-editor-harness.d.ts +25 -5
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +518 -90
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-performance-stats.d.ts +12 -0
- package/dist/local-editor-performance-stats.d.ts.map +1 -0
- package/dist/local-editor-performance-stats.js +46 -0
- package/dist/local-editor-performance-stats.js.map +1 -0
- package/dist/playable-babylon-facade.d.ts +4 -4
- package/dist/playable-babylon-facade.d.ts.map +1 -1
- package/dist/playable-babylon-facade.js +2 -2
- package/dist/playable-babylon-facade.js.map +1 -1
- package/dist/playable-babylon-rendering.d.ts +66 -9
- package/dist/playable-babylon-rendering.d.ts.map +1 -1
- package/dist/playable-babylon-rendering.js +567 -13
- package/dist/playable-babylon-rendering.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +12 -9
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-sdk-vite.d.ts +2 -0
- package/dist/playable-sdk-vite.d.ts.map +1 -0
- package/dist/playable-sdk-vite.js +2 -0
- package/dist/playable-sdk-vite.js.map +1 -0
- package/dist/playable-sdk.d.ts +6 -4
- package/dist/playable-sdk.d.ts.map +1 -1
- package/dist/playable-sdk.js +3 -2
- package/dist/playable-sdk.js.map +1 -1
- package/dist/static-shadow-cpu-worker.d.ts +7 -0
- package/dist/static-shadow-cpu-worker.d.ts.map +1 -0
- package/dist/static-shadow-cpu-worker.js +221 -0
- package/dist/static-shadow-cpu-worker.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts +5 -0
- package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/index.js +5 -0
- package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.d.ts +5 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js +46 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.d.ts +5 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js +398 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.d.ts +4 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js +584 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-artifact-system.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.d.ts +61 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js +382 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-atlas.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.d.ts +47 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js +285 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-bake.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.d.ts +88 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js +813 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-baker.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.d.ts +27 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js +220 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-rendering.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-system.d.ts +38 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-system.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-system.js +173 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-system.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.d.ts +286 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js +82 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +3 -0
- package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js +3 -0
- package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.d.ts +34 -0
- package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js +272 -0
- package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.d.ts +49 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +141 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +11 -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 +137 -6
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/rendering.d.ts +19 -0
- package/node_modules/@fps-games/editor-babylon/dist/rendering.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/rendering.js +66 -0
- package/node_modules/@fps-games/editor-babylon/dist/rendering.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts +17 -3
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js +256 -8
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-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 +19 -2
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +5 -5
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts +1 -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.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.d.ts +8 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js +14 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-rendering-actions.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +10 -2
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +17 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -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 +494 -43
- 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 +72 -5
- 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.d.ts +1 -1
- 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 +595 -5
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +3 -3
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +14 -1
- 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 +34 -10
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.d.ts +2 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.js +11 -1
- package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/serialized-object.d.ts +7 -0
- package/node_modules/@fps-games/editor-core/dist/serialized-object.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/serialized-object.js +1 -0
- package/node_modules/@fps-games/editor-core/dist/serialized-object.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +2 -2
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +10 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts +4 -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 +29 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +12 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js +5 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts +34 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js +272 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/index.js.map +1 -1
- 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 +0 -4
- 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/mutation/field-patch.d.ts +12 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +161 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.d.ts +4 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js +4 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.d.ts +19 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js +57 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/rendering-alpha-index.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.d.ts +7 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.d.ts.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 +5 -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/rendering-profile/panel.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js +1003 -7
- 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/profile.d.ts +12 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.js +521 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts +217 -3
- 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/runtime-preview/nodes.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +26 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts.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 +4 -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/companion-configs.d.ts +9 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js +12 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/companion-configs.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +2 -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/serialized-property/descriptors.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js +75 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.d.ts +17 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js +262 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js +7 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.d.ts +6 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js +31 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/identity.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js +21 -9
- package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.d.ts +151 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js +445 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/artifact.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/static-shadows/index.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +37 -0
- 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 +15 -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/vite/build-info-core.d.ts +36 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js +65 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.d.ts +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js +87 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +226 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +64 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/package.json +7 -3
- package/node_modules/@fps-games/editor-protocol/package.json +1 -1
- package/package.json +12 -8
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export function applyBabylonRenderingToMesh(mesh, rendering) {
|
|
2
|
+
if (!isRenderableBabylonMesh(mesh))
|
|
3
|
+
return noop;
|
|
4
|
+
const renderingGroupId = readBabylonRenderingGroupId(rendering?.renderingGroupId);
|
|
5
|
+
const alphaIndex = readFiniteNumber(rendering?.alphaIndex);
|
|
6
|
+
if (renderingGroupId == null && alphaIndex == null)
|
|
7
|
+
return noop;
|
|
8
|
+
const previousRenderingGroupId = mesh.renderingGroupId;
|
|
9
|
+
const previousAlphaIndex = mesh.alphaIndex;
|
|
10
|
+
if (renderingGroupId != null)
|
|
11
|
+
mesh.renderingGroupId = renderingGroupId;
|
|
12
|
+
if (alphaIndex != null)
|
|
13
|
+
mesh.alphaIndex = alphaIndex;
|
|
14
|
+
return () => {
|
|
15
|
+
mesh.renderingGroupId = previousRenderingGroupId;
|
|
16
|
+
mesh.alphaIndex = previousAlphaIndex;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function collectRenderableBabylonMeshes(root, contentRoot) {
|
|
20
|
+
const meshes = [];
|
|
21
|
+
const seen = new Set();
|
|
22
|
+
const append = (node) => {
|
|
23
|
+
if (!node || seen.has(node))
|
|
24
|
+
return;
|
|
25
|
+
seen.add(node);
|
|
26
|
+
if (isRenderableBabylonMesh(node))
|
|
27
|
+
meshes.push(node);
|
|
28
|
+
const childMeshes = isBabylonRenderableNode(node) ? node.getChildMeshes?.(false) : [];
|
|
29
|
+
if (Array.isArray(childMeshes)) {
|
|
30
|
+
for (const child of childMeshes)
|
|
31
|
+
append(child);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
append(root);
|
|
35
|
+
if (contentRoot && contentRoot !== root)
|
|
36
|
+
append(contentRoot);
|
|
37
|
+
return meshes;
|
|
38
|
+
}
|
|
39
|
+
export function applyBabylonRenderingToNodeTree(root, rendering, contentRoot) {
|
|
40
|
+
const restoreCallbacks = collectRenderableBabylonMeshes(root, contentRoot)
|
|
41
|
+
.map(mesh => applyBabylonRenderingToMesh(mesh, rendering));
|
|
42
|
+
if (restoreCallbacks.length === 0)
|
|
43
|
+
return noop;
|
|
44
|
+
return () => {
|
|
45
|
+
for (const restore of restoreCallbacks.reverse())
|
|
46
|
+
restore();
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function isBabylonRenderableNode(node) {
|
|
50
|
+
return !!node && typeof node === 'object' && typeof node.getChildMeshes === 'function';
|
|
51
|
+
}
|
|
52
|
+
function isRenderableBabylonMesh(node) {
|
|
53
|
+
return !!node
|
|
54
|
+
&& typeof node === 'object'
|
|
55
|
+
&& typeof node.getTotalVertices === 'function'
|
|
56
|
+
&& typeof node.renderingGroupId === 'number'
|
|
57
|
+
&& typeof node.alphaIndex === 'number';
|
|
58
|
+
}
|
|
59
|
+
function readBabylonRenderingGroupId(value) {
|
|
60
|
+
return value === 0 || value === 1 || value === 2 || value === 3 ? value : null;
|
|
61
|
+
}
|
|
62
|
+
function readFiniteNumber(value) {
|
|
63
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
64
|
+
}
|
|
65
|
+
function noop() { }
|
|
66
|
+
//# sourceMappingURL=rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rendering.js","sourceRoot":"","sources":["../src/rendering.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
import { type PlanarShadowOptions } from '@fps-games/babylon-renderer';
|
|
1
|
+
import { type StaticProjectedShadowArtifact, type StaticProjectedShadowArtifactOptions, type StaticProjectedShadowArtifactTextureReadyEvent, type StaticProjectedShadowOptions, type BlobShadowOptions, type PlanarShadowOptions } from '@fps-games/babylon-renderer';
|
|
2
2
|
import type { BabylonEditorProjection } from './projection';
|
|
3
3
|
import type { RuntimeScene } from './types';
|
|
4
|
-
export
|
|
4
|
+
export type BabylonEditorPlanarShadowPreviewOptions = Partial<PlanarShadowOptions> & {
|
|
5
5
|
enabled?: boolean;
|
|
6
6
|
directionalLightNodeId?: string | null;
|
|
7
|
-
}
|
|
7
|
+
};
|
|
8
|
+
export type BabylonEditorBlobShadowPreviewOptions = Partial<BlobShadowOptions> & {
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type BabylonEditorStaticProjectedShadowPreviewOptions = Partial<StaticProjectedShadowOptions> & Partial<StaticProjectedShadowArtifactOptions> & {
|
|
12
|
+
enabled?: boolean;
|
|
13
|
+
directionalLightNodeId?: string | null;
|
|
14
|
+
artifact?: StaticProjectedShadowArtifact | null;
|
|
15
|
+
};
|
|
16
|
+
export type BabylonEditorShadowPreviewMode = 'none' | 'blob' | 'static' | 'planar' | 'dynamic';
|
|
8
17
|
export interface BabylonEditorShadowPreviewOptions {
|
|
18
|
+
defaultMode?: BabylonEditorShadowPreviewMode | null;
|
|
19
|
+
blob?: BabylonEditorBlobShadowPreviewOptions | false | null;
|
|
20
|
+
staticProjected?: BabylonEditorStaticProjectedShadowPreviewOptions | false | null;
|
|
9
21
|
planar?: BabylonEditorPlanarShadowPreviewOptions | false | null;
|
|
10
22
|
}
|
|
11
23
|
export interface BabylonEditorShadowPreviewController {
|
|
12
24
|
setOptions(options?: BabylonEditorShadowPreviewOptions | null): void;
|
|
25
|
+
invalidateStaticProjectedArtifact(): void;
|
|
13
26
|
refresh(): void;
|
|
14
27
|
rebuild(): void;
|
|
15
28
|
dispose(): void;
|
|
@@ -18,6 +31,7 @@ export interface BabylonEditorShadowPreviewControllerOptions {
|
|
|
18
31
|
scene: RuntimeScene;
|
|
19
32
|
projection: BabylonEditorProjection;
|
|
20
33
|
options?: BabylonEditorShadowPreviewOptions | null;
|
|
34
|
+
onStaticProjectedShadowTextureReady?: (event: StaticProjectedShadowArtifactTextureReadyEvent) => void;
|
|
21
35
|
}
|
|
22
36
|
export declare function createBabylonEditorShadowPreviewController(options: BabylonEditorShadowPreviewControllerOptions): BabylonEditorShadowPreviewController;
|
|
23
37
|
//# sourceMappingURL=shadow-preview-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow-preview-controller.d.ts","sourceRoot":"","sources":["../src/shadow-preview-controller.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"shadow-preview-controller.d.ts","sourceRoot":"","sources":["../src/shadow-preview-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,6BAA6B,EAElC,KAAK,oCAAoC,EACzC,KAAK,8CAA8C,EACnD,KAAK,4BAA4B,EAEjC,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EAEzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAqC,MAAM,cAAc,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,uCAAuC,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gDAAgD,GAC1D,OAAO,CAAC,4BAA4B,CAAC,GACnC,OAAO,CAAC,oCAAoC,CAAC,GAC7C;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,6BAA6B,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/F,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,EAAE,8BAA8B,GAAG,IAAI,CAAC;IACpD,IAAI,CAAC,EAAE,qCAAqC,GAAG,KAAK,GAAG,IAAI,CAAC;IAC5D,eAAe,CAAC,EAAE,gDAAgD,GAAG,KAAK,GAAG,IAAI,CAAC;IAClF,MAAM,CAAC,EAAE,uCAAuC,GAAG,KAAK,GAAG,IAAI,CAAC;CACjE;AAED,MAAM,WAAW,oCAAoC;IACnD,UAAU,CAAC,OAAO,CAAC,EAAE,iCAAiC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrE,iCAAiC,IAAI,IAAI,CAAC;IAC1C,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,2CAA2C;IAC1D,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,uBAAuB,CAAC;IACpC,OAAO,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC;IACnD,mCAAmC,CAAC,EAAE,CAAC,KAAK,EAAE,8CAA8C,KAAK,IAAI,CAAC;CACvG;AAoBD,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,2CAA2C,GACnD,oCAAoC,CAiJtC"}
|
|
@@ -1,12 +1,42 @@
|
|
|
1
|
-
import { createPlanarShadowSystem, } from '@fps-games/babylon-renderer';
|
|
1
|
+
import { createBlobShadowSystem, createPlanarShadowSystem, collectStaticProjectedShadowBakeRoots, createStaticProjectedShadowArtifactSystem, createStaticProjectedShadowBakeHashes, } from '@fps-games/babylon-renderer';
|
|
2
|
+
const PLANAR_PREVIEW_ROOT_BOUNDARY_PATTERNS = ['root', 'scene_builder_root'];
|
|
2
3
|
export function createBabylonEditorShadowPreviewController(options) {
|
|
3
4
|
let currentOptions = normalizeShadowPreviewOptions(options.options);
|
|
5
|
+
let blobSystem = null;
|
|
6
|
+
let staticSystem = null;
|
|
4
7
|
let planarSystem = null;
|
|
5
8
|
let planarLight = null;
|
|
9
|
+
const blobCasters = new Set();
|
|
10
|
+
const planarCasters = new Set();
|
|
11
|
+
const disposeBlob = () => {
|
|
12
|
+
blobSystem?.dispose();
|
|
13
|
+
blobSystem = null;
|
|
14
|
+
blobCasters.clear();
|
|
15
|
+
};
|
|
6
16
|
const disposePlanar = () => {
|
|
7
17
|
planarSystem?.dispose();
|
|
8
18
|
planarSystem = null;
|
|
9
19
|
planarLight = null;
|
|
20
|
+
planarCasters.clear();
|
|
21
|
+
};
|
|
22
|
+
const disposeStatic = () => {
|
|
23
|
+
staticSystem?.dispose();
|
|
24
|
+
staticSystem = null;
|
|
25
|
+
};
|
|
26
|
+
const syncBlob = () => {
|
|
27
|
+
const blobOptions = currentOptions.blob;
|
|
28
|
+
if (!blobOptions || blobOptions.enabled === false) {
|
|
29
|
+
disposeBlob();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const nextOptions = disableBlobAutoDetection(blobOptions);
|
|
33
|
+
if (!blobSystem) {
|
|
34
|
+
blobSystem = createBlobShadowSystem(options.scene, nextOptions);
|
|
35
|
+
blobSystem.initialize();
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
blobSystem.setOptions(nextOptions);
|
|
39
|
+
}
|
|
10
40
|
};
|
|
11
41
|
const syncPlanar = () => {
|
|
12
42
|
const planarOptions = currentOptions.planar;
|
|
@@ -22,36 +52,254 @@ export function createBabylonEditorShadowPreviewController(options) {
|
|
|
22
52
|
if (!planarSystem || planarLight !== light) {
|
|
23
53
|
disposePlanar();
|
|
24
54
|
planarLight = light;
|
|
25
|
-
planarSystem = createPlanarShadowSystem(options.scene, light, { ...planarOptions, direction: { mode: 'follow-light' } });
|
|
55
|
+
planarSystem = createPlanarShadowSystem(options.scene, light, disablePlanarAutoDetection({ ...planarOptions, direction: { mode: 'follow-light' } }));
|
|
26
56
|
planarSystem.initialize();
|
|
27
57
|
return;
|
|
28
58
|
}
|
|
29
|
-
planarSystem.setOptions({ ...planarOptions, direction: { mode: 'follow-light' } });
|
|
30
|
-
planarSystem.refresh();
|
|
59
|
+
planarSystem.setOptions(disablePlanarAutoDetection({ ...planarOptions, direction: { mode: 'follow-light' } }));
|
|
31
60
|
};
|
|
32
|
-
|
|
61
|
+
const syncStatic = () => {
|
|
62
|
+
const staticOptions = currentOptions.staticProjected;
|
|
63
|
+
if (!staticOptions || staticOptions.enabled === false || !staticOptions.artifact) {
|
|
64
|
+
disposeStatic();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const expectedHashes = createStaticExpectedHashes(options.scene, options.projection, staticOptions);
|
|
68
|
+
if (!staticSystem) {
|
|
69
|
+
staticSystem = createStaticProjectedShadowArtifactSystem(options.scene, staticOptions.artifact, toStaticArtifactOptions(staticOptions, expectedHashes, options.onStaticProjectedShadowTextureReady));
|
|
70
|
+
staticSystem.initialize();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
staticSystem.setOptions(toStaticArtifactOptions(staticOptions, expectedHashes, options.onStaticProjectedShadowTextureReady));
|
|
74
|
+
staticSystem.setArtifact(staticOptions.artifact);
|
|
75
|
+
};
|
|
76
|
+
const syncRoutes = () => {
|
|
77
|
+
syncBlob();
|
|
78
|
+
syncStatic();
|
|
79
|
+
syncPlanar();
|
|
80
|
+
const meshes = readSceneMeshes(options.scene);
|
|
81
|
+
const nextBlobCasters = new Set();
|
|
82
|
+
const nextPlanarCasters = new Set();
|
|
83
|
+
for (const mesh of meshes) {
|
|
84
|
+
const mode = resolvePreviewMeshShadowMode(mesh, currentOptions.defaultMode ?? 'none');
|
|
85
|
+
if (mode === 'blob' && blobSystem)
|
|
86
|
+
nextBlobCasters.add(mesh);
|
|
87
|
+
if (mode === 'planar' && planarSystem)
|
|
88
|
+
nextPlanarCasters.add(mesh);
|
|
89
|
+
}
|
|
90
|
+
syncDynamicShadowCasters(blobSystem, blobCasters, nextBlobCasters);
|
|
91
|
+
syncDynamicShadowCasters(planarSystem, planarCasters, nextPlanarCasters);
|
|
92
|
+
blobSystem?.refresh();
|
|
93
|
+
planarSystem?.refresh();
|
|
94
|
+
};
|
|
95
|
+
syncRoutes();
|
|
33
96
|
return {
|
|
34
97
|
setOptions(nextOptions) {
|
|
35
98
|
currentOptions = normalizeShadowPreviewOptions(nextOptions);
|
|
36
|
-
|
|
99
|
+
syncRoutes();
|
|
100
|
+
},
|
|
101
|
+
invalidateStaticProjectedArtifact() {
|
|
102
|
+
const staticOptions = currentOptions.staticProjected;
|
|
103
|
+
if (staticOptions) {
|
|
104
|
+
currentOptions = {
|
|
105
|
+
...currentOptions,
|
|
106
|
+
staticProjected: {
|
|
107
|
+
...staticOptions,
|
|
108
|
+
artifact: null,
|
|
109
|
+
expectedHashes: null,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
disposeStatic();
|
|
37
114
|
},
|
|
38
115
|
refresh() {
|
|
39
|
-
|
|
116
|
+
syncRoutes();
|
|
40
117
|
},
|
|
41
118
|
rebuild() {
|
|
119
|
+
disposeBlob();
|
|
120
|
+
disposeStatic();
|
|
42
121
|
disposePlanar();
|
|
43
|
-
|
|
122
|
+
syncRoutes();
|
|
44
123
|
},
|
|
45
124
|
dispose() {
|
|
125
|
+
disposeBlob();
|
|
126
|
+
disposeStatic();
|
|
46
127
|
disposePlanar();
|
|
47
128
|
},
|
|
48
129
|
};
|
|
49
130
|
}
|
|
50
131
|
function normalizeShadowPreviewOptions(options) {
|
|
51
132
|
return {
|
|
133
|
+
defaultMode: readPreviewDefaultMode(options?.defaultMode),
|
|
134
|
+
blob: options?.blob ?? null,
|
|
135
|
+
staticProjected: options?.staticProjected ?? null,
|
|
52
136
|
planar: options?.planar ?? null,
|
|
53
137
|
};
|
|
54
138
|
}
|
|
139
|
+
function disableBlobAutoDetection(options) {
|
|
140
|
+
return {
|
|
141
|
+
...options,
|
|
142
|
+
casters: {
|
|
143
|
+
...options.casters,
|
|
144
|
+
autoDetectAll: false,
|
|
145
|
+
includePatterns: [],
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function disablePlanarAutoDetection(options) {
|
|
150
|
+
return {
|
|
151
|
+
...options,
|
|
152
|
+
casters: {
|
|
153
|
+
...options.casters,
|
|
154
|
+
autoDetectAll: false,
|
|
155
|
+
includePatterns: [],
|
|
156
|
+
rootBoundaryPatterns: mergeUniquePatterns([
|
|
157
|
+
...(options.casters?.rootBoundaryPatterns ?? []),
|
|
158
|
+
...PLANAR_PREVIEW_ROOT_BOUNDARY_PATTERNS,
|
|
159
|
+
]),
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
function toStaticArtifactOptions(options, expectedHashes, onTextureReady) {
|
|
164
|
+
return {
|
|
165
|
+
enabled: options.enabled ?? true,
|
|
166
|
+
appearance: options.appearance ?? {
|
|
167
|
+
color: { r: 0, g: 0, b: 0, a: 0.35 },
|
|
168
|
+
},
|
|
169
|
+
bake: {
|
|
170
|
+
blur: options.bake?.blur,
|
|
171
|
+
},
|
|
172
|
+
expectedHashes: options.expectedHashes ?? expectedHashes,
|
|
173
|
+
onTextureReady,
|
|
174
|
+
debug: options.debug,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
function createStaticExpectedHashes(scene, projection, options) {
|
|
178
|
+
if (options.expectedHashes)
|
|
179
|
+
return options.expectedHashes;
|
|
180
|
+
if (!canValidateStaticExpectedHashes(projection))
|
|
181
|
+
return null;
|
|
182
|
+
const directionalLight = resolveDirectionalLight(projection, options.directionalLightNodeId ?? null);
|
|
183
|
+
try {
|
|
184
|
+
return createStaticProjectedShadowBakeHashes({
|
|
185
|
+
scene: scene,
|
|
186
|
+
directionalLight: directionalLight,
|
|
187
|
+
roots: collectStaticProjectedShadowBakeRoots(scene),
|
|
188
|
+
options: options,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
function canValidateStaticExpectedHashes(projection) {
|
|
196
|
+
try {
|
|
197
|
+
if (!projection.getLastProjectionBatch?.())
|
|
198
|
+
return false;
|
|
199
|
+
const idleState = projection.getIdleState?.();
|
|
200
|
+
return idleState?.idle !== false;
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function syncDynamicShadowCasters(system, current, next) {
|
|
207
|
+
for (const mesh of [...current]) {
|
|
208
|
+
if (!next.has(mesh)) {
|
|
209
|
+
system?.removeCaster(mesh);
|
|
210
|
+
current.delete(mesh);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (!system) {
|
|
214
|
+
current.clear();
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
for (const mesh of next) {
|
|
218
|
+
if (!current.has(mesh)) {
|
|
219
|
+
system.addCaster(mesh);
|
|
220
|
+
current.add(mesh);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function readSceneMeshes(scene) {
|
|
225
|
+
return Array.isArray(scene?.meshes) ? scene.meshes : [];
|
|
226
|
+
}
|
|
227
|
+
function resolvePreviewMeshShadowMode(mesh, defaultMode) {
|
|
228
|
+
if (mesh.isDisposed?.())
|
|
229
|
+
return 'none';
|
|
230
|
+
if (hasGeneratedShadowDisabled(mesh))
|
|
231
|
+
return 'none';
|
|
232
|
+
const authoredMode = readProjectionShadowMode(mesh);
|
|
233
|
+
if (!authoredMode || authoredMode === 'default')
|
|
234
|
+
return defaultMode;
|
|
235
|
+
return authoredMode;
|
|
236
|
+
}
|
|
237
|
+
function readPreviewDefaultMode(value) {
|
|
238
|
+
return value === 'none' || value === 'blob' || value === 'static' || value === 'planar' || value === 'dynamic'
|
|
239
|
+
? value
|
|
240
|
+
: 'none';
|
|
241
|
+
}
|
|
242
|
+
function readProjectionShadowMode(mesh) {
|
|
243
|
+
for (const node of walkNodeAndParents(mesh)) {
|
|
244
|
+
const editorProjection = readEditorProjectionMetadata(node);
|
|
245
|
+
const mode = editorProjection?.shadowMode;
|
|
246
|
+
if (mode === 'default' || mode === 'none' || mode === 'blob' || mode === 'static' || mode === 'planar' || mode === 'dynamic')
|
|
247
|
+
return mode;
|
|
248
|
+
}
|
|
249
|
+
return null;
|
|
250
|
+
}
|
|
251
|
+
function hasGeneratedShadowDisabled(mesh) {
|
|
252
|
+
for (const node of walkNodeAndParents(mesh)) {
|
|
253
|
+
const metadata = readObject(node.metadata);
|
|
254
|
+
if (metadata?.blobShadowInternal === true
|
|
255
|
+
|| metadata?.staticProjectedShadowInternal === true
|
|
256
|
+
|| metadata?.planarShadowInternal === true)
|
|
257
|
+
return true;
|
|
258
|
+
const projection = readEditorProjectionMetadata(node);
|
|
259
|
+
if (projection?.runtimeKind === 'camera' || projection?.runtimeKind === 'light')
|
|
260
|
+
return true;
|
|
261
|
+
if (metadata?.disableBlobShadow === true
|
|
262
|
+
&& metadata?.disableStaticProjectedShadow === true
|
|
263
|
+
&& metadata?.disablePlanarShadow === true
|
|
264
|
+
&& projection?.nodeId !== 'root'
|
|
265
|
+
&& projection?.helperKind !== 'root') {
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
function walkNodeAndParents(mesh) {
|
|
272
|
+
const nodes = [];
|
|
273
|
+
const seen = new Set();
|
|
274
|
+
let cursor = mesh;
|
|
275
|
+
while (cursor && typeof cursor === 'object' && !seen.has(cursor)) {
|
|
276
|
+
nodes.push(cursor);
|
|
277
|
+
seen.add(cursor);
|
|
278
|
+
cursor = cursor.parent;
|
|
279
|
+
}
|
|
280
|
+
return nodes;
|
|
281
|
+
}
|
|
282
|
+
function readEditorProjectionMetadata(node) {
|
|
283
|
+
return readObject(readObject(node?.metadata)?.editorProjection);
|
|
284
|
+
}
|
|
285
|
+
function readObject(value) {
|
|
286
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
287
|
+
? value
|
|
288
|
+
: null;
|
|
289
|
+
}
|
|
290
|
+
function mergeUniquePatterns(patterns) {
|
|
291
|
+
const normalized = [];
|
|
292
|
+
const seen = new Set();
|
|
293
|
+
for (const pattern of patterns) {
|
|
294
|
+
const trimmed = pattern.trim();
|
|
295
|
+
const key = trimmed.toLowerCase();
|
|
296
|
+
if (!trimmed || seen.has(key))
|
|
297
|
+
continue;
|
|
298
|
+
seen.add(key);
|
|
299
|
+
normalized.push(trimmed);
|
|
300
|
+
}
|
|
301
|
+
return normalized;
|
|
302
|
+
}
|
|
55
303
|
function resolveDirectionalLight(projection, nodeId) {
|
|
56
304
|
if (!nodeId)
|
|
57
305
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow-preview-controller.js","sourceRoot":"","sources":["../src/shadow-preview-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"shadow-preview-controller.js","sourceRoot":"","sources":["../src/shadow-preview-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-gizmo-controller.d.ts","sourceRoot":"","sources":["../src/transform-gizmo-controller.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transform-gizmo-controller.d.ts","sourceRoot":"","sources":["../src/transform-gizmo-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export function resolveBabylonTransformHandleConstraint(tool, handleKey) {
|
|
|
18
18
|
}
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
|
+
const LARGE_SELECTION_GIZMO_LIMIT = 200;
|
|
21
22
|
export function createBabylonTransformGizmoController(options) {
|
|
22
23
|
const GizmoManagerCtor = options.babylon.GizmoManager;
|
|
23
24
|
if (!GizmoManagerCtor)
|
|
@@ -105,6 +106,13 @@ export function createBabylonTransformGizmoController(options) {
|
|
|
105
106
|
proxy.scaling = new Vector3(1, 1, 1);
|
|
106
107
|
return proxy;
|
|
107
108
|
}
|
|
109
|
+
function setPivotProxyPosition(position) {
|
|
110
|
+
const proxy = ensurePivotProxy();
|
|
111
|
+
const Vector3 = options.babylon.Vector3;
|
|
112
|
+
if (!proxy || !Vector3)
|
|
113
|
+
return;
|
|
114
|
+
proxy.position = new Vector3(position.x, position.y, position.z);
|
|
115
|
+
}
|
|
108
116
|
function clearDragObservers() {
|
|
109
117
|
for (const dispose of observerDisposers)
|
|
110
118
|
dispose();
|
|
@@ -694,7 +702,7 @@ export function createBabylonTransformGizmoController(options) {
|
|
|
694
702
|
return false;
|
|
695
703
|
const delta = subtractVec3(currentPoint, drag.viewPlane.startPoint);
|
|
696
704
|
const transforms = previewMoveWithDelta(drag, delta);
|
|
697
|
-
|
|
705
|
+
syncFreeMovePreviewPivot(drag, transforms, addVec3(drag.pivot.position, delta));
|
|
698
706
|
const current = drag.activeId
|
|
699
707
|
? transforms[drag.activeId] ?? Object.values(transforms)[0] ?? null
|
|
700
708
|
: Object.values(transforms)[0] ?? null;
|
|
@@ -710,11 +718,17 @@ export function createBabylonTransformGizmoController(options) {
|
|
|
710
718
|
const transforms = currentPoint
|
|
711
719
|
? previewMoveWithDelta(drag, subtractVec3(currentPoint, drag.viewPlane.startPoint))
|
|
712
720
|
: previewMoveWithDelta(drag, { x: 0, y: 0, z: 0 });
|
|
721
|
+
syncFreeMovePreviewPivot(drag, transforms, currentPoint ?? drag.pivot.position);
|
|
713
722
|
activeDrag = null;
|
|
714
723
|
emitTransformCommit(drag, transforms);
|
|
715
724
|
attachCurrentSelection();
|
|
716
725
|
return true;
|
|
717
726
|
}
|
|
727
|
+
function syncFreeMovePreviewPivot(drag, transforms, fallbackPosition) {
|
|
728
|
+
const pivotPosition = resolvePreviewPivotPosition(drag, transforms) ?? fallbackPosition;
|
|
729
|
+
setPivotProxyPosition(pivotPosition);
|
|
730
|
+
setFreeMoveHandlePosition(pivotPosition);
|
|
731
|
+
}
|
|
718
732
|
function resolvePreviewPivotPosition(drag, transforms) {
|
|
719
733
|
for (const nodeId of drag.targetIds) {
|
|
720
734
|
const before = drag.beforeTransforms[nodeId];
|
|
@@ -1086,7 +1100,10 @@ export function createBabylonTransformGizmoController(options) {
|
|
|
1086
1100
|
setSelection(selection) {
|
|
1087
1101
|
if (disposed)
|
|
1088
1102
|
return;
|
|
1089
|
-
const
|
|
1103
|
+
const largeSelection = selection.selectedIds.length > LARGE_SELECTION_GIZMO_LIMIT;
|
|
1104
|
+
const nextNodeIds = largeSelection
|
|
1105
|
+
? [selection.activeId].filter((id) => !!id)
|
|
1106
|
+
: [...selection.selectedIds];
|
|
1090
1107
|
const nextActiveId = selection.activeId;
|
|
1091
1108
|
if (selectedNodeId === nextActiveId
|
|
1092
1109
|
&& selectedNodeIds.length === nextNodeIds.length
|