@fps-games/editor 0.1.7-beta.4 → 0.1.8-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.
Files changed (127) hide show
  1. package/dist/agent-bridge/capabilities/assets.d.ts.map +1 -1
  2. package/dist/agent-bridge/capabilities/assets.js +12 -7
  3. package/dist/agent-bridge/capabilities/assets.js.map +1 -1
  4. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +1 -1
  5. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +1 -1
  6. package/dist/agent-bridge/capabilities/host-lifecycle.js +4 -2
  7. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +1 -1
  8. package/dist/agent-bridge/capabilities/prefabs.js +50 -0
  9. package/dist/agent-bridge/capabilities/prefabs.js.map +1 -1
  10. package/dist/agent-bridge/capability-sources.d.ts.map +1 -1
  11. package/dist/agent-bridge/capability-sources.js +4 -1
  12. package/dist/agent-bridge/capability-sources.js.map +1 -1
  13. package/dist/build-info.json +15 -15
  14. package/dist/index.d.ts +5 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +7 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/local-editor-harness.d.ts +4 -0
  19. package/dist/local-editor-harness.d.ts.map +1 -1
  20. package/dist/local-editor-harness.js +146 -54
  21. package/dist/local-editor-harness.js.map +1 -1
  22. package/dist/local-editor-performance-stats.d.ts.map +1 -1
  23. package/dist/local-editor-performance-stats.js +7 -0
  24. package/dist/local-editor-performance-stats.js.map +1 -1
  25. package/dist/playable-local-editor-host.d.ts +5 -1
  26. package/dist/playable-local-editor-host.d.ts.map +1 -1
  27. package/dist/playable-local-editor-host.js +75 -1
  28. package/dist/playable-local-editor-host.js.map +1 -1
  29. package/node_modules/@fps-games/babylon-renderer/package.json +1 -1
  30. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.d.ts +2 -0
  31. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.d.ts.map +1 -1
  32. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js +1 -0
  33. package/node_modules/@fps-games/editor-babylon/dist/inspector-host.js.map +1 -1
  34. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.d.ts +6 -2
  35. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.d.ts.map +1 -1
  36. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js +94 -24
  37. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  38. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.d.ts +6 -2
  39. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.d.ts.map +1 -1
  40. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js +7 -0
  41. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -1
  42. package/node_modules/@fps-games/editor-babylon/dist/monitor.d.ts +2 -0
  43. package/node_modules/@fps-games/editor-babylon/dist/monitor.d.ts.map +1 -1
  44. package/node_modules/@fps-games/editor-babylon/dist/monitor.js +2 -0
  45. package/node_modules/@fps-games/editor-babylon/dist/monitor.js.map +1 -1
  46. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.d.ts +14 -0
  47. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.d.ts.map +1 -1
  48. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js +121 -2
  49. package/node_modules/@fps-games/editor-babylon/dist/performance-monitor.js.map +1 -1
  50. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +1 -5
  51. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  52. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +19 -0
  53. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  54. package/node_modules/@fps-games/editor-babylon/dist/projection.js +882 -43
  55. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  56. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts.map +1 -1
  57. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js +96 -35
  58. package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
  59. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  60. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  61. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  62. package/node_modules/@fps-games/editor-browser/dist/index.js +1 -0
  63. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  64. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts +26 -0
  65. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.d.ts.map +1 -0
  66. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js +187 -0
  67. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-modal-dialog.js.map +1 -0
  68. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  69. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +102 -2
  70. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  71. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +17 -0
  72. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  73. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  74. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +84 -0
  75. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  76. package/node_modules/@fps-games/editor-browser/package.json +3 -3
  77. package/node_modules/@fps-games/editor-core/package.json +2 -2
  78. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  79. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js +198 -53
  80. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-database/metadata.js.map +1 -1
  81. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +4 -1
  82. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  83. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  84. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +89 -9
  85. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  86. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +4 -1
  87. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  88. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +60 -5
  89. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  90. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +1 -1
  91. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  92. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  93. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  94. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +62 -2
  95. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  96. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +27 -0
  97. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  98. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
  99. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +29 -0
  100. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  101. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts.map +1 -1
  102. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +34 -1
  103. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  104. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js +6 -2
  105. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-compiler/compiler.js.map +1 -1
  106. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.d.ts.map +1 -1
  107. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js +57 -3
  108. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/driver.js.map +1 -1
  109. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +30 -0
  110. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  111. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.d.ts.map +1 -1
  112. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js +18 -2
  113. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  114. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts +1 -0
  115. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.d.ts.map +1 -1
  116. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js +1 -0
  117. package/node_modules/@fps-games/editor-playable-sdk/dist/session/patches.js.map +1 -1
  118. package/node_modules/@fps-games/editor-playable-sdk/package.json +3 -3
  119. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +13 -0
  120. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +1 -1
  121. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js +29 -0
  122. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +1 -1
  123. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -1
  124. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  125. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  126. package/node_modules/@fps-games/editor-protocol/package.json +1 -1
  127. package/package.json +8 -8
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-browser",
3
- "version": "0.1.7-beta.4",
3
+ "version": "0.1.8-beta.1",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Browser host adapters for fps-game-editor.",
@@ -14,7 +14,7 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@fps-games/editor-core": "0.1.7-beta.4",
18
- "@fps-games/editor-playable-sdk": "0.1.7-beta.4"
17
+ "@fps-games/editor-core": "0.1.8-beta.1",
18
+ "@fps-games/editor-playable-sdk": "0.1.8-beta.1"
19
19
  }
20
20
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-core",
3
- "version": "0.1.7-beta.4",
3
+ "version": "0.1.8-beta.1",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Core runtime shell and adapter contracts for fps-game-editor.",
@@ -14,6 +14,6 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@fps-games/editor-protocol": "0.1.7-beta.4"
17
+ "@fps-games/editor-protocol": "0.1.8-beta.1"
18
18
  }
19
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-forge-play",
3
- "version": "0.1.7-beta.4",
3
+ "version": "0.1.8-beta.1",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Forge Play bridge adapter for fps-game-editor.",
@@ -14,6 +14,6 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@fps-games/editor-protocol": "0.1.7-beta.4"
17
+ "@fps-games/editor-protocol": "0.1.8-beta.1"
18
18
  }
19
19
  }
@@ -104,6 +104,10 @@ async function resolvePlayableEditorGltfAssetAnalysis(sourcePath) {
104
104
  const images = Array.isArray(gltf.images) ? gltf.images : [];
105
105
  const animations = Array.isArray(gltf.animations) ? gltf.animations : [];
106
106
  const skins = Array.isArray(gltf.skins) ? gltf.skins : [];
107
+ const accessors = Array.isArray(gltf.accessors) ? gltf.accessors : [];
108
+ const sceneRootNodeIndexes = collectGltfSceneRootNodeIndexes(gltf);
109
+ const parentByNode = buildGltfParentIndex(nodes);
110
+ const rootSet = new Set(sceneRootNodeIndexes);
107
111
  const primitiveCount = meshes.reduce((count, mesh) => (count + (Array.isArray(mesh?.primitives) ? mesh.primitives.length : 0)), 0);
108
112
  const complexity = resolveAssetComplexity({
109
113
  nodeCount: nodes.length,
@@ -138,7 +142,8 @@ async function resolvePlayableEditorGltfAssetAnalysis(sourcePath) {
138
142
  imageCount: images.length,
139
143
  animationCount: animations.length,
140
144
  skinCount: skins.length,
141
- meshes: createGltfMeshAnalysisSummaries(meshes, materials),
145
+ nodes: createGltfNodeAnalysisSummaries(nodes, meshes, materials, accessors, parentByNode, rootSet),
146
+ meshes: createGltfMeshAnalysisSummaries(meshes, materials, accessors),
142
147
  materials: createGltfMaterialAnalysisSummaries(gltf),
143
148
  diagnostics,
144
149
  };
@@ -180,16 +185,45 @@ async function resolvePlayableEditorImageAssetAnalysis(sourcePath) {
180
185
  return null;
181
186
  }
182
187
  }
183
- function createGltfMeshAnalysisSummaries(meshes, materials) {
188
+ function createGltfNodeAnalysisSummaries(nodes, meshes, materials, accessors, parentByNode, rootSet) {
189
+ return nodes.slice(0, 100).map((node, nodeIndex) => {
190
+ const meshIndex = Number.isInteger(node?.mesh) ? node.mesh : -1;
191
+ const mesh = meshIndex >= 0 && meshIndex < meshes.length ? meshes[meshIndex] : null;
192
+ const children = Array.isArray(node?.children)
193
+ ? node.children.filter((childIndex) => Number.isInteger(childIndex))
194
+ : [];
195
+ const ownerNodePath = buildGltfOwnerNodePath(nodes, parentByNode, rootSet, nodeIndex);
196
+ const nodeSummary = {
197
+ nodeIndex,
198
+ nodeIndexPath: buildGltfNodeIndexPath(parentByNode, nodeIndex),
199
+ ...(typeof node?.name === 'string' && node.name.trim() ? { name: node.name.trim() } : {}),
200
+ ...(ownerNodePath ? { ownerNodePath } : {}),
201
+ ...(children.length > 0 ? { children } : {}),
202
+ };
203
+ if (mesh) {
204
+ const primitives = createGltfPrimitiveAnalysisSummaries(mesh, materials, accessors);
205
+ Object.assign(nodeSummary, {
206
+ meshIndex,
207
+ ...(typeof mesh?.name === 'string' && mesh.name.trim() ? { meshName: mesh.name.trim() } : {}),
208
+ primitiveCount: primitives.length,
209
+ ...(primitives.length > 0 ? { primitives } : {}),
210
+ });
211
+ }
212
+ return nodeSummary;
213
+ });
214
+ }
215
+ function createGltfMeshAnalysisSummaries(meshes, materials, accessors) {
184
216
  return meshes.slice(0, 50).map((mesh, meshIndex) => {
185
217
  const primitives = Array.isArray(mesh?.primitives) ? mesh.primitives : [];
186
218
  const materialIndices = [...new Set(primitives
187
219
  .map((primitive) => Number.isInteger(primitive?.material) ? primitive.material : -1)
188
220
  .filter((materialIndex) => materialIndex >= 0))];
221
+ const primitiveSummaries = createGltfPrimitiveAnalysisSummaries(mesh, materials, accessors);
189
222
  return {
190
223
  meshIndex,
191
224
  ...(typeof mesh?.name === 'string' && mesh.name.trim() ? { name: mesh.name.trim() } : {}),
192
225
  primitiveCount: primitives.length,
226
+ ...(primitiveSummaries.length > 0 ? { primitives: primitiveSummaries } : {}),
193
227
  ...(materialIndices.length > 0 ? { materialIndices } : {}),
194
228
  ...(materialIndices.length > 0
195
229
  ? {
@@ -204,6 +238,25 @@ function createGltfMeshAnalysisSummaries(meshes, materials) {
204
238
  };
205
239
  });
206
240
  }
241
+ function createGltfPrimitiveAnalysisSummaries(mesh, materials, accessors) {
242
+ const meshRecord = isRecord(mesh) ? mesh : {};
243
+ const primitives = Array.isArray(meshRecord.primitives) ? meshRecord.primitives : [];
244
+ return primitives.map((primitive, primitiveIndex) => {
245
+ const sourceMaterialIndex = Number.isInteger(primitive?.material) ? primitive.material : -1;
246
+ const material = sourceMaterialIndex >= 0 ? materials[sourceMaterialIndex] : null;
247
+ const materialName = typeof material?.name === 'string' && material.name.trim() ? material.name.trim() : '';
248
+ const triangleCount = readGltfPrimitiveTriangleCount(primitive, accessors);
249
+ const boundingBox = readGltfPrimitiveBoundingBox(primitive, accessors);
250
+ return {
251
+ primitiveIndex,
252
+ ...(Number.isInteger(primitive?.mode) ? { mode: primitive.mode } : {}),
253
+ ...(sourceMaterialIndex >= 0 ? { sourceMaterialIndex } : {}),
254
+ ...(materialName ? { materialName } : {}),
255
+ ...(Number.isFinite(triangleCount) ? { triangleCount } : {}),
256
+ ...(boundingBox ? { boundingBox } : {}),
257
+ };
258
+ });
259
+ }
207
260
  function createGltfMaterialAnalysisSummaries(gltf) {
208
261
  const materials = Array.isArray(gltf?.materials) ? gltf.materials : [];
209
262
  return materials.slice(0, 50).map((material, sourceMaterialIndex) => {
@@ -425,7 +478,8 @@ function collectGltfMaterialSlots(gltf, context = {}) {
425
478
  const sceneIndexes = collectGltfSceneRootNodeIndexes(gltf);
426
479
  const parentByNode = buildGltfParentIndex(nodes);
427
480
  const rootSet = new Set(sceneIndexes);
428
- const previousSlotIdByOwnerPath = createPreviousMaterialSlotIdMap(context.existingMaterialSlots);
481
+ const accessors = Array.isArray(gltf.accessors) ? gltf.accessors : [];
482
+ const previousSlotIds = createPreviousMaterialSlotIdMaps(context.existingMaterialSlots);
429
483
  const currentOwnerPathCounts = countGltfMaterialSlotOwnerPaths(nodes, meshes, parentByNode, rootSet);
430
484
  const slots = [];
431
485
  for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex += 1) {
@@ -437,33 +491,59 @@ function collectGltfMaterialSlots(gltf, context = {}) {
437
491
  if (!ownerNodePath)
438
492
  continue;
439
493
  const mesh = meshes[meshIndex];
440
- const materialRefs = readGltfNodeMeshMaterialRefs(mesh, materials);
441
- const sourceMaterialIndex = materialRefs.indices[0] ?? -1;
442
- const materialName = materialRefs.names[0] ?? null;
443
- const reusablePreviousSlotId = currentOwnerPathCounts.get(ownerNodePath) === 1
444
- ? previousSlotIdByOwnerPath.get(ownerNodePath)
445
- : null;
446
- const slotId = reusablePreviousSlotId
447
- ?? createGltfMaterialSlotId({
448
- assetGuid: context.assetGuid,
449
- assetId: context.assetId,
494
+ const primitives = Array.isArray(mesh?.primitives) ? mesh.primitives : [];
495
+ const baseLabel = readGltfNodeMeshLabel(node, mesh, ownerNodePath);
496
+ const nodeIndexPath = buildGltfNodeIndexPath(parentByNode, nodeIndex);
497
+ for (let primitiveIndex = 0; primitiveIndex < primitives.length; primitiveIndex += 1) {
498
+ const primitive = primitives[primitiveIndex];
499
+ const materialRef = readGltfPrimitiveMaterialRef(primitive, materials);
500
+ const exactSourceKey = createGltfMaterialSlotSourceKey({
501
+ ownerNodePath,
450
502
  nodeIndex,
451
503
  meshIndex,
504
+ primitiveIndex,
452
505
  });
453
- slots.push({
454
- slotId,
455
- ownerNodePath,
456
- label: readGltfNodeMeshLabel(node, mesh, ownerNodePath),
457
- nodeIndex,
458
- meshIndex,
459
- ...(sourceMaterialIndex >= 0 ? { sourceMaterialIndex } : {}),
460
- ...(materialRefs.indices.length > 0 ? { sourceMaterialIndices: materialRefs.indices } : {}),
461
- ...(materialName ? { materialName } : {}),
462
- ...(materialRefs.names.length > 0 ? { materialNames: materialRefs.names } : {}),
463
- ...pickGltfSlotSourceMaterialProfiles(sourceMaterialProfiles, materialRefs.indices),
464
- });
506
+ const reusableExactSlotId = previousSlotIds.byExactSource.get(exactSourceKey);
507
+ const reusableLegacySlotId = primitives.length === 1 && currentOwnerPathCounts.get(ownerNodePath) === 1
508
+ ? previousSlotIds.byUniqueOwnerPath.get(ownerNodePath)
509
+ : null;
510
+ const slotId = reusableExactSlotId
511
+ ?? reusableLegacySlotId
512
+ ?? createGltfMaterialSlotId({
513
+ assetGuid: context.assetGuid,
514
+ assetId: context.assetId,
515
+ nodeIndex,
516
+ meshIndex,
517
+ primitiveIndex: primitives.length > 1 ? primitiveIndex : undefined,
518
+ });
519
+ const sourceMaterialIndices = materialRef.index >= 0 ? [materialRef.index] : [];
520
+ const triangleCount = readGltfPrimitiveTriangleCount(primitive, accessors);
521
+ const boundingBox = readGltfPrimitiveBoundingBox(primitive, accessors);
522
+ slots.push({
523
+ slotId,
524
+ ownerNodePath,
525
+ label: primitives.length > 1 ? `${baseLabel} / Primitive ${primitiveIndex}` : baseLabel,
526
+ nodeIndex,
527
+ nodeIndexPath,
528
+ meshIndex,
529
+ primitiveIndex,
530
+ ...(materialRef.index >= 0 ? { sourceMaterialIndex: materialRef.index } : {}),
531
+ ...(sourceMaterialIndices.length > 0 ? { sourceMaterialIndices } : {}),
532
+ ...(materialRef.name ? { materialName: materialRef.name, materialNames: [materialRef.name] } : {}),
533
+ ...(Number.isFinite(triangleCount) ? { triangleCount } : {}),
534
+ ...(boundingBox ? { boundingBox } : {}),
535
+ ...pickGltfSlotSourceMaterialProfiles(sourceMaterialProfiles, sourceMaterialIndices),
536
+ });
537
+ }
465
538
  }
466
- return slots.sort((left, right) => String(left.ownerNodePath).localeCompare(String(right.ownerNodePath)));
539
+ return slots.sort((left, right) => {
540
+ const ownerCompare = String(left.ownerNodePath).localeCompare(String(right.ownerNodePath));
541
+ if (ownerCompare !== 0)
542
+ return ownerCompare;
543
+ const leftPrimitiveIndex = Number.isInteger(left.primitiveIndex) ? left.primitiveIndex : -1;
544
+ const rightPrimitiveIndex = Number.isInteger(right.primitiveIndex) ? right.primitiveIndex : -1;
545
+ return leftPrimitiveIndex - rightPrimitiveIndex;
546
+ });
467
547
  }
468
548
  function collectGltfSourceMaterialProfiles(gltf, context = {}) {
469
549
  const materials = Array.isArray(gltf?.materials) ? gltf.materials : [];
@@ -653,10 +733,11 @@ function countGltfMaterialSlotOwnerPaths(nodes, meshes, parentByNode, rootSet) {
653
733
  }
654
734
  return counts;
655
735
  }
656
- function createPreviousMaterialSlotIdMap(rawSlots) {
657
- const result = new Map();
736
+ function createPreviousMaterialSlotIdMaps(rawSlots) {
737
+ const byExactSource = new Map();
738
+ const byUniqueOwnerPath = new Map();
658
739
  if (!Array.isArray(rawSlots))
659
- return result;
740
+ return { byExactSource, byUniqueOwnerPath };
660
741
  const ownerPathCounts = new Map();
661
742
  for (const rawSlot of rawSlots) {
662
743
  if (!isRecord(rawSlot))
@@ -674,13 +755,35 @@ function createPreviousMaterialSlotIdMap(rawSlots) {
674
755
  ? rawSlot.ownerNodePath.trim().replace(/^\/+|\/+$/g, '')
675
756
  : '';
676
757
  const slotId = typeof rawSlot.slotId === 'string' ? rawSlot.slotId.trim() : '';
677
- if (ownerNodePath && slotId && ownerPathCounts.get(ownerNodePath) === 1)
678
- result.set(ownerNodePath, slotId);
758
+ if (!ownerNodePath || !slotId)
759
+ continue;
760
+ const nodeIndex = Number.isInteger(rawSlot.nodeIndex) ? rawSlot.nodeIndex : -1;
761
+ const meshIndex = Number.isInteger(rawSlot.meshIndex) ? rawSlot.meshIndex : -1;
762
+ const primitiveIndex = Number.isInteger(rawSlot.primitiveIndex) ? rawSlot.primitiveIndex : -1;
763
+ if (nodeIndex >= 0 && meshIndex >= 0 && primitiveIndex >= 0) {
764
+ byExactSource.set(createGltfMaterialSlotSourceKey({
765
+ ownerNodePath,
766
+ nodeIndex,
767
+ meshIndex,
768
+ primitiveIndex,
769
+ }), slotId);
770
+ }
771
+ if (ownerPathCounts.get(ownerNodePath) === 1)
772
+ byUniqueOwnerPath.set(ownerNodePath, slotId);
679
773
  }
680
- return result;
774
+ return { byExactSource, byUniqueOwnerPath };
775
+ }
776
+ function createGltfMaterialSlotSourceKey(input) {
777
+ return [
778
+ input.ownerNodePath,
779
+ input.nodeIndex,
780
+ input.meshIndex,
781
+ input.primitiveIndex,
782
+ ].join('\u0000');
681
783
  }
682
784
  function createGltfMaterialSlotId(input) {
683
- const seed = `${input.assetGuid || input.assetId || 'asset'}:${input.nodeIndex}:${input.meshIndex}`;
785
+ const primitiveSeed = Number.isInteger(input.primitiveIndex) ? `:${input.primitiveIndex}` : '';
786
+ const seed = `${input.assetGuid || input.assetId || 'asset'}:${input.nodeIndex}:${input.meshIndex}${primitiveSeed}`;
684
787
  return `slot_${stableHashToken(seed)}`;
685
788
  }
686
789
  function createPlayableEditorTextureAssetCapabilities(sourcePath, metadata) {
@@ -745,27 +848,69 @@ function readGltfNodeMeshLabel(node, mesh, ownerNodePath) {
745
848
  const meshName = isRecord(mesh) && typeof mesh.name === 'string' ? mesh.name.trim() : '';
746
849
  return nodeName || meshName || ownerNodePath.split('/').filter(Boolean).pop() || ownerNodePath;
747
850
  }
748
- function readGltfNodeMeshMaterialRefs(mesh, materials) {
749
- const meshRecord = isRecord(mesh) ? mesh : {};
750
- const primitives = Array.isArray(meshRecord.primitives) ? meshRecord.primitives : [];
751
- const indices = [];
752
- const seen = new Set();
753
- for (const primitive of primitives) {
754
- const materialIndex = Number.isInteger(primitive?.material) ? primitive.material : -1;
755
- if (materialIndex >= 0 && !seen.has(materialIndex)) {
756
- seen.add(materialIndex);
757
- indices.push(materialIndex);
758
- }
851
+ function buildGltfNodeIndexPath(parentByNode, nodeIndex) {
852
+ const path = [];
853
+ let currentIndex = nodeIndex;
854
+ const visited = new Set();
855
+ while (Number.isInteger(currentIndex) && currentIndex >= 0) {
856
+ if (visited.has(currentIndex))
857
+ return [];
858
+ visited.add(currentIndex);
859
+ path.push(currentIndex);
860
+ const parentIndex = parentByNode.get(currentIndex);
861
+ if (!Number.isInteger(parentIndex))
862
+ break;
863
+ currentIndex = parentIndex;
759
864
  }
760
- return {
761
- indices,
762
- names: indices
763
- .map((materialIndex) => {
764
- const material = materials[materialIndex];
765
- return typeof material?.name === 'string' ? material.name.trim() : '';
766
- })
767
- .filter(Boolean),
768
- };
865
+ path.reverse();
866
+ return path;
867
+ }
868
+ function readGltfPrimitiveMaterialRef(primitive, materials) {
869
+ const primitiveRecord = isRecord(primitive) ? primitive : {};
870
+ const index = Number.isInteger(primitiveRecord.material) ? primitiveRecord.material : -1;
871
+ const material = index >= 0 ? materials[index] : null;
872
+ const name = typeof material?.name === 'string' && material.name.trim() ? material.name.trim() : '';
873
+ return { index, name };
874
+ }
875
+ function readGltfPrimitiveTriangleCount(primitive, accessors) {
876
+ const primitiveRecord = isRecord(primitive) ? primitive : {};
877
+ const indexAccessorIndex = Number.isInteger(primitiveRecord.indices) ? primitiveRecord.indices : -1;
878
+ const positionAccessorIndex = readGltfPrimitivePositionAccessorIndex(primitiveRecord);
879
+ const indexAccessor = indexAccessorIndex >= 0 ? accessors[indexAccessorIndex] : null;
880
+ const positionAccessor = positionAccessorIndex >= 0 ? accessors[positionAccessorIndex] : null;
881
+ const elementCount = Number.isFinite(indexAccessor?.count)
882
+ ? Number(indexAccessor.count)
883
+ : Number.isFinite(positionAccessor?.count)
884
+ ? Number(positionAccessor.count)
885
+ : null;
886
+ if (elementCount == null)
887
+ return null;
888
+ const mode = Number.isInteger(primitiveRecord.mode) ? primitiveRecord.mode : 4;
889
+ if (mode === 4)
890
+ return Math.floor(elementCount / 3);
891
+ if (mode === 5 || mode === 6)
892
+ return Math.max(0, elementCount - 2);
893
+ return 0;
894
+ }
895
+ function readGltfPrimitiveBoundingBox(primitive, accessors) {
896
+ const primitiveRecord = isRecord(primitive) ? primitive : {};
897
+ const positionAccessorIndex = readGltfPrimitivePositionAccessorIndex(primitiveRecord);
898
+ const accessor = positionAccessorIndex >= 0 ? accessors[positionAccessorIndex] : null;
899
+ const min = readGltfVec3Tuple(accessor?.min);
900
+ const max = readGltfVec3Tuple(accessor?.max);
901
+ return min && max ? { min, max } : null;
902
+ }
903
+ function readGltfPrimitivePositionAccessorIndex(primitive) {
904
+ const attributes = isRecord(primitive.attributes) ? primitive.attributes : {};
905
+ return Number.isInteger(attributes.POSITION) ? attributes.POSITION : -1;
906
+ }
907
+ function readGltfVec3Tuple(value) {
908
+ if (!Array.isArray(value) || value.length < 3)
909
+ return null;
910
+ const x = Number(value[0]);
911
+ const y = Number(value[1]);
912
+ const z = Number(value[2]);
913
+ return Number.isFinite(x) && Number.isFinite(y) && Number.isFinite(z) ? [x, y, z] : null;
769
914
  }
770
915
  function isRecord(value) {
771
916
  return value != null && typeof value === 'object' && !Array.isArray(value);
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/asset-database/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/asset-database/metadata.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PlayableLocalEditorLoadingOverlayContent } from './types';
1
+ import type { PlayableLocalEditorInteractionPolicy, PlayableLocalEditorLoadingOverlayContent, PlayableLocalEditorSaveFailureState, PlayableLocalEditorUnsavedChangesState } from './types';
2
2
  export type PlayableForgePlayMode = 'play' | 'edit';
3
3
  export interface PlayableForgePlayMessageEvent {
4
4
  source: unknown;
@@ -56,6 +56,8 @@ export interface PlayableForgePlayBridgeHarness {
56
56
  discardAndRunGame(): Promise<void>;
57
57
  render(): void;
58
58
  getWorkingDocument(): unknown | null;
59
+ getUnsavedChangesState?(): PlayableLocalEditorUnsavedChangesState;
60
+ getSaveFailureState?(): PlayableLocalEditorSaveFailureState | null;
59
61
  undo?(options?: PlayableForgePlayHistoryOperationOptions): Promise<PlayableForgePlayHistoryOperationResult>;
60
62
  redo?(options?: PlayableForgePlayHistoryOperationOptions): Promise<PlayableForgePlayHistoryOperationResult>;
61
63
  }
@@ -85,6 +87,7 @@ export interface PlayableForgePlayBridgeInstallOptions {
85
87
  handleProjectAssetCommand?: (name: string, payload: Record<string, unknown>) => Promise<void>;
86
88
  handleAssetDrop?: (payload: Record<string, unknown>) => void;
87
89
  hasUnsavedPlatformChanges?: () => boolean;
90
+ interactions?: PlayableLocalEditorInteractionPolicy;
88
91
  waitForPaint?: () => Promise<void>;
89
92
  reportError?: (error: unknown) => void;
90
93
  initialMode?: PlayableForgePlayMode;
@@ -1 +1 @@
1
- {"version":3,"file":"forge-play-types.d.ts","sourceRoot":"","sources":["../../src/local-harness/forge-play-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forge-play-types.d.ts","sourceRoot":"","sources":["../../src/local-harness/forge-play-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"forge-play.d.ts","sourceRoot":"","sources":["../../src/local-harness/forge-play.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qCAAqC,EACrC,iCAAiC,EACjC,wCAAwC,EAIxC,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,uCAAuC,EACxC,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,iCAAiC,2BAA2B,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;CAGnC,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;;;;;;;CAW9B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;CAW5B,CAAC;AAEX,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAW/E,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWtE,CAAC;AAEF,eAAO,MAAM,0CAA0C,aAKrD,CAAC;AAEH,eAAO,MAAM,oCAAoC,aAG/C,CAAC;AAEH,eAAO,MAAM,yCAAyC,+BAA+B,CAAC;AACtF,eAAO,MAAM,sCAAsC,wCAAwC,CAAC;AAC5F,eAAO,MAAM,mCAAmC,iCAAiC,CAAC;AAElF,wBAAgB,gCAAgC,IAAI,0BAA0B,CAK7E;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGnF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAInG;AAED,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,wCAAwC,CAK1C;AAED,wBAAgB,0CAA0C,CACxD,SAAS,EAAE,iCAAiC,GAC3C,MAAM,CAIR;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI,CAcN;AAQD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,uCAAuC,GAC/C,MAAM,IAAI,CAkEZ;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,qCAAqC,GAC7C,2BAA2B,CAiQ7B"}
1
+ {"version":3,"file":"forge-play.d.ts","sourceRoot":"","sources":["../../src/local-harness/forge-play.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qCAAqC,EACrC,iCAAiC,EACjC,wCAAwC,EAIxC,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,uCAAuC,EACxC,MAAM,oBAAoB,CAAC;AAQ5B,eAAO,MAAM,iCAAiC,2BAA2B,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;CAGnC,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;;;;;;;CAW9B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;CAW5B,CAAC;AAEX,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAW/E,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWtE,CAAC;AAEF,eAAO,MAAM,0CAA0C,aAKrD,CAAC;AAEH,eAAO,MAAM,oCAAoC,aAG/C,CAAC;AAEH,eAAO,MAAM,yCAAyC,+BAA+B,CAAC;AACtF,eAAO,MAAM,sCAAsC,wCAAwC,CAAC;AAC5F,eAAO,MAAM,mCAAmC,iCAAiC,CAAC;AAElF,wBAAgB,gCAAgC,IAAI,0BAA0B,CAK7E;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGnF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAInG;AAED,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,wCAAwC,CAK1C;AAED,wBAAgB,0CAA0C,CACxD,SAAS,EAAE,iCAAiC,GAC3C,MAAM,CAIR;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI,CAcN;AAQD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,uCAAuC,GAC/C,MAAM,IAAI,CAkEZ;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,qCAAqC,GAC7C,2BAA2B,CAoV7B"}