@fps-games/editor 0.1.5-beta.3 → 0.1.5-beta.5

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.
Files changed (106) hide show
  1. package/dist/build-info.json +15 -15
  2. package/dist/local-editor-harness.d.ts.map +1 -1
  3. package/dist/local-editor-harness.js +10 -13
  4. package/dist/local-editor-harness.js.map +1 -1
  5. package/node_modules/@fps-games/babylon-renderer/package.json +1 -1
  6. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.d.ts.map +1 -1
  7. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js +12 -6
  8. package/node_modules/@fps-games/editor-babylon/dist/main-camera-preview.js.map +1 -1
  9. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.d.ts.map +1 -1
  10. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +10 -7
  11. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  12. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.d.ts +12 -0
  13. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.d.ts.map +1 -0
  14. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js +97 -0
  15. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -0
  16. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -5
  17. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  18. package/node_modules/@fps-games/editor-babylon/dist/projection.js +81 -39
  19. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  20. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  21. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +88 -7
  22. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  23. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.d.ts.map +1 -1
  24. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js +16 -1
  25. package/node_modules/@fps-games/editor-babylon/dist/transform-solver.js.map +1 -1
  26. package/node_modules/@fps-games/editor-babylon/dist/types.d.ts +4 -0
  27. package/node_modules/@fps-games/editor-babylon/dist/types.d.ts.map +1 -1
  28. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  29. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts.map +1 -1
  30. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js +6 -2
  31. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  32. package/node_modules/@fps-games/editor-browser/package.json +3 -3
  33. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.d.ts +34 -5
  34. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.d.ts.map +1 -1
  35. package/node_modules/@fps-games/editor-core/dist/transform-math.d.ts +15 -22
  36. package/node_modules/@fps-games/editor-core/dist/transform-math.d.ts.map +1 -1
  37. package/node_modules/@fps-games/editor-core/dist/transform-math.js +74 -4
  38. package/node_modules/@fps-games/editor-core/dist/transform-math.js.map +1 -1
  39. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.d.ts +14 -0
  40. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.d.ts.map +1 -1
  41. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js +16 -0
  42. package/node_modules/@fps-games/editor-core/dist/transform-operation-policy.js.map +1 -1
  43. package/node_modules/@fps-games/editor-core/dist/transform-operations.d.ts.map +1 -1
  44. package/node_modules/@fps-games/editor-core/dist/transform-operations.js +9 -5
  45. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -1
  46. package/node_modules/@fps-games/editor-core/package.json +2 -2
  47. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  48. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.d.ts.map +1 -1
  49. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/payload.js.map +1 -1
  50. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts +2 -2
  51. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-bridge/types.d.ts.map +1 -1
  52. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
  53. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +3 -11
  54. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  55. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.d.ts.map +1 -1
  56. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js +5 -3
  57. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/placement.js.map +1 -1
  58. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.d.ts +2 -2
  59. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.d.ts.map +1 -1
  60. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/transform.js.map +1 -1
  61. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.d.ts +2 -2
  62. package/node_modules/@fps-games/editor-playable-sdk/dist/commands/types.d.ts.map +1 -1
  63. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.d.ts +2 -2
  64. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.d.ts.map +1 -1
  65. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js +1 -1
  66. package/node_modules/@fps-games/editor-playable-sdk/dist/core-contracts/index.js.map +1 -1
  67. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +9 -2
  68. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  69. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts.map +1 -1
  70. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js +40 -3
  71. package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
  72. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts.map +1 -1
  73. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +5 -1
  74. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  75. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.d.ts.map +1 -1
  76. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js +49 -32
  77. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/reducer.js.map +1 -1
  78. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.d.ts.map +1 -1
  79. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js +10 -4
  80. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/transform.js.map +1 -1
  81. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.d.ts +3 -1
  82. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/types.d.ts.map +1 -1
  83. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts.map +1 -1
  84. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +2 -7
  85. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  86. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.d.ts.map +1 -1
  87. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js +12 -4
  88. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  89. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.d.ts.map +1 -1
  90. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js +13 -10
  91. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  92. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.d.ts +1 -1
  93. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.d.ts.map +1 -1
  94. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js +1 -1
  95. package/node_modules/@fps-games/editor-playable-sdk/dist/session/index.js.map +1 -1
  96. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts +6 -5
  97. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts.map +1 -1
  98. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js +35 -36
  99. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  100. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.d.ts +16 -4
  101. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.d.ts.map +1 -1
  102. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js +64 -9
  103. package/node_modules/@fps-games/editor-playable-sdk/dist/session/transform.js.map +1 -1
  104. package/node_modules/@fps-games/editor-playable-sdk/package.json +3 -3
  105. package/node_modules/@fps-games/editor-protocol/package.json +1 -1
  106. package/package.json +8 -8
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/babylon-renderer",
3
- "version": "0.1.5-beta.3",
3
+ "version": "0.1.5-beta.5",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Babylon-backed renderer capabilities for fps-game-editor.",
@@ -1 +1 @@
1
- {"version":3,"file":"main-camera-preview.d.ts","sourceRoot":"","sources":["../src/main-camera-preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qCAAqC,EACrC,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,EAAE,qCAAqC,GAAG,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,yCAAyC;IACxD,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpD,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,IAAI,OAAO,CAAC;IACpB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,2BAA2B,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3E,IAAI,CAAC,GAAG,EAAE,2BAA2B,GAAG,IAAI,GAAG,IAAI,CAAC;IACpD,OAAO,IAAI,IAAI,CAAC;CACjB;AAgBD,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,yCAAyC,GACjD,kCAAkC,CAoIpC;AAED,wBAAgB,mDAAmD,CACjE,IAAI,EAAE,2BAA2B,GAAG,IAAI,GAAG,SAAS,GACnD,2BAA2B,GAAG,IAAI,CAcpC"}
1
+ {"version":3,"file":"main-camera-preview.d.ts","sourceRoot":"","sources":["../src/main-camera-preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qCAAqC,EACrC,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,EAAE,qCAAqC,GAAG,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,yCAAyC;IACxD,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpD,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,IAAI,OAAO,CAAC;IACpB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,2BAA2B,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3E,IAAI,CAAC,GAAG,EAAE,2BAA2B,GAAG,IAAI,GAAG,IAAI,CAAC;IACpD,OAAO,IAAI,IAAI,CAAC;CACjB;AAgBD,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,yCAAyC,GACjD,kCAAkC,CAoIpC;AAED,wBAAgB,mDAAmD,CACjE,IAAI,EAAE,2BAA2B,GAAG,IAAI,GAAG,SAAS,GACnD,2BAA2B,GAAG,IAAI,CAUpC"}
@@ -1,4 +1,5 @@
1
1
  import { applyBabylonEditorProjectionCameraRig } from './projection.js';
2
+ import { cloneEditorTransformSnapshot, decomposeEditorTransformMatrix, isEditorTransformMatrixSnapshot, readEditorTransformPosition, } from '@fps-games/editor-core';
2
3
  const DEFAULT_MAIN_CAMERA_PREVIEW_SETTINGS = {
3
4
  projection: 'orthographic',
4
5
  alpha: 3.9269908169872414,
@@ -74,7 +75,7 @@ export function createBabylonMainCameraPreviewController(options) {
74
75
  };
75
76
  const target = rig?.target ?? settings.targetOffset ?? { x: 0, y: 0, z: 0 };
76
77
  if (rig?.transform) {
77
- const transform = rig.transform;
78
+ const transform = readMainCameraPreviewTrsTransform(rig.transform);
78
79
  camera.position = new Vector3(transform.position.x, transform.position.y, transform.position.z);
79
80
  if (camera.rotationQuaternion)
80
81
  camera.rotationQuaternion = null;
@@ -145,16 +146,21 @@ export function createBabylonMainCameraPreviewRigFromProjectionNode(node) {
145
146
  return {
146
147
  ...(node.transform
147
148
  ? {
148
- transform: {
149
- position: { ...node.transform.position },
150
- rotation: { ...node.transform.rotation },
151
- ...(node.transform.scale ? { scale: { ...node.transform.scale } } : {}),
152
- },
149
+ transform: cloneEditorTransformSnapshot(node.transform),
153
150
  }
154
151
  : {}),
155
152
  ...(node.camera ? { settings: { ...node.camera } } : {}),
156
153
  };
157
154
  }
155
+ function readMainCameraPreviewTrsTransform(transform) {
156
+ if (!isEditorTransformMatrixSnapshot(transform))
157
+ return transform;
158
+ return decomposeEditorTransformMatrix(transform.matrix) ?? {
159
+ position: readEditorTransformPosition(transform),
160
+ rotation: { x: 0, y: 0, z: 0 },
161
+ scale: { x: 1, y: 1, z: 1 },
162
+ };
163
+ }
158
164
  function createOrbitPosition(Vector3, target, settings) {
159
165
  const sinBeta = Math.sin(settings.beta);
160
166
  return new Vector3(target.x + settings.radius * Math.cos(settings.alpha) * sinBeta, target.y + settings.radius * Math.cos(settings.beta), target.z + settings.radius * Math.sin(settings.alpha) * sinBeta);
@@ -1 +1 @@
1
- {"version":3,"file":"main-camera-preview.js","sourceRoot":"","sources":["../src/main-camera-preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main-camera-preview.js","sourceRoot":"","sources":["../src/main-camera-preview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"projection-asset-container-importer.d.ts","sourceRoot":"","sources":["../src/projection-asset-container-importer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oCAAoC,EACpC,+BAA+B,EAEhC,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,wCAAwC;IACvD,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,wBAAwB,CAAC,EAAE,CACzB,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,EAC7C,cAAc,CAAC,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KACrC,kDAAkD,CAAC;CACzD;AAED,MAAM,WAAW,kDAAkD;IACjE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,0CAA0C,GAClD;IACE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;IAC9C,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;IAC9C,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEN,MAAM,WAAW,8CAA8C;IAC7D,aAAa,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAChH,eAAe,CAAC,CAAC,OAAO,EAAE,oCAAoC,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAChI,iBAAiB,CAAC,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAAC;IAC3E,kBAAkB,CAAC,CAAC,KAAK,EAAE;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,oCAAoC,CAAC;KAC/C,GAAG,MAAM,CAAC;IACX,OAAO,CAAC,CAAC,KAAK,EAAE,0CAA0C,GAAG,IAAI,CAAC;CACnE;AAID,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,8CAA8C,GACtD,+BAA+B,CAwBjC"}
1
+ {"version":3,"file":"projection-asset-container-importer.d.ts","sourceRoot":"","sources":["../src/projection-asset-container-importer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oCAAoC,EACpC,+BAA+B,EAEhC,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,wCAAwC;IACvD,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,wBAAwB,CAAC,EAAE,CACzB,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,EAC7C,cAAc,CAAC,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KACrC,kDAAkD,CAAC;CACzD;AAED,MAAM,WAAW,kDAAkD;IACjE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,0CAA0C,GAClD;IACE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;IAC9C,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;CAC/C,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oCAAoC,CAAC;IAC9C,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEN,MAAM,WAAW,8CAA8C;IAC7D,aAAa,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAChH,eAAe,CAAC,CAAC,OAAO,EAAE,oCAAoC,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAChI,iBAAiB,CAAC,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAAC;IAC3E,kBAAkB,CAAC,CAAC,KAAK,EAAE;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,oCAAoC,CAAC;KAC/C,GAAG,MAAM,CAAC;IACX,OAAO,CAAC,CAAC,KAAK,EAAE,0CAA0C,GAAG,IAAI,CAAC;CACnE;AAID,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,8CAA8C,GACtD,+BAA+B,CA4BjC"}
@@ -1,3 +1,4 @@
1
+ import { assignProjectionSourceNodeMetadata, createProjectionSourceNameMapper, } from './projection-source-owner-path.js';
1
2
  export function createBabylonAssetContainerProjectionImporter(options) {
2
3
  const sceneCaches = new WeakMap();
3
4
  return async (context) => {
@@ -13,9 +14,10 @@ export function createBabylonAssetContainerProjectionImporter(options) {
13
14
  const doNotInstantiate = options.shouldCloneMeshes?.(context)
14
15
  ?? hasProjectionSlotMaterialProfiles(context);
15
16
  options.onEvent?.({ type: 'instantiate', cacheKey, context, doNotInstantiate });
16
- const entries = container.instantiateModelsToScene?.(sourceName => options.createInstanceName?.({ sourceName, cacheKey, context })
17
- ?? `${context.node.id}.projectionAsset.${sourceName}`, false, { doNotInstantiate });
18
- return entries ? collectProjectionImportResult(entries) : null;
17
+ const sourceNameByInstanceName = new Map();
18
+ const entries = container.instantiateModelsToScene?.(createProjectionSourceNameMapper(sourceNameByInstanceName, sourceName => options.createInstanceName?.({ sourceName, cacheKey, context })
19
+ ?? `${context.node.id}.projectionAsset.${sourceName}`), false, { doNotInstantiate });
20
+ return entries ? collectProjectionImportResult(entries, sourceNameByInstanceName) : null;
19
21
  };
20
22
  }
21
23
  function getProjectionContainerSceneCache(sceneCaches, scene) {
@@ -83,12 +85,12 @@ function addUniqueSceneResources(scene, existing, resources, addResource) {
83
85
  addResource.call(scene, resource);
84
86
  }
85
87
  }
86
- function collectProjectionImportResult(entries) {
88
+ function collectProjectionImportResult(entries, sourceNameByInstanceName) {
87
89
  const meshes = [];
88
90
  const transformNodes = [];
89
91
  const seen = new Set();
90
92
  for (const rootNode of entries.rootNodes ?? []) {
91
- collectProjectionNode(rootNode, seen, meshes, transformNodes);
93
+ collectProjectionNode(rootNode, sourceNameByInstanceName, seen, meshes, transformNodes);
92
94
  }
93
95
  return {
94
96
  meshes,
@@ -96,10 +98,11 @@ function collectProjectionImportResult(entries) {
96
98
  animationGroups: entries.animationGroups ?? [],
97
99
  };
98
100
  }
99
- function collectProjectionNode(node, seen, meshes, transformNodes) {
101
+ function collectProjectionNode(node, sourceNameByInstanceName, seen, meshes, transformNodes) {
100
102
  if (!node || seen.has(node))
101
103
  return;
102
104
  seen.add(node);
105
+ assignProjectionSourceNodeMetadata(node, sourceNameByInstanceName);
103
106
  if (isProjectionMeshLike(node)) {
104
107
  meshes.push(node);
105
108
  }
@@ -107,7 +110,7 @@ function collectProjectionNode(node, seen, meshes, transformNodes) {
107
110
  transformNodes.push(node);
108
111
  }
109
112
  for (const child of readProjectionNodeChildren(node)) {
110
- collectProjectionNode(child, seen, meshes, transformNodes);
113
+ collectProjectionNode(child, sourceNameByInstanceName, seen, meshes, transformNodes);
111
114
  }
112
115
  }
113
116
  function readProjectionNodeChildren(node) {
@@ -1 +1 @@
1
- {"version":3,"file":"projection-asset-container-importer.js","sourceRoot":"","sources":["../src/projection-asset-container-importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection-asset-container-importer.js","sourceRoot":"","sources":["../src/projection-asset-container-importer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const PROJECTION_SOURCE_NODE_METADATA_KEY = "editorProjectionSourceNode";
2
+ export type ProjectionSourceNodeMetadata = {
3
+ sourceName: string;
4
+ };
5
+ export type ProjectionOwnerPathNormalizeContext = {
6
+ projectionNodeId?: string | null;
7
+ };
8
+ export declare function createProjectionSourceNameMapper(sourceNameByInstanceName: Map<string, string>, createInstanceName: (sourceName: string) => string): (sourceName: string) => string;
9
+ export declare function assignProjectionSourceNodeMetadata(node: unknown, sourceNameByInstanceName: ReadonlyMap<string, string>): void;
10
+ export declare function readProjectionSourceNodeSegment(node: unknown): string | null;
11
+ export declare function normalizeProjectionOwnerNodePath(path: string, context?: ProjectionOwnerPathNormalizeContext): string;
12
+ //# sourceMappingURL=projection-source-owner-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-source-owner-path.d.ts","sourceRoot":"","sources":["../src/projection-source-owner-path.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC,+BAA+B,CAAC;AAEhF,MAAM,MAAM,4BAA4B,GAAG;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7C,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GACjD,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAUhC;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,OAAO,EACb,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACpD,IAAI,CASN;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQ5E;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mCAAwC,GAChD,MAAM,CASR"}
@@ -0,0 +1,97 @@
1
+ export const PROJECTION_SOURCE_NODE_METADATA_KEY = 'editorProjectionSourceNode';
2
+ export function createProjectionSourceNameMapper(sourceNameByInstanceName, createInstanceName) {
3
+ return (sourceName) => {
4
+ const instanceName = createInstanceName(sourceName);
5
+ const sourceSegment = normalizeProjectionSourceName(sourceName);
6
+ const instanceSegment = normalizeProjectionInstanceName(instanceName);
7
+ if (sourceSegment && instanceSegment) {
8
+ sourceNameByInstanceName.set(instanceSegment, sourceSegment);
9
+ }
10
+ return instanceName;
11
+ };
12
+ }
13
+ export function assignProjectionSourceNodeMetadata(node, sourceNameByInstanceName) {
14
+ if (!node || typeof node !== 'object')
15
+ return;
16
+ const sourceName = resolveProjectionSourceNameForNode(node, sourceNameByInstanceName);
17
+ if (!sourceName)
18
+ return;
19
+ const record = node;
20
+ record.metadata = {
21
+ ...(readProjectionMetadataObject(record.metadata) ?? {}),
22
+ [PROJECTION_SOURCE_NODE_METADATA_KEY]: { sourceName },
23
+ };
24
+ }
25
+ export function readProjectionSourceNodeSegment(node) {
26
+ if (!node || typeof node !== 'object')
27
+ return null;
28
+ const metadata = readProjectionMetadataObject(node.metadata);
29
+ const sourceMetadata = readProjectionMetadataObject(metadata?.[PROJECTION_SOURCE_NODE_METADATA_KEY]);
30
+ const sourceName = typeof sourceMetadata?.sourceName === 'string'
31
+ ? normalizeProjectionSourceName(sourceMetadata.sourceName)
32
+ : '';
33
+ return sourceName || null;
34
+ }
35
+ export function normalizeProjectionOwnerNodePath(path, context = {}) {
36
+ const segments = path
37
+ .split('/')
38
+ .map(segment => normalizeProjectionOwnerPathSegment(segment, context))
39
+ .filter(Boolean);
40
+ while (segments.length > 0 && isSyntheticProjectionOwnerRootSegment(segments[0])) {
41
+ segments.shift();
42
+ }
43
+ return segments.join('/');
44
+ }
45
+ function resolveProjectionSourceNameForNode(node, sourceNameByInstanceName) {
46
+ for (const candidate of readProjectionNodeInstanceNameCandidates(node)) {
47
+ const sourceName = sourceNameByInstanceName.get(candidate);
48
+ if (sourceName)
49
+ return sourceName;
50
+ }
51
+ return null;
52
+ }
53
+ function readProjectionNodeInstanceNameCandidates(node) {
54
+ const candidates = [
55
+ node.name,
56
+ node.id,
57
+ ];
58
+ const names = [];
59
+ for (const candidate of candidates) {
60
+ const normalized = normalizeProjectionInstanceName(candidate);
61
+ if (normalized && !names.includes(normalized))
62
+ names.push(normalized);
63
+ }
64
+ return names;
65
+ }
66
+ function normalizeProjectionSourceName(value) {
67
+ return typeof value === 'string' ? value.trim() : '';
68
+ }
69
+ function normalizeProjectionInstanceName(value) {
70
+ return typeof value === 'string' ? value.trim() : '';
71
+ }
72
+ function normalizeProjectionOwnerPathSegment(segment, context) {
73
+ const withoutLeadingNamespace = stripProjectionOwnerPathNamespace(segment.trim());
74
+ const withoutInstancePrefix = stripProjectionInstancePrefix(withoutLeadingNamespace, context);
75
+ return stripProjectionOwnerPathNamespace(withoutInstancePrefix);
76
+ }
77
+ function stripProjectionOwnerPathNamespace(segment) {
78
+ return segment.includes(':') ? segment.slice(segment.lastIndexOf(':') + 1) : segment;
79
+ }
80
+ function stripProjectionInstancePrefix(segment, context) {
81
+ const projectionNodeId = typeof context.projectionNodeId === 'string'
82
+ ? context.projectionNodeId.trim()
83
+ : '';
84
+ if (!projectionNodeId)
85
+ return segment;
86
+ const prefix = `${projectionNodeId}.projectionAsset.`;
87
+ return segment.startsWith(prefix) ? segment.slice(prefix.length) : segment;
88
+ }
89
+ function isSyntheticProjectionOwnerRootSegment(segment) {
90
+ return segment === '__root__';
91
+ }
92
+ function readProjectionMetadataObject(value) {
93
+ return value && typeof value === 'object' && !Array.isArray(value)
94
+ ? value
95
+ : null;
96
+ }
97
+ //# sourceMappingURL=projection-source-owner-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-source-owner-path.js","sourceRoot":"","sources":["../src/projection-source-owner-path.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,7 @@ export interface BabylonEditorProjectionVec2 {
6
6
  x: number;
7
7
  y: number;
8
8
  }
9
- export interface BabylonEditorProjectionTransform {
10
- position: BabylonEditorProjectionVec3;
11
- rotation: BabylonEditorProjectionVec3;
12
- scale?: BabylonEditorProjectionVec3;
13
- }
9
+ export type BabylonEditorProjectionTransform = EditorTransformSnapshot;
14
10
  export interface BabylonEditorProjectionAssetTransform {
15
11
  position?: BabylonEditorProjectionVec3;
16
12
  rotation?: BabylonEditorProjectionVec3;
@@ -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":"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"}
@@ -1,8 +1,10 @@
1
- import { combineEditorTransforms, toEditorLocalTransformFromWorld, } from '@fps-games/editor-core';
1
+ import { cloneEditorTransformMatrix, combineEditorTransforms, createIdentityEditorTransformMatrix, createEditorTransformMatrixSnapshot, isEditorTransformMatrixSnapshot, readEditorTransformPosition, toEditorLocalTransformFromWorld, } from '@fps-games/editor-core';
2
2
  import { applyBabylonDefaultOutline } from '@fps-games/babylon-renderer';
3
3
  import { applyArtistMaterialProfileToRuntimeMaterial } from './material-property-adapter.js';
4
4
  import { pickBabylonProjectionNodeIdAt, resolveBabylonPickSelectionNodeId, resolveBabylonProjectionNodeId, } from './projection-pick-resolver.js';
5
+ import { normalizeProjectionOwnerNodePath, readProjectionSourceNodeSegment, } from './projection-source-owner-path.js';
5
6
  const LARGE_SELECTION_EDGE_LIMIT = 200;
7
+ const PROJECTION_LOCAL_MATRIX_METADATA_KEY = 'editorLocalTransformMatrix';
6
8
  const ASSET_MESH_SELECTION_SEPARATOR = '::assetMesh::';
7
9
  function requireBabylonCtor(value, name) {
8
10
  if (!value)
@@ -362,7 +364,7 @@ function scaleVec3(value, factor) {
362
364
  };
363
365
  }
364
366
  function averagePositions(transforms) {
365
- const sum = transforms.reduce((current, transform) => addVec3(current, transform.position), { x: 0, y: 0, z: 0 });
367
+ const sum = transforms.reduce((current, transform) => addVec3(current, readEditorTransformPosition(transform)), { x: 0, y: 0, z: 0 });
366
368
  return scaleVec3(sum, 1 / transforms.length);
367
369
  }
368
370
  function getProjectionSelectionBounds(projections, nodeIds) {
@@ -416,9 +418,10 @@ function readProjectionBounds(root) {
416
418
  };
417
419
  }
418
420
  const transform = readProjectionTransform(root);
421
+ const position = readEditorTransformPosition(transform);
419
422
  return {
420
- min: transform.position,
421
- max: transform.position,
423
+ min: position,
424
+ max: position,
422
425
  };
423
426
  }
424
427
  export function readProjectionTransform(node) {
@@ -434,6 +437,9 @@ function readProjectionWorldTransform(node, seen = new Set()) {
434
437
  return combineEditorTransforms(parentWorld, local) ?? local;
435
438
  }
436
439
  function readProjectionLocalTransform(node) {
440
+ const matrix = readProjectionLocalMatrixTransform(node);
441
+ if (matrix)
442
+ return matrix;
437
443
  const rotation = node?.rotationQuaternion?.toEulerAngles?.() ?? node?.rotation;
438
444
  return {
439
445
  position: readVector3(node?.position, { x: 0, y: 0, z: 0 }),
@@ -441,6 +447,19 @@ function readProjectionLocalTransform(node) {
441
447
  scale: readVector3(node?.scaling, { x: 1, y: 1, z: 1 }),
442
448
  };
443
449
  }
450
+ function readProjectionLocalMatrixTransform(node) {
451
+ const metadata = readProjectionObject(node?.metadata);
452
+ const metadataMatrix = metadata?.[PROJECTION_LOCAL_MATRIX_METADATA_KEY];
453
+ if (Array.isArray(metadataMatrix)) {
454
+ const transform = createEditorTransformMatrixSnapshot(metadataMatrix);
455
+ if (transform)
456
+ return transform;
457
+ }
458
+ const pivotMatrix = node?._usePivotMatrix ? node?._pivotMatrix?.asArray?.() : null;
459
+ return Array.isArray(pivotMatrix) || ArrayBuffer.isView(pivotMatrix)
460
+ ? createEditorTransformMatrixSnapshot(Array.from(pivotMatrix))
461
+ : null;
462
+ }
444
463
  function createProjectionRoot(babylon, scene, node) {
445
464
  const TransformNode = babylon.TransformNode;
446
465
  if (!TransformNode)
@@ -539,9 +558,9 @@ function attachImportedProjectionResult(options, node, asset, projection, result
539
558
  for (const mesh of result.meshes ?? []) {
540
559
  mesh.isPickable = true;
541
560
  applyProjectionRenderingToMesh(node, mesh);
542
- const ownerNodePath = buildProjectionOwnerNodePath(mesh, modelRoot);
561
+ const ownerNodePath = buildProjectionOwnerNodePath(mesh, modelRoot, node.id);
543
562
  if (ownerNodePath) {
544
- const selectionKey = resolveProjectionAssetMeshSelectionKey(asset, ownerNodePath);
563
+ const selectionKey = resolveProjectionAssetMeshSelectionKey(asset, ownerNodePath, node.id);
545
564
  mesh.metadata = {
546
565
  ...(mesh.metadata ?? {}),
547
566
  editorProjection: {
@@ -765,8 +784,8 @@ function applyProjectionArtistMaterialProfilesToMeshes(options, node, modelRoot,
765
784
  const material = mesh?.material;
766
785
  if (!material)
767
786
  continue;
768
- const ownerNodePath = buildProjectionOwnerNodePath(mesh, modelRoot);
769
- const slotProfile = resolveProjectionSlotProfile(slotProfiles, ownerNodePath);
787
+ const ownerNodePath = buildProjectionOwnerNodePath(mesh, modelRoot, node.id);
788
+ const slotProfile = resolveProjectionSlotProfile(slotProfiles, ownerNodePath, node.id);
770
789
  if (!slotProfile)
771
790
  continue;
772
791
  const slotMaterial = detachProjectionSlotMaterial(mesh, materialCounts, ownerNodePath);
@@ -786,18 +805,18 @@ function applyProjectionArtistMaterialProfile(options, material, profile) {
786
805
  resolveTextureUrl: options.resolveTextureUrl,
787
806
  });
788
807
  }
789
- function resolveProjectionSlotProfile(slotProfiles, ownerNodePath) {
808
+ function resolveProjectionSlotProfile(slotProfiles, ownerNodePath, projectionNodeId) {
790
809
  if (ownerNodePath == null)
791
810
  return null;
792
811
  const direct = slotProfiles[ownerNodePath];
793
812
  if (direct)
794
813
  return direct;
795
- const normalized = normalizeProjectionOwnerNodePath(ownerNodePath);
814
+ const normalized = normalizeProjectionOwnerNodePath(ownerNodePath, { projectionNodeId });
796
815
  if (normalized !== ownerNodePath && slotProfiles[normalized])
797
816
  return slotProfiles[normalized];
798
817
  let descendantMatch = null;
799
818
  for (const [candidatePath, profile] of Object.entries(slotProfiles)) {
800
- const normalizedCandidate = normalizeProjectionOwnerNodePath(candidatePath);
819
+ const normalizedCandidate = normalizeProjectionOwnerNodePath(candidatePath, { projectionNodeId });
801
820
  if (normalizedCandidate === normalized)
802
821
  return profile;
803
822
  if (isProjectionOwnerPathDescendant(normalized, normalizedCandidate)) {
@@ -808,7 +827,7 @@ function resolveProjectionSlotProfile(slotProfiles, ownerNodePath) {
808
827
  }
809
828
  return descendantMatch?.profile ?? null;
810
829
  }
811
- function buildProjectionOwnerNodePath(node, rootNode) {
830
+ function buildProjectionOwnerNodePath(node, rootNode, projectionNodeId) {
812
831
  if (!node || !rootNode || node === rootNode)
813
832
  return '';
814
833
  const segments = [];
@@ -822,9 +841,12 @@ function buildProjectionOwnerNodePath(node, rootNode) {
822
841
  }
823
842
  if (current !== rootNode)
824
843
  return null;
825
- return segments.reverse().join('/');
844
+ return normalizeProjectionOwnerNodePath(segments.reverse().join('/'), { projectionNodeId });
826
845
  }
827
846
  function stableProjectionNodeSegment(node) {
847
+ const sourceSegment = readProjectionSourceNodeSegment(node);
848
+ if (sourceSegment)
849
+ return sourceSegment;
828
850
  const candidates = [node?.name, node?.id];
829
851
  for (const candidate of candidates) {
830
852
  if (typeof candidate !== 'string')
@@ -835,23 +857,6 @@ function stableProjectionNodeSegment(node) {
835
857
  }
836
858
  return null;
837
859
  }
838
- function normalizeProjectionOwnerNodePath(path) {
839
- const segments = path
840
- .split('/')
841
- .map(normalizeProjectionOwnerPathSegment)
842
- .filter(Boolean);
843
- while (segments.length > 0 && isSyntheticProjectionOwnerRootSegment(segments[0])) {
844
- segments.shift();
845
- }
846
- return segments.join('/');
847
- }
848
- function normalizeProjectionOwnerPathSegment(segment) {
849
- const trimmed = segment.trim();
850
- return trimmed.includes(':') ? trimmed.slice(trimmed.lastIndexOf(':') + 1) : trimmed;
851
- }
852
- function isSyntheticProjectionOwnerRootSegment(segment) {
853
- return segment === '__root__';
854
- }
855
860
  function isProjectionOwnerPathDescendant(ownerNodePath, candidateAncestorPath) {
856
861
  if (!ownerNodePath || !candidateAncestorPath)
857
862
  return false;
@@ -860,10 +865,10 @@ function isProjectionOwnerPathDescendant(ownerNodePath, candidateAncestorPath) {
860
865
  function createAssetMeshProjectionNodeId(rootNodeId, ownerNodePath) {
861
866
  return `${rootNodeId}${ASSET_MESH_SELECTION_SEPARATOR}${encodeURIComponent(ownerNodePath)}`;
862
867
  }
863
- function resolveProjectionAssetMeshSelectionKey(asset, ownerNodePath) {
864
- const normalizedOwnerPath = normalizeProjectionOwnerNodePath(ownerNodePath);
868
+ function resolveProjectionAssetMeshSelectionKey(asset, ownerNodePath, projectionNodeId) {
869
+ const normalizedOwnerPath = normalizeProjectionOwnerNodePath(ownerNodePath, { projectionNodeId });
865
870
  let bestSlot = null;
866
- for (const slot of readProjectionAssetMaterialSlots(asset)) {
871
+ for (const slot of readProjectionAssetMaterialSlots(asset, projectionNodeId)) {
867
872
  if (!isProjectionOwnerPathSlotMatch(normalizedOwnerPath, slot.path))
868
873
  continue;
869
874
  if (!bestSlot || slot.path.length > bestSlot.path.length) {
@@ -872,21 +877,21 @@ function resolveProjectionAssetMeshSelectionKey(asset, ownerNodePath) {
872
877
  }
873
878
  return bestSlot?.key ?? ownerNodePath;
874
879
  }
875
- function readProjectionAssetMaterialSlots(asset) {
880
+ function readProjectionAssetMaterialSlots(asset, projectionNodeId) {
876
881
  const rawSlots = asset.metadata?.materialSlots;
877
882
  if (!Array.isArray(rawSlots))
878
883
  return [];
879
884
  const slots = [];
880
885
  for (const rawSlot of rawSlots) {
881
- const slot = readProjectionAssetMaterialSlot(rawSlot);
886
+ const slot = readProjectionAssetMaterialSlot(rawSlot, projectionNodeId);
882
887
  if (slot)
883
888
  slots.push(slot);
884
889
  }
885
890
  return slots;
886
891
  }
887
- function readProjectionAssetMaterialSlot(value) {
892
+ function readProjectionAssetMaterialSlot(value, projectionNodeId) {
888
893
  if (typeof value === 'string') {
889
- const path = normalizeProjectionOwnerNodePath(value);
894
+ const path = normalizeProjectionOwnerNodePath(value, { projectionNodeId });
890
895
  return path ? { key: path, path } : null;
891
896
  }
892
897
  if (!value || typeof value !== 'object' || Array.isArray(value))
@@ -895,7 +900,7 @@ function readProjectionAssetMaterialSlot(value) {
895
900
  const rawOwnerPath = readProjectionAssetMaterialSlotString(record.ownerNodePath)
896
901
  || readProjectionAssetMaterialSlotString(record.path)
897
902
  || readProjectionAssetMaterialSlotString(record.name);
898
- const path = normalizeProjectionOwnerNodePath(rawOwnerPath);
903
+ const path = normalizeProjectionOwnerNodePath(rawOwnerPath, { projectionNodeId });
899
904
  if (!path)
900
905
  return null;
901
906
  const slotId = readProjectionAssetMaterialSlotString(record.slotId);
@@ -1339,19 +1344,56 @@ function readProjectionObject(value) {
1339
1344
  }
1340
1345
  export function applyProjectionTransform(babylon, node, transform) {
1341
1346
  const Vector3 = requireBabylonCtor(babylon.Vector3, 'Vector3');
1347
+ if (isEditorTransformMatrixSnapshot(transform)) {
1348
+ const Matrix = requireBabylonCtor(babylon.Matrix, 'Matrix');
1349
+ if (typeof Matrix.FromArray !== 'function' || typeof node?.setPreTransformMatrix !== 'function') {
1350
+ throw new Error('Babylon runtime missing matrix transform support.');
1351
+ }
1352
+ node.position = new Vector3(0, 0, 0);
1353
+ node.rotationQuaternion = null;
1354
+ node.rotation = new Vector3(0, 0, 0);
1355
+ node.scaling = new Vector3(1, 1, 1);
1356
+ node.setPreTransformMatrix(Matrix.FromArray(transform.matrix));
1357
+ writeProjectionLocalMatrixTransform(node, transform.matrix);
1358
+ return;
1359
+ }
1360
+ clearProjectionLocalMatrixTransform(babylon, node);
1342
1361
  node.position = new Vector3(transform.position.x, transform.position.y, transform.position.z);
1362
+ node.rotationQuaternion = null;
1343
1363
  node.rotation = new Vector3(transform.rotation.x, transform.rotation.y, transform.rotation.z);
1344
1364
  const scale = transform.scale ?? { x: 1, y: 1, z: 1 };
1345
1365
  node.scaling = new Vector3(scale.x, scale.y, scale.z);
1346
1366
  }
1347
1367
  function applyProjectionWorldTransform(babylon, node, transform) {
1348
1368
  const parent = node?.parent ?? null;
1349
- const local = parent ? toEditorLocalTransformFromWorld(readProjectionWorldTransform(parent), transform) : transform;
1369
+ const local = parent
1370
+ ? toEditorLocalTransformFromWorld(readProjectionWorldTransform(parent), transform, { allowMatrixFallback: true })
1371
+ : transform;
1350
1372
  if (!local)
1351
1373
  return false;
1352
1374
  applyProjectionTransform(babylon, node, local);
1353
1375
  return true;
1354
1376
  }
1377
+ function writeProjectionLocalMatrixTransform(node, matrix) {
1378
+ node.metadata = {
1379
+ ...(readProjectionObject(node?.metadata) ?? {}),
1380
+ [PROJECTION_LOCAL_MATRIX_METADATA_KEY]: cloneEditorTransformMatrix(matrix),
1381
+ };
1382
+ }
1383
+ function clearProjectionLocalMatrixTransform(babylon, node) {
1384
+ if (typeof node?.setPreTransformMatrix === 'function') {
1385
+ const Matrix = babylon.Matrix;
1386
+ if (typeof Matrix?.FromArray === 'function') {
1387
+ node.setPreTransformMatrix(Matrix.FromArray(createIdentityEditorTransformMatrix()));
1388
+ }
1389
+ }
1390
+ const metadata = readProjectionObject(node?.metadata);
1391
+ if (!metadata || !(PROJECTION_LOCAL_MATRIX_METADATA_KEY in metadata))
1392
+ return;
1393
+ const nextMetadata = { ...metadata };
1394
+ delete nextMetadata[PROJECTION_LOCAL_MATRIX_METADATA_KEY];
1395
+ node.metadata = nextMetadata;
1396
+ }
1355
1397
  function applyAssetDefaultsTransform(babylon, node, transform) {
1356
1398
  if (!transform)
1357
1399
  return;