@fps-games/editor 0.1.5-beta.4 → 0.1.6-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 (218) hide show
  1. package/dist/build-info.json +16 -16
  2. package/dist/local-editor-agent-actions.d.ts +8 -1
  3. package/dist/local-editor-agent-actions.d.ts.map +1 -1
  4. package/dist/local-editor-agent-actions.js +171 -12
  5. package/dist/local-editor-agent-actions.js.map +1 -1
  6. package/dist/local-editor-agent-context.d.ts +29 -1
  7. package/dist/local-editor-agent-context.d.ts.map +1 -1
  8. package/dist/local-editor-agent-context.js +403 -0
  9. package/dist/local-editor-agent-context.js.map +1 -1
  10. package/dist/local-editor-harness.d.ts +103 -5
  11. package/dist/local-editor-harness.d.ts.map +1 -1
  12. package/dist/local-editor-harness.js +1982 -101
  13. package/dist/local-editor-harness.js.map +1 -1
  14. package/dist/local-editor-marker-graph.d.ts +92 -0
  15. package/dist/local-editor-marker-graph.d.ts.map +1 -0
  16. package/dist/local-editor-marker-graph.js +1432 -0
  17. package/dist/local-editor-marker-graph.js.map +1 -0
  18. package/dist/local-editor-performance-stats.js +1 -1
  19. package/dist/local-editor-performance-stats.js.map +1 -1
  20. package/dist/playable-babylon-facade.d.ts +2 -2
  21. package/dist/playable-babylon-facade.d.ts.map +1 -1
  22. package/dist/playable-babylon-facade.js +1 -1
  23. package/dist/playable-babylon-facade.js.map +1 -1
  24. package/dist/playable-local-editor-host.d.ts +52 -7
  25. package/dist/playable-local-editor-host.d.ts.map +1 -1
  26. package/dist/playable-local-editor-host.js +23 -1
  27. package/dist/playable-local-editor-host.js.map +1 -1
  28. package/dist/playable-sdk.d.ts +4 -2
  29. package/dist/playable-sdk.d.ts.map +1 -1
  30. package/dist/playable-sdk.js +2 -1
  31. package/dist/playable-sdk.js.map +1 -1
  32. package/node_modules/@fps-games/babylon-renderer/package.json +1 -1
  33. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.d.ts.map +1 -1
  34. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js +11 -0
  35. package/node_modules/@fps-games/editor-babylon/dist/camera-controller.js.map +1 -1
  36. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.d.ts +3 -1
  37. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.d.ts.map +1 -1
  38. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js +114 -18
  39. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -1
  40. package/node_modules/@fps-games/editor-babylon/dist/editor-world.d.ts +1 -0
  41. package/node_modules/@fps-games/editor-babylon/dist/editor-world.d.ts.map +1 -1
  42. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js +3 -0
  43. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  44. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +3 -0
  45. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
  46. package/node_modules/@fps-games/editor-babylon/dist/index.js +3 -0
  47. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  48. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.d.ts +52 -0
  49. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.d.ts.map +1 -0
  50. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js +1395 -0
  51. package/node_modules/@fps-games/editor-babylon/dist/marker-overlay.js.map +1 -0
  52. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.d.ts.map +1 -1
  53. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js +4 -65
  54. package/node_modules/@fps-games/editor-babylon/dist/material-property-adapter.js.map +1 -1
  55. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.d.ts +28 -0
  56. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.d.ts.map +1 -0
  57. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js +235 -0
  58. package/node_modules/@fps-games/editor-babylon/dist/material-slot-source-resolver.js.map +1 -0
  59. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts +37 -0
  60. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.d.ts.map +1 -0
  61. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js +451 -0
  62. package/node_modules/@fps-games/editor-babylon/dist/prefab-comparison-preview-controller.js.map +1 -0
  63. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.d.ts.map +1 -1
  64. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +24 -10
  65. package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -1
  66. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.d.ts +1 -0
  67. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.d.ts.map +1 -1
  68. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js +20 -4
  69. package/node_modules/@fps-games/editor-babylon/dist/projection-pick-resolver.js.map +1 -1
  70. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.d.ts +9 -0
  71. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.d.ts.map +1 -0
  72. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js +64 -0
  73. package/node_modules/@fps-games/editor-babylon/dist/projection-source-owner-path.js.map +1 -0
  74. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +44 -1
  75. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  76. package/node_modules/@fps-games/editor-babylon/dist/projection.js +311 -70
  77. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  78. package/node_modules/@fps-games/editor-babylon/package.json +5 -5
  79. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +5 -2
  80. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  81. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  82. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  83. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts +5 -0
  84. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.d.ts.map +1 -0
  85. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js +23 -0
  86. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-asset-kind.js.map +1 -0
  87. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts.map +1 -1
  88. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js +69 -0
  89. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  90. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.d.ts.map +1 -1
  91. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js +1 -0
  92. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-attach-dialog.js.map +1 -1
  93. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +2 -0
  94. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  95. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +38 -1
  96. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  97. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts +1 -1
  98. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.d.ts.map +1 -1
  99. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  100. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +8 -2
  101. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  102. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +1 -1
  103. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -1
  104. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +7 -0
  105. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -1
  106. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js +1 -1
  107. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panel-registry.js.map +1 -1
  108. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +4 -0
  109. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  110. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +1471 -29
  111. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  112. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts +52 -0
  113. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.d.ts.map +1 -0
  114. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js +131 -0
  115. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-prefab-stage.js.map +1 -0
  116. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts +1 -1
  117. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts.map +1 -1
  118. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts.map +1 -1
  119. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js +9 -2
  120. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  121. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +234 -3
  122. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  123. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts +10 -1
  124. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts.map +1 -1
  125. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js +3 -1
  126. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  127. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +4 -3
  128. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  129. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +1274 -55
  130. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  131. package/node_modules/@fps-games/editor-browser/package.json +3 -3
  132. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts +1 -1
  133. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts.map +1 -1
  134. package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts +2 -0
  135. package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts.map +1 -1
  136. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js +1 -0
  137. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -1
  138. package/node_modules/@fps-games/editor-core/package.json +2 -2
  139. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  140. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.d.ts.map +1 -1
  141. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js +17 -3
  142. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/catalog.js.map +1 -1
  143. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.d.ts.map +1 -1
  144. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js +2 -1
  145. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/document.js.map +1 -1
  146. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts +3 -2
  147. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-library/types.d.ts.map +1 -1
  148. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts +1 -0
  149. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.d.ts.map +1 -1
  150. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js +68 -2
  151. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/document.js.map +1 -1
  152. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.d.ts +1 -1
  153. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.d.ts.map +1 -1
  154. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js +1 -1
  155. package/node_modules/@fps-games/editor-playable-sdk/dist/asset-placement/index.js.map +1 -1
  156. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts +56 -1
  157. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  158. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +531 -0
  159. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  160. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +103 -2
  161. package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
  162. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.d.ts +1 -1
  163. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.d.ts.map +1 -1
  164. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js +1 -1
  165. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
  166. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.d.ts.map +1 -1
  167. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js +9 -1
  168. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
  169. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.d.ts +1 -0
  170. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.d.ts.map +1 -1
  171. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js +3 -0
  172. package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
  173. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  174. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +3 -7
  175. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  176. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
  177. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +6 -0
  178. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  179. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts +2 -10
  180. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/types.d.ts.map +1 -1
  181. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts.map +1 -1
  182. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +8 -0
  183. package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
  184. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts.map +1 -1
  185. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +66 -31
  186. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
  187. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts +2 -1
  188. package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts.map +1 -1
  189. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.d.ts.map +1 -1
  190. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js +40 -2
  191. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/protocol.js.map +1 -1
  192. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.d.ts +1 -0
  193. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.d.ts.map +1 -1
  194. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js +20 -0
  195. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/descriptors.js.map +1 -1
  196. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.d.ts.map +1 -1
  197. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js +68 -27
  198. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/inspector.js.map +1 -1
  199. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.d.ts.map +1 -1
  200. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js +7 -4
  201. package/node_modules/@fps-games/editor-playable-sdk/dist/serialized-property/object.js.map +1 -1
  202. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.d.ts.map +1 -1
  203. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js +2 -1
  204. package/node_modules/@fps-games/editor-playable-sdk/dist/session/hierarchy.js.map +1 -1
  205. package/node_modules/@fps-games/editor-playable-sdk/package.json +3 -3
  206. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +57 -3
  207. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +1 -1
  208. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +1 -1
  209. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +19 -0
  210. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  211. package/node_modules/@fps-games/editor-protocol/dist/index.js +1 -0
  212. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  213. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.d.ts +128 -0
  214. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.d.ts.map +1 -0
  215. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js +2 -0
  216. package/node_modules/@fps-games/editor-protocol/dist/marker-graph.js.map +1 -0
  217. package/node_modules/@fps-games/editor-protocol/package.json +1 -1
  218. package/package.json +8 -8
@@ -67,6 +67,69 @@ export function createLocalEditorRegionBindingAgentContext(input) {
67
67
  ...pickAgentSemantics(input.semantics),
68
68
  };
69
69
  }
70
+ export function createLocalEditorSpatialMarkerAgentContext(input) {
71
+ const markerId = normalizeId(input.marker.id);
72
+ if (!markerId || input.marker.spatial.status !== 'resolved')
73
+ return null;
74
+ const label = input.marker.label || markerId;
75
+ const markerLabels = createMarkerLabelMap(input.graph?.markers ?? [input.marker]);
76
+ const objectLabels = createObjectLabelMap(input.hierarchyItems);
77
+ const relationTypes = input.relationTypes ?? [];
78
+ const graph = input.graph ?? {
79
+ schemaVersion: 1,
80
+ markers: [input.marker],
81
+ relations: input.directRelations ? [...input.directRelations] : [],
82
+ };
83
+ const relationNeighborhood = createSpatialRelationNeighborhood(markerId, label, graph, input.directRelations ?? [], input.relatedMarkerIds ?? [], input.relatedObjectIds ?? [], relationTypes, markerLabels, objectLabels);
84
+ const context = {
85
+ schemaVersion: EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,
86
+ id: createAgentContextId('spatial-marker', [markerId], input.createdAt),
87
+ kind: 'spatial-marker',
88
+ label,
89
+ summary: summarizeSpatialMarker(input.marker, input.directRelations ?? [], relationTypes, markerLabels, objectLabels, relationNeighborhood),
90
+ createdAt: input.createdAt ?? Date.now(),
91
+ source: createAgentSource('marker', input.source),
92
+ marker: cloneResolvedSpatialMarker(input.marker),
93
+ directRelations: input.directRelations?.map(cloneSpatialRelation) ?? [],
94
+ ...(input.relatedMarkerIds?.length ? { relatedMarkerIds: [...input.relatedMarkerIds] } : {}),
95
+ ...(input.relatedObjectIds?.length ? { relatedObjectIds: [...input.relatedObjectIds] } : {}),
96
+ ...(input.markerTypes?.length ? { markerTypes: input.markerTypes.map(cloneMarkerTypeDefinition) } : {}),
97
+ ...(input.relationTypes?.length ? { relationTypes: input.relationTypes.map(cloneRelationTypeDefinition) } : {}),
98
+ relationNeighborhood,
99
+ ...pickAgentSemantics(input.semantics),
100
+ };
101
+ return context;
102
+ }
103
+ export function createLocalEditorSpatialRelationGraphAgentContext(input) {
104
+ if (input.graph.markers.length === 0)
105
+ return null;
106
+ if (input.graph.markers.some(marker => marker.spatial.status !== 'resolved'))
107
+ return null;
108
+ const markerIds = input.graph.markers.map(marker => marker.id);
109
+ const objectLabels = createObjectLabelMap(input.hierarchyItems);
110
+ const markerLabels = createMarkerLabelMap(input.graph.markers);
111
+ const relationTypes = input.relationTypes ?? [];
112
+ const graphIssues = createSpatialGraphIssues(input.graph, markerLabels, objectLabels);
113
+ const focusSummaries = createSpatialGraphFocusSummaries(input.graph, input.focusMarkerIds ?? [], input.focusObjectIds ?? [], relationTypes, markerLabels, objectLabels);
114
+ const context = {
115
+ schemaVersion: EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,
116
+ id: createAgentContextId('spatial-relation-graph', markerIds, input.createdAt),
117
+ kind: 'spatial-relation-graph',
118
+ label: `${input.graph.markers.length} spatial markers`,
119
+ summary: summarizeSpatialRelationGraph(input.graph, relationTypes, objectLabels, focusSummaries, graphIssues),
120
+ createdAt: input.createdAt ?? Date.now(),
121
+ source: createAgentSource('marker-graph', input.source),
122
+ graph: cloneResolvedSpatialMarkerGraph(input.graph),
123
+ ...(input.focusMarkerIds?.length ? { focusMarkerIds: [...input.focusMarkerIds] } : {}),
124
+ ...(input.focusObjectIds?.length ? { focusObjectIds: [...input.focusObjectIds] } : {}),
125
+ ...(input.markerTypes?.length ? { markerTypes: input.markerTypes.map(cloneMarkerTypeDefinition) } : {}),
126
+ ...(input.relationTypes?.length ? { relationTypes: input.relationTypes.map(cloneRelationTypeDefinition) } : {}),
127
+ ...(graphIssues.length ? { graphIssues } : {}),
128
+ ...(focusSummaries.length ? { focusSummaries } : {}),
129
+ ...pickAgentSemantics(input.semantics),
130
+ };
131
+ return context;
132
+ }
70
133
  function createAgentSceneObject(objectId, hierarchyById, projectionNode) {
71
134
  const hierarchyItem = hierarchyById.get(objectId) ?? null;
72
135
  const projection = readRecord(projectionNode);
@@ -105,6 +168,14 @@ function createAgentSource(surface, source) {
105
168
  function createHierarchyMap(items) {
106
169
  return new Map((items ?? []).map(item => [item.id, item]));
107
170
  }
171
+ function createObjectLabelMap(items) {
172
+ return new Map((items ?? [])
173
+ .filter(item => item.role === undefined || item.role === 'object')
174
+ .map(item => [item.id, item.label || item.id]));
175
+ }
176
+ function createMarkerLabelMap(markers) {
177
+ return new Map(markers.map(marker => [marker.id, marker.label || marker.id]));
178
+ }
108
179
  function createHierarchyPath(objectId, byId) {
109
180
  const path = [];
110
181
  const seen = new Set();
@@ -263,4 +334,336 @@ function summarizeRegionBinding(label, objects) {
263
334
  ...objects.map(object => `- ${object.label ?? object.name ?? object.id} (${object.id})`),
264
335
  ].join('\n');
265
336
  }
337
+ function summarizeSpatialMarker(marker, relations, relationTypes, markerLabels, objectLabels, neighborhood) {
338
+ const relationLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));
339
+ return [
340
+ `Spatial Marker: ${marker.label || marker.id}`,
341
+ `id: ${marker.id}`,
342
+ `type: ${marker.markerType}`,
343
+ `kind: ${marker.kind}`,
344
+ `spatial: ${summarizeSpatialFacts(marker)}`,
345
+ ...(relations.length > 0
346
+ ? [`relations: ${relations.map(relation => summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels)).join('; ')}`]
347
+ : []),
348
+ ...(neighborhood?.localSummaries?.length
349
+ ? [`local summary: ${neighborhood.localSummaries.map(summary => summary.summary).join('; ')}`]
350
+ : []),
351
+ ...(neighborhood?.twoHopSummaries?.length
352
+ ? [`two-hop context: ${neighborhood.twoHopSummaries.map(summary => summary.summary).join('; ')}`]
353
+ : []),
354
+ ...(neighborhood?.graphIssues?.length
355
+ ? [`warnings: ${neighborhood.graphIssues.map(issue => issue.message).join('; ')}`]
356
+ : []),
357
+ ].join('\n');
358
+ }
359
+ function summarizeSpatialRelationGraph(graph, relationTypes, objectLabels, focusSummaries = [], graphIssues = []) {
360
+ const relationLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));
361
+ const markerLabels = createMarkerLabelMap(graph.markers);
362
+ return [
363
+ `Spatial Relation Graph: ${graph.markers.length} markers, ${graph.relations.length} relations`,
364
+ ...graph.markers.map(marker => `- ${marker.label || marker.id} (${marker.id}): ${summarizeSpatialFacts(marker)}`),
365
+ ...(graph.relations.length > 0
366
+ ? [`Relations: ${graph.relations.map(relation => summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels)).join('; ')}`]
367
+ : []),
368
+ ...(focusSummaries.length > 0
369
+ ? [`Focus summaries: ${focusSummaries.map(summary => summary.summary).join('; ')}`]
370
+ : []),
371
+ ...(graphIssues.length > 0
372
+ ? [`Graph warnings: ${graphIssues.map(issue => issue.message).join('; ')}`]
373
+ : []),
374
+ ].join('\n');
375
+ }
376
+ function createSpatialRelationNeighborhood(markerId, markerLabel, graph, directRelations, relatedMarkerIds, relatedObjectIds, relationTypes, markerLabels, objectLabels) {
377
+ const issues = createSpatialGraphIssues(graph, markerLabels, objectLabels)
378
+ .filter(issue => issue.markerId === markerId || graph.relations.some(relation => (relation.id === issue.relationId && relationTouchesMarker(relation, markerId))));
379
+ return {
380
+ markerId,
381
+ markerLabel,
382
+ oneHopRelations: directRelations.map(cloneSpatialRelation),
383
+ ...(relatedMarkerIds.length ? { relatedMarkerIds: [...relatedMarkerIds] } : {}),
384
+ ...(relatedObjectIds.length ? { relatedObjectIds: [...relatedObjectIds] } : {}),
385
+ localSummaries: createMarkerLocalRelationSummaries(markerId, markerLabel, directRelations, relationTypes, markerLabels, objectLabels),
386
+ twoHopSummaries: createTwoHopRelationSummaries(markerId, graph, directRelations, relationTypes, markerLabels, objectLabels),
387
+ ...(issues.length ? { graphIssues: issues } : {}),
388
+ };
389
+ }
390
+ function createSpatialGraphFocusSummaries(graph, focusMarkerIds, focusObjectIds, relationTypes, markerLabels, objectLabels) {
391
+ const summaries = [];
392
+ const focusMarkers = focusMarkerIds.length > 0
393
+ ? focusMarkerIds
394
+ : graph.markers.slice(0, 3).map(marker => marker.id);
395
+ for (const markerId of focusMarkers) {
396
+ const marker = graph.markers.find(candidate => candidate.id === markerId) ?? null;
397
+ if (!marker)
398
+ continue;
399
+ const directRelations = graph.relations.filter(relation => relationTouchesMarker(relation, markerId));
400
+ summaries.push(...createMarkerLocalRelationSummaries(markerId, marker.label || marker.id, directRelations, relationTypes, markerLabels, objectLabels));
401
+ }
402
+ if (focusObjectIds.length > 0) {
403
+ const relationLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));
404
+ for (const objectId of focusObjectIds) {
405
+ const relations = graph.relations.filter(relation => relationTouchesObject(relation, objectId));
406
+ if (relations.length === 0)
407
+ continue;
408
+ summaries.push({
409
+ summary: `${formatEndpointHumanLabel({ kind: 'scene-object', id: objectId }, markerLabels, objectLabels)} has ${relations.length} direct marker relations: ${relations.map(relation => summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels)).join('; ')}`,
410
+ count: relations.length,
411
+ });
412
+ }
413
+ }
414
+ return summaries;
415
+ }
416
+ function createMarkerLocalRelationSummaries(markerId, markerLabel, relations, relationTypes, markerLabels, objectLabels) {
417
+ const relationTypeLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));
418
+ const groups = new Map();
419
+ for (const relation of relations) {
420
+ const related = relation.from.kind === 'marker' && relation.from.id === markerId ? relation.to : relation.from;
421
+ const label = relation.label || relationTypeLabels.get(relation.type) || relation.type;
422
+ const group = groups.get(relation.type) ?? { type: relation.type, label, count: 0, endpoints: [] };
423
+ group.count += 1;
424
+ group.endpoints.push(createEndpointSummary(related, markerLabels, objectLabels));
425
+ groups.set(relation.type, group);
426
+ }
427
+ return [...groups.values()].map(group => ({
428
+ relationType: group.type,
429
+ relationLabel: group.label,
430
+ count: group.count,
431
+ summary: `${markerLabel} ${formatRelationCountPhrase(group.label, group.type, group.count)}: ${group.endpoints.slice(0, 6).map(formatEndpointSummary).join(', ')}${group.endpoints.length > 6 ? `, +${group.endpoints.length - 6} more` : ''}`,
432
+ }));
433
+ }
434
+ function createTwoHopRelationSummaries(markerId, graph, directRelations, relationTypes, markerLabels, objectLabels) {
435
+ const directRelationIds = new Set(directRelations.map(relation => relation.id));
436
+ const neighborMarkerIds = new Set();
437
+ for (const relation of directRelations) {
438
+ for (const endpoint of [relation.from, relation.to]) {
439
+ if (endpoint.kind === 'marker' && endpoint.id !== markerId)
440
+ neighborMarkerIds.add(endpoint.id);
441
+ }
442
+ }
443
+ const relationLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));
444
+ const summaries = [];
445
+ for (const neighborId of neighborMarkerIds) {
446
+ const secondHop = graph.relations.filter(relation => relationTouchesMarker(relation, neighborId) && !directRelationIds.has(relation.id));
447
+ if (secondHop.length === 0)
448
+ continue;
449
+ const neighborLabel = markerLabels.get(neighborId) ?? neighborId;
450
+ summaries.push({
451
+ from: { kind: 'marker', id: neighborId, label: markerLabels.get(neighborId) },
452
+ count: secondHop.length,
453
+ summary: `${neighborLabel} has ${secondHop.length} additional relations: ${secondHop.slice(0, 5).map(relation => summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels)).join('; ')}${secondHop.length > 5 ? `; +${secondHop.length - 5} more` : ''}`,
454
+ });
455
+ }
456
+ return summaries;
457
+ }
458
+ function createSpatialGraphIssues(graph, markerLabels, objectLabels) {
459
+ const markerIds = new Set(graph.markers.map(marker => marker.id));
460
+ const issues = [];
461
+ for (const marker of graph.markers) {
462
+ if (marker.spatial.status !== 'resolved') {
463
+ issues.push({
464
+ code: 'marker-spatial-unresolved',
465
+ severity: 'warning',
466
+ markerId: marker.id,
467
+ message: `${marker.label || marker.id} has unresolved spatial facts${marker.spatial.unresolvedReason ? `: ${marker.spatial.unresolvedReason}` : ''}.`,
468
+ });
469
+ }
470
+ for (const target of collectMarkerSpatialTargets(marker)) {
471
+ if (target.kind === 'scene-object' && !objectLabels.has(target.id)) {
472
+ issues.push({
473
+ code: 'marker-missing-object-target',
474
+ severity: 'warning',
475
+ markerId: marker.id,
476
+ endpoint: createEndpointSummary({ kind: target.kind, id: target.id, label: target.label }, markerLabels, objectLabels),
477
+ message: `${marker.label || marker.id} references missing target scene object ${target.id}.`,
478
+ });
479
+ }
480
+ }
481
+ }
482
+ for (const relation of graph.relations) {
483
+ for (const [side, endpoint] of [['from', relation.from], ['to', relation.to]]) {
484
+ if (endpoint.kind === 'marker' && !markerIds.has(endpoint.id)) {
485
+ issues.push({
486
+ code: 'relation-missing-marker-endpoint',
487
+ severity: 'warning',
488
+ relationId: relation.id,
489
+ endpoint: createEndpointSummary(endpoint, markerLabels, objectLabels),
490
+ message: `Relation ${relation.id} ${side} endpoint references missing marker ${endpoint.id}.`,
491
+ });
492
+ }
493
+ if (endpoint.kind === 'scene-object' && !objectLabels.has(endpoint.id)) {
494
+ issues.push({
495
+ code: 'relation-missing-object-endpoint',
496
+ severity: 'warning',
497
+ relationId: relation.id,
498
+ endpoint: createEndpointSummary(endpoint, markerLabels, objectLabels),
499
+ message: `Relation ${relation.id} ${side} endpoint references missing scene object ${endpoint.id}.`,
500
+ });
501
+ }
502
+ }
503
+ }
504
+ return issues;
505
+ }
506
+ function collectMarkerSpatialTargets(marker) {
507
+ const targets = [];
508
+ const pushTarget = (target) => {
509
+ if (!target || targets.some(candidate => candidate.kind === target.kind && candidate.id === target.id))
510
+ return;
511
+ targets.push({
512
+ kind: target.kind,
513
+ id: target.id,
514
+ ...(target.label ? { label: target.label } : {}),
515
+ });
516
+ };
517
+ pushTarget(marker.target);
518
+ pushTarget(marker.spatial.target);
519
+ if (marker.geometry.kind === 'point' || marker.geometry.kind === 'object-bounds')
520
+ pushTarget(marker.geometry.target);
521
+ return targets;
522
+ }
523
+ function relationTouchesMarker(relation, markerId) {
524
+ return (relation.from.kind === 'marker' && relation.from.id === markerId)
525
+ || (relation.to.kind === 'marker' && relation.to.id === markerId);
526
+ }
527
+ function relationTouchesObject(relation, objectId) {
528
+ return (relation.from.kind === 'scene-object' && relation.from.id === objectId)
529
+ || (relation.to.kind === 'scene-object' && relation.to.id === objectId);
530
+ }
531
+ function createEndpointSummary(endpoint, markerLabels, objectLabels) {
532
+ const label = endpoint.label
533
+ || (endpoint.kind === 'marker'
534
+ ? markerLabels.get(endpoint.id)
535
+ : endpoint.kind === 'scene-object'
536
+ ? objectLabels.get(endpoint.id)
537
+ : undefined);
538
+ return {
539
+ kind: endpoint.kind,
540
+ id: endpoint.id,
541
+ ...(label ? { label } : {}),
542
+ };
543
+ }
544
+ function formatEndpointSummary(endpoint) {
545
+ return endpoint.label && endpoint.label !== endpoint.id
546
+ ? `${endpoint.kind}:${endpoint.id} "${endpoint.label}"`
547
+ : `${endpoint.kind}:${endpoint.id}`;
548
+ }
549
+ function formatEndpointHumanLabel(endpoint, markerLabels, objectLabels) {
550
+ const summary = createEndpointSummary(endpoint, markerLabels, objectLabels);
551
+ return summary.label || summary.id;
552
+ }
553
+ function formatRelationCountPhrase(label, type, count) {
554
+ return `${label || type} ${count}`;
555
+ }
556
+ function summarizeSpatialFacts(marker) {
557
+ const spatial = marker.spatial;
558
+ if (spatial.status !== 'resolved')
559
+ return `unresolved${spatial.unresolvedReason ? `: ${spatial.unresolvedReason}` : ''}`;
560
+ const parts = [
561
+ spatial.origin ? `origin ${formatVec3(spatial.origin)}` : null,
562
+ spatial.localFrame?.forward ? `forward ${formatVec3(spatial.localFrame.forward)}` : null,
563
+ spatial.dimensions ? `dimensions ${formatVec3(spatial.dimensions)}` : null,
564
+ spatial.bounds ? `bounds center ${formatVec3(spatial.bounds.center)} size ${formatVec3(spatial.bounds.size)}` : null,
565
+ spatial.target ? `target ${summarizeSpatialRelationEndpoint({
566
+ kind: spatial.target.kind,
567
+ id: spatial.target.id,
568
+ ...(spatial.target.label ? { label: spatial.target.label } : {}),
569
+ }, new Map(), new Map())}` : null,
570
+ ].filter((value) => !!value);
571
+ return parts.join(', ') || 'resolved';
572
+ }
573
+ function summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels) {
574
+ const arrow = relation.directed === false ? '--' : '->';
575
+ return [
576
+ summarizeSpatialRelationEndpoint(relation.from, markerLabels, objectLabels),
577
+ summarizeSpatialRelationType(relation, relationLabels),
578
+ arrow,
579
+ summarizeSpatialRelationEndpoint(relation.to, markerLabels, objectLabels),
580
+ ].join(' ');
581
+ }
582
+ function summarizeSpatialRelationEndpoint(endpoint, markerLabels, objectLabels) {
583
+ const label = endpoint.label
584
+ || (endpoint.kind === 'marker'
585
+ ? markerLabels.get(endpoint.id)
586
+ : endpoint.kind === 'scene-object'
587
+ ? objectLabels.get(endpoint.id)
588
+ : undefined);
589
+ return label && label !== endpoint.id
590
+ ? `${endpoint.kind}:${endpoint.id} "${label}"`
591
+ : `${endpoint.kind}:${endpoint.id}`;
592
+ }
593
+ function summarizeSpatialRelationType(relation, relationLabels) {
594
+ const label = relation.label || relationLabels.get(relation.type);
595
+ return label && label !== relation.type ? `${label} [${relation.type}]` : relation.type;
596
+ }
597
+ function formatVec3(value) {
598
+ return `(${value.x}, ${value.y}, ${value.z})`;
599
+ }
600
+ function cloneResolvedSpatialMarkerGraph(graph) {
601
+ return {
602
+ ...graph,
603
+ markers: graph.markers.map(cloneResolvedSpatialMarker),
604
+ relations: graph.relations.map(cloneSpatialRelation),
605
+ metadata: graph.metadata ? { ...graph.metadata } : undefined,
606
+ };
607
+ }
608
+ function cloneResolvedSpatialMarker(marker) {
609
+ return {
610
+ ...marker,
611
+ geometry: cloneJsonObject(marker.geometry),
612
+ target: marker.target ? { ...marker.target, metadata: marker.target.metadata ? { ...marker.target.metadata } : undefined } : undefined,
613
+ semanticFrame: marker.semanticFrame ? { ...marker.semanticFrame } : undefined,
614
+ tags: marker.tags ? [...marker.tags] : undefined,
615
+ metadata: marker.metadata ? { ...marker.metadata } : undefined,
616
+ spatial: {
617
+ ...marker.spatial,
618
+ origin: marker.spatial.origin ? { ...marker.spatial.origin } : undefined,
619
+ bounds: marker.spatial.bounds
620
+ ? {
621
+ min: { ...marker.spatial.bounds.min },
622
+ max: { ...marker.spatial.bounds.max },
623
+ center: { ...marker.spatial.bounds.center },
624
+ size: { ...marker.spatial.bounds.size },
625
+ }
626
+ : undefined,
627
+ dimensions: marker.spatial.dimensions ? { ...marker.spatial.dimensions } : undefined,
628
+ corners: marker.spatial.corners?.map(corner => ({ ...corner })),
629
+ localFrame: marker.spatial.localFrame ? { ...marker.spatial.localFrame } : undefined,
630
+ target: marker.spatial.target
631
+ ? {
632
+ ...marker.spatial.target,
633
+ metadata: marker.spatial.target.metadata ? { ...marker.spatial.target.metadata } : undefined,
634
+ }
635
+ : undefined,
636
+ metadata: marker.spatial.metadata ? { ...marker.spatial.metadata } : undefined,
637
+ },
638
+ };
639
+ }
640
+ function cloneSpatialRelation(relation) {
641
+ return {
642
+ ...relation,
643
+ from: { ...relation.from },
644
+ to: { ...relation.to },
645
+ tags: relation.tags ? [...relation.tags] : undefined,
646
+ metadata: relation.metadata ? { ...relation.metadata } : undefined,
647
+ };
648
+ }
649
+ function cloneMarkerTypeDefinition(definition) {
650
+ return {
651
+ ...definition,
652
+ defaultTags: definition.defaultTags ? [...definition.defaultTags] : undefined,
653
+ metadata: definition.metadata ? { ...definition.metadata } : undefined,
654
+ };
655
+ }
656
+ function cloneRelationTypeDefinition(definition) {
657
+ return {
658
+ ...definition,
659
+ allowedFromKinds: definition.allowedFromKinds ? [...definition.allowedFromKinds] : undefined,
660
+ allowedToKinds: definition.allowedToKinds ? [...definition.allowedToKinds] : undefined,
661
+ metadata: definition.metadata ? { ...definition.metadata } : undefined,
662
+ };
663
+ }
664
+ function cloneJsonObject(value) {
665
+ if (!value || typeof value !== 'object')
666
+ return value;
667
+ return JSON.parse(JSON.stringify(value));
668
+ }
266
669
  //# sourceMappingURL=local-editor-agent-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-agent-context.js","sourceRoot":"","sources":["../src/local-editor-agent-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-editor-agent-context.js","sourceRoot":"","sources":["../src/local-editor-agent-context.ts"],"names":[],"mappings":"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"}