@salsita-ai/sdk 0.50.0-develop.d6ed5efd42 → 0.50.0-develop.d815756961

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 (1437) hide show
  1. package/README.md +20 -15
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/admin/default-admin-elements.d.ts +9 -0
  4. package/dist/admin/default-admin-elements.js +1 -0
  5. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  6. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  7. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  8. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  9. package/dist/admin/default-elements/index.d.ts +2 -0
  10. package/dist/admin/default-elements/index.js +1 -0
  11. package/dist/admin/index.d.ts +1 -0
  12. package/dist/admin/index.js +1 -1
  13. package/dist/application-spec/caching/content-diff.js +1 -1
  14. package/dist/application-spec/core/application-file.d.ts +0 -2
  15. package/dist/application-spec/core/application-file.js +1 -1
  16. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  17. package/dist/application-spec/core/components/component-filter.js +1 -0
  18. package/dist/application-spec/core/components/index.d.ts +2 -0
  19. package/dist/application-spec/core/components/index.js +1 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  21. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  22. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  23. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  24. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  25. package/dist/application-spec/core/expressions/index.js +1 -0
  26. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  28. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  29. package/dist/application-spec/core/index.d.ts +2 -0
  30. package/dist/application-spec/core/index.js +1 -1
  31. package/dist/application-spec/core/json-value.d.ts +1 -1
  32. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  33. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  34. package/dist/application-spec/enhanced-json/index.js +1 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  36. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  38. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  40. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  42. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  44. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  46. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  47. package/dist/application-spec/errors/diagnostic-codes.d.ts +14 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +17 -0
  50. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  52. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  53. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  54. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  56. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  57. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  58. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  59. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  60. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  61. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  63. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  67. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  68. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  69. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +72 -76
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +9 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  90. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  91. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  92. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  93. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  94. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  95. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  96. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  97. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  98. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  99. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  100. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  101. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -10
  102. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  103. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  104. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  105. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  106. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  107. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  108. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  110. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  113. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  114. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  115. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +35 -18
  116. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  117. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  122. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  123. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  124. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  125. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  126. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  127. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  128. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  129. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  130. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  131. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  132. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  133. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  134. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  135. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  136. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  137. package/dist/application-spec/generate-application/index.d.ts +2 -0
  138. package/dist/application-spec/generate-application/index.js +1 -1
  139. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  140. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  142. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  143. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  144. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -7
  145. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  146. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  147. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  148. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -4
  149. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  150. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  151. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  154. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  156. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  158. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  159. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  160. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  161. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  162. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  163. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  164. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  165. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  167. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  168. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  169. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  170. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  171. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  172. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  173. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  174. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  176. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  177. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  178. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  179. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  180. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  181. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  182. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  183. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  184. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  185. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  186. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  187. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  188. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  189. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  190. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  191. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  192. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  193. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  194. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  195. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  196. package/dist/application-spec/index.d.ts +1 -0
  197. package/dist/application-spec/index.js +1 -1
  198. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  199. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  200. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  201. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  202. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  203. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  204. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  205. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  206. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  207. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  208. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  209. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  211. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  212. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  213. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  224. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  225. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  227. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  228. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  230. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  231. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  232. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  233. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  234. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  235. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  237. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  238. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  239. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  240. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  242. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  243. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  244. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  245. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  247. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  251. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  252. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  253. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  254. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  256. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  258. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  259. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  261. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  263. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  265. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  266. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  267. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  269. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  270. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  271. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  272. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  273. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  274. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  275. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  276. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  277. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  278. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  279. package/dist/client/authorized-client.d.ts +3 -1
  280. package/dist/client/authorized-client.js +1 -1
  281. package/dist/client/contract.d.ts +34 -0
  282. package/dist/client/contract.js +1 -1
  283. package/dist/client/index.d.ts +2 -2
  284. package/dist/client/index.js +1 -1
  285. package/dist/client/local-authorized-client.d.ts +3 -1
  286. package/dist/client/local-authorized-client.js +1 -1
  287. package/dist/client/memory-authorized-client.d.ts +3 -1
  288. package/dist/client/memory-authorized-client.js +1 -1
  289. package/dist/client/phoenix-api.d.ts +797 -121
  290. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  291. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  292. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  293. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +127 -3
  294. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  295. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  296. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  297. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  298. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  299. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  300. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  301. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  302. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  303. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  304. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  305. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  306. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  307. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  308. package/dist/configurator/common/configurator-interface.d.ts +30 -1
  309. package/dist/configurator/common/configurator-interface.js +1 -1
  310. package/dist/configurator/common/index.d.ts +3 -1
  311. package/dist/configurator/common/index.js +1 -1
  312. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  313. package/dist/configurator/common/use-reset-camera.js +1 -0
  314. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  315. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  316. package/dist/configurator/configuration-not-found-page/index.d.ts +1 -0
  317. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  318. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  319. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  320. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  321. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  322. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  323. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  324. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  325. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  326. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  327. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  328. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  329. package/dist/configurator/pages/RootPage.js +1 -1
  330. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  331. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  332. package/dist/configurator/pages/default-configurator-elements.d.ts +11 -0
  333. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  334. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  335. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  336. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  337. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  338. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  339. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  340. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  341. package/dist/configurator/pages/default-elements/index.js +1 -0
  342. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  343. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  344. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  345. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  346. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  347. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  348. package/dist/configurator/pages/index.d.ts +1 -0
  349. package/dist/configurator/pages/index.js +1 -1
  350. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  351. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  352. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  353. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  354. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  355. package/dist/configurator/preset-screen-elements/index.js +1 -0
  356. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  357. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  358. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  359. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  360. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  361. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  362. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  363. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  364. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  365. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  366. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  367. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  368. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  369. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  370. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  371. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  372. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  373. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  374. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  375. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  376. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  377. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  378. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  379. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  380. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  381. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  382. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  383. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  384. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  385. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  386. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  387. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  388. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  389. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  390. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  391. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  392. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  393. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  394. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  395. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  396. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  397. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  398. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  399. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  400. package/dist/configurator/ui/assistant/form/index.js +1 -0
  401. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  402. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  403. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  404. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  405. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  406. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  407. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  408. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  409. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  410. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  411. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  412. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  413. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  414. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  415. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  416. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  417. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  418. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  419. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  420. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  421. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  422. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  423. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  424. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  425. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  426. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  427. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  428. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  429. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  430. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  431. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  432. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  433. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  434. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  435. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  436. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  437. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  438. package/dist/configurator/ui/assistant/thread-items.d.ts +21 -3
  439. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  440. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  441. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  442. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  443. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  444. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  445. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  446. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  447. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  448. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  449. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  450. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  451. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  452. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  453. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  454. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  455. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  456. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  457. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  458. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  459. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  460. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  461. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  462. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  463. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  464. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  465. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  466. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  467. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  468. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  469. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  470. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  471. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  472. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  473. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  474. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  475. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  476. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  477. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  478. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  479. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  480. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  481. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  482. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  483. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  484. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  485. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  486. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  487. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  488. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  489. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  490. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  491. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  492. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  493. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  494. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  495. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  496. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  497. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  498. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  499. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  500. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  501. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  502. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  503. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  504. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  505. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  506. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  507. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  508. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  509. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  510. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  511. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  512. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  513. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  514. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  515. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  516. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  517. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  518. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  519. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  520. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  521. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  522. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  523. package/dist/docs/fabs/basic.mdx +2 -2
  524. package/dist/docs/index.json +42 -1
  525. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  526. package/dist/docs/layouts/custom-layout.mdx +2435 -0
  527. package/dist/docs/layouts/header/fixed.mdx +2 -2
  528. package/dist/docs/layouts/header/floating.mdx +2 -2
  529. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  530. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  531. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  532. package/dist/docs/other-features/not-found-404.mdx +1 -1
  533. package/dist/docs/other-features/side-effects.mdx +8 -11
  534. package/dist/docs/other-features/transformers.mdx +4 -0
  535. package/dist/docs/other-features/violation-messages.mdx +52 -56
  536. package/dist/docs/phoenix/application-states.mdx +9 -7
  537. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  538. package/dist/docs/phoenix/components.mdx +6 -0
  539. package/dist/docs/phoenix/configurator-interface.mdx +266 -81
  540. package/dist/docs/phoenix/deployments.mdx +3 -7
  541. package/dist/docs/phoenix/domain-model.mdx +6 -0
  542. package/dist/docs/phoenix/expression-context.mdx +11 -3
  543. package/dist/docs/phoenix/finalization.mdx +1 -1
  544. package/dist/docs/phoenix/getting-started.mdx +7 -4
  545. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  546. package/dist/docs/phoenix/localization.mdx +10 -6
  547. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  548. package/dist/docs/phoenix/phoenix-cli.mdx +112 -65
  549. package/dist/docs/phoenix/project-structure.mdx +80 -36
  550. package/dist/docs/phoenix/quickstart.mdx +9 -9
  551. package/dist/docs/phoenix/sdk-builder-workflow.mdx +14 -14
  552. package/dist/docs/phoenix/testing.mdx +148 -0
  553. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  554. package/dist/docs/phoenix/webhooks.mdx +23 -6
  555. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  556. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  557. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -12
  558. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  559. package/dist/domain/admin-domain/index.d.ts +9 -5
  560. package/dist/domain/admin-domain/index.js +1 -1
  561. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  562. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  563. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  564. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  565. package/dist/domain/application/application-config.d.ts +9 -26
  566. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  567. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  568. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  569. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  570. package/dist/domain/application/assistant/assistant-manifest.d.ts +11 -1
  571. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  572. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  573. package/dist/domain/application/assistant/assistant-value-type.js +1 -1
  574. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  575. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  576. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  577. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  578. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  579. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -11
  580. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  581. package/dist/domain/application/assistant/index.d.ts +8 -1
  582. package/dist/domain/application/assistant/index.js +1 -1
  583. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  584. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  585. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  586. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  587. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  588. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  589. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  590. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  591. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  592. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  593. package/dist/domain/application/assistant-mutations.d.ts +2 -2
  594. package/dist/domain/application/assistant-mutations.js +1 -1
  595. package/dist/domain/application/assistant-recipe-groups.d.ts +5 -5
  596. package/dist/domain/application/configurator-builder.d.ts +5 -2
  597. package/dist/domain/application/configurator-builder.js +1 -1
  598. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  599. package/dist/domain/application/index.d.ts +2 -6
  600. package/dist/domain/application/index.js +1 -1
  601. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  602. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  603. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  604. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  605. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  606. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  607. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  608. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  609. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  610. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  611. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  612. package/dist/domain/available-system-components.js +1 -1
  613. package/dist/domain/core/action/action-factory.d.ts +11 -0
  614. package/dist/domain/core/{action.d.ts → action/action.d.ts} +21 -16
  615. package/dist/domain/core/action/action.js +1 -0
  616. package/dist/domain/core/action/index.d.ts +2 -0
  617. package/dist/domain/core/action/index.js +1 -0
  618. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -1
  619. package/dist/domain/core/component/component-reader-types.js +1 -0
  620. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  621. package/dist/domain/core/component/debug-state-component.js +1 -0
  622. package/dist/domain/core/component/domain-component-optic.d.ts +65 -0
  623. package/dist/domain/core/component/domain-component-optic.js +16 -0
  624. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  625. package/dist/domain/core/component/drag-state-component.js +1 -0
  626. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  627. package/dist/domain/core/component/export-state-component.js +1 -0
  628. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  629. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  630. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -1
  631. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  632. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  633. package/dist/domain/core/component/hover-state-component.js +1 -0
  634. package/dist/domain/core/component/index.d.ts +18 -0
  635. package/dist/domain/core/component/index.js +1 -0
  636. package/dist/domain/{components → core/component}/legacy-filter.d.ts +4 -18
  637. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  638. package/dist/domain/core/component/navigation-state-component.js +1 -0
  639. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  640. package/dist/domain/core/component/selection-state-component.js +1 -0
  641. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -1
  642. package/dist/domain/core/component/system-component-builder.js +1 -0
  643. package/dist/domain/{components → core/component}/system-component-filter.d.ts +38 -18
  644. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  645. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  646. package/dist/domain/core/component/tool-state-component.js +1 -0
  647. package/dist/domain/{components → core/component}/updates.d.ts +1 -1
  648. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  649. package/dist/domain/core/component/view-state-component.js +1 -0
  650. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  651. package/dist/domain/core/component/viewport-state-component.js +1 -0
  652. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  653. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  654. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  655. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  656. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  657. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  658. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  659. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  660. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  661. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  662. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  663. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  664. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  665. package/dist/domain/core/data-schema/data-schema.js +1 -0
  666. package/dist/domain/core/data-schema/index.d.ts +7 -0
  667. package/dist/domain/core/data-schema/index.js +1 -0
  668. package/dist/domain/core/domain-factory.d.ts +1 -1
  669. package/dist/domain/core/domain.d.ts +2 -2
  670. package/dist/domain/core/emission/index.d.ts +8 -0
  671. package/dist/domain/core/emission/index.js +1 -0
  672. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  673. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  674. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  675. package/dist/domain/core/emission/state-emission.js +1 -0
  676. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  677. package/dist/domain/core/emission/state-update-emission.js +1 -0
  678. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  679. package/dist/domain/core/emission/state-validation-result.js +1 -0
  680. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  681. package/dist/domain/core/emission/transformation-log.js +1 -0
  682. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  683. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  684. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  685. package/dist/domain/core/emission/transformer-log.js +1 -0
  686. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  687. package/dist/domain/core/emission/transformer-phase.js +1 -0
  688. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  689. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  690. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  691. package/dist/domain/core/expression/constant-expressions.js +1 -1
  692. package/dist/domain/core/expression/custom-expression.d.ts +21 -8
  693. package/dist/domain/core/expression/custom-expression.js +1 -1
  694. package/dist/domain/core/expression/expression.d.ts +15 -17
  695. package/dist/domain/core/expression/index.d.ts +1 -2
  696. package/dist/domain/core/expression/index.js +1 -1
  697. package/dist/domain/core/index.d.ts +7 -1
  698. package/dist/domain/core/index.js +1 -1
  699. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -1
  700. package/dist/domain/core/invariant/custom-invariants.d.ts +13 -0
  701. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  702. package/dist/domain/core/invariant/index.d.ts +5 -0
  703. package/dist/domain/core/invariant/index.js +1 -0
  704. package/dist/domain/core/invariant/invariants.d.ts +10 -0
  705. package/dist/domain/core/invariant/invariants.js +1 -0
  706. package/dist/domain/core/invariant/violation-component.js +1 -0
  707. package/dist/domain/{invariants → core/invariant}/violation.d.ts +52 -4
  708. package/dist/domain/core/invariant/violation.js +1 -0
  709. package/dist/domain/core/model/model.d.ts +1 -1
  710. package/dist/domain/core/recipe/index.d.ts +1 -0
  711. package/dist/domain/core/recipe/index.js +1 -0
  712. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  713. package/dist/domain/core/recipe/recipes.js +1 -0
  714. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  715. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  716. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -1
  717. package/dist/domain/core/relation/component-factories.js +1 -0
  718. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  719. package/dist/domain/core/relation/composed-of.js +1 -0
  720. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  721. package/dist/domain/core/relation/index.d.ts +8 -0
  722. package/dist/domain/core/relation/index.js +1 -0
  723. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  724. package/dist/domain/core/relation/indirect-relation.js +1 -0
  725. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -4
  726. package/dist/domain/core/relation/reference-component.js +1 -0
  727. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  728. package/dist/domain/core/relation/reference-field.js +1 -0
  729. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  730. package/dist/domain/core/relation/relation-factory.js +1 -0
  731. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  732. package/dist/domain/core/state/migrations.d.ts +14 -45
  733. package/dist/domain/core/state/migrations.js +1 -1
  734. package/dist/domain/core/state/state.d.ts +1 -1
  735. package/dist/domain/domain-builder.d.ts +2 -5
  736. package/dist/domain/domain-builder.js +1 -1
  737. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  738. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  739. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  740. package/dist/domain/domain-context/action-system/index.js +1 -0
  741. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  742. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  743. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  744. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  745. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +3 -4
  746. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  747. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  748. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  749. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  750. package/dist/domain/domain-context/index.d.ts +8 -18
  751. package/dist/domain/domain-context/index.js +1 -1
  752. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  753. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  754. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +5 -7
  755. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  756. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  757. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  758. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  759. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  760. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  761. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -4
  762. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  763. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  764. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  765. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +3 -3
  766. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  767. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +3 -3
  768. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  769. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  770. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  771. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +3 -3
  772. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  773. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -2
  774. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  775. package/dist/domain/domain-context/store-system/index.js +1 -0
  776. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -2
  777. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  778. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  779. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -37
  780. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  781. package/dist/domain/domain-context/store-system/system-state.d.ts +2 -2
  782. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  783. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  784. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  785. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +6 -9
  786. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  787. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  788. package/dist/domain/domain-context/transformers/context.d.ts +2 -5
  789. package/dist/domain/domain-context/transformers/context.js +1 -1
  790. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  791. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  792. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  793. package/dist/domain/domain-context/transformers/index.js +1 -1
  794. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  795. package/dist/domain/domain-context/transformers/when-builder.d.ts +3 -8
  796. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  797. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  798. package/dist/domain/domain-context/undo-system.js +1 -1
  799. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  800. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  801. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  802. package/dist/domain/domain-runtime/access/types.js +1 -1
  803. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  804. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  805. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -2
  806. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  807. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  808. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  809. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  810. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  811. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  812. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  813. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +19 -24
  814. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  815. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  816. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -68
  817. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  818. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  819. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  820. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  821. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  822. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  823. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  824. package/dist/domain/domain-runtime/errors/index.js +1 -0
  825. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  826. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  827. package/dist/domain/domain-runtime/index.d.ts +1 -0
  828. package/dist/domain/domain-runtime/index.js +1 -1
  829. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  830. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  831. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  832. package/dist/domain/domain-runtime/spec/index.js +1 -1
  833. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  834. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  835. package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  836. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +14 -13
  837. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  838. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  839. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  840. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  841. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  842. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -17
  843. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  844. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  845. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  846. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  847. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  848. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  849. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  850. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  851. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  852. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  853. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  854. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  855. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  856. package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  857. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  858. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  859. package/dist/domain/domain-runtime/spec/types.d.ts +6 -4
  860. package/dist/domain/extensions/angle-indicator.js +1 -0
  861. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  862. package/dist/domain/extensions/attribute-switch.js +1 -0
  863. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  864. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  865. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  866. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  867. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  868. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  869. package/dist/domain/extensions/canvas-config.js +1 -0
  870. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  871. package/dist/domain/extensions/canvas-padding.js +1 -0
  872. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  873. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  874. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  875. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  876. package/dist/domain/extensions/client-side-image.js +1 -0
  877. package/dist/domain/extensions/color-value.js +1 -0
  878. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  879. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  880. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +2 -2
  881. package/dist/domain/extensions/common/index.d.ts +4 -0
  882. package/dist/domain/extensions/common/index.js +1 -0
  883. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  884. package/dist/domain/extensions/custom-header.js +1 -0
  885. package/dist/domain/extensions/custom-price-footer.js +1 -0
  886. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  887. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  888. package/dist/domain/extensions/dimension-indicator.js +1 -0
  889. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  890. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  891. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  892. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  893. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  894. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  895. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  896. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  897. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  898. package/dist/domain/extensions/entity-header.js +1 -0
  899. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  900. package/dist/domain/extensions/finalize-action.js +1 -0
  901. package/dist/domain/extensions/finalize-component.js +1 -0
  902. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  903. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  904. package/dist/domain/extensions/fixed-header.js +1 -0
  905. package/dist/domain/extensions/floating-header.js +1 -0
  906. package/dist/domain/extensions/hidden-header.js +1 -0
  907. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  908. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +2 -2
  909. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  910. package/dist/domain/extensions/index.d.ts +69 -0
  911. package/dist/domain/extensions/index.js +1 -0
  912. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  913. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  914. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  915. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  916. package/dist/domain/extensions/navigation-steps.js +1 -0
  917. package/dist/domain/extensions/offset-anchors.js +1 -0
  918. package/dist/domain/extensions/offset-indicator.js +1 -0
  919. package/dist/domain/extensions/offset.js +1 -0
  920. package/dist/domain/extensions/other-action.js +1 -0
  921. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  922. package/dist/domain/extensions/property-page.js +1 -0
  923. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  924. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  925. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  926. package/dist/domain/extensions/rotatable.js +1 -0
  927. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  928. package/dist/domain/extensions/rotation-handle.js +1 -0
  929. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  930. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  931. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  932. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  933. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  934. package/dist/domain/extensions/scene-entity-control.js +1 -0
  935. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  936. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  937. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  938. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  939. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  940. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  941. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  942. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  943. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  944. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  945. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  946. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  947. package/dist/domain/extensions/selectable-component.js +1 -0
  948. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  949. package/dist/domain/extensions/simple-summary.js +1 -0
  950. package/dist/domain/extensions/size.js +1 -0
  951. package/dist/domain/extensions/sketching-draw.js +1 -0
  952. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  953. package/dist/domain/extensions/sketching-edit.js +1 -0
  954. package/dist/domain/extensions/summary-component.js +1 -0
  955. package/dist/domain/extensions/text-value.js +1 -0
  956. package/dist/domain/extensions/tool-controls.js +1 -0
  957. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  958. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  959. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  960. package/dist/domain/extensions/toolbar.js +1 -0
  961. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  962. package/dist/domain/extensions/view-controls.js +1 -0
  963. package/dist/domain/index.d.ts +2 -31
  964. package/dist/domain/index.js +1 -1
  965. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  966. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  967. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  968. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  969. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  970. package/dist/domain/mocks/create-mock-domain.js +1 -1
  971. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  972. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  973. package/dist/domain/mocks/create-test-application-config.js +1 -0
  974. package/dist/domain/mocks/index.d.ts +1 -0
  975. package/dist/domain/mocks/index.js +1 -1
  976. package/dist/domain/projections/blender-projections/blender-projections.d.ts +2 -3
  977. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  978. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  979. package/dist/domain/projections/collision-projections.d.ts +1 -1
  980. package/dist/domain/projections/composition-projections.d.ts +1 -1
  981. package/dist/domain/projections/composition-projections.js +1 -1
  982. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  983. package/dist/domain/projections/index.d.ts +1 -1
  984. package/dist/domain/projections/position-projections.d.ts +1 -1
  985. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  986. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  987. package/dist/domain/projections/validation-projections.d.ts +3 -20
  988. package/dist/domain/projections/validation-projections.js +1 -1
  989. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  990. package/dist/domain/system-components/admin-sidebar.js +1 -1
  991. package/dist/domain/system-components/angle-dimension.js +1 -1
  992. package/dist/domain/system-components/application-config.d.ts +2 -2
  993. package/dist/domain/system-components/application-config.js +1 -1
  994. package/dist/domain/system-components/attribute-selection.js +1 -1
  995. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  996. package/dist/domain/system-components/bounding-box-component.js +1 -1
  997. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  998. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  999. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  1000. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  1001. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  1002. package/dist/domain/system-components/child-entity-selection.js +1 -1
  1003. package/dist/domain/system-components/collision-box-geometry.d.ts +5 -3
  1004. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  1005. package/dist/domain/system-components/collision-geometry.d.ts +5 -3
  1006. package/dist/domain/system-components/collision-geometry.js +1 -1
  1007. package/dist/domain/system-components/collision-point-geometry.d.ts +5 -3
  1008. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  1009. package/dist/domain/system-components/common/index.d.ts +0 -4
  1010. package/dist/domain/system-components/common/index.js +1 -1
  1011. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  1012. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  1013. package/dist/domain/system-components/common/recipes.js +1 -1
  1014. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  1015. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  1016. package/dist/domain/system-components/constraint.d.ts +11 -24
  1017. package/dist/domain/system-components/constraint.js +1 -1
  1018. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  1019. package/dist/domain/system-components/detail.js +1 -1
  1020. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  1021. package/dist/domain/system-components/distance-dimension.js +1 -1
  1022. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  1023. package/dist/domain/system-components/drag-handle.js +1 -1
  1024. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  1025. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  1026. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  1027. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  1028. package/dist/domain/system-components/generic-dimension.js +1 -1
  1029. package/dist/domain/system-components/hidden-entity.js +1 -1
  1030. package/dist/domain/system-components/hotspot-drag-handle.d.ts +2 -3
  1031. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  1032. package/dist/domain/system-components/index.d.ts +0 -68
  1033. package/dist/domain/system-components/index.js +1 -1
  1034. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  1035. package/dist/domain/system-components/material-override-transformer.js +1 -1
  1036. package/dist/domain/system-components/material-swatch.js +1 -1
  1037. package/dist/domain/system-components/navigation-page.js +1 -1
  1038. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  1039. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  1040. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  1041. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  1042. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  1043. package/dist/domain/system-components/pivot-point.js +1 -1
  1044. package/dist/domain/system-components/price.js +1 -1
  1045. package/dist/domain/system-components/projected-entities.js +1 -1
  1046. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  1047. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  1048. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  1049. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  1050. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  1051. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  1052. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  1053. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  1054. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  1055. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  1056. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  1057. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  1058. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  1059. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  1060. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  1061. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  1062. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  1063. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  1064. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  1065. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  1066. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  1067. package/dist/domain/system-components/scene-entity-object.js +1 -1
  1068. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  1069. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  1070. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  1071. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  1072. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  1073. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  1074. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  1075. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  1076. package/dist/domain/system-components/sketching-line.js +1 -1
  1077. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  1078. package/dist/domain/system-components/sketching.js +1 -1
  1079. package/dist/domain/system-components/snap-axis.js +1 -1
  1080. package/dist/domain/system-components/snap-edge.js +1 -1
  1081. package/dist/domain/system-components/snap-plane.js +1 -1
  1082. package/dist/domain/system-components/snap-point.js +1 -1
  1083. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  1084. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  1085. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  1086. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  1087. package/dist/domain/utils/eval-cache.d.ts +1 -1
  1088. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  1089. package/dist/domain/utils/memo-eval.d.ts +2 -2
  1090. package/dist/editor/Editor.d.ts +7 -0
  1091. package/dist/editor/Editor.js +1 -1
  1092. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  1093. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  1094. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  1095. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1096. package/dist/globals/index.d.ts +2 -0
  1097. package/dist/i18n/locales/cs/messages.js +1 -1
  1098. package/dist/i18n/locales/da/messages.js +1 -1
  1099. package/dist/i18n/locales/de/messages.js +1 -1
  1100. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1101. package/dist/i18n/locales/en/messages.js +1 -1
  1102. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1103. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1104. package/dist/i18n/locales/es/messages.js +1 -1
  1105. package/dist/i18n/locales/fr/messages.js +1 -1
  1106. package/dist/i18n/locales/hu/messages.js +1 -1
  1107. package/dist/i18n/locales/it/messages.js +1 -1
  1108. package/dist/i18n/locales/nl/messages.js +1 -1
  1109. package/dist/i18n/locales/pl/messages.js +1 -1
  1110. package/dist/i18n/locales/pt/messages.js +1 -1
  1111. package/dist/i18n/locales/ro/messages.js +1 -1
  1112. package/dist/i18n/locales/sk/messages.js +1 -1
  1113. package/dist/i18n/locales/tr/messages.js +1 -1
  1114. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  1115. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  1116. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1117. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  1118. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  1119. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1120. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1121. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1122. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  1123. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1124. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1125. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1126. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  1127. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  1128. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  1129. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  1130. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  1131. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  1132. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  1133. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  1134. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  1135. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1136. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  1137. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1138. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  1139. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  1140. package/dist/phoenix/application-spec/project-files.js +1 -1
  1141. package/dist/phoenix/bin.d.ts +2 -0
  1142. package/dist/phoenix/bin.js +2 -0
  1143. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1144. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1145. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1146. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1147. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1148. package/dist/phoenix/check-configs/index.js +1 -0
  1149. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1150. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1151. package/dist/phoenix/cli.d.ts +0 -1
  1152. package/dist/phoenix/cli.js +1 -2
  1153. package/dist/phoenix/commands/build.js +1 -1
  1154. package/dist/phoenix/commands/check.js +1 -1
  1155. package/dist/phoenix/commands/clean.js +1 -1
  1156. package/dist/phoenix/commands/deploy.js +2 -2
  1157. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1158. package/dist/phoenix/commands/deps/deps.js +3 -0
  1159. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1160. package/dist/phoenix/commands/deps/index.js +1 -0
  1161. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1162. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1163. package/dist/phoenix/commands/dev.js +5 -5
  1164. package/dist/phoenix/commands/fix.js +1 -1
  1165. package/dist/phoenix/commands/index.d.ts +1 -0
  1166. package/dist/phoenix/commands/index.js +1 -1
  1167. package/dist/phoenix/commands/init.d.ts +17 -5
  1168. package/dist/phoenix/commands/init.js +1 -1
  1169. package/dist/phoenix/commands/link.js +1 -1
  1170. package/dist/phoenix/commands/prettier.js +1 -1
  1171. package/dist/phoenix/commands/sync.js +1 -1
  1172. package/dist/phoenix/commands/unlink.js +1 -1
  1173. package/dist/phoenix/scripts/build-admin.js +1 -1
  1174. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  1175. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1176. package/dist/phoenix/services/lingui.d.ts +8 -0
  1177. package/dist/phoenix/services/lingui.js +1 -1
  1178. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1179. package/dist/phoenix/services/source-archive.js +1 -1
  1180. package/dist/phoenix/services/swc.js +1 -1
  1181. package/dist/phoenix/services/vite-config.js +1 -1
  1182. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1183. package/dist/phoenix/utils/git/index.js +1 -0
  1184. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1185. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1186. package/dist/phoenix/utils/index.d.ts +5 -2
  1187. package/dist/phoenix/utils/index.js +1 -1
  1188. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1189. package/dist/phoenix/utils/node-version/index.js +1 -0
  1190. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1191. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1192. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1193. package/dist/phoenix/utils/package-info.js +1 -1
  1194. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1195. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1196. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1197. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1198. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1199. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1200. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1201. package/dist/phoenix/utils/run-command.js +1 -1
  1202. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1203. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1204. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1205. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1206. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +2 -0
  1207. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1208. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1209. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1210. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1211. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1212. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1213. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  1214. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1215. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1216. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1217. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1218. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  1219. package/dist/react-sdk/domain-context/index.d.ts +3 -1
  1220. package/dist/react-sdk/domain-context/index.js +1 -1
  1221. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1222. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1223. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1224. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1225. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1226. package/dist/react-sdk/handlers/index.d.ts +1 -0
  1227. package/dist/react-sdk/handlers/index.js +1 -1
  1228. package/dist/react-sdk/handlers/use-finalize-action.d.ts +31 -0
  1229. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1230. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1231. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1232. package/dist/ui-sdk/theme/types.d.ts +1 -1
  1233. package/dist/webhook/builders/common.d.ts +5 -0
  1234. package/dist/webhook/builders/webhook-builder.js +1 -1
  1235. package/package.json +46 -35
  1236. package/schema/domain-spec.json +1201 -217
  1237. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1238. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1239. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1240. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1241. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1242. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1243. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1244. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1245. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1246. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1247. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1248. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1249. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1250. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1251. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1252. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1253. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1254. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1255. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1256. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1257. package/dist/configurator/common/frontend-analytics.js +0 -1
  1258. package/dist/domain/actions/action-factory.d.ts +0 -10
  1259. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  1260. package/dist/domain/application/element-registration.js +0 -1
  1261. package/dist/domain/application/handler-registration.js +0 -1
  1262. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  1263. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1264. package/dist/domain/application/resource-builder.d.ts +0 -13
  1265. package/dist/domain/application/resource-builder.js +0 -1
  1266. package/dist/domain/components/debug-state-component.js +0 -1
  1267. package/dist/domain/components/domain-component-optic.d.ts +0 -74
  1268. package/dist/domain/components/domain-component-optic.js +0 -16
  1269. package/dist/domain/components/drag-state-component.js +0 -1
  1270. package/dist/domain/components/export-state-component.js +0 -1
  1271. package/dist/domain/components/fullscreen-state-component.js +0 -1
  1272. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  1273. package/dist/domain/components/hover-state-component.js +0 -1
  1274. package/dist/domain/components/index.d.ts +0 -2
  1275. package/dist/domain/components/index.js +0 -1
  1276. package/dist/domain/components/navigation-state-component.js +0 -1
  1277. package/dist/domain/components/selection-state-component.js +0 -1
  1278. package/dist/domain/components/system-component-builder.js +0 -1
  1279. package/dist/domain/components/system-virtual-entity.js +0 -1
  1280. package/dist/domain/components/tool-state-component.js +0 -1
  1281. package/dist/domain/components/view-state-component.js +0 -1
  1282. package/dist/domain/components/viewport-state-component.js +0 -1
  1283. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -55
  1284. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1285. package/dist/domain/invariants/custom-invariants.d.ts +0 -20
  1286. package/dist/domain/invariants/custom-invariants.js +0 -1
  1287. package/dist/domain/invariants/invariants.d.ts +0 -74
  1288. package/dist/domain/invariants/invariants.js +0 -1
  1289. package/dist/domain/invariants/violation-component.js +0 -1
  1290. package/dist/domain/invariants/violation.js +0 -1
  1291. package/dist/domain/project-modules/index.d.ts +0 -1
  1292. package/dist/domain/project-modules/index.js +0 -1
  1293. package/dist/domain/project-modules/project-modules.js +0 -1
  1294. package/dist/domain/relations/all-of-type-relation.d.ts +0 -30
  1295. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1296. package/dist/domain/relations/component-factories.js +0 -1
  1297. package/dist/domain/relations/composed-of.js +0 -1
  1298. package/dist/domain/relations/direct-relation.d.ts +0 -27
  1299. package/dist/domain/relations/indirect-relation.d.ts +0 -78
  1300. package/dist/domain/relations/indirect-relation.js +0 -1
  1301. package/dist/domain/relations/reference-component.js +0 -1
  1302. package/dist/domain/relations/relation-factory.d.ts +0 -17
  1303. package/dist/domain/relations/relation-factory.js +0 -1
  1304. package/dist/domain/relations/relation-implementation.d.ts +0 -5
  1305. package/dist/domain/system-components/angle-indicator.js +0 -1
  1306. package/dist/domain/system-components/attribute-switch.js +0 -1
  1307. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  1308. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  1309. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  1310. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  1311. package/dist/domain/system-components/canvas-config.js +0 -1
  1312. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  1313. package/dist/domain/system-components/canvas-padding.js +0 -1
  1314. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  1315. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1316. package/dist/domain/system-components/client-side-image.js +0 -1
  1317. package/dist/domain/system-components/color-value.js +0 -1
  1318. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1319. package/dist/domain/system-components/custom-header.js +0 -1
  1320. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1321. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  1322. package/dist/domain/system-components/dimension-indicator.js +0 -1
  1323. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1324. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1325. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1326. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1327. package/dist/domain/system-components/entity-header.js +0 -1
  1328. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  1329. package/dist/domain/system-components/finalize-action.js +0 -1
  1330. package/dist/domain/system-components/finalize-component.js +0 -1
  1331. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1332. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1333. package/dist/domain/system-components/fixed-header.js +0 -1
  1334. package/dist/domain/system-components/floating-header.js +0 -1
  1335. package/dist/domain/system-components/hidden-header.js +0 -1
  1336. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  1337. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  1338. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1339. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  1340. package/dist/domain/system-components/navigation-steps.js +0 -1
  1341. package/dist/domain/system-components/offset-anchors.js +0 -1
  1342. package/dist/domain/system-components/offset-indicator.js +0 -1
  1343. package/dist/domain/system-components/offset.js +0 -1
  1344. package/dist/domain/system-components/other-action.js +0 -1
  1345. package/dist/domain/system-components/property-page.js +0 -1
  1346. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  1347. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1348. package/dist/domain/system-components/rotatable.js +0 -1
  1349. package/dist/domain/system-components/rotation-handle.js +0 -1
  1350. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1351. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1352. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1353. package/dist/domain/system-components/scene-entity-control.js +0 -1
  1354. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1355. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  1356. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1357. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1358. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1359. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1360. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  1361. package/dist/domain/system-components/selectable-component.js +0 -1
  1362. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  1363. package/dist/domain/system-components/simple-summary.js +0 -1
  1364. package/dist/domain/system-components/size.js +0 -1
  1365. package/dist/domain/system-components/sketching-draw.js +0 -1
  1366. package/dist/domain/system-components/sketching-edit.js +0 -1
  1367. package/dist/domain/system-components/summary-component.js +0 -1
  1368. package/dist/domain/system-components/text-value.js +0 -1
  1369. package/dist/domain/system-components/tool-controls.js +0 -1
  1370. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1371. package/dist/domain/system-components/toolbar.js +0 -1
  1372. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  1373. package/dist/domain/system-components/view-controls.js +0 -1
  1374. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1375. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1376. /package/dist/{domain/components/component-reader-types.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1377. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1378. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1379. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1380. /package/dist/{domain/core/action.js → application-spec/generate-application/runtime/spec-code/spec-code-module.js} +0 -0
  1381. /package/dist/{domain/relations/reference-field.js → application-spec/parse-application-files/spec/expressions/expression-read.js} +0 -0
  1382. /package/dist/{domain/relations/relation-implementation.js → configurator/ui/assistant/form-elements/form-element-props.js} +0 -0
  1383. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1384. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  1385. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  1386. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  1387. /package/dist/domain/{components → core/component}/updates.js +0 -0
  1388. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  1389. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  1390. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1391. /package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.js +0 -0
  1392. /package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1393. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  1394. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  1395. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1396. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1397. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1398. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  1399. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  1400. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1401. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  1402. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1403. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1404. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1405. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1406. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1407. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  1408. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  1409. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  1410. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1411. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1412. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1413. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  1414. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  1415. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  1416. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  1417. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1418. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  1419. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  1420. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  1421. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  1422. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  1423. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1424. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1425. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1426. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1427. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1428. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1429. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  1430. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1431. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  1432. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  1433. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1434. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1435. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1436. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  1437. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1 +1 @@
1
- import{Matrix4 as e}from"three";import{groupComponentsByEntityIdAndName as t}from"../../components/group-components-by-entity-id-and-name.js";import{resolveMorphTargetInfluences as n}from"../../scene/index.js";import{customSceneEntityComponent as r,hiddenEntityComponent as i,materialOverridePropertyTransitionComponent as o,materialOverrideTransformerComponent as s,sceneEntityAmbientLightComponent as a,sceneEntityBoxObjectComponent as c,sceneEntityDirectionalLightComponent as l,sceneEntityLocalMaterialOverrideComponent as m,sceneEntityMaterialOverrideComponent as d,sceneEntityObjectClipComponent as g,sceneEntityObjectComponent as p,sceneEntityObjectDecalComponent as h,sceneEntityObjectGroupComponent as f,sceneEntityObjectLocalMaterialOverrideComponent as y,sceneEntityObjectMaterialOverrideComponent as j,sceneEntityObjectPropertiesComponent as x,sceneEntityObjectRemoteMaterialOverrideComponent as u,sceneEntityObjectTextDecalComponent as S,sceneEntityObjectTransformerComponent as v,sceneEntityObjectTransmissiveMaterialOverrideComponent as b,sceneEntityPointLightComponent as _,sceneEntityPropertiesComponent as E,sceneEntityRectAreaLightComponent as O,sceneEntityRemoteMaterialOverrideComponent as N,sceneEntityRemoteObjectComponent as B,sceneEntitySpotLightComponent as I,sceneEntityTransmissiveMaterialOverrideComponent as w}from"../../system-components/index.js";import{createSceneObjectGroupTransformResolver as $}from"../common/scene-object-transform.js";import{reduceMaterialOverrides as L}from"../material-overrides.js";import{projectBlenderCamera as C}from"./camera.js";import{getBlenderObjectMaterialOverrides as T}from"./entity-overrides.js";import{projectBlenderLight as D}from"./lights.js";import{projectBlenderMaterialOverrides as P}from"./materials.js";import{getBlenderObjectTransform as M}from"./transforms.js";let U=e=>"fileUrl"in e,R=(e,t)=>`${e}_${t}`;export class BlenderProjections{_context;constructor(e){this._context=e}_readEntityComponents=(e,n)=>t(this._context.selectors.getComponentReader().readManyComponents({entityIds:[e],componentTypes:[r,i,E,B,p,c,N,m,d,w,x,f,j,y,u,b,S,h,v,g,s,o,_,I,l,a,O]},n)).get(e);_traverse=(e,t,r)=>{let i=this._readEntityComponents(e.id,r),o=[...i?.sceneEntityRemoteObject??[],...i?.sceneEntityObject??[],...i?.sceneEntityBoxObject??[]],s={worldMatrix:this._context.selectors.getPositionProjections().getEntityWorldMatrix(e.id,r,null)},a=(i?.hiddenEntity?.length??0)>0,c={id:e.id,parent:t,customEntity:i?.customSceneEntity?.[0]?.state.node,isHidden:a,overrideComponents:i,properties:s,sceneObjects:o.map(r=>{let o=i?.sceneEntityObjectProperties?.find(e=>e.componentInstance.instanceName===r.componentInstance.instanceName)?.state,s=i?.sceneEntityObjectTextDecal?.filter(e=>e.componentInstance.instanceName===r.componentInstance.instanceName),a=i?.sceneEntityObjectDecal?.filter(e=>e.componentInstance.instanceName===r.componentInstance.instanceName),c=i?.sceneEntityObjectTransformer?.filter(e=>e.state.target===r.componentInstance.instanceName),l=n(o?.morphTargetInfluences,t=>this._context.domainServicesSelectors.getLogger().warn(`Morph target "${t}" on object ${r.componentInstance.instanceName} of entity ${e.id} has scaleZero equal to scaleOne, so its influence is undefined and is exported to Blender as 0. Give scaleZero and scaleOne different values.`)),m=i?.sceneEntityObjectClip?.filter(e=>e.state.target===r.componentInstance.instanceName),{overrides:d,transformations:g,transitions:p}=T(i??{},t,r.componentInstance.instanceName);return{instanceName:r.componentInstance.instanceName,object:r.state,properties:o,morphTargetInfluences:l,textDecals:s,decals:a,materialOverrides:d,materialOverrideTransformations:g,materialOverridePropertyTransitions:p,objectTransformations:c,clips:m}}),nodes:[]};for(let t of e.nodes){let e=this._traverse(t.node,c,r);c.nodes.push(e)}return c};getSceneEntityTree=e=>{let{root:t}=this._context.selectors.getCompositionProjections().getTree(e);return this._traverse(t,null,e)};_getBlenderObjects=(t,n)=>{let r=this._context.selectors.getDimensionSystem().getDataDistanceUnit(t),i=[],o=t=>{if(t.isHidden)return;if(null!=t.customEntity)return void this._context.domainServicesSelectors.getLogger().warn(`Custom entity ${t.id} is not supported in Blender.`);let n=t.overrideComponents?.materialOverrideTransformer??[];n.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Entity ${t.id} has ${n.length} material override transformer(s), they are not applied in Blender. Set the final material values on the overrides active in the export state.`);let s=t.properties,a=$(t.overrideComponents?.sceneEntityObjectGroup?.map(e=>({instanceName:e.componentInstance.instanceName,state:e.state}))??[],r),c=new Map(t.sceneObjects.map(e=>[e,a(e.properties?.targetParentGroup,e.instanceName)]));for(let n of t.sceneObjects){let o=c.get(n);if(o?.visible===!1||n.properties?.visible===!1||n.properties?.rendered===!1)continue;if(!U(n.object)){this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} is not a remote object, it will not be rendered in Blender.`);continue}n.textDecals&&n.textDecals.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has text decals, they are not rendered in Blender.`),n.decals&&n.decals.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has decals, they are not rendered in Blender.`),n.objectTransformations&&n.objectTransformations.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has object transformers, they are not applied in Blender. Express the transform through sceneEntityObjectProperties or a sceneEntityObjectGroup active in the export state.`),n.clips&&n.clips.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has animation clips, they are not played in Blender.`);let a=n.object,{position:l,scale:m,rotation:d}=M(o?new e().multiplyMatrices(s.worldMatrix,o.matrix):s.worldMatrix,n.properties,a.dimensionUnit??r,r),g=L(n.materialOverrides??[]),p=P({logger:this._context.domainServicesSelectors.getLogger(),materialOverrides:g,objectInstanceName:n.instanceName,transitions:n.materialOverridePropertyTransitions??[]});i.push({id:R(t.id,n.instanceName),objectName:a.objectName,position:l,scale:m,rotation:d,morphTargetInfluences:n.morphTargetInfluences,materialOverrides:p})}for(let e of t.nodes)o(e)};return o(n),i};getBlenderObjects=e=>this._getBlenderObjects(e,this.getSceneEntityTree(e));_prepareExportState=(e,t,n)=>{let r=this._context.selectors.getNavigationSystem().getExportUpdate(t,n),i=this._context.selectors.getStoreSystem().prepareStateEmission([r],e,"staged");if(!i.validity.valid)throw this._context.domainServicesSelectors.getLogger().error(`Setting an export state to ${t} for entity ${n} resulted in an invalid state! Check if there isn't a transformer corrupting the state as a reaction to setting the export state.`,i),Error("Exported state is invalid!");return i.state};_getBlenderLights=(e,t)=>{let n=this._context.selectors.getDimensionSystem().getDataDistanceUnit(e),r=[],i=e=>{if(e.isHidden||null!=e.customEntity)return;let t=e.overrideComponents,o=t?.sceneEntityAmbientLight??[];for(let i of(o.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Entity "${e.id}" has ${o.length} ambient light component(s) which are not exported to Blender because Blender has no equivalent ambient light type. Use HDRI lighting or additional point/area lights instead.`),[...t?.sceneEntityPointLight??[],...t?.sceneEntitySpotLight??[],...t?.sceneEntityDirectionalLight??[],...t?.sceneEntityRectAreaLight??[]])){let t=D({entityId:e.id,entityWorldMatrix:e.properties.worldMatrix,snapshot:i,distanceUnit:n});null!=t?r.push(t):this._context.domainServicesSelectors.getLogger().warn(`Unknown light component type for ${i.componentInstance.instanceName}`)}for(let t of e.nodes)i(t)};return i(t),r};getBlenderLights=e=>this._getBlenderLights(e,this.getSceneEntityTree(e));getBlenderCamera=(e,t)=>C(e,t,{componentReader:this._context.selectors.getComponentReader(),dimensionSystem:this._context.selectors.getDimensionSystem(),positionProjections:this._context.selectors.getPositionProjections()});_getBlenderSceneConfigFromState=e=>{let t=this.getSceneEntityTree(e),n=this._getBlenderObjects(e,t),r=this._getBlenderLights(e,t);return{renderedEntities:n.map(e=>({id:e.id,type:"default",objectName:e.objectName,position:e.position,scale:e.scale,rotation:e.rotation,materialOverrides:e.materialOverrides,morphTargetInfluences:e.morphTargetInfluences})),lights:r.length>0?r:void 0}};getBlenderSceneConfig=(e,t,n)=>{let r=this._prepareExportState(e,t,n);return this._getBlenderSceneConfigFromState(r)};getBlenderImageConfig=(e,t,n,r)=>{let i=this._prepareExportState(e,t,n);return{width:r.width,height:r.height,...this._getBlenderSceneConfigFromState(i),camera:this.getBlenderCamera(i,r)}}}
1
+ import{Matrix4 as e}from"three";import{groupComponentsByEntityIdAndName as t}from"../../core/index.js";import{resolveMorphTargetInfluences as n}from"../../scene/index.js";import{customSceneEntityComponent as r,hiddenEntityComponent as i,materialOverridePropertyTransitionComponent as o,materialOverrideTransformerComponent as s,sceneEntityAmbientLightComponent as a,sceneEntityBoxObjectComponent as c,sceneEntityDirectionalLightComponent as l,sceneEntityLocalMaterialOverrideComponent as m,sceneEntityMaterialOverrideComponent as d,sceneEntityObjectClipComponent as g,sceneEntityObjectComponent as p,sceneEntityObjectDecalComponent as h,sceneEntityObjectGroupComponent as f,sceneEntityObjectLocalMaterialOverrideComponent as y,sceneEntityObjectMaterialOverrideComponent as j,sceneEntityObjectPropertiesComponent as x,sceneEntityObjectRemoteMaterialOverrideComponent as S,sceneEntityObjectTextDecalComponent as u,sceneEntityObjectTransformerComponent as v,sceneEntityObjectTransmissiveMaterialOverrideComponent as b,sceneEntityPointLightComponent as _,sceneEntityPropertiesComponent as E,sceneEntityRectAreaLightComponent as O,sceneEntityRemoteMaterialOverrideComponent as N,sceneEntityRemoteObjectComponent as B,sceneEntitySpotLightComponent as I,sceneEntityTransmissiveMaterialOverrideComponent as w}from"../../system-components/index.js";import{createSceneObjectGroupTransformResolver as $}from"../common/scene-object-transform.js";import{reduceMaterialOverrides as L}from"../material-overrides.js";import{projectBlenderCamera as C}from"./camera.js";import{getBlenderObjectMaterialOverrides as T}from"./entity-overrides.js";import{projectBlenderLight as D}from"./lights.js";import{projectBlenderMaterialOverrides as P}from"./materials.js";import{getBlenderObjectTransform as M}from"./transforms.js";let U=e=>"fileUrl"in e,R=(e,t)=>`${e}_${t}`;export class BlenderProjections{_context;constructor(e){this._context=e}_readEntityComponents=(e,n)=>t(this._context.selectors.getComponentReader().readManyComponents({entityIds:[e],componentTypes:[r,i,E,B,p,c,N,m,d,w,x,f,j,y,S,b,u,h,v,g,s,o,_,I,l,a,O]},n)).get(e);_traverse=(e,t,r)=>{let i=this._readEntityComponents(e.id,r),o=[...i?.sceneEntityRemoteObject??[],...i?.sceneEntityObject??[],...i?.sceneEntityBoxObject??[]],s={worldMatrix:this._context.selectors.getPositionProjections().getEntityWorldMatrix(e.id,r,null)},a=(i?.hiddenEntity?.length??0)>0,c={id:e.id,parent:t,customEntity:i?.customSceneEntity?.[0]?.state.node,isHidden:a,overrideComponents:i,properties:s,sceneObjects:o.map(r=>{let o=i?.sceneEntityObjectProperties?.find(e=>e.componentInstance.instanceName===r.componentInstance.instanceName)?.state,s=i?.sceneEntityObjectTextDecal?.filter(e=>e.componentInstance.instanceName===r.componentInstance.instanceName),a=i?.sceneEntityObjectDecal?.filter(e=>e.componentInstance.instanceName===r.componentInstance.instanceName),c=i?.sceneEntityObjectTransformer?.filter(e=>e.state.target===r.componentInstance.instanceName),l=n(o?.morphTargetInfluences,t=>this._context.domainServicesSelectors.getLogger().warn(`Morph target "${t}" on object ${r.componentInstance.instanceName} of entity ${e.id} has scaleZero equal to scaleOne, so its influence is undefined and is exported to Blender as 0. Give scaleZero and scaleOne different values.`)),m=i?.sceneEntityObjectClip?.filter(e=>e.state.target===r.componentInstance.instanceName),{overrides:d,transformations:g,transitions:p}=T(i??{},t,r.componentInstance.instanceName);return{instanceName:r.componentInstance.instanceName,object:r.state,properties:o,morphTargetInfluences:l,textDecals:s,decals:a,materialOverrides:d,materialOverrideTransformations:g,materialOverridePropertyTransitions:p,objectTransformations:c,clips:m}}),nodes:[]};for(let t of e.nodes){let e=this._traverse(t.node,c,r);c.nodes.push(e)}return c};getSceneEntityTree=e=>{let{root:t}=this._context.selectors.getCompositionProjections().getTree(e);return this._traverse(t,null,e)};_getBlenderObjects=(t,n)=>{let r=this._context.selectors.getDimensionSystem().getDataDistanceUnit(t),i=[],o=t=>{if(t.isHidden)return;if(null!=t.customEntity)return void this._context.domainServicesSelectors.getLogger().warn(`Custom entity ${t.id} is not supported in Blender.`);let n=t.overrideComponents?.materialOverrideTransformer??[];n.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Entity ${t.id} has ${n.length} material override transformer(s), they are not applied in Blender. Set the final material values on the overrides active in the export state.`);let s=t.properties,a=$(t.overrideComponents?.sceneEntityObjectGroup?.map(e=>({instanceName:e.componentInstance.instanceName,state:e.state}))??[],r),c=new Map(t.sceneObjects.map(e=>[e,a(e.properties?.targetParentGroup,e.instanceName)]));for(let n of t.sceneObjects){let o=c.get(n);if(o?.visible===!1||n.properties?.visible===!1||n.properties?.rendered===!1)continue;if(!U(n.object)){this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} is not a remote object, it will not be rendered in Blender.`);continue}n.textDecals&&n.textDecals.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has text decals, they are not rendered in Blender.`),n.decals&&n.decals.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has decals, they are not rendered in Blender.`),n.objectTransformations&&n.objectTransformations.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has object transformers, they are not applied in Blender. Express the transform through sceneEntityObjectProperties or a sceneEntityObjectGroup active in the export state.`),n.clips&&n.clips.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Object ${n.instanceName} of entity ${t.id} has animation clips, they are not played in Blender.`);let a=n.object,{position:l,scale:m,rotation:d}=M(o?new e().multiplyMatrices(s.worldMatrix,o.matrix):s.worldMatrix,n.properties,a.dimensionUnit??r,r),g=L(n.materialOverrides??[]),p=P({logger:this._context.domainServicesSelectors.getLogger(),materialOverrides:g,objectInstanceName:n.instanceName,transitions:n.materialOverridePropertyTransitions??[]});i.push({id:R(t.id,n.instanceName),objectName:a.objectName,position:l,scale:m,rotation:d,morphTargetInfluences:n.morphTargetInfluences,materialOverrides:p})}for(let e of t.nodes)o(e)};return o(n),i};getBlenderObjects=e=>this._getBlenderObjects(e,this.getSceneEntityTree(e));_prepareExportState=(e,t,n)=>{let r=this._context.selectors.getNavigationSystem().getExportUpdate(t,n),i=this._context.selectors.getStoreSystem().prepareStateEmission([r],e,"staged");if(!i.validity.valid)throw this._context.domainServicesSelectors.getLogger().error(`Setting an export state to ${t} for entity ${n} resulted in an invalid state! Check if there isn't a transformer corrupting the state as a reaction to setting the export state.`,i),Error("Exported state is invalid!");return i.state};_getBlenderLights=(e,t)=>{let n=this._context.selectors.getDimensionSystem().getDataDistanceUnit(e),r=[],i=e=>{if(e.isHidden||null!=e.customEntity)return;let t=e.overrideComponents,o=t?.sceneEntityAmbientLight??[];for(let i of(o.length>0&&this._context.domainServicesSelectors.getLogger().warn(`Entity "${e.id}" has ${o.length} ambient light component(s) which are not exported to Blender because Blender has no equivalent ambient light type. Use HDRI lighting or additional point/area lights instead.`),[...t?.sceneEntityPointLight??[],...t?.sceneEntitySpotLight??[],...t?.sceneEntityDirectionalLight??[],...t?.sceneEntityRectAreaLight??[]])){let t=D({entityId:e.id,entityWorldMatrix:e.properties.worldMatrix,snapshot:i,distanceUnit:n});null!=t?r.push(t):this._context.domainServicesSelectors.getLogger().warn(`Unknown light component type for ${i.componentInstance.instanceName}`)}for(let t of e.nodes)i(t)};return i(t),r};getBlenderLights=e=>this._getBlenderLights(e,this.getSceneEntityTree(e));getBlenderCamera=(e,t)=>C(e,t,{componentReader:this._context.selectors.getComponentReader(),dimensionSystem:this._context.selectors.getDimensionSystem(),positionProjections:this._context.selectors.getPositionProjections()});_getBlenderSceneConfigFromState=e=>{let t=this.getSceneEntityTree(e),n=this._getBlenderObjects(e,t),r=this._getBlenderLights(e,t);return{renderedEntities:n.map(e=>({id:e.id,type:"default",objectName:e.objectName,position:e.position,scale:e.scale,rotation:e.rotation,materialOverrides:e.materialOverrides,morphTargetInfluences:e.morphTargetInfluences})),lights:r.length>0?r:void 0}};getBlenderSceneConfig=(e,t,n)=>{let r=this._prepareExportState(e,t,n);return this._getBlenderSceneConfigFromState(r)};getBlenderImageConfig=(e,t,n,r)=>{let i=this._prepareExportState(e,t,n);return{width:r.width,height:r.height,...this._getBlenderSceneConfigFromState(i),camera:this.getBlenderCamera(i,r)}}}
@@ -1,6 +1,6 @@
1
1
  import type { DomainEntity, DomainState } from '../../core/index.js';
2
2
  import type { AnyDimensionSystem } from '../../domain-context/index.js';
3
- import type { AnyComponentReader } from '../../domain-runtime/domain-context/index.js';
3
+ import type { AnyComponentReader } from '../../domain-runtime/index.js';
4
4
  import type { AnyPositionProjections } from '../position-projections.js';
5
5
  import type { BlenderCamera, BlenderImageSize } from './types.js';
6
6
  export interface BlenderCameraProjectionContext {
@@ -8,4 +8,4 @@ export interface BlenderCameraProjectionContext {
8
8
  readonly dimensionSystem: Pick<AnyDimensionSystem, 'getDataDistanceUnit'>;
9
9
  readonly positionProjections: Pick<AnyPositionProjections, 'getEntityWorldMatrix'>;
10
10
  }
11
- export declare const projectBlenderCamera: <ENTITIES extends DomainEntity<string>>(state: DomainState<ENTITIES>, imageSize: BlenderImageSize, context: BlenderCameraProjectionContext) => BlenderCamera;
11
+ export declare const projectBlenderCamera: (state: DomainState<DomainEntity<string>>, imageSize: BlenderImageSize, context: BlenderCameraProjectionContext) => BlenderCamera;
@@ -1,6 +1,6 @@
1
1
  import { Matrix4, Mesh, Vector3 } from 'three';
2
2
  import { type DomainEntity, type DomainState, type EntityId } from '../core/index.js';
3
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
3
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
4
4
  import { type AnyCollisionGeometrySnapshot } from '../system-components/index.js';
5
5
  /**
6
6
  * DE-9IM-style classification of the spatial relationship between two
@@ -1,6 +1,6 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
2
  import { type DomainEntity, type DomainEntityId, type DomainState, type EntityId, type VirtualEntityId } from '../core/index.js';
3
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
3
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
4
4
  export declare class CompositionCycleError extends Error {
5
5
  constructor(entityId: DomainEntityId<string>);
6
6
  }
@@ -1 +1 @@
1
- import{isEqualArray as t}from"@salsita-ai/common/utils";import{groupComponentsByEntityIdAndName as e}from"../components/group-components-by-entity-id-and-name.js";import{domainEntityTypeFromId as o,isVirtualEntityId as i}from"../core/index.js";import{composedOfComponent as n}from"../relations/composed-of.js";import{detailComponent as s,priceComponent as r}from"../system-components/index.js";export class CompositionCycleError extends Error{constructor(t){super(`Entity ${t} is part of a cycle or appears in two branches in the scene graph! This is not allowed, fix the domain relationships to have clear composition hierarchy!`)}}export class EntityNotPartOfCompositionTreeError extends Error{constructor(t){super(`Entity ${t} is not part of the composition tree. Add composition relations to the entity so every entity is descendant of the root entity!`)}}export class EntityCompositionNode{id;parent;nodes;constructor(t,e,o){this.id=t,this.parent=e,this.nodes=o}descendants=t=>(function* t(e,o){for(let i of e.nodes)o&&i.relation!==o||(yield i.node,yield*t(i.node))})(this,t);children=t=>(function*(t,e){for(let o of t.nodes)e&&o.relation!==e||(yield o.node)})(this,t);ancestors=()=>(function*(t){let e=t.parent;for(;e;)yield e,e=e.parent})(this)}export class CompositionProjections{_context;_weakCache=new WeakMap;_previousValue=null;constructor(t){this._context=t}_traverseComposition=(t,e,o,i,n,s)=>{let r=new EntityCompositionNode(t,e,[]);if(o.has(r))throw new CompositionCycleError(t);for(let e of(i.set(t,r),o.add(r),s??[]))if(e.componentInstance.entityId===t)for(let t of e.state.childEntityIds){let a=this._traverseComposition(t,r,o,i,n,s);r.nodes.push({node:a,relation:e.componentInstance.instanceName})}return r};getTree=e=>{let o=this._weakCache.get(e);if(void 0!==o)return o;let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[n]},e);if(this._previousValue&&this._previousValue.rootEntityId===e.rootEntityId&&t(i,this._previousValue.components??[]))return this._weakCache.set(e,this._previousValue.value),this._previousValue.value;let s=new Map,r=this._traverseComposition(e.rootEntityId,null,new Set,s,e,i);for(let t of e.entities)if(void 0===s.get(t.id))throw new EntityNotPartOfCompositionTreeError(t.id);let a={map:s,root:r};return this._weakCache.set(e,a),this._previousValue={components:i,value:a,rootEntityId:e.rootEntityId},a};readBasicEntityInfo=(t,n)=>{let a=e(this._context.selectors.getComponentReader().readManyComponents({entityIds:[t],componentTypes:[s,r]},n)).get(t),l=i(t)?t.name:o(t);return{entityId:t,title:a?.detail?.[0]?.state.title??l,shortDescription:a?.detail?.[0]?.state.description,subtitle:a?.detail?.[0]?.state.subtitle,price:a?.price?.[0]?.state.price,thumbnailUrl:a?.detail?.[0]?.state.thumbnailUrl}}}
1
+ import{isEqualArray as t}from"@salsita-ai/common/utils";import{composedOfComponent as e,domainEntityTypeFromId as o,groupComponentsByEntityIdAndName as i,isVirtualEntityId as n}from"../core/index.js";import{detailComponent as s,priceComponent as r}from"../system-components/index.js";export class CompositionCycleError extends Error{constructor(t){super(`Entity ${t} is part of a cycle or appears in two branches in the scene graph! This is not allowed, fix the domain relationships to have clear composition hierarchy!`)}}export class EntityNotPartOfCompositionTreeError extends Error{constructor(t){super(`Entity ${t} is not part of the composition tree. Add composition relations to the entity so every entity is descendant of the root entity!`)}}export class EntityCompositionNode{id;parent;nodes;constructor(t,e,o){this.id=t,this.parent=e,this.nodes=o}descendants=t=>(function* t(e,o){for(let i of e.nodes)o&&i.relation!==o||(yield i.node,yield*t(i.node))})(this,t);children=t=>(function*(t,e){for(let o of t.nodes)e&&o.relation!==e||(yield o.node)})(this,t);ancestors=()=>(function*(t){let e=t.parent;for(;e;)yield e,e=e.parent})(this)}export class CompositionProjections{_context;_weakCache=new WeakMap;_previousValue=null;constructor(t){this._context=t}_traverseComposition=(t,e,o,i,n,s)=>{let r=new EntityCompositionNode(t,e,[]);if(o.has(r))throw new CompositionCycleError(t);for(let e of(i.set(t,r),o.add(r),s??[]))if(e.componentInstance.entityId===t)for(let t of e.state.childEntityIds){let a=this._traverseComposition(t,r,o,i,n,s);r.nodes.push({node:a,relation:e.componentInstance.instanceName})}return r};getTree=o=>{let i=this._weakCache.get(o);if(void 0!==i)return i;let n=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[e]},o);if(this._previousValue&&this._previousValue.rootEntityId===o.rootEntityId&&t(n,this._previousValue.components??[]))return this._weakCache.set(o,this._previousValue.value),this._previousValue.value;let s=new Map,r=this._traverseComposition(o.rootEntityId,null,new Set,s,o,n);for(let t of o.entities)if(void 0===s.get(t.id))throw new EntityNotPartOfCompositionTreeError(t.id);let a={map:s,root:r};return this._weakCache.set(o,a),this._previousValue={components:n,value:a,rootEntityId:o.rootEntityId},a};readBasicEntityInfo=(t,e)=>{let a=i(this._context.selectors.getComponentReader().readManyComponents({entityIds:[t],componentTypes:[s,r]},e)).get(t),l=n(t)?t.name:o(t);return{entityId:t,title:a?.detail?.[0]?.state.title??l,shortDescription:a?.detail?.[0]?.state.description,subtitle:a?.detail?.[0]?.state.subtitle,price:a?.price?.[0]?.state.price,thumbnailUrl:a?.detail?.[0]?.state.thumbnailUrl}}}
@@ -1,5 +1,5 @@
1
1
  import type { DomainEntity, DomainState } from '../core/index.js';
2
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
2
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
3
3
  import { type SpatialPredicateName } from '../system-components/index.js';
4
4
  /**
5
5
  * Constructor context of `ConstraintProjections`. It carries no `selectors` member because every
@@ -5,7 +5,7 @@ export { CollisionProjections, type CollisionMesh, type Collision, type SpatialR
5
5
  export { ConstraintProjections, type AnyConstraintProjections } from './constraint-projections.js';
6
6
  export { CompositionProjections, type AnyCompositionProjections, EntityCompositionNode, CompositionCycleError, EntityNotPartOfCompositionTreeError, type CompositionTreeWithIndex, } from './composition-projections.js';
7
7
  export { SnappingProjections, type AnySnapMatch, type WorldSnapPoint, type SnapMatch, type FindSnapOptions, type WorldSnapEdge, type EdgeSnapMatch, type WorldSnapPlane, type PlaneSnapMatch, type WorldSnapAxis, type AxisSnapMatch, type AnySnappingProjections, } from './snapping-projections.js';
8
- export { ValidationProjections, type AnyValidationProjections, type ValidationProjectionsContext, type StateValidationResult, type SystemViolation, } from './validation-projections.js';
8
+ export { ValidationProjections, type AnyValidationProjections, type ValidationProjectionsContext, type SystemViolation, } from './validation-projections.js';
9
9
  export { findBestPointSnap, findAllPointSnaps, findBestEdgeSnap, findBestPlaneSnap, findBestAxisSnap, snapScore, extractYRotationFromMatrix, type AutoRotateContext, } from './snap-matching.js';
10
10
  export { computeWorldMatrix, computeWorldSnapPoints, computeWorldSnapEdges, computeWorldSnapPlanes, computeWorldSnapAxes, toMmBounds, } from './snap-utils.js';
11
11
  export { ProjectedEntitiesProjections, type AnyProjectedEntitiesProjections } from './projected-entities-projections.js';
@@ -1,6 +1,6 @@
1
1
  import { Euler, Matrix4, Quaternion, Vector3 } from 'three';
2
2
  import type { DomainEntity, DomainEntityId, DomainState } from '../core/index.js';
3
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
3
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
4
4
  /**
5
5
  * Override for an entity's position during an active drag or rotation.
6
6
  * This is a simplified view of the dragging state — only the fields
@@ -1,5 +1,5 @@
1
1
  import type { DomainEntity, DomainEntityId, DomainState } from '../core/index.js';
2
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
2
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
3
3
  /**
4
4
  * Constructor context of `ProjectedEntitiesProjections`. It carries no `selectors` member because
5
5
  * every registry read is transitive through collaborators that own their own registry window. A
@@ -1,5 +1,5 @@
1
1
  import { type DomainEntity, type DomainState, type EntityId } from '../core/index.js';
2
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
2
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
3
3
  import { type AnySnapMatch, type AxisSnapMatch, type EdgeSnapMatch, type FindSnapOptions, type PlaneSnapMatch, type SnapMatch, type WorldSnapAxis, type WorldSnapEdge, type WorldSnapPlane, type WorldSnapPoint } from './snap-matching.js';
4
4
  export type { AnySnapMatch, WorldSnapPoint, SnapMatch, FindSnapOptions, WorldSnapEdge, EdgeSnapMatch, WorldSnapPlane, PlaneSnapMatch, WorldSnapAxis, AxisSnapMatch, };
5
5
  /**
@@ -1,24 +1,7 @@
1
- import type { $DomainEntity, DomainEntity, DomainState } from '../core/index.js';
2
- import type { AngleDimensionViolation, DistanceDimensionViolation, GenericDimensionViolation } from '../domain-context/dimension-system/dimension-system.js';
3
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
4
- import type { EntityViolation, ViolationTypesOf$Entity } from '../invariants/violation.js';
1
+ import { type $DomainEntity, type DomainEntity, type DomainState, type StateValidationResult, type ViolationTypesOf$Entity } from '../core/index.js';
2
+ import type { AngleDimensionViolation, DistanceDimensionViolation, GenericDimensionViolation } from '../domain-context/index.js';
3
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
5
4
  export type SystemViolation = AngleDimensionViolation | DistanceDimensionViolation | GenericDimensionViolation;
6
- export type StateValidationResult<ENTITIES extends DomainEntity<string>, VIOLATION_TYPE extends string> = {
7
- readonly valid: true;
8
- readonly severity: null;
9
- } | {
10
- readonly valid: true;
11
- readonly severity: 'warning' | 'notice';
12
- readonly entityViolations: ReadonlyArray<EntityViolation<ENTITIES, VIOLATION_TYPE>>;
13
- } | {
14
- readonly valid: false;
15
- readonly severity: 'uncaught';
16
- readonly error: Error;
17
- } | {
18
- readonly valid: false;
19
- readonly severity: 'fatal' | 'fixable';
20
- readonly entityViolations: ReadonlyArray<EntityViolation<ENTITIES, VIOLATION_TYPE>>;
21
- };
22
5
  /**
23
6
  * Constructor context of `ValidationProjections`. Runtime dependencies are resolved through
24
7
  * selectors on every read so a hot-reloaded spec is observed without rebuilding the projections.
@@ -1 +1 @@
1
- import{violationsComponent as t}from"../invariants/violation-component.js";import{compareSeverity as e}from"../invariants/violation.js";export class ValidationProjections{_context;constructor(t){this._context=t}validateState(o){let n=[],r=null;try{for(let i of(this._context.selectors.getDomain().validateExpressions(o),this._context.selectors.getComponentReader().readManyComponents({componentTypes:[t]},o)))i.state.violations.forEach(t=>{(null===r||0>e(t.severity,r))&&(r=t.severity),n.push({entityId:i.componentInstance.entityId,violation:t})});for(let{entityId:t,violation:i}of this._context.selectors.getDimensionSystem().validateState(o))(null===r||0>e(i.severity,r))&&(r=i.severity),n.push({entityId:t,violation:i});if(null===r)return{valid:!0,severity:null};if("fatal"===r||"fixable"===r)return{valid:!1,severity:r,entityViolations:n};return{valid:!0,severity:r,entityViolations:n}}catch(t){return{valid:!1,error:t instanceof Error?t:Error(`Unknown error occurred - ${String(t)}`),severity:"uncaught"}}}}
1
+ import{compareSeverity as t,violationsComponent as e}from"../core/index.js";export class ValidationProjections{_context;constructor(t){this._context=t}validateState(r){let o=[],n=null;try{for(let i of(this._context.selectors.getDomain().validateExpressions(r),this._context.selectors.getComponentReader().readManyComponents({componentTypes:[e]},r)))i.state.violations.forEach(e=>{(null===n||0>t(e.severity,n))&&(n=e.severity),o.push({entityId:i.componentInstance.entityId,violation:e})});for(let{entityId:e,violation:i}of this._context.selectors.getDimensionSystem().validateState(r))(null===n||0>t(i.severity,n))&&(n=i.severity),o.push({entityId:e,violation:i});if(null===n)return{valid:!0,severity:null};if("fatal"===n||"fixable"===n)return{valid:!1,severity:n,entityViolations:o};return{valid:!0,severity:n,entityViolations:o}}catch(t){return{valid:!1,error:t instanceof Error?t:Error(`Unknown error occurred - ${String(t)}`),severity:"uncaught"}}}}
@@ -1,5 +1,5 @@
1
1
  import type { DomainEntity, DomainState, EntityId } from '../core/index.js';
2
- import type { DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
2
+ import type { DomainContextSelectors } from '../domain-runtime/index.js';
3
3
  import { type Shape, type Sketching, type SketchingPoint } from './sketching.js';
4
4
  /**
5
5
  * Constructor context of `SketchingProjections`. It carries no `selectors` member because every
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{DomainEntityIdSchema as t}from"../core/index.js";import{ReactNodeSchema as i}from"./common/react-node-schema.js";import{PhoenixEntityElementSchema as n}from"./phoenix-entity-elements/index.js";export const adminSidebarComponent=e.component("adminSidebar").withState({type:"object",tsType:"AdminSidebarComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AdminSidebarComponentState"}],properties:{page:i,children:{type:"array",items:{$ref:"#/definitions/PhoenixEntityElement"}},title:{type:"string"},fallbackId:t},definitions:{PhoenixEntityElement:n},required:["title"],additionalProperties:!1}).build();
1
+ import{DomainEntityIdSchema as e,SystemComponentBuilder as t}from"../core/index.js";import{ReactNodeSchema as i}from"./common/react-node-schema.js";import{PhoenixEntityElementSchema as n}from"./phoenix-entity-elements/index.js";export const adminSidebarComponent=t.component("adminSidebar").withState({type:"object",tsType:"AdminSidebarComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AdminSidebarComponentState"}],properties:{page:i,children:{type:"array",items:{$ref:"#/definitions/PhoenixEntityElement"}},title:{type:"string"},fallbackId:e},definitions:{PhoenixEntityElement:n},required:["title"],additionalProperties:!1}).build();
@@ -1 +1 @@
1
- import{SystemComponentBuilder as n}from"../components/system-component-builder.js";import{isInstanceOfComponentType as o,isSnapshotOfComponentType as e}from"../core/index.js";import{AngleValueSchema as i}from"../dimensions/index.js";export const angleDimensionComponent=n.component("angleDimension").withState(i).withWritableKeys(["value"]).build();export const isAngleDimensionSnapshot=e(angleDimensionComponent);export const isAngleDimensionInstance=o(angleDimensionComponent);
1
+ import{SystemComponentBuilder as n,isInstanceOfComponentType as e,isSnapshotOfComponentType as o}from"../core/index.js";import{AngleValueSchema as i}from"../dimensions/index.js";export const angleDimensionComponent=n.component("angleDimension").withState(i).withWritableKeys(["value"]).build();export const isAngleDimensionSnapshot=o(angleDimensionComponent);export const isAngleDimensionInstance=e(angleDimensionComponent);
@@ -38,7 +38,7 @@ export type ApplicationConfigComponentState = {
38
38
  /**
39
39
  * Array of available dimensions in the application. It will be possible to select them in toolbar if more than one is available.
40
40
  */
41
- readonly availableDimensions?: DimensionUnit[];
41
+ readonly availableDimensions?: readonly DimensionUnit[];
42
42
  /**
43
43
  * When true, the sidebar will be split, it will show the tabs and the header, otherwise it will not.
44
44
  *
@@ -83,7 +83,7 @@ export type ApplicationConfigComponentState = {
83
83
  /**
84
84
  * Locales that user can select in the language switcher. Default ['en'].
85
85
  */
86
- readonly availableLocales?: string[];
86
+ readonly availableLocales?: readonly string[];
87
87
  /**
88
88
  * Initial state of dimension indicators. Default false.
89
89
  */
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isInstanceOfComponentType as n,isSnapshotOfComponentType as t}from"../core/index.js";import{DimensionUnit as o,UnitsConfigSchema as i}from"../dimensions/index.js";export const applicationConfigComponent=e.component("applicationConfig").withState({type:"object",tsType:"ApplicationConfigComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ApplicationConfigComponentState"}],properties:{showCollisionWarnings:{type:"boolean"},collisionWarningIcon:{type:"string"},sidebarBackIcon:{type:"string"},hamburgerIcon:{type:"string"},readonlyBannerIcon:{type:"string"},toolbarCloseIcon:{type:"string"},layout:{type:"string",enum:["simple","tabs","steps","custom","universal"]},ignoreSelectionInSidebar:{type:"boolean"},miniSidebar:{type:"boolean"},initialGlobalUnit:{type:"string",enum:Object.values(o)},distanceDataUnit:{type:"string",enum:Object.values(o)},unitDisplayConfig:i,availableDimensions:{type:"array",items:{type:"string",enum:Object.values(o)}},splitSidebar:{type:"boolean"},showSelectionBackButton:{type:"boolean"},disableDefaultCamera:{type:"boolean"},shareDisabled:{type:"boolean"},shareOwnerLinkDisabled:{type:"boolean"},shareReadRevisionLinkDisabled:{type:"boolean"},shareExpiration:{type:"number"},shareCloneToEdit:{type:"boolean"},shareStrategy:{type:"string",enum:["deployment-registered","current-frontend"]},availableLocales:{type:"array",items:{type:"string"}},initialIndicatorShown:{type:"boolean"},chatEnabled:{type:"boolean"},indicatorSwitch:{type:"boolean"},disableRelativeDragging:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isApplicationConfigSnapshot=t(applicationConfigComponent);export const isApplicationConfigInstance=n(applicationConfigComponent);
1
+ import{SystemComponentBuilder as e,isInstanceOfComponentType as n,isSnapshotOfComponentType as t}from"../core/index.js";import{DimensionUnit as o,UnitsConfigSchema as i}from"../dimensions/index.js";export const applicationConfigComponent=e.component("applicationConfig").withState({type:"object",tsType:"ApplicationConfigComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ApplicationConfigComponentState"}],properties:{showCollisionWarnings:{type:"boolean"},collisionWarningIcon:{type:"string"},sidebarBackIcon:{type:"string"},hamburgerIcon:{type:"string"},readonlyBannerIcon:{type:"string"},toolbarCloseIcon:{type:"string"},layout:{type:"string",enum:["simple","tabs","steps","custom","universal"]},ignoreSelectionInSidebar:{type:"boolean"},miniSidebar:{type:"boolean"},initialGlobalUnit:{type:"string",enum:Object.values(o)},distanceDataUnit:{type:"string",enum:Object.values(o)},unitDisplayConfig:i,availableDimensions:{type:"array",items:{type:"string",enum:Object.values(o)}},splitSidebar:{type:"boolean"},showSelectionBackButton:{type:"boolean"},disableDefaultCamera:{type:"boolean"},shareDisabled:{type:"boolean"},shareOwnerLinkDisabled:{type:"boolean"},shareReadRevisionLinkDisabled:{type:"boolean"},shareExpiration:{type:"number"},shareCloneToEdit:{type:"boolean"},shareStrategy:{type:"string",enum:["deployment-registered","current-frontend"]},availableLocales:{type:"array",items:{type:"string"}},initialIndicatorShown:{type:"boolean"},chatEnabled:{type:"boolean"},indicatorSwitch:{type:"boolean"},disableRelativeDragging:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isApplicationConfigSnapshot=t(applicationConfigComponent);export const isApplicationConfigInstance=n(applicationConfigComponent);
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e}from"../components/system-component-builder.js";import{isSnapshotOfComponentType as o}from"../core/index.js";export const attributeSelectionComponent=e.component("attributeSelection").withState({type:"object",tsType:"AttributeSelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSelectionComponentState"}],properties:{value:{type:["string","number","boolean","null"]},options:{type:"array",items:{type:"object",properties:{label:t,description:t,img:t,value:{type:["string","number","boolean"]}},required:["value","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).withWritableKeys(["value"]).build();export const isAttributeSelectionSnapshot=o(attributeSelectionComponent);
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e,isSnapshotOfComponentType as o}from"../core/index.js";export const attributeSelectionComponent=e.component("attributeSelection").withState({type:"object",tsType:"AttributeSelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"AttributeSelectionComponentState"}],properties:{value:{type:["string","number","boolean","null"]},options:{type:"array",items:{type:"object",properties:{label:t,description:t,img:t,value:{type:["string","number","boolean"]}},required:["value","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).withWritableKeys(["value"]).build();export const isAttributeSelectionSnapshot=o(attributeSelectionComponent);
@@ -1,5 +1,5 @@
1
1
  import { type Box3 } from 'three';
2
- import type { ComponentSnapshot } from '../core/index.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  export type BoundingBoxComponentState = {
4
4
  /**
5
5
  * Three.js Box3 object defining the custom bounding box for camera fitting.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const boundingBoxComponent=e.component("boundingBox").withState({type:"object",tsType:"BoundingBoxComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BoundingBoxComponentState"}],properties:{shape:{type:"object"},minX:{type:"number"},minY:{type:"number"},minZ:{type:"number"},maxX:{type:"number"},maxY:{type:"number"},maxZ:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isBoundingBoxComponent=e=>"boundingBox"===e.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const boundingBoxComponent=e.component("boundingBox").withState({type:"object",tsType:"BoundingBoxComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BoundingBoxComponentState"}],properties:{shape:{type:"object"},minX:{type:"number"},minY:{type:"number"},minZ:{type:"number"},maxX:{type:"number"},maxY:{type:"number"},maxZ:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isBoundingBoxComponent=e=>"boundingBox"===e.componentInstance.componentType.name;
@@ -1,5 +1,5 @@
1
1
  import { type Sphere } from 'three';
2
- import type { ComponentSnapshot } from '../core/index.js';
2
+ import { type ComponentSnapshot } from '../core/index.js';
3
3
  export type BoundingSphereComponentState = {
4
4
  /**
5
5
  * Three.js Sphere object defining the custom bounding sphere for camera fitting.
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const boundingSphereComponent=e.component("boundingSphere").withState({type:"object",tsType:"BoundingSphereComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BoundingSphereComponentState"}],properties:{shape:{type:"object"},centerX:{type:"number"},centerY:{type:"number"},centerZ:{type:"number"},radius:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isBoundingSphereComponent=e=>"boundingSphere"===e.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const boundingSphereComponent=e.component("boundingSphere").withState({type:"object",tsType:"BoundingSphereComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"BoundingSphereComponentState"}],properties:{shape:{type:"object"},centerX:{type:"number"},centerY:{type:"number"},centerZ:{type:"number"},radius:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isBoundingSphereComponent=e=>"boundingSphere"===e.componentInstance.componentType.name;
@@ -1,5 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import type { ComponentInstance, ComponentSnapshot, SystemComponentTypeConstraint } from '../core/index.js';
2
+ import { type ComponentInstance, type ComponentSnapshot, type SystemComponentTypeConstraint } from '../core/index.js';
3
3
  import { type RecipeListItem } from './common/recipes.js';
4
4
  export type ChildEntityRecipesComponentState = {
5
5
  /**
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{recipeListItemSchema as i}from"./common/recipes.js";export const childEntityRecipesComponent=t.component("childEntityRecipes").withState({type:"object",tsType:"ChildEntityRecipesComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntityRecipesComponentState"}],properties:{collection:{type:"string"},recipes:{type:"array",items:i},groupLabel:e,groupDescription:e},required:["recipes"],additionalProperties:!1}).build();export const isChildEntityRecipesSnapshot=e=>e.componentInstance.componentType===childEntityRecipesComponent;export const isChildEntityRecipesInstance=e=>e.componentType===childEntityRecipesComponent;
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../core/index.js";import{recipeListItemSchema as i}from"./common/recipes.js";export const childEntityRecipesComponent=t.component("childEntityRecipes").withState({type:"object",tsType:"ChildEntityRecipesComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntityRecipesComponentState"}],properties:{collection:{type:"string"},recipes:{type:"array",items:i},groupLabel:e,groupDescription:e},required:["recipes"],additionalProperties:!1}).build();export const isChildEntityRecipesSnapshot=e=>e.componentInstance.componentType===childEntityRecipesComponent;export const isChildEntityRecipesInstance=e=>e.componentType===childEntityRecipesComponent;
@@ -1,6 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import type { DomainEntity, DomainEntityId } from '../core/index.js';
3
- import type { EntityRecipe } from '../domain-context/recipe-system/recipes.js';
2
+ import { type DomainEntity, type DomainEntityId, type EntityRecipe } from '../core/index.js';
4
3
  export interface ChildEntitySelectionOption {
5
4
  /**
6
5
  * The label of the option
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{recipeSchema as i}from"./common/recipes.js";export const childEntitySelectionComponent=t.component("childEntitySelection").withState({type:"object",tsType:"ChildEntitySelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntitySelectionComponentState"}],properties:{value:{type:"string"},options:{type:"array",items:{type:"object",properties:{label:e,description:e,img:e,recipes:{type:"array",items:i},keepChildren:{type:"boolean"}},required:["recipes","label"],additionalProperties:!0}}},required:["value","options"],additionalProperties:!1}).build();
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{DomainEntityIdSchema as t,SystemComponentBuilder as i}from"../core/index.js";import{recipeSchema as o}from"./common/recipes.js";export const childEntitySelectionComponent=i.component("childEntitySelection").withState({type:"object",tsType:"ChildEntitySelectionComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ChildEntitySelectionComponentState"}],properties:{value:t,options:{type:"array",items:{type:"object",properties:{label:e,description:e,img:e,recipes:{type:"array",items:o}},required:["recipes","label"],additionalProperties:!1}},keepChildren:{type:"boolean"}},required:["value","options"],additionalProperties:!1}).build();
@@ -1,5 +1,4 @@
1
- import type { Color } from '@salsita-ai/common/utils';
2
- import type { ComponentSnapshot } from '../core/index.js';
1
+ import { type ComponentSnapshot } from '../core/index.js';
3
2
  /**
4
3
  * Axis-aligned box collision geometry, authored via per-axis start/end
5
4
  * coordinates in the entity's local frame (before `sceneEntityProperties`
@@ -14,7 +13,10 @@ export type CollisionBoxGeometryComponentState = {
14
13
  readonly endY: number;
15
14
  readonly startZ: number;
16
15
  readonly endZ: number;
17
- readonly color: Color;
16
+ /**
17
+ * Colour of the collision mesh's wireframe material, any CSS colour string that three.js `Color` accepts.
18
+ */
19
+ readonly color: string;
18
20
  };
19
21
  export declare const collisionBoxGeometryComponent: import("../index.js").SystemComponentType<"collisionBoxGeometry", CollisionBoxGeometryComponentState, never>;
20
22
  export type CollisionBoxGeometryComponent = typeof collisionBoxGeometryComponent;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const collisionBoxGeometryComponent=e.component("collisionBoxGeometry").withState({type:"object",tsType:"CollisionBoxGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionBoxGeometryComponentState"}],properties:{startX:{type:"number"},endX:{type:"number"},startY:{type:"number"},endY:{type:"number"},startZ:{type:"number"},endZ:{type:"number"},color:{type:"string"}},required:["startX","endX","startY","endY","startZ","endZ","color"],additionalProperties:!1}).build();export const isCollisionBoxGeometryComponent=e=>"collisionBoxGeometry"===e.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as e}from"../core/index.js";export const collisionBoxGeometryComponent=e.component("collisionBoxGeometry").withState({type:"object",tsType:"CollisionBoxGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionBoxGeometryComponentState"}],properties:{startX:{type:"number"},endX:{type:"number"},startY:{type:"number"},endY:{type:"number"},startZ:{type:"number"},endZ:{type:"number"},color:{type:"string"}},required:["startX","endX","startY","endY","startZ","endZ","color"],additionalProperties:!1}).build();export const isCollisionBoxGeometryComponent=e=>"collisionBoxGeometry"===e.componentInstance.componentType.name;
@@ -1,5 +1,4 @@
1
- import type { Color } from '@salsita-ai/common/utils';
2
- import type { ComponentSnapshot } from '../core/index.js';
1
+ import { type ComponentSnapshot } from '../core/index.js';
3
2
  /**
4
3
  * Mesh-backed collision geometry. The caller supplies a pre-built
5
4
  * `BufferGeometry` — used for arbitrary meshes (extruded outlines,
@@ -10,7 +9,10 @@ import type { ComponentSnapshot } from '../core/index.js';
10
9
  */
11
10
  export type CollisionGeometryComponentState = {
12
11
  readonly geometry: THREE.BufferGeometry;
13
- readonly color: Color;
12
+ /**
13
+ * Colour of the collision mesh's wireframe material, any CSS colour string that three.js `Color` accepts.
14
+ */
15
+ readonly color: string;
14
16
  };
15
17
  export declare const collisionGeometryComponent: import("../index.js").SystemComponentType<"collisionGeometry", CollisionGeometryComponentState, never>;
16
18
  export type CollisionGeometryComponent = typeof collisionGeometryComponent;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as o}from"../components/system-component-builder.js";export const collisionGeometryComponent=o.component("collisionGeometry").withState({type:"object",tsType:"CollisionGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionGeometryComponentState"}],properties:{geometry:{type:"object"},color:{type:"string"}},required:["geometry","color"],additionalProperties:!1}).build();export const isCollisionGeometryComponent=o=>"collisionGeometry"===o.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as o}from"../core/index.js";export const collisionGeometryComponent=o.component("collisionGeometry").withState({type:"object",tsType:"CollisionGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionGeometryComponentState"}],properties:{geometry:{type:"object"},color:{type:"string"}},required:["geometry","color"],additionalProperties:!1}).build();export const isCollisionGeometryComponent=o=>"collisionGeometry"===o.componentInstance.componentType.name;
@@ -1,5 +1,4 @@
1
- import type { Color } from '@salsita-ai/common/utils';
2
- import type { ComponentSnapshot } from '../core/index.js';
1
+ import { type ComponentSnapshot } from '../core/index.js';
3
2
  /**
4
3
  * Zero-volume point collision geometry at a local `(x, y, z)`. Authored
5
4
  * via the position in the entity's local frame. Internally rendered as a
@@ -12,7 +11,10 @@ export type CollisionPointGeometryComponentState = {
12
11
  readonly x: number;
13
12
  readonly y: number;
14
13
  readonly z: number;
15
- readonly color: Color;
14
+ /**
15
+ * Colour of the collision mesh's wireframe material, any CSS colour string that three.js `Color` accepts.
16
+ */
17
+ readonly color: string;
16
18
  };
17
19
  export declare const collisionPointGeometryComponent: import("../index.js").SystemComponentType<"collisionPointGeometry", CollisionPointGeometryComponentState, never>;
18
20
  export type CollisionPointGeometryComponent = typeof collisionPointGeometryComponent;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as o}from"../components/system-component-builder.js";export const collisionPointGeometryComponent=o.component("collisionPointGeometry").withState({type:"object",tsType:"CollisionPointGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionPointGeometryComponentState"}],properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"},color:{type:"string"}},required:["x","y","z","color"],additionalProperties:!1}).build();export const isCollisionPointGeometryComponent=o=>"collisionPointGeometry"===o.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as o}from"../core/index.js";export const collisionPointGeometryComponent=o.component("collisionPointGeometry").withState({type:"object",tsType:"CollisionPointGeometryComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CollisionPointGeometryComponentState"}],properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"},color:{type:"string"}},required:["x","y","z","color"],additionalProperties:!1}).build();export const isCollisionPointGeometryComponent=o=>"collisionPointGeometry"===o.componentInstance.componentType.name;
@@ -1,10 +1,6 @@
1
- export { type AngleIndicatorBaseState, AngleIndicatorProperties } from './angle-indicator-schema.js';
2
1
  export { type RecipeListItem, recipeListItemSchema } from './recipes.js';
3
2
  export { ReactNodeSchema, type ReactNodeSchemaType } from './react-node-schema.js';
4
3
  export { type SceneEntityHtmlPositionState, type SceneEntityHtmlOpacityState, type SceneEntityHtmlVisibilityState, type SceneEntityHtmlOpacityLimits, type SceneEntityHtmlTooltipState, SceneHtmlPositionProperties, SceneHtmlOpacityProperties, SceneHtmlVisibilityProperties, SceneHtmlTooltipProperties, } from './scene-entity-control-schema.js';
5
4
  export { type DraggableSurface, DraggableSurfaceSchema } from './dragging.js';
6
- export { ArrowHeadType, ArrowHeadTypeSchema } from './dimension-indicators.js';
7
- export { type EditableIndicatorButtonVariant, EditableIndicatorButtonVariantSchema, } from './editable-indicator-button-variant.js';
8
- export { type DimensionIndicatorBaseState, type DimensionIndicatorState, DimensionIndicatorBaseProperties, DimensionIndicatorProperties, } from './dimension-indicator-schema.js';
9
5
  export { type MaterialOverrideBaseState, MaterialOverrideProperties } from './material-override-schema.js';
10
6
  export { type GroupedRecipeItems, type GroupedRecipeGroup, type GroupedRecipes, GroupedRecipeItemsSchema, GroupedRecipeGroupSchema, GroupedRecipesSchema, } from './recipes.js';
@@ -1 +1 @@
1
- export{AngleIndicatorProperties}from"./angle-indicator-schema.js";export{recipeListItemSchema,GroupedRecipeItemsSchema,GroupedRecipeGroupSchema,GroupedRecipesSchema}from"./recipes.js";export{ReactNodeSchema}from"./react-node-schema.js";export{SceneHtmlPositionProperties,SceneHtmlOpacityProperties,SceneHtmlVisibilityProperties,SceneHtmlTooltipProperties}from"./scene-entity-control-schema.js";export{DraggableSurfaceSchema}from"./dragging.js";export{ArrowHeadType,ArrowHeadTypeSchema}from"./dimension-indicators.js";export{EditableIndicatorButtonVariantSchema}from"./editable-indicator-button-variant.js";export{DimensionIndicatorBaseProperties,DimensionIndicatorProperties}from"./dimension-indicator-schema.js";export{MaterialOverrideProperties}from"./material-override-schema.js";
1
+ export{recipeListItemSchema,GroupedRecipeItemsSchema,GroupedRecipeGroupSchema,GroupedRecipesSchema}from"./recipes.js";export{ReactNodeSchema}from"./react-node-schema.js";export{SceneHtmlPositionProperties,SceneHtmlOpacityProperties,SceneHtmlVisibilityProperties,SceneHtmlTooltipProperties}from"./scene-entity-control-schema.js";export{DraggableSurfaceSchema}from"./dragging.js";export{MaterialOverrideProperties}from"./material-override-schema.js";
@@ -100,8 +100,8 @@ export type MaterialOverrideBaseState = {
100
100
  clearcoatRoughnessMapUrl?: string | null | undefined;
101
101
  /** URL of the iridescence map texture. */
102
102
  iridescenceMapUrl?: string | null | undefined;
103
- /** Range of iridescence thickness. */
104
- iridescenceThicknessRange?: [number, number] | undefined;
103
+ /** Range of iridescence thickness: the minimum and the maximum, two numbers. */
104
+ iridescenceThicknessRange?: readonly number[] | undefined;
105
105
  /** URL of the iridescence thickness map texture. */
106
106
  iridescenceThicknessMapUrl?: string | null | undefined;
107
107
  /** URL of the sheen color map texture. */
@@ -1,6 +1,5 @@
1
1
  import { type Localizable } from '@salsita-ai/common/utils';
2
- import type { DomainEntity } from '../../core/index.js';
3
- import { type EntityRecipe } from '../../domain-context/index.js';
2
+ import { type DomainEntity, type EntityRecipe } from '../../core/index.js';
4
3
  export interface RecipeListItem {
5
4
  /**
6
5
  * Stable identifier of the recipe within its list, independent of the language and of the title.
@@ -30,8 +29,17 @@ export declare const recipeSchema: {
30
29
  readonly type: {
31
30
  readonly type: 'string';
32
31
  };
32
+ readonly id: {
33
+ readonly type: 'string';
34
+ readonly pattern: '^[A-Z]\\w*-\\d+$';
35
+ readonly import: [{
36
+ readonly module: '@salsita-ai/sdk/domain';
37
+ readonly member: 'DomainEntityId';
38
+ }];
39
+ readonly tsType: 'DomainEntityId';
40
+ };
33
41
  };
34
- readonly required: ["type"];
42
+ readonly required: ["type", "id"];
35
43
  readonly additionalProperties: true;
36
44
  };
37
45
  export declare const recipeListItemSchema: {
@@ -90,8 +98,17 @@ export declare const recipeListItemSchema: {
90
98
  readonly type: {
91
99
  readonly type: 'string';
92
100
  };
101
+ readonly id: {
102
+ readonly type: 'string';
103
+ readonly pattern: '^[A-Z]\\w*-\\d+$';
104
+ readonly import: [{
105
+ readonly module: '@salsita-ai/sdk/domain';
106
+ readonly member: 'DomainEntityId';
107
+ }];
108
+ readonly tsType: 'DomainEntityId';
109
+ };
93
110
  };
94
- readonly required: ["type"];
111
+ readonly required: ["type", "id"];
95
112
  readonly additionalProperties: true;
96
113
  };
97
114
  };
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";export const recipeSchema={type:"object",properties:{type:{type:"string"}},required:["type"],additionalProperties:!0};export const recipeListItemSchema={type:"object",properties:{key:{type:"string"},title:e,description:e,thumbnailUrl:e,recipes:{type:"array",items:recipeSchema}},required:["title","recipes"],additionalProperties:!1};export const GroupedRecipesSchema={type:"object",tsType:"GroupedRecipes",import:[{module:"@salsita-ai/sdk/domain",member:"GroupedRecipes"}],properties:{instanceNames:{type:"array",items:{type:"string"}}},required:["instanceNames"]};export const GroupedRecipeGroupSchema={type:"object",tsType:"GroupedRecipeGroup",import:[{module:"@salsita-ai/sdk/domain",member:"GroupedRecipeGroup"}],properties:{label:e,description:e,thumbnailUrl:e,children:{$ref:"#/definitions/GroupedRecipeItems"}},required:["label","children"],additionalProperties:!1};export const GroupedRecipeItemsSchema={tsType:"GroupedRecipeItems",import:[{module:"@salsita-ai/sdk/domain",member:"GroupedRecipeItems"}],anyOf:[{type:"array",items:GroupedRecipeGroupSchema},GroupedRecipesSchema]};
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";import{DomainEntityIdSchema as i}from"../../core/index.js";export const recipeSchema={type:"object",properties:{type:{type:"string"},id:i},required:["type","id"],additionalProperties:!0};export const recipeListItemSchema={type:"object",properties:{key:{type:"string"},title:e,description:e,thumbnailUrl:e,recipes:{type:"array",items:recipeSchema}},required:["title","recipes"],additionalProperties:!1};export const GroupedRecipesSchema={type:"object",tsType:"GroupedRecipes",import:[{module:"@salsita-ai/sdk/domain",member:"GroupedRecipes"}],properties:{instanceNames:{type:"array",items:{type:"string"}}},required:["instanceNames"]};export const GroupedRecipeGroupSchema={type:"object",tsType:"GroupedRecipeGroup",import:[{module:"@salsita-ai/sdk/domain",member:"GroupedRecipeGroup"}],properties:{label:e,description:e,thumbnailUrl:e,children:{$ref:"#/definitions/GroupedRecipeItems"}},required:["label","children"],additionalProperties:!1};export const GroupedRecipeItemsSchema={tsType:"GroupedRecipeItems",import:[{module:"@salsita-ai/sdk/domain",member:"GroupedRecipeItems"}],anyOf:[{type:"array",items:GroupedRecipeGroupSchema},GroupedRecipesSchema]};
@@ -115,6 +115,7 @@ declare const SceneHtmlOpacityPropertiesTmp: {
115
115
  readonly type: 'number';
116
116
  };
117
117
  };
118
+ readonly required: readonly ['min', 'max'];
118
119
  readonly additionalProperties: false;
119
120
  };
120
121
  readonly polarAngleLimits: {
@@ -138,6 +139,7 @@ declare const SceneHtmlOpacityPropertiesTmp: {
138
139
  readonly type: 'number';
139
140
  };
140
141
  };
142
+ readonly required: readonly ['min', 'max'];
141
143
  readonly additionalProperties: false;
142
144
  };
143
145
  readonly distanceLimits: {
@@ -161,6 +163,7 @@ declare const SceneHtmlOpacityPropertiesTmp: {
161
163
  readonly type: 'number';
162
164
  };
163
165
  };
166
+ readonly required: readonly ['min', 'max'];
164
167
  readonly additionalProperties: false;
165
168
  };
166
169
  readonly minInteractiveOpacity: {
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";let t={type:"object",tsType:"SceneEntityHtmlOpacityLimits",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityHtmlOpacityLimits"}],properties:{min:{type:"number"},max:{type:"number"},smoothZone:{type:"number"},minOpacity:{type:"number"}},additionalProperties:!1};export const SceneHtmlOpacityProperties={azimuthAngleLimits:t,polarAngleLimits:t,distanceLimits:t,minInteractiveOpacity:{type:"number"}};export const SceneHtmlPositionProperties={offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},screenOffsetHorizontal:{type:"number"},screenOffsetVertical:{type:"number"}};export const SceneHtmlVisibilityProperties={hideWhileDragging:{type:"boolean"},occlude:{type:"boolean"},showWhen:{type:"array",items:{type:"string",enum:["selected","unselected"]}}};export const SceneHtmlTooltipProperties={title:e,tooltipVisibility:{type:["string"],enum:["on-hover","forced","forced-when-still","hidden"]}};
1
+ import{EnhancedLocalizableSchema as e}from"@salsita-ai/common/utils";let t={type:"object",tsType:"SceneEntityHtmlOpacityLimits",import:[{module:"@salsita-ai/sdk/domain",member:"SceneEntityHtmlOpacityLimits"}],properties:{min:{type:"number"},max:{type:"number"},smoothZone:{type:"number"},minOpacity:{type:"number"}},required:["min","max"],additionalProperties:!1};export const SceneHtmlOpacityProperties={azimuthAngleLimits:t,polarAngleLimits:t,distanceLimits:t,minInteractiveOpacity:{type:"number"}};export const SceneHtmlPositionProperties={offsetX:{type:"number"},offsetY:{type:"number"},offsetZ:{type:"number"},screenOffsetHorizontal:{type:"number"},screenOffsetVertical:{type:"number"}};export const SceneHtmlVisibilityProperties={hideWhileDragging:{type:"boolean"},occlude:{type:"boolean"},showWhen:{type:"array",items:{type:"string",enum:["selected","unselected"]}}};export const SceneHtmlTooltipProperties={title:e,tooltipVisibility:{type:["string"],enum:["on-hover","forced","forced-when-still","hidden"]}};
@@ -1,4 +1,4 @@
1
- import type { ComponentSnapshot } from '../core/index.js';
1
+ import { type ComponentSnapshot } from '../core/index.js';
2
2
  /**
3
3
  * Spatial predicates the constraint framework supports. A trimmed subset
4
4
  * of the DE-9IM family — only the predicates we actually evaluate today.
@@ -13,25 +13,23 @@ export type SpatialPredicateName = 'disjoint' | 'touches' | 'within';
13
13
  * Authored in YAML via an expression that resolves to the container's
14
14
  * `DomainEntityId`, e.g. `container: { $read: $sceneId }`. If the
15
15
  * expression resolves to `null` / `undefined` / missing the rule is treated
16
- * as not-applicable (no clamp, no violation). `undefined` is included so
17
- * codegen-emitted reads (e.g. `SpatialConstraint['container']`, which
18
- * resolves to `SpatialConstraintContainer | undefined` because `container`
19
- * is absent on the `disjoint` / `touches` variants) round-trip back into a
20
- * `within` rule's `container` field without a cast.
16
+ * as not-applicable (no clamp, no violation).
21
17
  */
22
18
  export type SpatialConstraintContainer = string | null | undefined;
23
19
  /**
24
- * A single spatial constraint rule. Discriminated on `predicate`.
20
+ * A single spatial constraint rule. `predicate` decides which of the other fields it reads.
25
21
  *
26
- * `disjoint` / `touches` carry a required `group` string. Matching is
22
+ * `disjoint` / `touches` read `group`. Matching is
27
23
  * symmetric: a rule on entity A with `group: G` applies against every
28
24
  * *other* entity whose own constraint component declares the same predicate
29
25
  * with `group: G` — "both sides must opt in to the group". An entity can
30
26
  * join multiple groups by stacking rules. Declaring `disjoint group=G`
31
27
  * simultaneously means "I'm in G" and "I must not overlap anything else in
32
- * G". There is no wildcard: a rule with no matching peers no-ops.
28
+ * G". There is no wildcard: a rule with no matching peers no-ops. A rule
29
+ * without `group` matches the rules of the same predicate that have no
30
+ * `group` either.
33
31
  *
34
- * `within` carries an identity-based `container` and has no group — it
32
+ * `within` reads an identity-based `container` and ignores `group` — it
35
33
  * binds to one specific other entity, not a class.
36
34
  *
37
35
  * Optional `target` names a specific collision-geometry instance on
@@ -70,20 +68,9 @@ export type SpatialConstraintContainer = string | null | undefined;
70
68
  * perimeter.
71
69
  */
72
70
  export type SpatialConstraint = {
73
- readonly predicate: 'disjoint';
74
- readonly group: string;
75
- readonly target?: string;
76
- readonly container?: undefined;
77
- readonly enforce?: boolean;
78
- } | {
79
- readonly predicate: 'touches';
80
- readonly group: string;
81
- readonly target?: string;
82
- readonly container?: undefined;
83
- readonly enforce?: boolean;
84
- } | {
85
- readonly predicate: 'within';
86
- readonly container: SpatialConstraintContainer;
71
+ readonly predicate: SpatialPredicateName;
72
+ readonly group?: string;
73
+ readonly container?: SpatialConstraintContainer;
87
74
  readonly target?: string;
88
75
  readonly enforce?: boolean;
89
76
  };
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../components/system-component-builder.js";export const constraintComponent=t.component("constraint").withState({type:"object",tsType:"ConstraintComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ConstraintComponentState"}],properties:{spatial:{type:"array",items:{type:"object",properties:{predicate:{enum:["disjoint","touches","within"]},group:{type:"string"},container:{oneOf:[{type:"string"},{type:"null"}]},target:{type:"string"},enforce:{type:"boolean"}},required:["predicate"]}}},required:["spatial"],additionalProperties:!1}).build();export const isConstraintComponent=t=>"constraint"===t.componentInstance.componentType.name;
1
+ import{SystemComponentBuilder as t}from"../core/index.js";export const constraintComponent=t.component("constraint").withState({type:"object",tsType:"ConstraintComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"ConstraintComponentState"}],properties:{spatial:{type:"array",items:{type:"object",properties:{predicate:{enum:["disjoint","touches","within"]},group:{type:"string"},container:{oneOf:[{type:"string"},{type:"null"}]},target:{type:"string"},enforce:{type:"boolean"}},required:["predicate"]}}},required:["spatial"],additionalProperties:!1}).build();export const isConstraintComponent=t=>"constraint"===t.componentInstance.componentType.name;
@@ -1 +1 @@
1
- import{SystemComponentBuilder as t}from"../components/system-component-builder.js";import{isInstanceOfComponentType as e,isSnapshotOfComponentType as o}from"../core/index.js";import{ReactNodeSchema as n}from"./common/react-node-schema.js";export const customSceneEntityComponent=t.component("customSceneEntity").withState({type:"object",tsType:"CustomSceneEntityComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CustomSceneEntityComponentState"}],properties:{name:{type:"string"},node:n},required:[],additionalProperties:!1}).build();export const isCustomSceneEntitySnapshot=o(customSceneEntityComponent);export const isCustomSceneEntityInstance=e(customSceneEntityComponent);
1
+ import{SystemComponentBuilder as t,isInstanceOfComponentType as e,isSnapshotOfComponentType as o}from"../core/index.js";import{ReactNodeSchema as n}from"./common/react-node-schema.js";export const customSceneEntityComponent=t.component("customSceneEntity").withState({type:"object",tsType:"CustomSceneEntityComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"CustomSceneEntityComponentState"}],properties:{name:{type:"string"},node:n},required:[],additionalProperties:!1}).build();export const isCustomSceneEntitySnapshot=o(customSceneEntityComponent);export const isCustomSceneEntityInstance=e(customSceneEntityComponent);
@@ -1 +1 @@
1
- import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e}from"../components/system-component-builder.js";export const detailComponent=e.component("detail").withState({type:"object",tsType:"DetailComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"DetailComponentState"}],properties:{title:t,subtitle:t,description:t,thumbnailUrl:t},required:["title","subtitle","description"],additionalProperties:!1}).build();
1
+ import{EnhancedLocalizableSchema as t}from"@salsita-ai/common/utils";import{SystemComponentBuilder as e}from"../core/index.js";export const detailComponent=e.component("detail").withState({type:"object",tsType:"DetailComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"DetailComponentState"}],properties:{title:t,subtitle:t,description:t,thumbnailUrl:t},required:["title","subtitle","description"],additionalProperties:!1}).build();