@fps-games/editor 0.2.1-beta.3 → 0.2.1-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/dist/build-info.json +44 -44
  2. package/dist/editor-commands/capabilities/assets.d.ts +8 -0
  3. package/dist/editor-commands/capabilities/assets.d.ts.map +1 -0
  4. package/dist/{agent-bridge → editor-commands}/capabilities/assets.js +41 -41
  5. package/dist/editor-commands/capabilities/assets.js.map +1 -0
  6. package/dist/editor-commands/capabilities/editor-state.d.ts +5 -0
  7. package/dist/editor-commands/capabilities/editor-state.d.ts.map +1 -0
  8. package/dist/{agent-bridge → editor-commands}/capabilities/editor-state.js +22 -22
  9. package/dist/editor-commands/capabilities/editor-state.js.map +1 -0
  10. package/dist/editor-commands/capabilities/hierarchy.d.ts +4 -0
  11. package/dist/editor-commands/capabilities/hierarchy.d.ts.map +1 -0
  12. package/dist/{agent-bridge → editor-commands}/capabilities/hierarchy.js +5 -5
  13. package/dist/editor-commands/capabilities/hierarchy.js.map +1 -0
  14. package/dist/editor-commands/capabilities/host-lifecycle.d.ts +11 -0
  15. package/dist/editor-commands/capabilities/host-lifecycle.d.ts.map +1 -0
  16. package/dist/editor-commands/capabilities/host-lifecycle.js +149 -0
  17. package/dist/editor-commands/capabilities/host-lifecycle.js.map +1 -0
  18. package/dist/editor-commands/capabilities/prefabs.d.ts +5 -0
  19. package/dist/editor-commands/capabilities/prefabs.d.ts.map +1 -0
  20. package/dist/{agent-bridge → editor-commands}/capabilities/prefabs.js +93 -93
  21. package/dist/editor-commands/capabilities/prefabs.js.map +1 -0
  22. package/dist/editor-commands/capabilities/scene-objects.d.ts +8 -0
  23. package/dist/editor-commands/capabilities/scene-objects.d.ts.map +1 -0
  24. package/dist/editor-commands/capabilities/scene-objects.js +480 -0
  25. package/dist/editor-commands/capabilities/scene-objects.js.map +1 -0
  26. package/dist/editor-commands/capabilities/selection.d.ts +5 -0
  27. package/dist/editor-commands/capabilities/selection.d.ts.map +1 -0
  28. package/dist/editor-commands/capabilities/selection.js +60 -0
  29. package/dist/editor-commands/capabilities/selection.js.map +1 -0
  30. package/dist/editor-commands/capabilities/shadows.d.ts +5 -0
  31. package/dist/editor-commands/capabilities/shadows.d.ts.map +1 -0
  32. package/dist/{agent-bridge → editor-commands}/capabilities/shadows.js +74 -74
  33. package/dist/editor-commands/capabilities/shadows.js.map +1 -0
  34. package/dist/editor-commands/capabilities/transform.d.ts +5 -0
  35. package/dist/editor-commands/capabilities/transform.d.ts.map +1 -0
  36. package/dist/editor-commands/capabilities/transform.js +164 -0
  37. package/dist/editor-commands/capabilities/transform.js.map +1 -0
  38. package/dist/editor-commands/capabilities/ui-regions.d.ts +4 -0
  39. package/dist/editor-commands/capabilities/ui-regions.d.ts.map +1 -0
  40. package/dist/{agent-bridge → editor-commands}/capabilities/ui-regions.js +55 -57
  41. package/dist/editor-commands/capabilities/ui-regions.js.map +1 -0
  42. package/dist/editor-commands/capabilities/viewport.d.ts +5 -0
  43. package/dist/editor-commands/capabilities/viewport.d.ts.map +1 -0
  44. package/dist/{agent-bridge → editor-commands}/capabilities/viewport.js +100 -100
  45. package/dist/editor-commands/capabilities/viewport.js.map +1 -0
  46. package/dist/editor-commands/command-sources.d.ts +7 -0
  47. package/dist/editor-commands/command-sources.d.ts.map +1 -0
  48. package/dist/editor-commands/command-sources.js +34 -0
  49. package/dist/editor-commands/command-sources.js.map +1 -0
  50. package/dist/editor-commands/diagnostics.d.ts +12 -0
  51. package/dist/editor-commands/diagnostics.d.ts.map +1 -0
  52. package/dist/{agent-bridge → editor-commands}/diagnostics.js +4 -4
  53. package/dist/editor-commands/diagnostics.js.map +1 -0
  54. package/dist/{agent-bridge → editor-commands}/index.d.ts +1 -1
  55. package/dist/editor-commands/index.d.ts.map +1 -0
  56. package/dist/{agent-bridge → editor-commands}/index.js +1 -1
  57. package/dist/editor-commands/index.js.map +1 -0
  58. package/dist/editor-commands/register.d.ts +4 -0
  59. package/dist/editor-commands/register.d.ts.map +1 -0
  60. package/dist/{agent-bridge → editor-commands}/register.js +323 -286
  61. package/dist/editor-commands/register.js.map +1 -0
  62. package/dist/{agent-bridge → editor-commands}/shared.d.ts +80 -80
  63. package/dist/editor-commands/shared.d.ts.map +1 -0
  64. package/dist/{agent-bridge → editor-commands}/shared.js +29 -29
  65. package/dist/editor-commands/shared.js.map +1 -0
  66. package/dist/editor-commands/source-types.d.ts +110 -0
  67. package/dist/editor-commands/source-types.d.ts.map +1 -0
  68. package/dist/editor-commands/source-types.js.map +1 -0
  69. package/dist/editor-plugin-commands.d.ts +4 -0
  70. package/dist/editor-plugin-commands.d.ts.map +1 -0
  71. package/dist/editor-plugin-commands.js +18 -0
  72. package/dist/editor-plugin-commands.js.map +1 -0
  73. package/dist/index.d.ts +2 -2
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/local-editor-commands.d.ts +2 -0
  78. package/dist/local-editor-commands.d.ts.map +1 -0
  79. package/dist/local-editor-commands.js +2 -0
  80. package/dist/local-editor-commands.js.map +1 -0
  81. package/dist/local-editor-harness.d.ts +35 -21
  82. package/dist/local-editor-harness.d.ts.map +1 -1
  83. package/dist/local-editor-harness.js +1721 -367
  84. package/dist/local-editor-harness.js.map +1 -1
  85. package/dist/local-editor-prefab-stage-transaction.d.ts +2 -1
  86. package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -1
  87. package/dist/local-editor-prefab-stage-transaction.js +6 -5
  88. package/dist/local-editor-prefab-stage-transaction.js.map +1 -1
  89. package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
  90. package/dist/local-editor-scene-view-interaction-runtime.js +2 -5
  91. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  92. package/dist/playable-local-editor-entry.d.ts +10 -0
  93. package/dist/playable-local-editor-entry.d.ts.map +1 -1
  94. package/dist/playable-local-editor-entry.js +10 -2
  95. package/dist/playable-local-editor-entry.js.map +1 -1
  96. package/dist/playable-local-editor-host.d.ts +3 -32
  97. package/dist/playable-local-editor-host.d.ts.map +1 -1
  98. package/dist/playable-local-editor-host.js +6 -70
  99. package/dist/playable-local-editor-host.js.map +1 -1
  100. package/dist/playable-product-local-editor.d.ts +1 -2
  101. package/dist/playable-product-local-editor.d.ts.map +1 -1
  102. package/dist/playable-product-local-editor.js +0 -1
  103. package/dist/playable-product-local-editor.js.map +1 -1
  104. package/dist/playable-product-projection-preview.d.ts.map +1 -1
  105. package/dist/playable-product-projection-preview.js +1 -1
  106. package/dist/playable-product-projection-preview.js.map +1 -1
  107. package/dist/playable-product-scene-capabilities.d.ts +0 -2
  108. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  109. package/dist/playable-product-scene-capabilities.js +33 -6
  110. package/dist/playable-product-scene-capabilities.js.map +1 -1
  111. package/dist/playable-runtime-babylon.d.ts +4 -0
  112. package/dist/playable-runtime-babylon.d.ts.map +1 -1
  113. package/dist/playable-runtime-babylon.js +4 -0
  114. package/dist/playable-runtime-babylon.js.map +1 -1
  115. package/dist/playable-sdk.d.ts +1 -1
  116. package/dist/playable-sdk.d.ts.map +1 -1
  117. package/dist/playable-sdk.js.map +1 -1
  118. package/dist/playable-standard-project.d.ts +0 -2
  119. package/dist/playable-standard-project.d.ts.map +1 -1
  120. package/dist/playable-standard-project.js +1 -2
  121. package/dist/playable-standard-project.js.map +1 -1
  122. package/dist/project-service-projection.d.ts +16 -0
  123. package/dist/project-service-projection.d.ts.map +1 -0
  124. package/dist/project-service-projection.js +67 -0
  125. package/dist/project-service-projection.js.map +1 -0
  126. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +18 -0
  127. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
  128. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +54 -18
  129. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  130. package/node_modules/@fps-games/babylon-renderer/package.json +9 -9
  131. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -0
  132. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/projection.js +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +127 -13
  137. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +66 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/package.json +6 -6
  142. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts +32 -0
  143. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts.map +1 -0
  144. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js +254 -0
  145. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js.map +1 -0
  146. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  147. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  149. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts +68 -0
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts.map +1 -0
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js +650 -0
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js.map +1 -0
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +1 -0
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +22 -0
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +8 -0
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +117 -6
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +14 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +100 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +75 -2
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +37 -12
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +25 -2
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +332 -107
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  177. package/node_modules/@fps-games/editor-browser/package.json +7 -7
  178. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts +107 -0
  179. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts.map +1 -0
  180. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js +1211 -0
  181. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js.map +1 -0
  182. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts +34 -0
  183. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts.map +1 -0
  184. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js +260 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js.map +1 -0
  186. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts +9 -0
  187. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts.map +1 -0
  188. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js +14 -0
  189. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js.map +1 -0
  190. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts +18 -0
  191. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts.map +1 -0
  192. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js +113 -0
  193. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js.map +1 -0
  194. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts +82 -0
  195. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts.map +1 -0
  196. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js +1098 -0
  197. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js.map +1 -0
  198. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -7
  199. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +62 -103
  201. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts +30 -0
  203. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts.map +1 -0
  204. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js +540 -0
  205. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js.map +1 -0
  206. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts +9 -0
  207. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts.map +1 -0
  208. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js +61 -0
  209. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js.map +1 -0
  210. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +55 -0
  211. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-core/dist/editor-session.js +247 -6
  213. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  214. package/node_modules/@fps-games/editor-core/dist/index.d.ts +6 -2
  215. package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-core/dist/index.js +6 -2
  217. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  218. package/node_modules/@fps-games/editor-core/package.json +6 -6
  219. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +0 -1
  220. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
  221. package/node_modules/@fps-games/editor-forge-play/dist/index.js +0 -1
  222. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  223. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +41 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +27 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +214 -7
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +1 -0
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +11 -3
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -4
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +0 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +77 -31
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +8 -1
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts +21 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts.map +1 -1
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js +90 -4
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +27 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +161 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +2 -2
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +5 -92
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts +7 -0
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js +26 -9
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts +9 -0
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +19 -8
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts +5 -0
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts.map +1 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js +16 -4
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +9 -0
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +12 -2
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts +2 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js +10 -5
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +1 -0
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +17 -82
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +53 -57
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.d.ts.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js +3 -2
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts +10 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts.map +1 -0
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js +256 -0
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js.map +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +7 -5
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +8 -0
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +1 -0
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +134 -12
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +47 -0
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts +27 -0
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts.map +1 -0
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js +592 -0
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js.map +1 -0
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +3 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +2 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +61 -6
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +0 -2
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -10
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +21 -0
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts +13 -0
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts.map +1 -0
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js +18 -0
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js.map +1 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts +28 -0
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts.map +1 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js +863 -0
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js.map +1 -0
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +2 -0
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
  341. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts +1626 -0
  342. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts.map +1 -0
  343. package/node_modules/@fps-games/editor-protocol/dist/{agent-bridge.js → editor-command-capabilities.js} +766 -620
  344. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.js.map +1 -0
  345. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts +69 -0
  346. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts.map +1 -0
  347. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js +22 -0
  348. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js.map +1 -0
  349. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts +136 -0
  350. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts.map +1 -0
  351. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js +2 -0
  352. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js.map +1 -0
  353. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts +225 -0
  354. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts.map +1 -0
  355. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js +4 -0
  356. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js.map +1 -0
  357. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -3
  358. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  359. package/node_modules/@fps-games/editor-protocol/dist/index.js +6 -3
  360. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  361. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  362. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  363. package/node_modules/@fps-games/editor-ui/package.json +1 -1
  364. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  365. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  366. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  367. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  368. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  369. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  370. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  371. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  372. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  373. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  374. package/node_modules/@fps-games/plugin-assets/package.json +6 -6
  375. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +1 -0
  376. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -1
  377. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +78 -4
  378. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -1
  379. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +1 -1
  380. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +1 -1
  381. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -1
  382. package/node_modules/@fps-games/plugin-hierarchy/package.json +5 -5
  383. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  384. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  385. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  386. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  387. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  388. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  389. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  390. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  391. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  392. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  393. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  394. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  395. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  396. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  397. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  398. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  399. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  400. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +1 -1
  401. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +1 -1
  402. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -1
  403. package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +5 -5
  404. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  405. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  406. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  407. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  408. package/package.json +23 -23
  409. package/dist/agent-bridge/capabilities/assets.d.ts +0 -8
  410. package/dist/agent-bridge/capabilities/assets.d.ts.map +0 -1
  411. package/dist/agent-bridge/capabilities/assets.js.map +0 -1
  412. package/dist/agent-bridge/capabilities/editor-state.d.ts +0 -5
  413. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +0 -1
  414. package/dist/agent-bridge/capabilities/editor-state.js.map +0 -1
  415. package/dist/agent-bridge/capabilities/hierarchy.d.ts +0 -4
  416. package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +0 -1
  417. package/dist/agent-bridge/capabilities/hierarchy.js.map +0 -1
  418. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +0 -11
  419. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +0 -1
  420. package/dist/agent-bridge/capabilities/host-lifecycle.js +0 -149
  421. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +0 -1
  422. package/dist/agent-bridge/capabilities/prefabs.d.ts +0 -5
  423. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +0 -1
  424. package/dist/agent-bridge/capabilities/prefabs.js.map +0 -1
  425. package/dist/agent-bridge/capabilities/scene-objects.d.ts +0 -8
  426. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +0 -1
  427. package/dist/agent-bridge/capabilities/scene-objects.js +0 -480
  428. package/dist/agent-bridge/capabilities/scene-objects.js.map +0 -1
  429. package/dist/agent-bridge/capabilities/selection.d.ts +0 -5
  430. package/dist/agent-bridge/capabilities/selection.d.ts.map +0 -1
  431. package/dist/agent-bridge/capabilities/selection.js +0 -60
  432. package/dist/agent-bridge/capabilities/selection.js.map +0 -1
  433. package/dist/agent-bridge/capabilities/shadows.d.ts +0 -5
  434. package/dist/agent-bridge/capabilities/shadows.d.ts.map +0 -1
  435. package/dist/agent-bridge/capabilities/shadows.js.map +0 -1
  436. package/dist/agent-bridge/capabilities/transform.d.ts +0 -5
  437. package/dist/agent-bridge/capabilities/transform.d.ts.map +0 -1
  438. package/dist/agent-bridge/capabilities/transform.js +0 -164
  439. package/dist/agent-bridge/capabilities/transform.js.map +0 -1
  440. package/dist/agent-bridge/capabilities/ui-regions.d.ts +0 -4
  441. package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +0 -1
  442. package/dist/agent-bridge/capabilities/ui-regions.js.map +0 -1
  443. package/dist/agent-bridge/capabilities/viewport.d.ts +0 -5
  444. package/dist/agent-bridge/capabilities/viewport.d.ts.map +0 -1
  445. package/dist/agent-bridge/capabilities/viewport.js.map +0 -1
  446. package/dist/agent-bridge/capability-sources.d.ts +0 -7
  447. package/dist/agent-bridge/capability-sources.d.ts.map +0 -1
  448. package/dist/agent-bridge/capability-sources.js +0 -34
  449. package/dist/agent-bridge/capability-sources.js.map +0 -1
  450. package/dist/agent-bridge/diagnostics.d.ts +0 -12
  451. package/dist/agent-bridge/diagnostics.d.ts.map +0 -1
  452. package/dist/agent-bridge/diagnostics.js.map +0 -1
  453. package/dist/agent-bridge/index.d.ts.map +0 -1
  454. package/dist/agent-bridge/index.js.map +0 -1
  455. package/dist/agent-bridge/register.d.ts +0 -4
  456. package/dist/agent-bridge/register.d.ts.map +0 -1
  457. package/dist/agent-bridge/register.js.map +0 -1
  458. package/dist/agent-bridge/shared.d.ts.map +0 -1
  459. package/dist/agent-bridge/shared.js.map +0 -1
  460. package/dist/agent-bridge/source-types.d.ts +0 -110
  461. package/dist/agent-bridge/source-types.d.ts.map +0 -1
  462. package/dist/agent-bridge/source-types.js.map +0 -1
  463. package/dist/editor-plugin-agent-capabilities.d.ts +0 -4
  464. package/dist/editor-plugin-agent-capabilities.d.ts.map +0 -1
  465. package/dist/editor-plugin-agent-capabilities.js +0 -64
  466. package/dist/editor-plugin-agent-capabilities.js.map +0 -1
  467. package/dist/local-editor-agent-actions.d.ts +0 -43
  468. package/dist/local-editor-agent-actions.d.ts.map +0 -1
  469. package/dist/local-editor-agent-actions.js +0 -321
  470. package/dist/local-editor-agent-actions.js.map +0 -1
  471. package/dist/local-editor-agent-bridge-transport.d.ts +0 -129
  472. package/dist/local-editor-agent-bridge-transport.d.ts.map +0 -1
  473. package/dist/local-editor-agent-bridge-transport.js +0 -403
  474. package/dist/local-editor-agent-bridge-transport.js.map +0 -1
  475. package/dist/local-editor-agent-bridge.d.ts +0 -2
  476. package/dist/local-editor-agent-bridge.d.ts.map +0 -1
  477. package/dist/local-editor-agent-bridge.js +0 -2
  478. package/dist/local-editor-agent-bridge.js.map +0 -1
  479. package/dist/local-editor-agent-context.d.ts +0 -68
  480. package/dist/local-editor-agent-context.d.ts.map +0 -1
  481. package/dist/local-editor-agent-context.js +0 -716
  482. package/dist/local-editor-agent-context.js.map +0 -1
  483. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts +0 -22
  484. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts.map +0 -1
  485. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js +0 -106
  486. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +0 -1
  487. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +0 -17
  488. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +0 -1
  489. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +0 -14
  490. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +0 -1
  491. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +0 -23
  492. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +0 -1
  493. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +0 -47
  494. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +0 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts +0 -112
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map +0 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js +0 -159
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +0 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts +0 -15
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts.map +0 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js +0 -76
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +0 -1
  503. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +0 -1622
  504. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +0 -1
  505. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +0 -1
  506. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts +0 -68
  507. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts.map +0 -1
  508. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js +0 -23
  509. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +0 -1
  510. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +0 -187
  511. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +0 -1
  512. package/node_modules/@fps-games/editor-protocol/dist/agent.js +0 -5
  513. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +0 -1
  514. /package/dist/{agent-bridge → editor-commands}/source-types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared protocol surface for fps-game-editor packages and project adapters.\n *\n * This package intentionally contains no project schema, Babylon import, or\n * Forge Play implementation dependency. Runtime packages may depend on these\n * contracts; game projects provide adapters for project-specific semantics.\n */\n\nimport type { MaterialSlotSourceDescriptor } from '@fps-games/playable-contracts';\nexport type { MaterialSlotSourceDescriptor } from '@fps-games/playable-contracts';\n\nexport * from './agent';\nexport * from './agent-bridge';\nexport * from './agent-trace';\nexport * from './marker-graph';\nexport * from './editor-diagnostics';\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport type JsonValue = JsonPrimitive | JsonObject | JsonValue[];\nexport interface JsonObject { [key: string]: JsonValue | undefined }\n\nexport interface Vec3 {\n x: number;\n y: number;\n z: number;\n}\n\nexport type Position3D = Vec3;\nexport type Scale3D = Vec3;\nexport type Rotation3D = Vec3;\n\nexport interface ColorRGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport type PersistentBinding = {\n kind: 'sceneNode';\n nodeId: string;\n rootNode: unknown;\n};\n\nexport type PersistentBindingSnapshot = {\n kind: 'sceneNode';\n nodeId: string;\n};\n\nexport type RuntimeProp = 'position' | 'rotation' | 'scaling';\n\nexport type MaterialRuntimeKind = 'pbr' | 'standard' | 'unknown';\n\nexport interface ArtistMaterialTextureRef {\n url?: string;\n textureAssetId?: string;\n}\n\nexport type ArtistMaterialAlphaMode = 'opaque' | 'mask' | 'blend';\nexport type ArtistMaterialLightingModel = 'lit' | 'unlit';\n\nexport interface ArtistBaseColorProfile {\n color?: ColorRGB;\n texture?: ArtistMaterialTextureRef | null;\n brightness?: number;\n saturation?: number;\n contrast?: number;\n hue?: number;\n}\n\nexport interface ArtistNormalProfile {\n texture?: ArtistMaterialTextureRef | null;\n strength?: number;\n}\n\nexport interface ArtistMetallicRoughnessProfile {\n texture?: ArtistMaterialTextureRef | null;\n}\n\nexport interface ArtistOcclusionProfile {\n texture?: ArtistMaterialTextureRef | null;\n strength?: number;\n}\n\nexport interface ArtistEmissionProfile {\n color?: ColorRGB;\n intensity?: number;\n texture?: ArtistMaterialTextureRef | null;\n maskTexture?: ArtistMaterialTextureRef | null;\n}\n\nexport interface ArtistAlphaProfile {\n mode?: ArtistMaterialAlphaMode;\n opacity?: number;\n cutoff?: number;\n texture?: ArtistMaterialTextureRef | null;\n}\n\nexport interface ArtistMaterialProfile {\n lightingModel?: ArtistMaterialLightingModel;\n baseColor?: ArtistBaseColorProfile;\n normal?: ArtistNormalProfile;\n metallic?: number;\n roughness?: number;\n metallicRoughness?: ArtistMetallicRoughnessProfile;\n occlusion?: ArtistOcclusionProfile;\n emission?: ArtistEmissionProfile;\n alpha?: ArtistAlphaProfile;\n}\n\nexport type SceneMaterialAssetKind = 'pbr' | 'standard';\nexport type SceneMaterialAssetSystemPreset = 'default-pbr' | 'default-standard';\n\nexport interface SceneMaterialAssetSystemConfig {\n readonly?: boolean;\n preset?: SceneMaterialAssetSystemPreset;\n}\n\nexport type SceneMaterialAssetOriginType = 'imported' | 'created' | 'duplicated' | 'preset';\n\nexport interface SceneMaterialAssetOriginConfig {\n type: SceneMaterialAssetOriginType;\n sourceAssetGuid?: string;\n sourceAssetId?: string;\n sourceSlotId?: string;\n sourceMaterialIndex?: number;\n sourceMaterialName?: string;\n sourceMaterialAssetId?: string;\n}\n\nexport interface SceneMaterialAssetConfig {\n id: string;\n guid?: string;\n name: string;\n profile: ArtistMaterialProfile;\n materialKind?: SceneMaterialAssetKind;\n system?: SceneMaterialAssetSystemConfig;\n origin?: SceneMaterialAssetOriginConfig;\n}\n\nexport interface SceneNodeMaterialBindingConfig {\n materialAssetId?: string;\n override?: ArtistMaterialProfile;\n}\n\nexport interface ArtistMaterialSlotBinding {\n slot: MaterialSlotSourceDescriptor;\n profile: ArtistMaterialProfile;\n materialKind?: SceneMaterialAssetKind;\n}\n\nexport type ArtistMaterialProp =\n | 'material.lightingModel'\n | 'material.baseColor.color'\n | 'material.baseColor.texture.url'\n | 'material.baseColor.texture.textureAssetId'\n | 'material.baseColor.brightness'\n | 'material.baseColor.saturation'\n | 'material.baseColor.contrast'\n | 'material.baseColor.hue'\n | 'material.normal.texture.url'\n | 'material.normal.texture.textureAssetId'\n | 'material.normal.strength'\n | 'material.emission.color'\n | 'material.emission.intensity'\n | 'material.emission.texture.url'\n | 'material.emission.texture.textureAssetId'\n | 'material.emission.maskTexture.url'\n | 'material.emission.maskTexture.textureAssetId'\n | 'material.metallic'\n | 'material.roughness'\n | 'material.metallicRoughness.texture.url'\n | 'material.metallicRoughness.texture.textureAssetId'\n | 'material.occlusion.texture.url'\n | 'material.occlusion.texture.textureAssetId'\n | 'material.occlusion.strength'\n | 'material.alpha.mode'\n | 'material.alpha.opacity'\n | 'material.alpha.cutoff'\n | 'material.alpha.texture.url'\n | 'material.alpha.texture.textureAssetId';\n\nexport type MaterialProp =\n | 'material.albedoColor'\n | 'material.emissiveColor'\n | 'material.metallic'\n | 'material.roughness'\n | 'material.alpha'\n | 'material.alphaCutOff'\n | 'material.transparencyMode'\n | 'material.backFaceCulling'\n | 'material.albedoTexture.url'\n | 'material.normalTexture.url'\n | 'material.normalTexture.level'\n | 'material.metallicTexture.url'\n | 'material.occlusionTexture.url'\n | 'material.emissiveTexture.url'\n | 'material.opacityTexture.url'\n | 'material.pbr.albedoColor'\n | 'material.pbr.baseWeight'\n | 'material.pbr.reflectivityColor'\n | 'material.pbr.microSurface'\n | 'material.pbr.emissiveColor'\n | 'material.pbr.emissiveIntensity'\n | 'material.pbr.ambientColor'\n | 'material.pbr.lightFalloff'\n | 'material.standard.diffuseColor'\n | 'material.standard.specularColor'\n | 'material.standard.specularPower'\n | 'material.standard.emissiveColor'\n | 'material.standard.ambientColor'\n | 'material.standard.useSpecularOverAlpha';\n\nexport type MaterialValue = ColorRGB | number | boolean | string | null;\n\nexport interface ResolveArtistMaterialProfileInput {\n originalProfile?: ArtistMaterialProfile | null;\n materialAssets?: readonly SceneMaterialAssetConfig[] | null;\n binding?: SceneNodeMaterialBindingConfig | null;\n}\n\nexport interface ResolveArtistMaterialProfileResult {\n profile: ArtistMaterialProfile;\n materialAsset: SceneMaterialAssetConfig | null;\n missingMaterialAssetId?: string;\n}\n\nfunction isFiniteNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\nfunction normalizeColorRGB(value: ColorRGB | undefined): ColorRGB | undefined {\n if (!value || !isFiniteNumber(value.r) || !isFiniteNumber(value.g) || !isFiniteNumber(value.b)) return undefined;\n return { r: value.r, g: value.g, b: value.b };\n}\n\nfunction normalizeMaterialTextureRef(value: ArtistMaterialTextureRef | null | undefined): ArtistMaterialTextureRef | null | undefined {\n if (value === null) return null;\n if (!value) return undefined;\n const url = typeof value.url === 'string' ? value.url.trim() : '';\n const textureAssetId = typeof value.textureAssetId === 'string' ? value.textureAssetId.trim() : '';\n if (!url && !textureAssetId) return undefined;\n return {\n ...(url ? { url } : {}),\n ...(textureAssetId ? { textureAssetId } : {}),\n };\n}\n\nfunction normalizeArtistMaterialAlphaMode(value: unknown): ArtistMaterialAlphaMode | undefined {\n return value === 'opaque' || value === 'mask' || value === 'blend' ? value : undefined;\n}\n\nfunction normalizeArtistMaterialLightingModel(value: unknown): ArtistMaterialLightingModel | undefined {\n return value === 'lit' || value === 'unlit' ? value : undefined;\n}\n\nexport function normalizeSceneMaterialAssetKind(value: unknown): SceneMaterialAssetKind | undefined {\n return value === 'pbr' || value === 'standard' ? value : undefined;\n}\n\nexport function resolveSceneMaterialAssetKind(\n materialAsset: Pick<SceneMaterialAssetConfig, 'materialKind' | 'system'> | null | undefined,\n): SceneMaterialAssetKind {\n return normalizeSceneMaterialAssetKind(materialAsset?.materialKind)\n ?? inferSceneMaterialAssetKindFromSystemPreset(materialAsset?.system?.preset)\n ?? 'pbr';\n}\n\nexport function normalizeSceneMaterialAssetSystemConfig(\n value: SceneMaterialAssetSystemConfig | null | undefined,\n): SceneMaterialAssetSystemConfig | undefined {\n if (!value || typeof value !== 'object') return undefined;\n const preset = value.preset === 'default-pbr' || value.preset === 'default-standard'\n ? value.preset\n : undefined;\n const readonly = value.readonly === true;\n if (!preset && !readonly) return undefined;\n return {\n ...(readonly ? { readonly } : {}),\n ...(preset ? { preset } : {}),\n };\n}\n\nexport function normalizeSceneMaterialAssetOriginConfig(\n value: SceneMaterialAssetOriginConfig | null | undefined,\n): SceneMaterialAssetOriginConfig | undefined {\n if (!value || typeof value !== 'object') return undefined;\n const type = value.type === 'imported'\n || value.type === 'created'\n || value.type === 'duplicated'\n || value.type === 'preset'\n ? value.type\n : undefined;\n if (!type) return undefined;\n const sourceAssetGuid = typeof value.sourceAssetGuid === 'string' ? value.sourceAssetGuid.trim() : '';\n const sourceAssetId = typeof value.sourceAssetId === 'string' ? value.sourceAssetId.trim() : '';\n const sourceSlotId = typeof value.sourceSlotId === 'string' ? value.sourceSlotId.trim() : '';\n const sourceMaterialName = typeof value.sourceMaterialName === 'string' ? value.sourceMaterialName.trim() : '';\n const sourceMaterialAssetId = typeof value.sourceMaterialAssetId === 'string' ? value.sourceMaterialAssetId.trim() : '';\n return {\n type,\n ...(sourceAssetGuid ? { sourceAssetGuid } : {}),\n ...(sourceAssetId ? { sourceAssetId } : {}),\n ...(sourceSlotId ? { sourceSlotId } : {}),\n ...(Number.isInteger(value.sourceMaterialIndex) ? { sourceMaterialIndex: value.sourceMaterialIndex } : {}),\n ...(sourceMaterialName ? { sourceMaterialName } : {}),\n ...(sourceMaterialAssetId ? { sourceMaterialAssetId } : {}),\n };\n}\n\nexport function isReadonlySceneMaterialAsset(\n materialAsset: Pick<SceneMaterialAssetConfig, 'system'> | null | undefined,\n): boolean {\n return materialAsset?.system?.readonly === true;\n}\n\nfunction inferSceneMaterialAssetKindFromSystemPreset(\n preset: unknown,\n): SceneMaterialAssetKind | undefined {\n if (preset === 'default-pbr') return 'pbr';\n if (preset === 'default-standard') return 'standard';\n return undefined;\n}\n\nexport function normalizeArtistMaterialProfile(profile: ArtistMaterialProfile | null | undefined): ArtistMaterialProfile | undefined {\n if (!profile || typeof profile !== 'object') return undefined;\n\n const normalized: ArtistMaterialProfile = {};\n const lightingModel = normalizeArtistMaterialLightingModel(profile.lightingModel);\n if (lightingModel) normalized.lightingModel = lightingModel;\n const baseColor: ArtistBaseColorProfile = {};\n const color = normalizeColorRGB(profile.baseColor?.color);\n if (color) baseColor.color = color;\n const texture = normalizeMaterialTextureRef(profile.baseColor?.texture);\n if (texture !== undefined) baseColor.texture = texture;\n if (isFiniteNumber(profile.baseColor?.brightness)) baseColor.brightness = profile.baseColor.brightness;\n if (isFiniteNumber(profile.baseColor?.saturation)) baseColor.saturation = profile.baseColor.saturation;\n if (isFiniteNumber(profile.baseColor?.contrast)) baseColor.contrast = profile.baseColor.contrast;\n if (isFiniteNumber(profile.baseColor?.hue)) baseColor.hue = profile.baseColor.hue;\n if (Object.keys(baseColor).length > 0) normalized.baseColor = baseColor;\n\n const normal: ArtistNormalProfile = {};\n const normalTexture = normalizeMaterialTextureRef(profile.normal?.texture);\n if (normalTexture !== undefined) normal.texture = normalTexture;\n if (isFiniteNumber(profile.normal?.strength)) normal.strength = profile.normal.strength;\n if (Object.keys(normal).length > 0) normalized.normal = normal;\n\n if (isFiniteNumber(profile.metallic)) normalized.metallic = profile.metallic;\n if (isFiniteNumber(profile.roughness)) normalized.roughness = profile.roughness;\n\n const metallicRoughness: ArtistMetallicRoughnessProfile = {};\n const metallicRoughnessTexture = normalizeMaterialTextureRef(profile.metallicRoughness?.texture);\n if (metallicRoughnessTexture !== undefined) metallicRoughness.texture = metallicRoughnessTexture;\n if (Object.keys(metallicRoughness).length > 0) normalized.metallicRoughness = metallicRoughness;\n\n const occlusion: ArtistOcclusionProfile = {};\n const occlusionTexture = normalizeMaterialTextureRef(profile.occlusion?.texture);\n if (occlusionTexture !== undefined) occlusion.texture = occlusionTexture;\n if (isFiniteNumber(profile.occlusion?.strength)) occlusion.strength = profile.occlusion.strength;\n if (Object.keys(occlusion).length > 0) normalized.occlusion = occlusion;\n\n const emission: ArtistEmissionProfile = {};\n const emissionColor = normalizeColorRGB(profile.emission?.color);\n if (emissionColor) emission.color = emissionColor;\n if (isFiniteNumber(profile.emission?.intensity)) emission.intensity = profile.emission.intensity;\n const emissionTexture = normalizeMaterialTextureRef(profile.emission?.texture);\n if (emissionTexture !== undefined) emission.texture = emissionTexture;\n const maskTexture = normalizeMaterialTextureRef(profile.emission?.maskTexture);\n if (maskTexture !== undefined) emission.maskTexture = maskTexture;\n if (Object.keys(emission).length > 0) normalized.emission = emission;\n\n const alpha: ArtistAlphaProfile = {};\n const alphaMode = normalizeArtistMaterialAlphaMode(profile.alpha?.mode);\n if (alphaMode) alpha.mode = alphaMode;\n if (isFiniteNumber(profile.alpha?.opacity)) alpha.opacity = profile.alpha.opacity;\n if (isFiniteNumber(profile.alpha?.cutoff)) alpha.cutoff = profile.alpha.cutoff;\n const alphaTexture = normalizeMaterialTextureRef(profile.alpha?.texture);\n if (alphaTexture !== undefined) alpha.texture = alphaTexture;\n if (Object.keys(alpha).length > 0) normalized.alpha = alpha;\n\n return Object.keys(normalized).length > 0 ? normalized : undefined;\n}\n\nexport function normalizeSceneMaterialAssetConfig(\n materialAsset: SceneMaterialAssetConfig | null | undefined,\n): SceneMaterialAssetConfig | undefined {\n if (!materialAsset || typeof materialAsset !== 'object') return undefined;\n const id = typeof materialAsset.id === 'string' ? materialAsset.id.trim() : '';\n const guid = typeof materialAsset.guid === 'string' ? materialAsset.guid.trim() : '';\n const name = typeof materialAsset.name === 'string' ? materialAsset.name.trim() : '';\n const profile = normalizeArtistMaterialProfile(materialAsset.profile);\n if (!id || !name || !profile) return undefined;\n const system = normalizeSceneMaterialAssetSystemConfig(materialAsset.system);\n const origin = normalizeSceneMaterialAssetOriginConfig(materialAsset.origin);\n const materialKind = normalizeSceneMaterialAssetKind(materialAsset.materialKind);\n const presetKind = inferSceneMaterialAssetKindFromSystemPreset(system?.preset);\n if (materialKind && presetKind && materialKind !== presetKind) return undefined;\n return {\n id,\n ...(guid ? { guid } : {}),\n name,\n profile,\n ...(materialKind ?? presetKind ? { materialKind: materialKind ?? presetKind } : {}),\n ...(system ? { system } : {}),\n ...(origin ? { origin } : {}),\n };\n}\n\nexport function sceneMaterialGuidToStableToken(guid: string): string {\n return String(guid ?? '').trim().toLowerCase().replace(/[^a-z0-9]+/g, '');\n}\n\nexport function createSceneMaterialAssetId(guid: string): string {\n const token = sceneMaterialGuidToStableToken(guid);\n return `mat_${token || 'material'}`;\n}\n\nexport function mergeArtistMaterialProfiles(\n ...profiles: Array<ArtistMaterialProfile | null | undefined>\n): ArtistMaterialProfile {\n const merged: ArtistMaterialProfile = {};\n for (const profile of profiles) {\n const normalized = normalizeArtistMaterialProfile(profile);\n if (!normalized) continue;\n if (normalized.lightingModel) merged.lightingModel = normalized.lightingModel;\n if (normalized.baseColor) {\n merged.baseColor = {\n ...(merged.baseColor ?? {}),\n ...normalized.baseColor,\n };\n }\n if (normalized.normal) {\n merged.normal = {\n ...(merged.normal ?? {}),\n ...normalized.normal,\n };\n }\n if (normalized.metallic !== undefined) merged.metallic = normalized.metallic;\n if (normalized.roughness !== undefined) merged.roughness = normalized.roughness;\n if (normalized.metallicRoughness) {\n merged.metallicRoughness = {\n ...(merged.metallicRoughness ?? {}),\n ...normalized.metallicRoughness,\n };\n }\n if (normalized.occlusion) {\n merged.occlusion = {\n ...(merged.occlusion ?? {}),\n ...normalized.occlusion,\n };\n }\n if (normalized.emission) {\n merged.emission = {\n ...(merged.emission ?? {}),\n ...normalized.emission,\n };\n }\n if (normalized.alpha) {\n merged.alpha = {\n ...(merged.alpha ?? {}),\n ...normalized.alpha,\n };\n }\n }\n return normalizedOrEmpty(merged);\n}\n\nexport function findSceneMaterialAsset(\n materialAssets: readonly SceneMaterialAssetConfig[] | null | undefined,\n materialAssetId: string | null | undefined,\n): SceneMaterialAssetConfig | null {\n const id = typeof materialAssetId === 'string' ? materialAssetId.trim() : '';\n if (!id || !materialAssets) return null;\n return materialAssets.find(asset => asset.id === id) ?? null;\n}\n\nexport function resolveArtistMaterialProfile(\n input: ResolveArtistMaterialProfileInput,\n): ResolveArtistMaterialProfileResult {\n const materialAssetId = typeof input.binding?.materialAssetId === 'string'\n ? input.binding.materialAssetId.trim()\n : '';\n const materialAsset = findSceneMaterialAsset(input.materialAssets, materialAssetId);\n const profile = mergeArtistMaterialProfiles(\n input.originalProfile,\n materialAsset?.profile,\n input.binding?.override,\n );\n return {\n profile,\n materialAsset,\n ...(materialAssetId && !materialAsset ? { missingMaterialAssetId: materialAssetId } : {}),\n };\n}\n\nfunction normalizedOrEmpty(profile: ArtistMaterialProfile): ArtistMaterialProfile {\n return normalizeArtistMaterialProfile(profile) ?? {};\n}\n\nexport type OutlineProp =\n | 'outline.renderOutline'\n | 'outline.outlineWidth'\n | 'outline.outlineColor';\n\nexport type OutlineValue = ColorRGB | number | boolean | null;\n\nexport interface EditorDocumentExport {\n sceneJsonText: string;\n expectedVersion?: number;\n version?: number;\n}\n\nexport interface EditorDocumentCommitArgs {\n version?: number;\n updatedAt?: string;\n sceneJsonText?: string;\n scenePath?: string;\n}\n\nexport interface EditorDuplicateResult {\n rootNode?: unknown;\n}\n\nexport type EditorTool = 'pick' | 'move' | 'rotate' | 'scale';\nexport type EditorMode = 'edit' | 'play';\nexport type RuntimeOwner = 'project' | 'unknown';\nexport type SelectionSource = 'viewport' | 'tree' | 'programmatic' | 'unknown';\n\nexport interface EditorRuntimeApi {\n active?: boolean;\n init(scene: unknown): void;\n showInspector(): Promise<void> | void;\n hideInspector(): void;\n setTool?(tool: EditorTool): void;\n getSelectedEntity?(): unknown | null;\n selectEntity?(entity: unknown | null, syncInspector?: boolean): void;\n duplicateSelected?(): Promise<boolean> | boolean;\n undo(): boolean;\n redo(): boolean;\n exportDocument(): EditorDocumentExport | null;\n commitSavedDocument(args: EditorDocumentCommitArgs): boolean;\n}\n\nexport interface EditRuntimeApi {\n active?: boolean;\n enter(): Promise<void>;\n exit(save?: boolean): Promise<void>;\n _focusSelected(): void;\n isViewportNavigationActive(): boolean;\n}\n\nexport interface EditorRuntime {\n owner?: RuntimeOwner;\n Editor: EditorRuntimeApi;\n Edit: EditRuntimeApi;\n handleCommand(name: string, params: Record<string, unknown>): Promise<void> | void;\n}\n\nexport interface SelectionController {\n createV2SelectionBridge?(v2: unknown): unknown;\n bindSelectionSourceTracking?(): void;\n unbindSelectionSourceTracking?(): void;\n enablePicking?(): void;\n reset?(): void;\n getSelectedEntity?(): unknown | null;\n getSelectedEntities?(): unknown[];\n selectEntity?(\n entity: unknown | null,\n syncInspector?: boolean,\n options?: { additive?: boolean; toggle?: boolean },\n ): void;\n}\n\nexport type EditorRuntimeChange =\n | {\n kind: 'transform';\n binding: PersistentBindingSnapshot;\n prop: RuntimeProp;\n value: Position3D | Scale3D | Rotation3D;\n rootNode?: unknown;\n selectedRootNode?: unknown | null;\n }\n | {\n kind: 'material';\n binding: PersistentBindingSnapshot;\n prop: MaterialProp;\n value: MaterialValue;\n ownerNodePath: string;\n rootNode?: unknown;\n selectedRootNode?: unknown | null;\n }\n | {\n kind: 'outline';\n binding: PersistentBindingSnapshot;\n prop: OutlineProp;\n value: OutlineValue;\n ownerNodePath: string;\n rootNode?: unknown;\n selectedRootNode?: unknown | null;\n }\n | {\n kind: 'selection';\n selectedRootNode?: unknown | null;\n };\n\nexport interface EditorPluginContext {\n scene: unknown | null;\n game: unknown | null;\n}\n\nexport interface EditorPlugin {\n id: string;\n normalizeSelection?(args: {\n source: SelectionSource;\n rawEntity: unknown;\n context: EditorPluginContext;\n }): unknown | null;\n resolvePersistentBinding?(node: unknown, context: EditorPluginContext): PersistentBinding | null;\n applyDocumentChange?(args: {\n binding: PersistentBinding;\n node: unknown;\n prop: string;\n context: EditorPluginContext;\n oldValue?: unknown;\n newValue?: unknown;\n }): boolean;\n duplicateSelection?(args: {\n binding: PersistentBinding;\n node: unknown;\n context: EditorPluginContext;\n }): EditorDuplicateResult | Promise<EditorDuplicateResult | null> | null;\n isDirty?(): boolean;\n canUndo?(): boolean;\n canRedo?(): boolean;\n undoDocumentChange?(context: EditorPluginContext): EditorRuntimeChange | null;\n redoDocumentChange?(context: EditorPluginContext): EditorRuntimeChange | null;\n exportDocument?(): EditorDocumentExport | null;\n commitSavedDocument?(args: EditorDocumentCommitArgs, context: EditorPluginContext): boolean;\n}\n\nexport interface EditorMessenger {\n event?(eventName: string, payload: Record<string, unknown>): void;\n send?(type: string, payload: Record<string, unknown>): void;\n}\n\nexport interface EditorBridgeLike {\n registerEditorPlugin?: (plugin: EditorPlugin) => void;\n registerEditorRuntime?: (runtime: EditorRuntime) => void;\n messenger?: EditorMessenger;\n editor?: unknown;\n}\n\nexport const EDITOR_COMMAND_NAME = {\n MODE_CHANGE: 'mode.change',\n UNDO: 'history.undo',\n REDO: 'history.redo',\n DOCUMENT_EXPORT: 'document.export',\n DOCUMENT_COMMIT: 'document.commit',\n INSPECTOR_FLUSH: 'inspector.flush',\n ASSET_REGISTRATION_PLAN: 'asset.registration.plan',\n ASSET_UNREGISTRATION_PLAN: 'asset.unregistration.plan',\n ASSET_LIBRARY_REFRESH: 'asset.library.refresh',\n ASSET_IMPORT: 'asset.import',\n EDITOR_ASSET_PLACE: 'editor.asset.place',\n ASSET_REMOVE: 'asset.remove',\n SCENE_NODE_CREATE: 'scene.node.create',\n SCENE_NODE_PATCH: 'scene.node.patch',\n SCENE_NODE_REMOVE: 'scene.node.remove',\n SELECTION_DUPLICATE: 'selection.duplicate',\n} as const;\n\nexport type EditorCommandName = typeof EDITOR_COMMAND_NAME[keyof typeof EDITOR_COMMAND_NAME];\n\nexport const EDITOR_EVENT_NAME = {\n DOCUMENT_EXPORTED: 'document.exported',\n UNDO_RESULT: 'history.undo.result',\n REDO_RESULT: 'history.redo.result',\n INSPECTOR_FLUSHED: 'inspector.flushed',\n ASSET_REGISTRATION_PLANNED: 'asset.registration.planned',\n ASSET_REGISTRATION_FAILED: 'asset.registration.failed',\n ASSET_UNREGISTRATION_PLANNED: 'asset.unregistration.planned',\n ASSET_UNREGISTRATION_FAILED: 'asset.unregistration.failed',\n ASSET_LIBRARY_REFRESHED: 'asset.library.refreshed',\n ASSET_IMPORT_RESULT: 'asset.import.result',\n EDITOR_ASSET_PLACE_RESULT: 'editor.asset.place.result',\n ASSET_REMOVE_RESULT: 'asset.remove.result',\n SCENE_NODE_CREATE_RESULT: 'scene.node.create.result',\n SCENE_NODE_PATCH_RESULT: 'scene.node.patch.result',\n SCENE_NODE_REMOVE_RESULT: 'scene.node.remove.result',\n MODE_READY: 'mode.ready',\n SELECTION_DUPLICATE_RESULT: 'selection.duplicate.result',\n} as const;\n\nexport type EditorEventName = typeof EDITOR_EVENT_NAME[keyof typeof EDITOR_EVENT_NAME];\n\nexport const EDITOR_POST_MESSAGE = {\n CONTEXT_CHANGE: 'context:change',\n} as const;\n\nexport type EditorPostMessageType = typeof EDITOR_POST_MESSAGE[keyof typeof EDITOR_POST_MESSAGE];\n\nexport const EDITOR_CAPABILITY = {\n SCENE_TREE: 'sceneTree',\n ASSET_IMPORT: 'assetImport',\n ASSET_REGISTRY_WRITE: 'assetRegistryWrite',\n TRANSFORM_GIZMO: 'transformGizmo',\n MATERIAL_EDITING: 'materialEditing',\n OUTLINE_EDITING: 'outlineEditing',\n DOCUMENT_EXPORT: 'documentExport',\n DOCUMENT_COMMIT: 'documentCommit',\n UNDO_REDO: 'undoRedo',\n INSPECTOR: 'inspector',\n} as const;\n\nexport type EditorCapabilityName = typeof EDITOR_CAPABILITY[keyof typeof EDITOR_CAPABILITY];\nexport type EditorCapabilities = Partial<Record<EditorCapabilityName, boolean>>;\n\n// Migration aliases matching the current project-side editor-package type names.\nexport type ProjectPersistentBinding = PersistentBinding;\nexport type ProjectPersistentBindingSnapshot = PersistentBindingSnapshot;\nexport type ProjectRuntimeProp = RuntimeProp;\nexport type ProjectMaterialRuntimeKind = MaterialRuntimeKind;\nexport type ProjectMaterialProp = MaterialProp;\nexport type ProjectMaterialValue = MaterialValue;\nexport type ProjectOutlineProp = OutlineProp;\nexport type ProjectOutlineValue = OutlineValue;\nexport type ProjectRotation3D = Rotation3D;\nexport type ProjectEditorDocumentExport = EditorDocumentExport;\nexport type ProjectEditorDocumentCommitArgs = EditorDocumentCommitArgs;\nexport type ProjectEditorDuplicateResult = EditorDuplicateResult;\nexport type ProjectEditorRuntimeApi = EditorRuntimeApi;\nexport type ProjectEditRuntimeApi = EditRuntimeApi;\nexport type ProjectEditorRuntime = EditorRuntime;\nexport type ProjectSelectionController = SelectionController;\nexport type ProjectEditorRuntimeChange = EditorRuntimeChange;\nexport type ProjectEditorPluginContext = EditorPluginContext;\nexport type ProjectEditorPlugin = EditorPlugin;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared protocol surface for fps-game-editor packages and project adapters.\n *\n * This package intentionally contains no project schema, Babylon import, or\n * Forge Play implementation dependency. Runtime packages may depend on these\n * contracts; game projects provide adapters for project-specific semantics.\n */\n\nimport type { MaterialSlotSourceDescriptor } from '@fps-games/playable-contracts';\nexport type { MaterialSlotSourceDescriptor } from '@fps-games/playable-contracts';\n\nexport * from './editor-command-capabilities';\nexport * from './editor-command-trace';\nexport * from './marker-graph';\nexport * from './editor-diagnostics';\nexport * from './editor-command';\nexport * from './editor-service';\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport type JsonValue = JsonPrimitive | JsonObject | JsonValue[];\nexport interface JsonObject { [key: string]: JsonValue | undefined }\n\nexport interface Vec3 {\n x: number;\n y: number;\n z: number;\n}\n\nexport type Position3D = Vec3;\nexport type Scale3D = Vec3;\nexport type Rotation3D = Vec3;\n\nexport interface ColorRGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport type PersistentBinding = {\n kind: 'sceneNode';\n nodeId: string;\n rootNode: unknown;\n};\n\nexport type PersistentBindingSnapshot = {\n kind: 'sceneNode';\n nodeId: string;\n};\n\nexport type RuntimeProp = 'position' | 'rotation' | 'scaling';\n\nexport type MaterialRuntimeKind = 'pbr' | 'standard' | 'unknown';\n\nexport interface ArtistMaterialTextureRef {\n url?: string;\n textureAssetId?: string;\n}\n\nexport type ArtistMaterialAlphaMode = 'opaque' | 'mask' | 'blend';\nexport type ArtistMaterialLightingModel = 'lit' | 'unlit';\n\nexport interface ArtistBaseColorProfile {\n color?: ColorRGB;\n texture?: ArtistMaterialTextureRef | null;\n brightness?: number;\n saturation?: number;\n contrast?: number;\n hue?: number;\n}\n\nexport interface ArtistNormalProfile {\n texture?: ArtistMaterialTextureRef | null;\n strength?: number;\n}\n\nexport interface ArtistMetallicRoughnessProfile {\n texture?: ArtistMaterialTextureRef | null;\n}\n\nexport interface ArtistOcclusionProfile {\n texture?: ArtistMaterialTextureRef | null;\n strength?: number;\n}\n\nexport interface ArtistEmissionProfile {\n color?: ColorRGB;\n intensity?: number;\n texture?: ArtistMaterialTextureRef | null;\n maskTexture?: ArtistMaterialTextureRef | null;\n}\n\nexport interface ArtistAlphaProfile {\n mode?: ArtistMaterialAlphaMode;\n opacity?: number;\n cutoff?: number;\n texture?: ArtistMaterialTextureRef | null;\n}\n\nexport interface ArtistMaterialProfile {\n lightingModel?: ArtistMaterialLightingModel;\n baseColor?: ArtistBaseColorProfile;\n normal?: ArtistNormalProfile;\n metallic?: number;\n roughness?: number;\n metallicRoughness?: ArtistMetallicRoughnessProfile;\n occlusion?: ArtistOcclusionProfile;\n emission?: ArtistEmissionProfile;\n alpha?: ArtistAlphaProfile;\n}\n\nexport type SceneMaterialAssetKind = 'pbr' | 'standard';\nexport type SceneMaterialAssetSystemPreset = 'default-pbr' | 'default-standard';\n\nexport interface SceneMaterialAssetSystemConfig {\n readonly?: boolean;\n preset?: SceneMaterialAssetSystemPreset;\n}\n\nexport type SceneMaterialAssetOriginType = 'imported' | 'created' | 'duplicated' | 'preset';\n\nexport interface SceneMaterialAssetOriginConfig {\n type: SceneMaterialAssetOriginType;\n sourceAssetGuid?: string;\n sourceAssetId?: string;\n sourceSlotId?: string;\n sourceMaterialIndex?: number;\n sourceMaterialName?: string;\n sourceMaterialAssetId?: string;\n}\n\nexport interface SceneMaterialAssetConfig {\n id: string;\n guid?: string;\n name: string;\n profile: ArtistMaterialProfile;\n materialKind?: SceneMaterialAssetKind;\n system?: SceneMaterialAssetSystemConfig;\n origin?: SceneMaterialAssetOriginConfig;\n}\n\nexport interface SceneNodeMaterialBindingConfig {\n materialAssetId?: string;\n override?: ArtistMaterialProfile;\n}\n\nexport interface ArtistMaterialSlotBinding {\n slot: MaterialSlotSourceDescriptor;\n profile: ArtistMaterialProfile;\n materialKind?: SceneMaterialAssetKind;\n}\n\nexport type ArtistMaterialProp =\n | 'material.lightingModel'\n | 'material.baseColor.color'\n | 'material.baseColor.texture.url'\n | 'material.baseColor.texture.textureAssetId'\n | 'material.baseColor.brightness'\n | 'material.baseColor.saturation'\n | 'material.baseColor.contrast'\n | 'material.baseColor.hue'\n | 'material.normal.texture.url'\n | 'material.normal.texture.textureAssetId'\n | 'material.normal.strength'\n | 'material.emission.color'\n | 'material.emission.intensity'\n | 'material.emission.texture.url'\n | 'material.emission.texture.textureAssetId'\n | 'material.emission.maskTexture.url'\n | 'material.emission.maskTexture.textureAssetId'\n | 'material.metallic'\n | 'material.roughness'\n | 'material.metallicRoughness.texture.url'\n | 'material.metallicRoughness.texture.textureAssetId'\n | 'material.occlusion.texture.url'\n | 'material.occlusion.texture.textureAssetId'\n | 'material.occlusion.strength'\n | 'material.alpha.mode'\n | 'material.alpha.opacity'\n | 'material.alpha.cutoff'\n | 'material.alpha.texture.url'\n | 'material.alpha.texture.textureAssetId';\n\nexport type MaterialProp =\n | 'material.albedoColor'\n | 'material.emissiveColor'\n | 'material.metallic'\n | 'material.roughness'\n | 'material.alpha'\n | 'material.alphaCutOff'\n | 'material.transparencyMode'\n | 'material.backFaceCulling'\n | 'material.albedoTexture.url'\n | 'material.normalTexture.url'\n | 'material.normalTexture.level'\n | 'material.metallicTexture.url'\n | 'material.occlusionTexture.url'\n | 'material.emissiveTexture.url'\n | 'material.opacityTexture.url'\n | 'material.pbr.albedoColor'\n | 'material.pbr.baseWeight'\n | 'material.pbr.reflectivityColor'\n | 'material.pbr.microSurface'\n | 'material.pbr.emissiveColor'\n | 'material.pbr.emissiveIntensity'\n | 'material.pbr.ambientColor'\n | 'material.pbr.lightFalloff'\n | 'material.standard.diffuseColor'\n | 'material.standard.specularColor'\n | 'material.standard.specularPower'\n | 'material.standard.emissiveColor'\n | 'material.standard.ambientColor'\n | 'material.standard.useSpecularOverAlpha';\n\nexport type MaterialValue = ColorRGB | number | boolean | string | null;\n\nexport interface ResolveArtistMaterialProfileInput {\n originalProfile?: ArtistMaterialProfile | null;\n materialAssets?: readonly SceneMaterialAssetConfig[] | null;\n binding?: SceneNodeMaterialBindingConfig | null;\n}\n\nexport interface ResolveArtistMaterialProfileResult {\n profile: ArtistMaterialProfile;\n materialAsset: SceneMaterialAssetConfig | null;\n missingMaterialAssetId?: string;\n}\n\nfunction isFiniteNumber(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\nfunction normalizeColorRGB(value: ColorRGB | undefined): ColorRGB | undefined {\n if (!value || !isFiniteNumber(value.r) || !isFiniteNumber(value.g) || !isFiniteNumber(value.b)) return undefined;\n return { r: value.r, g: value.g, b: value.b };\n}\n\nfunction normalizeMaterialTextureRef(value: ArtistMaterialTextureRef | null | undefined): ArtistMaterialTextureRef | null | undefined {\n if (value === null) return null;\n if (!value) return undefined;\n const url = typeof value.url === 'string' ? value.url.trim() : '';\n const textureAssetId = typeof value.textureAssetId === 'string' ? value.textureAssetId.trim() : '';\n if (!url && !textureAssetId) return undefined;\n return {\n ...(url ? { url } : {}),\n ...(textureAssetId ? { textureAssetId } : {}),\n };\n}\n\nfunction normalizeArtistMaterialAlphaMode(value: unknown): ArtistMaterialAlphaMode | undefined {\n return value === 'opaque' || value === 'mask' || value === 'blend' ? value : undefined;\n}\n\nfunction normalizeArtistMaterialLightingModel(value: unknown): ArtistMaterialLightingModel | undefined {\n return value === 'lit' || value === 'unlit' ? value : undefined;\n}\n\nexport function normalizeSceneMaterialAssetKind(value: unknown): SceneMaterialAssetKind | undefined {\n return value === 'pbr' || value === 'standard' ? value : undefined;\n}\n\nexport function resolveSceneMaterialAssetKind(\n materialAsset: Pick<SceneMaterialAssetConfig, 'materialKind' | 'system'> | null | undefined,\n): SceneMaterialAssetKind {\n return normalizeSceneMaterialAssetKind(materialAsset?.materialKind)\n ?? inferSceneMaterialAssetKindFromSystemPreset(materialAsset?.system?.preset)\n ?? 'pbr';\n}\n\nexport function normalizeSceneMaterialAssetSystemConfig(\n value: SceneMaterialAssetSystemConfig | null | undefined,\n): SceneMaterialAssetSystemConfig | undefined {\n if (!value || typeof value !== 'object') return undefined;\n const preset = value.preset === 'default-pbr' || value.preset === 'default-standard'\n ? value.preset\n : undefined;\n const readonly = value.readonly === true;\n if (!preset && !readonly) return undefined;\n return {\n ...(readonly ? { readonly } : {}),\n ...(preset ? { preset } : {}),\n };\n}\n\nexport function normalizeSceneMaterialAssetOriginConfig(\n value: SceneMaterialAssetOriginConfig | null | undefined,\n): SceneMaterialAssetOriginConfig | undefined {\n if (!value || typeof value !== 'object') return undefined;\n const type = value.type === 'imported'\n || value.type === 'created'\n || value.type === 'duplicated'\n || value.type === 'preset'\n ? value.type\n : undefined;\n if (!type) return undefined;\n const sourceAssetGuid = typeof value.sourceAssetGuid === 'string' ? value.sourceAssetGuid.trim() : '';\n const sourceAssetId = typeof value.sourceAssetId === 'string' ? value.sourceAssetId.trim() : '';\n const sourceSlotId = typeof value.sourceSlotId === 'string' ? value.sourceSlotId.trim() : '';\n const sourceMaterialName = typeof value.sourceMaterialName === 'string' ? value.sourceMaterialName.trim() : '';\n const sourceMaterialAssetId = typeof value.sourceMaterialAssetId === 'string' ? value.sourceMaterialAssetId.trim() : '';\n return {\n type,\n ...(sourceAssetGuid ? { sourceAssetGuid } : {}),\n ...(sourceAssetId ? { sourceAssetId } : {}),\n ...(sourceSlotId ? { sourceSlotId } : {}),\n ...(Number.isInteger(value.sourceMaterialIndex) ? { sourceMaterialIndex: value.sourceMaterialIndex } : {}),\n ...(sourceMaterialName ? { sourceMaterialName } : {}),\n ...(sourceMaterialAssetId ? { sourceMaterialAssetId } : {}),\n };\n}\n\nexport function isReadonlySceneMaterialAsset(\n materialAsset: Pick<SceneMaterialAssetConfig, 'system'> | null | undefined,\n): boolean {\n return materialAsset?.system?.readonly === true;\n}\n\nfunction inferSceneMaterialAssetKindFromSystemPreset(\n preset: unknown,\n): SceneMaterialAssetKind | undefined {\n if (preset === 'default-pbr') return 'pbr';\n if (preset === 'default-standard') return 'standard';\n return undefined;\n}\n\nexport function normalizeArtistMaterialProfile(profile: ArtistMaterialProfile | null | undefined): ArtistMaterialProfile | undefined {\n if (!profile || typeof profile !== 'object') return undefined;\n\n const normalized: ArtistMaterialProfile = {};\n const lightingModel = normalizeArtistMaterialLightingModel(profile.lightingModel);\n if (lightingModel) normalized.lightingModel = lightingModel;\n const baseColor: ArtistBaseColorProfile = {};\n const color = normalizeColorRGB(profile.baseColor?.color);\n if (color) baseColor.color = color;\n const texture = normalizeMaterialTextureRef(profile.baseColor?.texture);\n if (texture !== undefined) baseColor.texture = texture;\n if (isFiniteNumber(profile.baseColor?.brightness)) baseColor.brightness = profile.baseColor.brightness;\n if (isFiniteNumber(profile.baseColor?.saturation)) baseColor.saturation = profile.baseColor.saturation;\n if (isFiniteNumber(profile.baseColor?.contrast)) baseColor.contrast = profile.baseColor.contrast;\n if (isFiniteNumber(profile.baseColor?.hue)) baseColor.hue = profile.baseColor.hue;\n if (Object.keys(baseColor).length > 0) normalized.baseColor = baseColor;\n\n const normal: ArtistNormalProfile = {};\n const normalTexture = normalizeMaterialTextureRef(profile.normal?.texture);\n if (normalTexture !== undefined) normal.texture = normalTexture;\n if (isFiniteNumber(profile.normal?.strength)) normal.strength = profile.normal.strength;\n if (Object.keys(normal).length > 0) normalized.normal = normal;\n\n if (isFiniteNumber(profile.metallic)) normalized.metallic = profile.metallic;\n if (isFiniteNumber(profile.roughness)) normalized.roughness = profile.roughness;\n\n const metallicRoughness: ArtistMetallicRoughnessProfile = {};\n const metallicRoughnessTexture = normalizeMaterialTextureRef(profile.metallicRoughness?.texture);\n if (metallicRoughnessTexture !== undefined) metallicRoughness.texture = metallicRoughnessTexture;\n if (Object.keys(metallicRoughness).length > 0) normalized.metallicRoughness = metallicRoughness;\n\n const occlusion: ArtistOcclusionProfile = {};\n const occlusionTexture = normalizeMaterialTextureRef(profile.occlusion?.texture);\n if (occlusionTexture !== undefined) occlusion.texture = occlusionTexture;\n if (isFiniteNumber(profile.occlusion?.strength)) occlusion.strength = profile.occlusion.strength;\n if (Object.keys(occlusion).length > 0) normalized.occlusion = occlusion;\n\n const emission: ArtistEmissionProfile = {};\n const emissionColor = normalizeColorRGB(profile.emission?.color);\n if (emissionColor) emission.color = emissionColor;\n if (isFiniteNumber(profile.emission?.intensity)) emission.intensity = profile.emission.intensity;\n const emissionTexture = normalizeMaterialTextureRef(profile.emission?.texture);\n if (emissionTexture !== undefined) emission.texture = emissionTexture;\n const maskTexture = normalizeMaterialTextureRef(profile.emission?.maskTexture);\n if (maskTexture !== undefined) emission.maskTexture = maskTexture;\n if (Object.keys(emission).length > 0) normalized.emission = emission;\n\n const alpha: ArtistAlphaProfile = {};\n const alphaMode = normalizeArtistMaterialAlphaMode(profile.alpha?.mode);\n if (alphaMode) alpha.mode = alphaMode;\n if (isFiniteNumber(profile.alpha?.opacity)) alpha.opacity = profile.alpha.opacity;\n if (isFiniteNumber(profile.alpha?.cutoff)) alpha.cutoff = profile.alpha.cutoff;\n const alphaTexture = normalizeMaterialTextureRef(profile.alpha?.texture);\n if (alphaTexture !== undefined) alpha.texture = alphaTexture;\n if (Object.keys(alpha).length > 0) normalized.alpha = alpha;\n\n return Object.keys(normalized).length > 0 ? normalized : undefined;\n}\n\nexport function normalizeSceneMaterialAssetConfig(\n materialAsset: SceneMaterialAssetConfig | null | undefined,\n): SceneMaterialAssetConfig | undefined {\n if (!materialAsset || typeof materialAsset !== 'object') return undefined;\n const id = typeof materialAsset.id === 'string' ? materialAsset.id.trim() : '';\n const guid = typeof materialAsset.guid === 'string' ? materialAsset.guid.trim() : '';\n const name = typeof materialAsset.name === 'string' ? materialAsset.name.trim() : '';\n const profile = normalizeArtistMaterialProfile(materialAsset.profile);\n if (!id || !name || !profile) return undefined;\n const system = normalizeSceneMaterialAssetSystemConfig(materialAsset.system);\n const origin = normalizeSceneMaterialAssetOriginConfig(materialAsset.origin);\n const materialKind = normalizeSceneMaterialAssetKind(materialAsset.materialKind);\n const presetKind = inferSceneMaterialAssetKindFromSystemPreset(system?.preset);\n if (materialKind && presetKind && materialKind !== presetKind) return undefined;\n return {\n id,\n ...(guid ? { guid } : {}),\n name,\n profile,\n ...(materialKind ?? presetKind ? { materialKind: materialKind ?? presetKind } : {}),\n ...(system ? { system } : {}),\n ...(origin ? { origin } : {}),\n };\n}\n\nexport function sceneMaterialGuidToStableToken(guid: string): string {\n return String(guid ?? '').trim().toLowerCase().replace(/[^a-z0-9]+/g, '');\n}\n\nexport function createSceneMaterialAssetId(guid: string): string {\n const token = sceneMaterialGuidToStableToken(guid);\n return `mat_${token || 'material'}`;\n}\n\nexport function mergeArtistMaterialProfiles(\n ...profiles: Array<ArtistMaterialProfile | null | undefined>\n): ArtistMaterialProfile {\n const merged: ArtistMaterialProfile = {};\n for (const profile of profiles) {\n const normalized = normalizeArtistMaterialProfile(profile);\n if (!normalized) continue;\n if (normalized.lightingModel) merged.lightingModel = normalized.lightingModel;\n if (normalized.baseColor) {\n merged.baseColor = {\n ...(merged.baseColor ?? {}),\n ...normalized.baseColor,\n };\n }\n if (normalized.normal) {\n merged.normal = {\n ...(merged.normal ?? {}),\n ...normalized.normal,\n };\n }\n if (normalized.metallic !== undefined) merged.metallic = normalized.metallic;\n if (normalized.roughness !== undefined) merged.roughness = normalized.roughness;\n if (normalized.metallicRoughness) {\n merged.metallicRoughness = {\n ...(merged.metallicRoughness ?? {}),\n ...normalized.metallicRoughness,\n };\n }\n if (normalized.occlusion) {\n merged.occlusion = {\n ...(merged.occlusion ?? {}),\n ...normalized.occlusion,\n };\n }\n if (normalized.emission) {\n merged.emission = {\n ...(merged.emission ?? {}),\n ...normalized.emission,\n };\n }\n if (normalized.alpha) {\n merged.alpha = {\n ...(merged.alpha ?? {}),\n ...normalized.alpha,\n };\n }\n }\n return normalizedOrEmpty(merged);\n}\n\nexport function findSceneMaterialAsset(\n materialAssets: readonly SceneMaterialAssetConfig[] | null | undefined,\n materialAssetId: string | null | undefined,\n): SceneMaterialAssetConfig | null {\n const id = typeof materialAssetId === 'string' ? materialAssetId.trim() : '';\n if (!id || !materialAssets) return null;\n return materialAssets.find(asset => asset.id === id) ?? null;\n}\n\nexport function resolveArtistMaterialProfile(\n input: ResolveArtistMaterialProfileInput,\n): ResolveArtistMaterialProfileResult {\n const materialAssetId = typeof input.binding?.materialAssetId === 'string'\n ? input.binding.materialAssetId.trim()\n : '';\n const materialAsset = findSceneMaterialAsset(input.materialAssets, materialAssetId);\n const profile = mergeArtistMaterialProfiles(\n input.originalProfile,\n materialAsset?.profile,\n input.binding?.override,\n );\n return {\n profile,\n materialAsset,\n ...(materialAssetId && !materialAsset ? { missingMaterialAssetId: materialAssetId } : {}),\n };\n}\n\nfunction normalizedOrEmpty(profile: ArtistMaterialProfile): ArtistMaterialProfile {\n return normalizeArtistMaterialProfile(profile) ?? {};\n}\n\nexport type OutlineProp =\n | 'outline.renderOutline'\n | 'outline.outlineWidth'\n | 'outline.outlineColor';\n\nexport type OutlineValue = ColorRGB | number | boolean | null;\n\nexport interface EditorDocumentExport {\n sceneJsonText: string;\n expectedVersion?: number;\n version?: number;\n}\n\nexport interface EditorDocumentCommitArgs {\n version?: number;\n updatedAt?: string;\n sceneJsonText?: string;\n scenePath?: string;\n}\n\nexport interface EditorDuplicateResult {\n rootNode?: unknown;\n}\n\nexport type EditorTool = 'pick' | 'move' | 'rotate' | 'scale';\nexport type EditorMode = 'edit' | 'play';\nexport type RuntimeOwner = 'project' | 'unknown';\nexport type SelectionSource = 'viewport' | 'tree' | 'programmatic' | 'unknown';\n\nexport interface EditorRuntimeApi {\n active?: boolean;\n init(scene: unknown): void;\n showInspector(): Promise<void> | void;\n hideInspector(): void;\n setTool?(tool: EditorTool): void;\n getSelectedEntity?(): unknown | null;\n selectEntity?(entity: unknown | null, syncInspector?: boolean): void;\n duplicateSelected?(): Promise<boolean> | boolean;\n undo(): boolean;\n redo(): boolean;\n exportDocument(): EditorDocumentExport | null;\n commitSavedDocument(args: EditorDocumentCommitArgs): boolean;\n}\n\nexport interface EditRuntimeApi {\n active?: boolean;\n enter(): Promise<void>;\n exit(save?: boolean): Promise<void>;\n _focusSelected(): void;\n isViewportNavigationActive(): boolean;\n}\n\nexport interface EditorRuntime {\n owner?: RuntimeOwner;\n Editor: EditorRuntimeApi;\n Edit: EditRuntimeApi;\n handleCommand(name: string, params: Record<string, unknown>): Promise<void> | void;\n}\n\nexport interface SelectionController {\n createV2SelectionBridge?(v2: unknown): unknown;\n bindSelectionSourceTracking?(): void;\n unbindSelectionSourceTracking?(): void;\n enablePicking?(): void;\n reset?(): void;\n getSelectedEntity?(): unknown | null;\n getSelectedEntities?(): unknown[];\n selectEntity?(\n entity: unknown | null,\n syncInspector?: boolean,\n options?: { additive?: boolean; toggle?: boolean },\n ): void;\n}\n\nexport type EditorRuntimeChange =\n | {\n kind: 'transform';\n binding: PersistentBindingSnapshot;\n prop: RuntimeProp;\n value: Position3D | Scale3D | Rotation3D;\n rootNode?: unknown;\n selectedRootNode?: unknown | null;\n }\n | {\n kind: 'material';\n binding: PersistentBindingSnapshot;\n prop: MaterialProp;\n value: MaterialValue;\n ownerNodePath: string;\n rootNode?: unknown;\n selectedRootNode?: unknown | null;\n }\n | {\n kind: 'outline';\n binding: PersistentBindingSnapshot;\n prop: OutlineProp;\n value: OutlineValue;\n ownerNodePath: string;\n rootNode?: unknown;\n selectedRootNode?: unknown | null;\n }\n | {\n kind: 'selection';\n selectedRootNode?: unknown | null;\n };\n\nexport interface EditorPluginContext {\n scene: unknown | null;\n game: unknown | null;\n}\n\nexport interface EditorPlugin {\n id: string;\n normalizeSelection?(args: {\n source: SelectionSource;\n rawEntity: unknown;\n context: EditorPluginContext;\n }): unknown | null;\n resolvePersistentBinding?(node: unknown, context: EditorPluginContext): PersistentBinding | null;\n applyDocumentChange?(args: {\n binding: PersistentBinding;\n node: unknown;\n prop: string;\n context: EditorPluginContext;\n oldValue?: unknown;\n newValue?: unknown;\n }): boolean;\n duplicateSelection?(args: {\n binding: PersistentBinding;\n node: unknown;\n context: EditorPluginContext;\n }): EditorDuplicateResult | Promise<EditorDuplicateResult | null> | null;\n isDirty?(): boolean;\n canUndo?(): boolean;\n canRedo?(): boolean;\n undoDocumentChange?(context: EditorPluginContext): EditorRuntimeChange | null;\n redoDocumentChange?(context: EditorPluginContext): EditorRuntimeChange | null;\n exportDocument?(): EditorDocumentExport | null;\n commitSavedDocument?(args: EditorDocumentCommitArgs, context: EditorPluginContext): boolean;\n}\n\nexport interface EditorMessenger {\n event?(eventName: string, payload: Record<string, unknown>): void;\n send?(type: string, payload: Record<string, unknown>): void;\n}\n\nexport interface EditorBridgeLike {\n registerEditorPlugin?: (plugin: EditorPlugin) => void;\n registerEditorRuntime?: (runtime: EditorRuntime) => void;\n messenger?: EditorMessenger;\n editor?: unknown;\n}\n\nexport const EDITOR_COMMAND_NAME = {\n MODE_CHANGE: 'mode.change',\n UNDO: 'history.undo',\n REDO: 'history.redo',\n DOCUMENT_EXPORT: 'document.export',\n DOCUMENT_COMMIT: 'document.commit',\n INSPECTOR_FLUSH: 'inspector.flush',\n ASSET_REGISTRATION_PLAN: 'asset.registration.plan',\n ASSET_UNREGISTRATION_PLAN: 'asset.unregistration.plan',\n ASSET_LIBRARY_REFRESH: 'asset.library.refresh',\n ASSET_IMPORT: 'asset.import',\n EDITOR_ASSET_PLACE: 'editor.asset.place',\n ASSET_REMOVE: 'asset.remove',\n SCENE_NODE_CREATE: 'scene.node.create',\n SCENE_NODE_PATCH: 'scene.node.patch',\n SCENE_NODE_REMOVE: 'scene.node.remove',\n SELECTION_DUPLICATE: 'selection.duplicate',\n} as const;\n\nexport type EditorCommandName = typeof EDITOR_COMMAND_NAME[keyof typeof EDITOR_COMMAND_NAME];\n\nexport const EDITOR_EVENT_NAME = {\n EDITOR_SESSION_READY: 'editor.session.ready',\n DOCUMENT_COMMITTED: 'document.committed',\n DOCUMENT_EXPORTED: 'document.exported',\n UNDO_RESULT: 'history.undo.result',\n REDO_RESULT: 'history.redo.result',\n INSPECTOR_FLUSHED: 'inspector.flushed',\n ASSET_REGISTRATION_PLANNED: 'asset.registration.planned',\n ASSET_REGISTRATION_FAILED: 'asset.registration.failed',\n ASSET_UNREGISTRATION_PLANNED: 'asset.unregistration.planned',\n ASSET_UNREGISTRATION_FAILED: 'asset.unregistration.failed',\n ASSET_LIBRARY_REFRESHED: 'asset.library.refreshed',\n ASSET_IMPORT_RESULT: 'asset.import.result',\n EDITOR_ASSET_PLACE_RESULT: 'editor.asset.place.result',\n ASSET_REMOVE_RESULT: 'asset.remove.result',\n SCENE_NODE_CREATE_RESULT: 'scene.node.create.result',\n SCENE_NODE_PATCH_RESULT: 'scene.node.patch.result',\n SCENE_NODE_REMOVE_RESULT: 'scene.node.remove.result',\n MODE_READY: 'mode.ready',\n SELECTION_DUPLICATE_RESULT: 'selection.duplicate.result',\n} as const;\n\nexport type EditorEventName = typeof EDITOR_EVENT_NAME[keyof typeof EDITOR_EVENT_NAME];\n\nexport const EDITOR_POST_MESSAGE = {\n CONTEXT_CHANGE: 'context:change',\n} as const;\n\nexport type EditorPostMessageType = typeof EDITOR_POST_MESSAGE[keyof typeof EDITOR_POST_MESSAGE];\n\nexport const EDITOR_CAPABILITY = {\n SCENE_TREE: 'sceneTree',\n ASSET_IMPORT: 'assetImport',\n ASSET_REGISTRY_WRITE: 'assetRegistryWrite',\n TRANSFORM_GIZMO: 'transformGizmo',\n MATERIAL_EDITING: 'materialEditing',\n OUTLINE_EDITING: 'outlineEditing',\n DOCUMENT_EXPORT: 'documentExport',\n DOCUMENT_COMMIT: 'documentCommit',\n UNDO_REDO: 'undoRedo',\n INSPECTOR: 'inspector',\n} as const;\n\nexport type EditorCapabilityName = typeof EDITOR_CAPABILITY[keyof typeof EDITOR_CAPABILITY];\nexport type EditorCapabilities = Partial<Record<EditorCapabilityName, boolean>>;\n\n// Migration aliases matching the current project-side editor-package type names.\nexport type ProjectPersistentBinding = PersistentBinding;\nexport type ProjectPersistentBindingSnapshot = PersistentBindingSnapshot;\nexport type ProjectRuntimeProp = RuntimeProp;\nexport type ProjectMaterialRuntimeKind = MaterialRuntimeKind;\nexport type ProjectMaterialProp = MaterialProp;\nexport type ProjectMaterialValue = MaterialValue;\nexport type ProjectOutlineProp = OutlineProp;\nexport type ProjectOutlineValue = OutlineValue;\nexport type ProjectRotation3D = Rotation3D;\nexport type ProjectEditorDocumentExport = EditorDocumentExport;\nexport type ProjectEditorDocumentCommitArgs = EditorDocumentCommitArgs;\nexport type ProjectEditorDuplicateResult = EditorDuplicateResult;\nexport type ProjectEditorRuntimeApi = EditorRuntimeApi;\nexport type ProjectEditRuntimeApi = EditRuntimeApi;\nexport type ProjectEditorRuntime = EditorRuntime;\nexport type ProjectSelectionController = SelectionController;\nexport type ProjectEditorRuntimeChange = EditorRuntimeChange;\nexport type ProjectEditorPluginContext = EditorPluginContext;\nexport type ProjectEditorPlugin = EditorPlugin;\n"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-protocol",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Shared protocol types for fps-game-editor runtimes, adapters, and Forge Play bridges.",
@@ -14,6 +14,6 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@fps-games/playable-contracts": "0.2.1-beta.3"
17
+ "@fps-games/playable-contracts": "0.2.1-beta.4"
18
18
  }
19
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-tooling",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Static Plugin manifest planning and tooling host for fps-game-editor.",
@@ -22,8 +22,8 @@
22
22
  }
23
23
  },
24
24
  "dependencies": {
25
- "@fps-games/plugin-api": "0.2.1-beta.3",
26
- "@fps-games/plugin-host": "0.2.1-beta.3"
25
+ "@fps-games/plugin-api": "0.2.1-beta.4",
26
+ "@fps-games/plugin-host": "0.2.1-beta.4"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "vite": "^5.4.21"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/editor-ui",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Vendor-backed UI components and visual fixtures for fps-game-editor.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/playable-assets",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Environment-neutral asset identity and catalog domain logic.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/playable-contracts",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Environment-neutral data contracts shared by fps-games runtime, renderer, and editor packages.",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/playable-rendering",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Environment-neutral rendering and shadow contracts and resolution logic.",
@@ -18,6 +18,6 @@
18
18
  }
19
19
  },
20
20
  "dependencies": {
21
- "@fps-games/playable-contracts": "0.2.1-beta.3"
21
+ "@fps-games/playable-contracts": "0.2.1-beta.4"
22
22
  }
23
23
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/playable-runtime",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Plugin-based runtime host for fps-games playable projects.",
@@ -14,16 +14,16 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@fps-games/playable-contracts": "0.2.1-beta.3",
18
- "@fps-games/playable-rendering": "0.2.1-beta.3",
19
- "@fps-games/playable-runtime-data": "0.2.1-beta.3",
20
- "@fps-games/plugin-assets": "0.2.1-beta.3",
21
- "@fps-games/plugin-materials": "0.2.1-beta.3",
22
- "@fps-games/plugin-markers": "0.2.1-beta.3",
23
- "@fps-games/plugin-rendering": "0.2.1-beta.3",
24
- "@fps-games/plugin-shadows": "0.2.1-beta.3",
25
- "@fps-games/plugin-scene": "0.2.1-beta.3",
26
- "@fps-games/plugin-api": "0.2.1-beta.3",
27
- "@fps-games/plugin-host": "0.2.1-beta.3"
17
+ "@fps-games/playable-contracts": "0.2.1-beta.4",
18
+ "@fps-games/playable-rendering": "0.2.1-beta.4",
19
+ "@fps-games/playable-runtime-data": "0.2.1-beta.4",
20
+ "@fps-games/plugin-assets": "0.2.1-beta.4",
21
+ "@fps-games/plugin-materials": "0.2.1-beta.4",
22
+ "@fps-games/plugin-markers": "0.2.1-beta.4",
23
+ "@fps-games/plugin-rendering": "0.2.1-beta.4",
24
+ "@fps-games/plugin-shadows": "0.2.1-beta.4",
25
+ "@fps-games/plugin-scene": "0.2.1-beta.4",
26
+ "@fps-games/plugin-api": "0.2.1-beta.4",
27
+ "@fps-games/plugin-host": "0.2.1-beta.4"
28
28
  }
29
29
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/playable-runtime-data",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Strict validation and immutable snapshots for fps-games Runtime Data.",
@@ -14,8 +14,8 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@fps-games/playable-contracts": "0.2.1-beta.3",
18
- "@fps-games/playable-rendering": "0.2.1-beta.3",
19
- "@fps-games/plugin-api": "0.2.1-beta.3"
17
+ "@fps-games/playable-contracts": "0.2.1-beta.4",
18
+ "@fps-games/playable-rendering": "0.2.1-beta.4",
19
+ "@fps-games/plugin-api": "0.2.1-beta.4"
20
20
  }
21
21
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/playable-scene",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Environment-neutral scene graph and transform domain logic.",
@@ -14,6 +14,6 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@fps-games/playable-contracts": "0.2.1-beta.3"
17
+ "@fps-games/playable-contracts": "0.2.1-beta.4"
18
18
  }
19
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/plugin-api",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "Environment-neutral contracts for fps-games plugins and hosts.",
@@ -1,2 +1,2 @@
1
- export declare const FPS_PLUGIN_VERSION: "0.2.1-beta.3";
1
+ export declare const FPS_PLUGIN_VERSION: "0.2.1-beta.4";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const FPS_PLUGIN_VERSION = '0.2.1-beta.3';
1
+ export const FPS_PLUGIN_VERSION = '0.2.1-beta.4';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAuB,CAAC","sourcesContent":["export const FPS_PLUGIN_VERSION = '0.2.1-beta.3' as const;\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAuB,CAAC","sourcesContent":["export const FPS_PLUGIN_VERSION = '0.2.1-beta.4' as const;\n"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fps-games/plugin-assets",
3
- "version": "0.2.1-beta.3",
3
+ "version": "0.2.1-beta.4",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "First-party Assets Plugin for fps-games runtime and editor hosts.",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "fpsGamePlugin": {
29
29
  "id": "fps.plugin.assets",
30
- "version": "0.2.1-beta.3",
30
+ "version": "0.2.1-beta.4",
31
31
  "apiVersion": 1,
32
32
  "requires": {},
33
33
  "provides": {
@@ -69,9 +69,9 @@
69
69
  }
70
70
  },
71
71
  "dependencies": {
72
- "@fps-games/playable-assets": "0.2.1-beta.3",
73
- "@fps-games/playable-contracts": "0.2.1-beta.3",
74
- "@fps-games/playable-runtime-data": "0.2.1-beta.3",
75
- "@fps-games/plugin-api": "0.2.1-beta.3"
72
+ "@fps-games/playable-assets": "0.2.1-beta.4",
73
+ "@fps-games/playable-contracts": "0.2.1-beta.4",
74
+ "@fps-games/playable-runtime-data": "0.2.1-beta.4",
75
+ "@fps-games/plugin-api": "0.2.1-beta.4"
76
76
  }
77
77
  }
@@ -250,6 +250,7 @@ export interface HierarchyKernel {
250
250
  setProviders(providers: readonly HierarchyScopeProvider[]): void;
251
251
  getProvider(): HierarchyScopeProvider | null;
252
252
  getViewModel(): HierarchyViewModel | null;
253
+ patchNodeLabels(labels: Readonly<Record<string, string>>): HierarchyScopeSnapshot | null;
253
254
  listOperations(context: HierarchyOperationContext, expectedAuthorityToken?: number): readonly HierarchyOperationDescriptor[];
254
255
  attachView(adapter: HierarchyViewAdapter): () => void;
255
256
  refresh(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qCAAqC,EAAG,8BAAuC,CAAC;AAC7F,eAAO,MAAM,uCAAuC,EAAG,uBAAgC,CAAC;AAExF,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,kBAAkB,EAAE,GAAG;IAClG,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;CAC5C,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAChG,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC5E,MAAM,MAAM,iCAAiC,GACzC,KAAK,GACL,eAAe,GACf,cAAc,GACd,YAAY,GACZ,iBAAiB,GACjB,QAAQ,CAAC;AAEb,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,mCAAmC,GAAG,qCAAqC,CAAC;AAExF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC9D,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC9D,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC3E,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAClD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,mBAAmB,EAAE,CAAC;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACtD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAAC;IAC/D,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAAC;IACxE,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAAC;IAC3E,oBAAoB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAC;IAChE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/D,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,uBAAuB,CAAC;CACjE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,8BAA8B,CAAC;IACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,EAAE,SAAS,QAAQ,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,CAAC;QAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,iCAAiC,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mCAAmC,CAAC;CAClE;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC;IACtB,WAAW,IAAI,sBAAsB,GAAG,IAAI,CAAC;IAC7C,cAAc,CAAC,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC9G,cAAc,CAAC,OAAO,EAAE,yBAAyB,GAAG,SAAS,4BAA4B,EAAE,CAAC;IAC5F,gBAAgB,CAAC,UAAU,EAAE,4BAA4B,GAAG,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAC1H;AAED,KAAK,sBAAsB,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAA;CAAE,GAC/G;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAChJ;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;CAAE,GAC7H;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IACE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEN,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG;IACrD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IAClD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,4BAA4B,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,wBAAwB,CAAC,GAAG,MAAM,IAAI,CAAC;CAChG;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,GAAG,IAAI,CAAC;IACjE,WAAW,IAAI,sBAAsB,GAAG,IAAI,CAAC;IAC7C,YAAY,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,4BAA4B,EAAE,CAAC;IAC7H,UAAU,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAAC;IACtD,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,uCAAuC,CAAC;IAC9D,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,YAAY,IAAI,eAAe,CAAC;CACjC;AAED,wBAAgB,kCAAkC,IAAI,4BAA4B,CASjF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,4BAA4B,CAOpG;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAAC;CACpD,GAAG,sBAAsB,CA6BzB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAClD,GAAG,qBAAqB,CA4BxB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,GAAG,QAAQ,CAAC;IAAE,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAgCjG;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC,GAAG,0BAA0B,CAM7B;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CA2lBvD"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
@@ -133,6 +133,7 @@ export function createHierarchyKernel() {
133
133
  const projections = new Map();
134
134
  const viewStateSnapshots = new WeakMap();
135
135
  const operationCache = new WeakMap();
136
+ const labelPresentations = new Map();
136
137
  const adapters = new Set();
137
138
  let providers = [];
138
139
  let activeProvider = null;
@@ -157,10 +158,10 @@ export function createHierarchyKernel() {
157
158
  const synchronize = () => {
158
159
  const resolved = resolveProvider();
159
160
  const nextProvider = resolved?.provider ?? null;
160
- const snapshot = resolved?.snapshot ?? null;
161
- if (snapshot && nextProvider)
162
- assertMonotonicSnapshotRevision(revisionRecords, nextProvider, snapshot);
163
- const nextScopeKey = snapshot?.scopeKey ?? null;
161
+ const sourceSnapshot = resolved?.snapshot ?? null;
162
+ if (sourceSnapshot && nextProvider)
163
+ assertMonotonicSnapshotRevision(revisionRecords, nextProvider, sourceSnapshot);
164
+ const nextScopeKey = sourceSnapshot?.scopeKey ?? null;
164
165
  if (activeProvider !== nextProvider || activeScopeKey !== nextScopeKey) {
165
166
  if (activeScopeKey)
166
167
  cancelTransientState(viewStates.get(activeScopeKey));
@@ -170,6 +171,9 @@ export function createHierarchyKernel() {
170
171
  activeScopeKey = nextScopeKey;
171
172
  authorityToken += 1;
172
173
  }
174
+ const snapshot = sourceSnapshot && nextProvider
175
+ ? applyHierarchyLabelPresentation(labelPresentations, nextProvider, sourceSnapshot)
176
+ : null;
173
177
  if (snapshot)
174
178
  sanitizeViewState(getState(snapshot.scopeKey), snapshot);
175
179
  return snapshot;
@@ -320,6 +324,7 @@ export function createHierarchyKernel() {
320
324
  const previousRevisionRecords = cloneRevisionRecords(revisionRecords);
321
325
  const previousViewStates = cloneMutableViewStates(viewStates);
322
326
  const previousProjections = new Map(projections);
327
+ const previousLabelPresentations = cloneHierarchyLabelPresentations(labelPresentations);
323
328
  let model;
324
329
  try {
325
330
  providers = next;
@@ -333,12 +338,17 @@ export function createHierarchyKernel() {
333
338
  replaceMapContents(revisionRecords, previousRevisionRecords);
334
339
  replaceMapContents(viewStates, previousViewStates);
335
340
  replaceMapContents(projections, previousProjections);
341
+ replaceMapContents(labelPresentations, previousLabelPresentations);
336
342
  throw error;
337
343
  }
338
344
  for (const provider of revisionRecords.keys()) {
339
345
  if (!next.includes(provider))
340
346
  revisionRecords.delete(provider);
341
347
  }
348
+ for (const [scopeKey, presentation] of labelPresentations) {
349
+ if (!next.includes(presentation.provider))
350
+ labelPresentations.delete(scopeKey);
351
+ }
342
352
  // Provider authority is committed before notifying UI edges. A failing
343
353
  // adapter cannot roll the authoritative provider set back underneath an
344
354
  // adapter that has already observed the new model.
@@ -346,6 +356,33 @@ export function createHierarchyKernel() {
346
356
  },
347
357
  getProvider() { synchronize(); return activeProvider; },
348
358
  getViewModel,
359
+ patchNodeLabels(labels) {
360
+ const snapshot = synchronize();
361
+ const provider = activeProvider;
362
+ if (!snapshot || !provider)
363
+ return null;
364
+ let presentation = labelPresentations.get(snapshot.scopeKey);
365
+ if (presentation?.provider !== provider
366
+ || presentation.structureRevision !== snapshot.structureRevision) {
367
+ presentation = {
368
+ provider,
369
+ structureRevision: snapshot.structureRevision,
370
+ labels: new Map(),
371
+ sourceSnapshot: null,
372
+ snapshot: null,
373
+ };
374
+ labelPresentations.set(snapshot.scopeKey, presentation);
375
+ }
376
+ for (const [id, label] of Object.entries(labels)) {
377
+ if (!label.trim() || !snapshot.nodeById.has(id))
378
+ return null;
379
+ }
380
+ for (const [id, label] of Object.entries(labels))
381
+ presentation.labels.set(id, label);
382
+ presentation.sourceSnapshot = null;
383
+ presentation.snapshot = null;
384
+ return applyHierarchyLabelPresentation(labelPresentations, provider, snapshot);
385
+ },
349
386
  listOperations(context, expectedAuthorityToken) {
350
387
  const previousProvider = activeProvider;
351
388
  const previousScopeKey = activeScopeKey;
@@ -735,6 +772,43 @@ function replaceMapContents(target, source) {
735
772
  for (const [key, value] of source)
736
773
  target.set(key, value);
737
774
  }
775
+ function applyHierarchyLabelPresentation(presentations, provider, sourceSnapshot) {
776
+ const presentation = presentations.get(sourceSnapshot.scopeKey);
777
+ if (!presentation)
778
+ return sourceSnapshot;
779
+ if (presentation.provider !== provider
780
+ || presentation.structureRevision !== sourceSnapshot.structureRevision) {
781
+ presentations.delete(sourceSnapshot.scopeKey);
782
+ return sourceSnapshot;
783
+ }
784
+ if (presentation.sourceSnapshot === sourceSnapshot && presentation.snapshot) {
785
+ return presentation.snapshot;
786
+ }
787
+ const nodeById = new Map(sourceSnapshot.nodeById);
788
+ let changed = false;
789
+ for (const [id, label] of presentation.labels) {
790
+ const node = nodeById.get(id);
791
+ if (!node || node.label === label)
792
+ continue;
793
+ nodeById.set(id, Object.freeze({ ...node, label }));
794
+ changed = true;
795
+ }
796
+ const snapshot = changed
797
+ ? Object.freeze({
798
+ ...sourceSnapshot,
799
+ nodeById: createReadonlyMapView(nodeById),
800
+ })
801
+ : sourceSnapshot;
802
+ presentation.sourceSnapshot = sourceSnapshot;
803
+ presentation.snapshot = snapshot;
804
+ return snapshot;
805
+ }
806
+ function cloneHierarchyLabelPresentations(source) {
807
+ return new Map([...source].map(([scopeKey, presentation]) => [scopeKey, {
808
+ ...presentation,
809
+ labels: new Map(presentation.labels),
810
+ }]));
811
+ }
738
812
  function cloneRevisionRecords(source) {
739
813
  return new Map([...source].map(([provider, records]) => [provider, new Map(records)]));
740
814
  }