@salsita-ai/sdk 0.50.0-develop.b47f1774a2 → 0.50.0-develop.b5d443db78

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 (1282) hide show
  1. package/README.md +8 -2
  2. package/dist/admin/AdminShell.js +1 -1
  3. package/dist/admin/common/admin-interface.d.ts +1 -1
  4. package/dist/admin/legacy-admin/Application.js +1 -1
  5. package/dist/application-spec/caching/index.d.ts +6 -1
  6. package/dist/application-spec/caching/index.js +1 -1
  7. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
  8. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  9. package/dist/application-spec/core/index.d.ts +1 -3
  10. package/dist/application-spec/core/index.js +1 -1
  11. package/dist/application-spec/core/json-schema.d.ts +2 -52
  12. package/dist/application-spec/core/markers/index.d.ts +1 -1
  13. package/dist/application-spec/core/markers/index.js +1 -1
  14. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  15. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  16. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  17. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  18. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  19. package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -1
  20. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  21. package/dist/application-spec/errors/diagnostic-messages.d.ts +16 -1
  22. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  23. package/dist/application-spec/generate-application/code/domain-runtime-files.d.ts +0 -19
  24. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  25. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  26. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-locale.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/gitignore.js +2 -1
  28. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -6
  29. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  30. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +5 -4
  31. package/dist/application-spec/generate-application/code/templates/skills/core/cli.d.ts +2 -0
  32. package/dist/application-spec/generate-application/code/templates/skills/core/cli.js +1 -0
  33. package/dist/application-spec/generate-application/code/templates/skills/core/index.d.ts +3 -0
  34. package/dist/application-spec/generate-application/code/templates/skills/core/index.js +1 -0
  35. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.d.ts +2 -0
  36. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.js +118 -0
  37. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.d.ts +2 -0
  38. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.js +44 -0
  39. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.d.ts +3 -0
  40. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.js +3 -0
  41. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.d.ts +1 -0
  42. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.js +1 -0
  43. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.d.ts +3 -0
  44. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.js +48 -0
  45. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.d.ts +3 -0
  46. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.js +38 -0
  47. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.d.ts +3 -0
  48. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.js +35 -0
  49. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.d.ts +3 -0
  50. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.js +61 -0
  51. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.d.ts +3 -0
  52. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.js +7 -0
  53. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.d.ts +3 -0
  54. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.js +79 -0
  55. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.d.ts +1 -0
  56. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.js +1 -0
  57. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.d.ts +3 -0
  58. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.js +52 -0
  59. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.d.ts +3 -0
  60. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.js +49 -0
  61. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.d.ts +3 -0
  62. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.js +62 -0
  63. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.d.ts +3 -0
  64. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.js +40 -0
  65. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.d.ts +3 -0
  66. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.js +65 -0
  67. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.d.ts +3 -0
  68. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.js +58 -0
  69. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.d.ts +3 -0
  70. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.js +41 -0
  71. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.d.ts +3 -0
  72. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.js +24 -0
  73. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.d.ts +3 -0
  74. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.js +44 -0
  75. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.d.ts +3 -0
  76. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.js +74 -0
  77. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.d.ts +3 -0
  78. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.js +8 -0
  79. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.d.ts +1 -0
  80. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.js +1 -0
  81. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.d.ts +3 -0
  82. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.js +48 -0
  83. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.d.ts +3 -0
  84. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.js +64 -0
  85. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.d.ts +3 -0
  86. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.js +62 -0
  87. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.d.ts +3 -0
  88. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.js +1 -0
  89. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.d.ts +3 -0
  90. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.js +59 -0
  91. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.d.ts +3 -0
  92. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.js +46 -0
  93. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.d.ts +1 -0
  94. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.js +1 -0
  95. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.d.ts +3 -0
  96. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.js +43 -0
  97. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.d.ts +3 -0
  98. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.js +30 -0
  99. package/dist/application-spec/generate-application/code/templates/skills/features/features.d.ts +3 -0
  100. package/dist/application-spec/generate-application/code/templates/skills/features/features.js +1 -0
  101. package/dist/application-spec/generate-application/code/templates/skills/features/index.d.ts +1 -0
  102. package/dist/application-spec/generate-application/code/templates/skills/features/index.js +1 -0
  103. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.d.ts +2 -0
  104. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.js +1 -0
  105. package/dist/application-spec/generate-application/code/templates/skills/features/localization.d.ts +3 -0
  106. package/dist/application-spec/generate-application/code/templates/skills/features/localization.js +87 -0
  107. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.d.ts +3 -0
  108. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.js +43 -0
  109. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.d.ts +1 -0
  110. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.js +1 -0
  111. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.d.ts +3 -0
  112. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.js +48 -0
  113. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.d.ts +3 -0
  114. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.js +1 -0
  115. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.d.ts +3 -0
  116. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.js +39 -0
  117. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.d.ts +3 -0
  118. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.js +36 -0
  119. package/dist/application-spec/generate-application/code/templates/skills/features/variants.d.ts +2 -0
  120. package/dist/application-spec/generate-application/code/templates/skills/features/variants.js +1 -0
  121. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.d.ts +2 -0
  122. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.js +1 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/guide.d.ts +68 -0
  124. package/dist/application-spec/generate-application/code/templates/skills/guide.js +18 -0
  125. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  126. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +14 -0
  127. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.d.ts +9 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.js +1 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.d.ts +2 -0
  130. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.js +23 -0
  131. package/dist/application-spec/generate-application/code/templates/skills/{phoenix-skill.d.ts → processes/beta.d.ts} +2 -1
  132. package/dist/application-spec/generate-application/code/templates/skills/processes/beta.js +4 -0
  133. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.d.ts +2 -0
  134. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.js +38 -0
  135. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.d.ts +3 -0
  136. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.js +1 -0
  137. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.d.ts +1 -0
  138. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.js +1 -0
  139. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.d.ts +2 -0
  140. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.js +7 -0
  141. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.d.ts +2 -0
  142. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.js +2 -0
  143. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.d.ts +2 -0
  144. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.js +2 -0
  145. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.d.ts +2 -0
  146. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.js +25 -0
  147. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.d.ts +2 -0
  148. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.js +35 -0
  149. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.d.ts +3 -0
  150. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.js +3 -0
  151. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.d.ts +2 -0
  152. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.js +9 -0
  153. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.d.ts +1 -0
  154. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.js +1 -0
  155. package/dist/application-spec/generate-application/code/templates/skills/processes/index.d.ts +8 -0
  156. package/dist/application-spec/generate-application/code/templates/skills/processes/index.js +1 -0
  157. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.d.ts +2 -0
  158. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.js +1 -0
  159. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.d.ts +2 -0
  160. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.js +46 -0
  161. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.d.ts +2 -0
  162. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.js +2 -0
  163. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.d.ts +2 -0
  164. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.js +6 -0
  165. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.d.ts +1 -0
  166. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.js +1 -0
  167. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.d.ts +3 -0
  168. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.js +1 -0
  169. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.d.ts +2 -0
  170. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.js +13 -0
  171. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.d.ts +2 -0
  172. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.js +20 -0
  173. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.d.ts +2 -0
  174. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.js +1 -0
  175. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.d.ts +1 -0
  176. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.js +1 -0
  177. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.d.ts +2 -0
  178. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.js +22 -0
  179. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.d.ts +3 -0
  180. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.js +1 -0
  181. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.d.ts +2 -0
  182. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.js +25 -0
  183. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +51 -258
  184. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +3 -58
  185. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.d.ts +9 -0
  186. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.js +1 -0
  187. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +1 -1
  188. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -1
  189. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -4
  190. package/dist/application-spec/generate-application/code/templates/tsconfig.js +2 -1
  191. package/dist/application-spec/generate-application/index.d.ts +1 -8
  192. package/dist/application-spec/generate-application/index.js +1 -1
  193. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  194. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  195. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  196. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  197. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  198. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  199. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  200. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  201. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +25 -20
  202. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  203. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  204. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  205. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  206. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  207. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  208. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  209. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  210. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  211. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
  212. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  213. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  214. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  215. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  216. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +2 -3
  217. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  218. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +2 -3
  219. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +2 -2
  220. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -29
  221. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  222. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  223. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  224. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +2 -2
  225. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  226. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +4 -14
  227. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  228. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  229. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
  230. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  231. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  232. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  233. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  234. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  235. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  236. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  237. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  238. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  239. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  240. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  241. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  242. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  243. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  244. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  245. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  247. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  248. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  249. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  250. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  251. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  252. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  253. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  254. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  255. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  256. package/dist/client/authorized-client.d.ts +4 -2
  257. package/dist/client/authorized-client.js +1 -1
  258. package/dist/client/contract.d.ts +46 -5
  259. package/dist/client/contract.js +1 -1
  260. package/dist/client/index.d.ts +1 -1
  261. package/dist/client/local-authorized-client.d.ts +3 -1
  262. package/dist/client/local-authorized-client.js +1 -1
  263. package/dist/client/memory-authorized-client.d.ts +4 -1
  264. package/dist/client/memory-authorized-client.js +1 -1
  265. package/dist/client/phoenix-api.d.ts +281 -4
  266. package/dist/configurator/ConfiguratorApp.js +1 -1
  267. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  268. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.d.ts +31 -0
  269. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +142 -24
  270. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  271. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +21 -4
  272. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  273. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +43 -0
  274. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.js +1 -1
  275. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +70 -56
  276. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  277. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +38 -11
  278. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  279. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  280. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  281. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.d.ts +10 -0
  282. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.js +1 -0
  283. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +8 -0
  284. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  285. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +3 -2
  286. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  287. package/dist/configurator/common/configurator-interface.d.ts +14 -4
  288. package/dist/configurator/common/configurator-interface.js +1 -1
  289. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  290. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  291. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.js +1 -1
  292. package/dist/configurator/configurator-context/index.d.ts +0 -5
  293. package/dist/configurator/configurator-context/index.js +1 -1
  294. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  295. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  296. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  297. package/dist/configurator/pages/default-configurator-elements.d.ts +6 -2
  298. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  299. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.d.ts +5 -0
  300. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.js +1 -0
  301. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  302. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  303. package/dist/configurator/pages/error-boundaries/index.d.ts +1 -0
  304. package/dist/configurator/pages/error-boundaries/index.js +1 -1
  305. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.d.ts +3 -0
  306. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.js +1 -0
  307. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.d.ts +3 -0
  308. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.js +1 -0
  309. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.d.ts +3 -0
  310. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.js +1 -0
  311. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.d.ts +3 -0
  312. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.js +1 -0
  313. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.d.ts +3 -0
  314. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.js +1 -0
  315. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.d.ts +3 -0
  316. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.js +1 -0
  317. package/dist/configurator/pages/provider-slots/index.d.ts +6 -0
  318. package/dist/configurator/pages/provider-slots/index.js +1 -0
  319. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.d.ts +2 -0
  320. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.js +1 -0
  321. package/dist/configurator/pages/ui-elements/configurator-ui-elements.d.ts +3 -0
  322. package/dist/configurator/pages/ui-elements/configurator-ui-elements.js +1 -0
  323. package/dist/configurator/pages/ui-elements/index.d.ts +2 -0
  324. package/dist/configurator/pages/ui-elements/index.js +1 -0
  325. package/dist/configurator/scene/cameras/CameraPadding.js +1 -1
  326. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -0
  327. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  328. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +4 -0
  329. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  330. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  331. package/dist/configurator/ui/assistant/AssistantThread.d.ts +4 -3
  332. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  333. package/dist/configurator/ui/assistant/AssistantThreadItemView.d.ts +27 -0
  334. package/dist/configurator/ui/assistant/AssistantThreadItemView.js +1 -0
  335. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +4 -1
  336. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -1
  337. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.d.ts +9 -0
  338. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.js +1 -0
  339. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.d.ts +6 -0
  340. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.js +1 -0
  341. package/dist/configurator/ui/assistant/annotation/AnnotationPin.d.ts +14 -0
  342. package/dist/configurator/ui/assistant/annotation/AnnotationPin.js +1 -0
  343. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.d.ts +12 -0
  344. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.js +1 -0
  345. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.d.ts +11 -0
  346. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.js +1 -0
  347. package/dist/configurator/ui/assistant/annotation/annotation-host-context.d.ts +5 -0
  348. package/dist/configurator/ui/assistant/annotation/annotation-host-context.js +1 -0
  349. package/dist/configurator/ui/assistant/annotation/annotation-layout.d.ts +26 -0
  350. package/dist/configurator/ui/assistant/annotation/annotation-layout.js +1 -0
  351. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.d.ts +15 -0
  352. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.js +1 -0
  353. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.d.ts +18 -0
  354. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.js +1 -0
  355. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.d.ts +22 -0
  356. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.js +1 -0
  357. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.d.ts +22 -0
  358. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.js +1 -0
  359. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.d.ts +17 -0
  360. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.js +1 -0
  361. package/dist/configurator/ui/assistant/annotation/editor/index.d.ts +1 -0
  362. package/dist/configurator/ui/assistant/annotation/editor/index.js +1 -0
  363. package/dist/configurator/ui/assistant/annotation/index.d.ts +4 -0
  364. package/dist/configurator/ui/assistant/annotation/index.js +1 -0
  365. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.d.ts +2 -0
  366. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.js +1 -0
  367. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.d.ts +6 -0
  368. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.js +1 -0
  369. package/dist/configurator/ui/assistant/assistant-failure.d.ts +17 -7
  370. package/dist/configurator/ui/assistant/assistant-failure.js +1 -1
  371. package/dist/configurator/ui/assistant/attachments/MessageImages.d.ts +19 -0
  372. package/dist/configurator/ui/assistant/attachments/MessageImages.js +1 -0
  373. package/dist/configurator/ui/assistant/attachments/index.d.ts +2 -0
  374. package/dist/configurator/ui/assistant/attachments/index.js +1 -0
  375. package/dist/configurator/ui/assistant/attachments/prepare-image.d.ts +24 -0
  376. package/dist/configurator/ui/assistant/attachments/prepare-image.js +1 -0
  377. package/dist/configurator/ui/assistant/composer/composer-frame.d.ts +15 -0
  378. package/dist/configurator/ui/assistant/composer/composer-frame.js +1 -0
  379. package/dist/configurator/ui/assistant/composer/index.d.ts +1 -0
  380. package/dist/configurator/ui/assistant/composer/index.js +1 -0
  381. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  382. package/dist/configurator/ui/assistant/entity-link/index.d.ts +1 -1
  383. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  384. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +26 -0
  385. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -1
  386. package/dist/configurator/ui/assistant/index.d.ts +10 -0
  387. package/dist/configurator/ui/assistant/index.js +1 -1
  388. package/dist/configurator/ui/assistant/popover/AssistantPopover.d.ts +24 -0
  389. package/dist/configurator/ui/assistant/popover/AssistantPopover.js +1 -0
  390. package/dist/configurator/ui/assistant/popover/index.d.ts +1 -0
  391. package/dist/configurator/ui/assistant/popover/index.js +1 -0
  392. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -1
  393. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -1
  394. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +1 -1
  395. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -1
  396. package/dist/configurator/ui/assistant/screenshots/index.d.ts +1 -0
  397. package/dist/configurator/ui/assistant/screenshots/index.js +1 -1
  398. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +6 -4
  399. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -1
  400. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  401. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  402. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +11 -0
  403. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  404. package/dist/configurator/ui/assistant/thread-items.d.ts +5 -0
  405. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  406. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  407. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  408. package/dist/configurator/ui/assistant/use-assistant-composer.d.ts +69 -0
  409. package/dist/configurator/ui/assistant/use-assistant-composer.js +2 -0
  410. package/dist/configurator/ui/assistant/use-assistant-thread.d.ts +52 -0
  411. package/dist/configurator/ui/assistant/use-assistant-thread.js +1 -0
  412. package/dist/configurator/ui/assistant/use-load-older-on-top.d.ts +22 -0
  413. package/dist/configurator/ui/assistant/use-load-older-on-top.js +1 -0
  414. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  415. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  416. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  417. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  418. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  419. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  420. package/dist/configurator/ui/index.d.ts +1 -1
  421. package/dist/configurator/ui/index.js +1 -1
  422. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  423. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  424. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  425. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  426. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  427. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  428. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  429. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  430. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  431. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  432. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/use-basic-sidebar-footer.js +1 -1
  433. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  434. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  435. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  436. package/dist/docs/3d-scene/animations-basic.mdx +0 -4
  437. package/dist/docs/3d-scene/camera-based-hiding.mdx +0 -2
  438. package/dist/docs/3d-scene/cameras/custom.mdx +4 -4
  439. package/dist/docs/3d-scene/cameras/fit-during-drag.mdx +0 -4
  440. package/dist/docs/3d-scene/cameras/locks.mdx +0 -4
  441. package/dist/docs/3d-scene/cameras/transitions.mdx +0 -2
  442. package/dist/docs/3d-scene/engraving.mdx +0 -4
  443. package/dist/docs/3d-scene/materials/custom.mdx +1 -2
  444. package/dist/docs/3d-scene/materials/inherit.mdx +0 -4
  445. package/dist/docs/3d-scene/materials/multilevel.mdx +0 -47
  446. package/dist/docs/3d-scene/materials/override.mdx +0 -4
  447. package/dist/docs/3d-scene/materials/simple.mdx +0 -4
  448. package/dist/docs/3d-scene/materials/transformer.mdx +0 -4
  449. package/dist/docs/3d-scene/materials/transition.mdx +0 -4
  450. package/dist/docs/3d-scene/materials/transmissive.mdx +0 -4
  451. package/dist/docs/3d-scene/postprocessing.mdx +0 -2
  452. package/dist/docs/3d-scene/rendering/basic.mdx +5 -9
  453. package/dist/docs/3d-scene/rendering/custom-entity.mdx +0 -6
  454. package/dist/docs/3d-scene/rendering/lights/ambient-light.mdx +0 -2
  455. package/dist/docs/3d-scene/rendering/lights/directional-light.mdx +0 -2
  456. package/dist/docs/3d-scene/rendering/lights/point-light.mdx +0 -2
  457. package/dist/docs/3d-scene/rendering/lights/rect-area-light.mdx +0 -2
  458. package/dist/docs/3d-scene/rendering/lights/spot-light.mdx +0 -2
  459. package/dist/docs/3d-scene/rendering/object-groups.mdx +0 -2
  460. package/dist/docs/3d-scene/rendering/objects.mdx +0 -4
  461. package/dist/docs/3d-scene/rendering/scene-entity-object.mdx +0 -43
  462. package/dist/docs/3d-scene/rendering/smma.mdx +0 -2
  463. package/dist/docs/3d-scene/rendering/soft-shadows.mdx +0 -2
  464. package/dist/docs/3d-scene/rendering/transformer.mdx +1 -3
  465. package/dist/docs/complex-use-cases/custom-ui-on-root-level.mdx +0 -1
  466. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +19 -19
  467. package/dist/docs/complex-use-cases/navigation-guard.mdx +81 -19
  468. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +28 -65
  469. package/dist/docs/complex-use-cases/navigation-reset-undo.mdx +16 -20
  470. package/dist/docs/complex-use-cases/sketching.mdx +2 -10
  471. package/dist/docs/controls/custom.mdx +88 -87
  472. package/dist/docs/controls/manage-child-entities/entitychildrenlist.mdx +0 -4
  473. package/dist/docs/controls/nullable-attributes.mdx +0 -2
  474. package/dist/docs/controls/scene/custom-controls.mdx +7 -8
  475. package/dist/docs/controls/scene/html-hotspots.mdx +0 -4
  476. package/dist/docs/controls/scene/object-html-hotspots.mdx +0 -4
  477. package/dist/docs/controls/select-attribute/cardselect.mdx +0 -4
  478. package/dist/docs/controls/select-attribute/listselect.mdx +0 -4
  479. package/dist/docs/controls/select-attribute/select.mdx +0 -4
  480. package/dist/docs/controls/select-attribute/swatchselect.mdx +0 -4
  481. package/dist/docs/controls/select-attribute/switchselect.mdx +0 -4
  482. package/dist/docs/controls/select-attribute/toggleselect.mdx +0 -4
  483. package/dist/docs/controls/select-child-entity/cardselect.mdx +2 -6
  484. package/dist/docs/controls/select-child-entity/listselect.mdx +5 -11
  485. package/dist/docs/controls/select-child-entity/toggleselect.mdx +4 -10
  486. package/dist/docs/controls/text-input.mdx +90 -19
  487. package/dist/docs/demos/glass.mdx +0 -4
  488. package/dist/docs/demos/heater.mdx +0 -10
  489. package/dist/docs/demos/office-chair.mdx +0 -8
  490. package/dist/docs/demos/office-desk.mdx +0 -8
  491. package/dist/docs/demos/ring.mdx +0 -9
  492. package/dist/docs/dimensions/3d-scene-integration/angle-indicators.mdx +0 -2
  493. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +0 -2
  494. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +0 -14
  495. package/dist/docs/dimensions/3d-scene-integration/editable-offset-indicator.mdx +0 -6
  496. package/dist/docs/dimensions/3d-scene-integration/editable-size-indicator.mdx +0 -4
  497. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +0 -16
  498. package/dist/docs/dimensions/3d-scene-integration/offset-indicator.mdx +0 -6
  499. package/dist/docs/dimensions/3d-scene-integration/overlap-offset-demo.mdx +0 -6
  500. package/dist/docs/dimensions/basic-concepts/dimension-data-unit.mdx +0 -12
  501. package/dist/docs/dimensions/basic-concepts/dimension-unit-config.mdx +0 -12
  502. package/dist/docs/dimensions/input-controls/distance-input.mdx +0 -12
  503. package/dist/docs/dimensions/input-controls/distance-slider.mdx +6 -18
  504. package/dist/docs/dimensions/selection-controls/list-selector.mdx +0 -14
  505. package/dist/docs/dimensions/selection-controls/toggle-selector.mdx +0 -14
  506. package/dist/docs/drag-and-drop/drag-handle.mdx +0 -1
  507. package/dist/docs/drag-and-drop/hotspot-handle.mdx +0 -1
  508. package/dist/docs/drag-and-drop/no-selection.mdx +0 -1
  509. package/dist/docs/drag-and-drop/planes.mdx +0 -3
  510. package/dist/docs/drag-and-drop/room-planner.mdx +1 -7
  511. package/dist/docs/drag-and-drop/rotatable.mdx +0 -1
  512. package/dist/docs/drag-and-drop/snapping/auto-rotation-demo.mdx +0 -2
  513. package/dist/docs/drag-and-drop/snapping/label-matching-demo.mdx +0 -2
  514. package/dist/docs/drag-and-drop/snapping/multi-snap-composition-demo.mdx +0 -2
  515. package/dist/docs/drag-and-drop/snapping/nested-entity-demo.mdx +0 -2
  516. package/dist/docs/drag-and-drop/snapping/priority-demo.mdx +0 -2
  517. package/dist/docs/drag-and-drop/snapping/snap-axis-demo.mdx +0 -2
  518. package/dist/docs/drag-and-drop/snapping/snap-edge-demo.mdx +0 -2
  519. package/dist/docs/drag-and-drop/snapping/snap-plane-demo.mdx +0 -5
  520. package/dist/docs/drag-and-drop/snapping/snap-point-demo.mdx +0 -2
  521. package/dist/docs/drag-and-drop/spatial-constraints/collision-system.mdx +0 -2
  522. package/dist/docs/drag-and-drop/spatial-constraints/disjoint-and-within.mdx +0 -6
  523. package/dist/docs/drag-and-drop/spatial-constraints/geometry-override.mdx +0 -4
  524. package/dist/docs/drag-and-drop/spatial-constraints/multiple-collision-meshes.mdx +0 -4
  525. package/dist/docs/drag-and-drop/spatial-constraints/touches.mdx +0 -4
  526. package/dist/docs/drag-and-drop/swap.mdx +0 -4
  527. package/dist/docs/fabs/basic.mdx +6 -12
  528. package/dist/docs/fabs/layout.mdx +0 -7
  529. package/dist/docs/index.json +4 -4
  530. package/dist/docs/integrations/lifecycle-providers.mdx +0 -12
  531. package/dist/docs/integrations/onloadprovider.mdx +0 -3
  532. package/dist/docs/integrations/webcomponent-api/basics.mdx +6 -2
  533. package/dist/docs/integrations/webcomponent-api/preset-tags.mdx +4 -1
  534. package/dist/docs/layouts/custom-layout.mdx +1 -41
  535. package/dist/docs/layouts/custom-price.mdx +0 -2
  536. package/dist/docs/layouts/custom-theme-handler.mdx +0 -4
  537. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3 -34
  538. package/dist/docs/layouts/gallery/corvid-drone.mdx +0 -29
  539. package/dist/docs/layouts/gallery/fenwick-window.mdx +0 -25
  540. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +0 -27
  541. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +0 -29
  542. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +2 -35
  543. package/dist/docs/layouts/gallery/sunfold-solar.mdx +0 -26
  544. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +0 -46
  545. package/dist/docs/layouts/header/custom.mdx +0 -2
  546. package/dist/docs/layouts/icon-sets.mdx +0 -6
  547. package/dist/docs/layouts/phoenix-elements.mdx +0 -4
  548. package/dist/docs/layouts/phoenix-handlers.mdx +19 -28
  549. package/dist/docs/layouts/presets/action-and-overlay.mdx +0 -8
  550. package/dist/docs/layouts/presets/custom.mdx +6 -13
  551. package/dist/docs/layouts/preview/always-expand.mdx +4 -14
  552. package/dist/docs/layouts/preview/always.mdx +4 -14
  553. package/dist/docs/layouts/preview/auto-presets.mdx +4 -14
  554. package/dist/docs/layouts/preview/auto.mdx +4 -14
  555. package/dist/docs/layouts/preview/never.mdx +4 -14
  556. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +18 -13
  557. package/dist/docs/layouts/sidebar/property-page-stack.mdx +0 -2
  558. package/dist/docs/layouts/sidebar/property-page.mdx +0 -2
  559. package/dist/docs/layouts/sidebar/tabs.mdx +0 -4
  560. package/dist/docs/layouts/sidebar-footer/custom.mdx +0 -2
  561. package/dist/docs/layouts/sidebar-footer/universal.mdx +0 -10
  562. package/dist/docs/layouts/tool-controls.mdx +0 -1
  563. package/dist/docs/layouts/toolbar.mdx +0 -4
  564. package/dist/docs/layouts/universal.mdx +2 -22
  565. package/dist/docs/other-features/client-side-rendering/camera-padding.mdx +0 -2
  566. package/dist/docs/other-features/client-side-rendering/custom.mdx +0 -6
  567. package/dist/docs/other-features/client-side-rendering/declarative.mdx +0 -4
  568. package/dist/docs/other-features/client-side-rendering/postprocessing.mdx +0 -6
  569. package/dist/docs/other-features/component-filters.mdx +0 -7
  570. package/dist/docs/other-features/currency.mdx +5 -6
  571. package/dist/docs/other-features/domain-actions.mdx +0 -5
  572. package/dist/docs/other-features/dynamic-component-attachments.mdx +75 -46
  573. package/dist/docs/other-features/error-5xx.mdx +0 -14
  574. package/dist/docs/other-features/navigation-hotspot.mdx +0 -5
  575. package/dist/docs/other-features/not-found-404.mdx +0 -14
  576. package/dist/docs/other-features/projected-entities.mdx +0 -5
  577. package/dist/docs/other-features/side-effects.mdx +0 -23
  578. package/dist/docs/other-features/transformers.mdx +101 -96
  579. package/dist/docs/other-features/violation-messages.mdx +0 -4
  580. package/dist/docs/other-features/violation-severity.mdx +2 -3
  581. package/dist/docs/performance/clone-highlight.mdx +0 -7
  582. package/dist/docs/performance/dynamic-components.mdx +0 -6
  583. package/dist/docs/performance/editable-dimension-stress-test.mdx +0 -2
  584. package/dist/docs/performance/fast-highlight.mdx +0 -7
  585. package/dist/docs/performance/general.mdx +0 -7
  586. package/dist/docs/performance/render-isolation.mdx +0 -6
  587. package/dist/docs/phoenix/admin.mdx +75 -100
  588. package/dist/docs/phoenix/application-states.mdx +45 -27
  589. package/dist/docs/phoenix/components.mdx +53 -46
  590. package/dist/docs/phoenix/configurator-interface.mdx +208 -117
  591. package/dist/docs/phoenix/deployments.mdx +11 -1
  592. package/dist/docs/phoenix/domain-model.mdx +24 -16
  593. package/dist/docs/phoenix/expression-context.mdx +3 -29
  594. package/dist/docs/phoenix/getting-started.mdx +0 -2
  595. package/dist/docs/phoenix/layout-slots.mdx +21 -0
  596. package/dist/docs/phoenix/localization.mdx +64 -54
  597. package/dist/docs/phoenix/migration-guide.mdx +10 -11
  598. package/dist/docs/phoenix/phoenix-cli.mdx +57 -15
  599. package/dist/docs/phoenix/project-structure.mdx +52 -55
  600. package/dist/docs/phoenix/quickstart.mdx +1 -3
  601. package/dist/docs/phoenix/sdk-builder-workflow.mdx +3 -9
  602. package/dist/docs/phoenix/state-management.mdx +18 -16
  603. package/dist/docs/phoenix/testing.mdx +6 -1
  604. package/dist/docs/phoenix/webhooks.mdx +9 -1
  605. package/dist/docs/recipes-and-delete/delete-entity.mdx +3 -6
  606. package/dist/docs/recipes-and-delete/dynamic-root-entity.mdx +0 -2
  607. package/dist/docs/recipes-and-delete/grouped-button.mdx +0 -3
  608. package/dist/docs/recipes-and-delete/grouped-panel.mdx +0 -3
  609. package/dist/docs/recipes-and-delete/horizontal.mdx +3 -6
  610. package/dist/docs/recipes-and-delete/recipe-hierarchy-lists.mdx +0 -3
  611. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +0 -5
  612. package/dist/docs/recipes-and-delete/replace-dropdown.mdx +3 -6
  613. package/dist/docs/recipes-and-delete/replace-panel.mdx +0 -7
  614. package/dist/docs/recipes-and-delete/simple.mdx +3 -6
  615. package/dist/docs/recipes-and-delete/vertical.mdx +3 -6
  616. package/dist/docs/relations/aliases.mdx +0 -2
  617. package/dist/docs/relations/all-of-type.mdx +0 -4
  618. package/dist/docs/relations/child-nullable.mdx +0 -4
  619. package/dist/docs/relations/child-required.mdx +0 -2
  620. package/dist/docs/relations/collection-direct.mdx +0 -4
  621. package/dist/docs/relations/collection-indirect.mdx +0 -4
  622. package/dist/docs/relations/collection-multiple.mdx +0 -2
  623. package/dist/docs/relations/cross-reference.mdx +0 -2
  624. package/dist/docs/relations/hierarchy.mdx +0 -2
  625. package/dist/docs/selection-and-highlight/canvas.mdx +0 -1
  626. package/dist/docs/selection-and-highlight/disable-highlight-per-object.mdx +0 -1
  627. package/dist/docs/selection-and-highlight/disable-highlight.mdx +0 -1
  628. package/dist/docs/selection-and-highlight/effects/outline.mdx +0 -3
  629. package/dist/docs/selection-and-highlight/effects/overlay.mdx +0 -3
  630. package/dist/docs/selection-and-highlight/fast-emissive-highlight.mdx +0 -3
  631. package/dist/docs/selection-and-highlight/group-highlighting.mdx +0 -1
  632. package/dist/docs/selection-and-highlight/hierarchy.mdx +100 -151
  633. package/dist/docs/selection-and-highlight/hotspots.mdx +0 -1
  634. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  635. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  636. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  637. package/dist/domain/application/application-config.d.ts +6 -26
  638. package/dist/domain/application/assistant/assistant-fields.d.ts +1 -1
  639. package/dist/domain/application/assistant/assistant-value-type.d.ts +1 -1
  640. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +1 -2
  641. package/dist/domain/application/assistant/build-assistant-lenses.js +1 -1
  642. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +1 -2
  643. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  644. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -2
  645. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  646. package/dist/domain/application/assistant/index.d.ts +0 -4
  647. package/dist/domain/application/assistant/index.js +1 -1
  648. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +1 -1
  649. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +1 -1
  650. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  651. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +3 -5
  652. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  653. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +1 -2
  654. package/dist/domain/application/assistant-field-options.d.ts +1 -1
  655. package/dist/domain/application/assistant-mutations.d.ts +1 -1
  656. package/dist/domain/application/assistant-mutations.js +1 -1
  657. package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
  658. package/dist/domain/application/configurator-builder.d.ts +1 -2
  659. package/dist/domain/application/create-initial-published-data.d.ts +2 -1
  660. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  661. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  662. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  663. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  664. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  665. package/dist/domain/available-system-components/available-system-components.d.ts +11 -0
  666. package/dist/domain/available-system-components/available-system-components.js +1 -0
  667. package/dist/domain/available-system-components/index.d.ts +1 -0
  668. package/dist/domain/available-system-components/index.js +1 -0
  669. package/dist/domain/core/domain.js +1 -1
  670. package/dist/domain/core/invariant/violation.d.ts +3 -2
  671. package/dist/domain/{domain-builder.d.ts → domain-builder/domain-builder.d.ts} +2 -2
  672. package/dist/domain/domain-builder/domain-builder.js +1 -0
  673. package/dist/domain/domain-builder/index.d.ts +1 -0
  674. package/dist/domain/domain-builder/index.js +1 -0
  675. package/dist/domain/domain-context/transformers/context.d.ts +4 -2
  676. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -1
  677. package/dist/domain/domain-runtime/domain-runtime.d.ts +24 -24
  678. package/dist/domain/domain-runtime/index.d.ts +0 -1
  679. package/dist/domain/domain-runtime/index.js +1 -1
  680. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +1 -1
  681. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -1
  682. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  683. package/dist/domain/domain-runtime/spec/index.js +1 -1
  684. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  685. package/dist/domain/domain-runtime/spec/{module-checks/resolve-imported-transformers.d.ts → resolve-imported-transformers.d.ts} +3 -3
  686. package/dist/domain/domain-runtime/spec/resolve-imported-transformers.js +1 -0
  687. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -5
  688. package/dist/domain/domain-runtime/spec/types.d.ts +2 -2
  689. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +6 -0
  690. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -1
  691. package/dist/domain/extensions/export-images/index.d.ts +1 -1
  692. package/dist/domain/extensions/export-images/index.js +1 -1
  693. package/dist/domain/extensions/index.d.ts +1 -1
  694. package/dist/domain/extensions/index.js +1 -1
  695. package/dist/domain/extensions/scene-entity-delete-fab.d.ts +1 -1
  696. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -1
  697. package/dist/domain/index.d.ts +15 -2
  698. package/dist/domain/index.js +1 -1
  699. package/dist/domain/mocks/create-test-application-config.d.ts +1 -1
  700. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  701. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  702. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  703. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  704. package/dist/domain/spec/application/index.d.ts +5 -0
  705. package/dist/domain/spec/application/index.js +1 -0
  706. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  707. package/dist/domain/spec/components/bindings/index.js +1 -0
  708. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  709. package/dist/domain/spec/components/bindings/read-binding.js +1 -0
  710. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  711. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  712. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -3
  713. package/dist/domain/spec/components/component-entry.js +1 -0
  714. package/dist/{application-spec/core → domain/spec}/components/component-filter.d.ts +3 -2
  715. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  716. package/dist/domain/spec/components/component-filters.js +1 -0
  717. package/dist/domain/spec/components/components.d.ts +4 -0
  718. package/dist/domain/spec/components/components.js +1 -0
  719. package/dist/domain/spec/components/index.d.ts +6 -0
  720. package/dist/domain/spec/enhanced-json/enhanced-json-value.d.ts +30 -0
  721. package/dist/domain/spec/enhanced-json/enhanced-json-value.js +1 -0
  722. package/dist/domain/spec/enhanced-json/index.d.ts +1 -0
  723. package/dist/domain/spec/enhanced-json/index.js +1 -0
  724. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -3
  725. package/dist/domain/spec/expressions/expression.js +1 -0
  726. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  727. package/dist/domain/spec/expressions/expressions.js +1 -0
  728. package/dist/domain/spec/expressions/index.d.ts +5 -0
  729. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  730. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  731. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  732. package/dist/domain/spec/index.d.ts +4 -0
  733. package/dist/domain/spec/index.js +1 -0
  734. package/dist/domain/spec/invariants/index.d.ts +2 -0
  735. package/dist/domain/spec/invariants/index.js +1 -0
  736. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  737. package/dist/domain/spec/invariants/invariant.js +1 -0
  738. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  739. package/dist/domain/spec/invariants/invariants.js +1 -0
  740. package/dist/domain/spec/json-schema.d.ts +52 -0
  741. package/dist/domain/spec/json-schema.js +1 -0
  742. package/dist/domain/spec/markers/index.d.ts +3 -0
  743. package/dist/domain/spec/markers/index.js +1 -0
  744. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  745. package/dist/domain/spec/markers/msg-marker.js +1 -0
  746. package/dist/domain/spec/model/aliases.d.ts +9 -0
  747. package/dist/domain/spec/model/aliases.js +1 -0
  748. package/dist/domain/spec/model/common-types.d.ts +15 -0
  749. package/dist/domain/spec/model/common-types.js +1 -0
  750. package/dist/domain/spec/model/defaults.d.ts +33 -0
  751. package/dist/domain/spec/model/defaults.js +1 -0
  752. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  753. package/dist/domain/spec/model/entity-types.js +1 -0
  754. package/dist/domain/spec/model/index.d.ts +7 -0
  755. package/dist/domain/spec/model/index.js +1 -0
  756. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  757. package/dist/domain/spec/model/model-version-key.js +1 -0
  758. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  759. package/dist/domain/spec/model/names/action-name.js +1 -0
  760. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  761. package/dist/domain/spec/model/names/alias-name.js +1 -0
  762. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  763. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  764. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  765. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  766. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  767. package/dist/domain/spec/model/names/expression-name.js +1 -0
  768. package/dist/domain/spec/model/names/index.d.ts +9 -0
  769. package/dist/domain/spec/model/names/index.js +1 -0
  770. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  771. package/dist/domain/spec/model/names/instance-name.js +1 -0
  772. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  773. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  774. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  775. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  776. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  777. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  778. package/dist/domain/spec/model/presets.d.ts +30 -0
  779. package/dist/domain/spec/model/presets.js +1 -0
  780. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.d.ts +1 -1
  781. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/find-assistant-form-element-errors.d.ts +1 -1
  782. package/dist/domain/spec/modules/find-assistant-form-element-errors.js +1 -0
  783. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/index.d.ts +2 -3
  784. package/dist/domain/spec/modules/index.js +1 -0
  785. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/merge-expression-modules.d.ts +2 -2
  786. package/dist/domain/spec/modules/merge-expression-modules.js +1 -0
  787. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/project-modules.d.ts +1 -1
  788. package/dist/domain/spec/modules/project-modules.js +1 -0
  789. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.d.ts +1 -1
  790. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.d.ts +1 -1
  791. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.d.ts +1 -1
  792. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.d.ts +1 -1
  793. package/dist/domain/spec/phx/index.d.ts +1 -0
  794. package/dist/domain/spec/phx/index.js +1 -0
  795. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-application-types.d.ts +1 -1
  796. package/dist/domain/spec/phx/phx-application-types.js +1 -0
  797. package/dist/domain/spec/phx/phx-domain.js +1 -0
  798. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-model.d.ts +2 -2
  799. package/dist/domain/spec/phx/phx-model.js +1 -0
  800. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.d.ts +1 -2
  801. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-runtime.d.ts +7 -6
  802. package/dist/domain/spec/runtime/admin-runtime/admin-runtime.js +1 -0
  803. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-spec-runtime.d.ts +2 -2
  804. package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  805. package/dist/domain/spec/runtime/admin-runtime/index.d.ts +2 -0
  806. package/dist/domain/spec/runtime/admin-runtime/index.js +1 -0
  807. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.d.ts +1 -1
  808. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-runtime.d.ts +8 -6
  809. package/dist/domain/spec/runtime/application-runtime.js +1 -0
  810. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-spec-slice.d.ts +3 -1
  811. package/dist/domain/spec/runtime/application-spec-slice.js +1 -0
  812. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-runtime.d.ts +8 -10
  813. package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.js +1 -0
  814. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-spec-runtime.d.ts +2 -2
  815. package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  816. package/dist/domain/spec/runtime/configurator-runtime/index.d.ts +2 -0
  817. package/dist/domain/spec/runtime/configurator-runtime/index.js +1 -0
  818. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.d.ts +1 -1
  819. package/dist/{application-spec/generate-application → domain/spec}/runtime/create-application.d.ts +3 -2
  820. package/dist/domain/spec/runtime/create-application.js +1 -0
  821. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/expression-runtime.d.ts +5 -3
  822. package/dist/domain/spec/runtime/expressions/expression-runtime.js +1 -0
  823. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/generate-memo-eval-plan-runtime.d.ts +2 -2
  824. package/dist/domain/spec/runtime/expressions/generate-memo-eval-plan-runtime.js +1 -0
  825. package/dist/domain/spec/runtime/expressions/index.d.ts +3 -0
  826. package/dist/domain/spec/runtime/expressions/index.js +1 -0
  827. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.d.ts +2 -1
  828. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.d.ts +4 -3
  829. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.d.ts +1 -1
  830. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.js +1 -1
  831. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.d.ts +2 -2
  832. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.js +1 -1
  833. package/dist/{application-spec/generate-application → domain/spec}/runtime/generate-runtime-instance.d.ts +1 -1
  834. package/dist/domain/spec/runtime/generate-runtime-instance.js +1 -0
  835. package/dist/domain/spec/runtime/index.d.ts +13 -0
  836. package/dist/domain/spec/runtime/index.js +1 -0
  837. package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/migration-runtime.d.ts +2 -2
  838. package/dist/domain/spec/runtime/migrations/migration-runtime.js +1 -0
  839. package/dist/{application-spec/generate-application/runtime/admin-runtime → domain/spec/runtime/model}/admin-model-runtime.d.ts +4 -3
  840. package/dist/domain/spec/runtime/model/admin-model-runtime.js +1 -0
  841. package/dist/{application-spec/generate-application/runtime/configurator-runtime → domain/spec/runtime/model}/configurator-model-runtime.d.ts +4 -3
  842. package/dist/domain/spec/runtime/model/configurator-model-runtime.js +1 -0
  843. package/dist/domain/spec/runtime/model/index.d.ts +2 -0
  844. package/dist/domain/spec/runtime/model/index.js +1 -0
  845. package/dist/domain/spec/runtime/optics/build-sdk-optic.d.ts +7 -0
  846. package/dist/domain/spec/runtime/optics/build-sdk-optic.js +1 -0
  847. package/dist/domain/spec/runtime/optics/build-user-bound-optic.d.ts +7 -0
  848. package/dist/domain/spec/runtime/optics/build-user-bound-optic.js +1 -0
  849. package/dist/domain/spec/runtime/optics/built-component-optic.d.ts +11 -0
  850. package/dist/domain/spec/runtime/optics/built-component-optic.js +1 -0
  851. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.d.ts +4 -14
  852. package/dist/domain/spec/runtime/optics/index.d.ts +2 -0
  853. package/dist/domain/spec/runtime/optics/index.js +1 -0
  854. package/dist/{application-spec/caching → domain/spec/runtime}/runtime-reference-store.d.ts +1 -5
  855. package/dist/domain/spec/runtime/runtime-reference-store.js +1 -0
  856. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.d.ts +3 -3
  857. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.d.ts +2 -2
  858. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.d.ts +1 -1
  859. package/dist/domain/spec/runtime/sections/index.d.ts +6 -0
  860. package/dist/domain/spec/runtime/sections/index.js +1 -0
  861. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.d.ts +4 -4
  862. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.d.ts +1 -1
  863. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.d.ts +2 -2
  864. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.d.ts +1 -1
  865. package/dist/domain/spec/runtime/spec-code/spec-code-module.js +1 -0
  866. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-runtime.d.ts +3 -3
  867. package/dist/domain/spec/runtime/spec-runtime.js +1 -0
  868. package/dist/domain/spec/runtime-spec/index.d.ts +4 -0
  869. package/dist/domain/spec/runtime-spec/index.js +1 -0
  870. package/dist/domain/spec/runtime-spec/runtime-spec.d.ts +174 -0
  871. package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.d.ts +1 -1
  872. package/dist/domain/spec/sections/actions.d.ts +23 -0
  873. package/dist/domain/spec/sections/actions.js +1 -0
  874. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  875. package/dist/domain/spec/sections/app-metadata.js +1 -0
  876. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  877. package/dist/domain/spec/sections/application-version.js +1 -0
  878. package/dist/domain/{application → spec/sections}/assistant/assistant-manifest.d.ts +13 -3
  879. package/dist/domain/{application → spec/sections}/assistant/assistant-resolved-manifest.d.ts +5 -9
  880. package/dist/domain/spec/sections/assistant/assistant-resolved-manifest.js +1 -0
  881. package/dist/domain/spec/sections/assistant/index.d.ts +4 -0
  882. package/dist/domain/spec/sections/assistant/index.js +1 -0
  883. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  884. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  885. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  886. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  887. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  888. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  889. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  890. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  891. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  892. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  893. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  894. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  895. package/dist/domain/spec/sections/index.d.ts +10 -0
  896. package/dist/domain/spec/sections/index.js +1 -0
  897. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  898. package/dist/domain/spec/sections/infra/acl.js +1 -0
  899. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  900. package/dist/domain/spec/sections/infra/index.js +1 -0
  901. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  902. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  903. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  904. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  905. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  906. package/dist/domain/spec/sections/state-value.js +1 -0
  907. package/dist/domain/spec/sections/theme.d.ts +10 -0
  908. package/dist/domain/spec/sections/theme.js +1 -0
  909. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  910. package/dist/domain/spec/sections/transformers.js +1 -0
  911. package/dist/domain/spec/sections/ui.d.ts +12 -0
  912. package/dist/domain/spec/sections/ui.js +1 -0
  913. package/dist/domain/system-components/phoenix-entity-elements/child-entity-card-selector.d.ts +2 -3
  914. package/dist/domain/system-components/phoenix-entity-elements/child-entity-list-selector.d.ts +2 -3
  915. package/dist/domain/system-components/phoenix-entity-elements/child-entity-toggle-selector.d.ts +2 -3
  916. package/dist/domain/system-definitions.js +1 -1
  917. package/dist/domain/utils/index.d.ts +2 -0
  918. package/dist/domain/utils/index.js +1 -0
  919. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  920. package/dist/i18n/locales/cs/messages.js +1 -1
  921. package/dist/i18n/locales/da/messages.js +1 -1
  922. package/dist/i18n/locales/de/messages.js +1 -1
  923. package/dist/i18n/locales/de-AT/messages.js +1 -1
  924. package/dist/i18n/locales/en/messages.js +1 -1
  925. package/dist/i18n/locales/en-AU/messages.js +1 -1
  926. package/dist/i18n/locales/en-GB/messages.js +1 -1
  927. package/dist/i18n/locales/es/messages.js +1 -1
  928. package/dist/i18n/locales/fr/messages.js +1 -1
  929. package/dist/i18n/locales/hu/messages.js +1 -1
  930. package/dist/i18n/locales/it/messages.js +1 -1
  931. package/dist/i18n/locales/nl/messages.js +1 -1
  932. package/dist/i18n/locales/pl/messages.js +1 -1
  933. package/dist/i18n/locales/pt/messages.js +1 -1
  934. package/dist/i18n/locales/ro/messages.js +1 -1
  935. package/dist/i18n/locales/sk/messages.js +1 -1
  936. package/dist/i18n/locales/tr/messages.js +1 -1
  937. package/dist/i18n/merge-catalogs.d.ts +4 -1
  938. package/dist/i18n/merge-catalogs.js +1 -1
  939. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  940. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  941. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +4 -2
  942. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/i18n-index.js +3 -3
  943. package/dist/legacy/phoenix-cli/services/webhook-service/transport.js +1 -1
  944. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.d.ts +1 -0
  945. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.js +1 -1
  946. package/dist/legacy/webhook-cli/lambda-local/index.js +1 -1
  947. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  948. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -0
  949. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  950. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -0
  951. package/dist/phoenix/application-spec/index.d.ts +2 -0
  952. package/dist/phoenix/application-spec/index.js +1 -1
  953. package/dist/phoenix/application-spec/project-files.d.ts +8 -2
  954. package/dist/phoenix/application-spec/project-files.js +1 -1
  955. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  956. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  957. package/dist/phoenix/bin.js +1 -1
  958. package/dist/phoenix/cli.js +1 -1
  959. package/dist/phoenix/commands/activate-deployment.js +1 -1
  960. package/dist/phoenix/commands/build.js +1 -1
  961. package/dist/phoenix/commands/changelog.js +1 -1
  962. package/dist/phoenix/commands/check.js +1 -1
  963. package/dist/phoenix/commands/clean.js +1 -1
  964. package/dist/phoenix/commands/cleanup-environment.js +2 -2
  965. package/dist/phoenix/commands/create-environment.js +1 -1
  966. package/dist/phoenix/commands/data.js +1 -1
  967. package/dist/phoenix/commands/deploy.js +3 -3
  968. package/dist/phoenix/commands/deployment-build-envs-command.js +1 -1
  969. package/dist/phoenix/commands/dev.js +4 -5
  970. package/dist/phoenix/commands/docs.js +1 -1
  971. package/dist/phoenix/commands/finish-deployment-command.js +1 -1
  972. package/dist/phoenix/commands/fix.js +1 -1
  973. package/dist/phoenix/commands/index.d.ts +1 -1
  974. package/dist/phoenix/commands/index.js +1 -1
  975. package/dist/phoenix/commands/inspect-assets.js +1 -1
  976. package/dist/phoenix/commands/list-environments.js +1 -1
  977. package/dist/phoenix/commands/login.d.ts +4 -1
  978. package/dist/phoenix/commands/login.js +2 -2
  979. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  980. package/dist/phoenix/commands/register-deployment.js +1 -1
  981. package/dist/phoenix/commands/scene.js +1 -1
  982. package/dist/phoenix/commands/screenshot.js +1 -1
  983. package/dist/phoenix/commands/state.js +1 -1
  984. package/dist/phoenix/commands/story-build.js +3 -3
  985. package/dist/phoenix/commands/story-create.js +1 -1
  986. package/dist/phoenix/commands/story-dev.js +2 -2
  987. package/dist/phoenix/commands/sync.js +1 -1
  988. package/dist/phoenix/commands/variants.js +1 -1
  989. package/dist/phoenix/editor-server/commands-router.js +1 -1
  990. package/dist/phoenix/editor-server/editor-server.d.ts +2 -13
  991. package/dist/phoenix/editor-server/editor-server.js +1 -1
  992. package/dist/phoenix/editor-server/spec-router.js +1 -1
  993. package/dist/phoenix/editor-server/trpc.d.ts +2 -12
  994. package/dist/phoenix/lingui/index.d.ts +1 -0
  995. package/dist/phoenix/lingui/index.js +1 -0
  996. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  997. package/dist/phoenix/lingui/lingui.js +1 -0
  998. package/dist/phoenix/scripts/docs-utils.js +1 -1
  999. package/dist/phoenix/services/application-spec-project-watcher.d.ts +11 -6
  1000. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  1001. package/dist/phoenix/services/cli-credentials.d.ts +3 -0
  1002. package/dist/phoenix/services/cli-credentials.js +1 -1
  1003. package/dist/phoenix/services/cli-exit.d.ts +5 -0
  1004. package/dist/phoenix/services/cli-exit.js +1 -0
  1005. package/dist/phoenix/services/deployment/deployment-preparation-service.d.ts +28 -0
  1006. package/dist/phoenix/services/deployment/deployment-preparation-service.js +1 -0
  1007. package/dist/phoenix/{commands → services/deployment}/generated-env-markers.d.ts +1 -0
  1008. package/dist/phoenix/services/deployment/generated-env-markers.js +1 -0
  1009. package/dist/phoenix/services/deployment/index.d.ts +2 -0
  1010. package/dist/phoenix/services/deployment/index.js +1 -0
  1011. package/dist/phoenix/services/index.d.ts +5 -1
  1012. package/dist/phoenix/services/index.js +1 -1
  1013. package/dist/phoenix/services/lingui-watcher.js +1 -1
  1014. package/dist/phoenix/services/phoenix-store.d.ts +3 -0
  1015. package/dist/phoenix/services/phoenix-store.js +1 -1
  1016. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1017. package/dist/phoenix/services/session/editor-server-handle.d.ts +5 -0
  1018. package/dist/phoenix/services/session/editor-server-handle.js +1 -0
  1019. package/dist/phoenix/services/session/index.d.ts +2 -0
  1020. package/dist/phoenix/services/session/index.js +1 -0
  1021. package/dist/phoenix/services/session/phoenix-application.d.ts +82 -0
  1022. package/dist/phoenix/services/session/phoenix-application.js +2 -0
  1023. package/dist/phoenix/services/source-archive.d.ts +2 -0
  1024. package/dist/phoenix/services/source-archive.js +1 -1
  1025. package/dist/phoenix/services/swc.d.ts +5 -4
  1026. package/dist/phoenix/services/swc.js +2 -2
  1027. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.d.ts +9 -0
  1028. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.js +1 -0
  1029. package/dist/phoenix/services/telemetry/index.d.ts +3 -0
  1030. package/dist/phoenix/services/telemetry/index.js +1 -0
  1031. package/dist/phoenix/services/telemetry/telemetry-client.d.ts +25 -0
  1032. package/dist/phoenix/services/telemetry/telemetry-client.js +1 -0
  1033. package/dist/phoenix/services/telemetry/telemetry-command.d.ts +2 -0
  1034. package/dist/phoenix/services/telemetry/telemetry-command.js +1 -0
  1035. package/dist/phoenix/services/telemetry/telemetry-event.d.ts +44 -0
  1036. package/dist/phoenix/services/telemetry/telemetry-event.js +1 -0
  1037. package/dist/phoenix/services/telemetry/telemetry-state.d.ts +25 -0
  1038. package/dist/phoenix/services/telemetry/telemetry-state.js +2 -0
  1039. package/dist/phoenix/services/vite-config.js +1 -1
  1040. package/dist/phoenix/services/webhook-service/transport.js +1 -1
  1041. package/dist/phoenix/services/webhook-service/tunnel.d.ts +1 -0
  1042. package/dist/phoenix/services/webhook-service/tunnel.js +1 -1
  1043. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  1044. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  1045. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  1046. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  1047. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  1048. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  1049. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  1050. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  1051. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  1052. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.d.ts +7 -0
  1053. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.js +1 -0
  1054. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.d.ts +14 -0
  1055. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.js +1 -0
  1056. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.d.ts +18 -0
  1057. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.js +1 -0
  1058. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.d.ts +5 -0
  1059. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.js +1 -0
  1060. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.d.ts +17 -0
  1061. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.js +1 -0
  1062. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.d.ts +5 -0
  1063. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.js +1 -0
  1064. package/dist/react-sdk/configurator-ui-elements/index.d.ts +6 -0
  1065. package/dist/react-sdk/configurator-ui-elements/index.js +1 -0
  1066. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1067. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  1068. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1069. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  1070. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1071. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  1072. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  1073. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  1074. package/dist/react-sdk/domain-application-context/index.js +1 -1
  1075. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.d.ts +6 -1
  1076. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.js +1 -1
  1077. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.d.ts +2 -2
  1078. package/dist/react-sdk/domain-controls/ChildEntityCardSelector.d.ts +2 -3
  1079. package/dist/react-sdk/domain-controls/ChildEntityListSelector.d.ts +2 -3
  1080. package/dist/react-sdk/domain-controls/ChildEntityToggleSelector.d.ts +2 -3
  1081. package/dist/react-sdk/domain-controls/hooks/use-cook-replace-recipes.d.ts +3 -3
  1082. package/dist/react-sdk/elements/PhoenixEntityElement.js +1 -1
  1083. package/dist/react-sdk/elements/PhoenixLayoutElement.js +1 -1
  1084. package/dist/react-sdk/index.d.ts +7 -0
  1085. package/dist/react-sdk/index.js +1 -1
  1086. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  1087. package/dist/react-sdk/integration/index.d.ts +1 -0
  1088. package/dist/react-sdk/integration/index.js +1 -0
  1089. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  1090. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  1091. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  1092. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  1093. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  1094. package/dist/react-sdk/notifications/index.d.ts +1 -0
  1095. package/dist/react-sdk/notifications/index.js +1 -0
  1096. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  1097. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  1098. package/dist/react-sdk/preset-selection/PresetSelectionProvider.js +1 -0
  1099. package/dist/react-sdk/preset-selection/index.d.ts +1 -0
  1100. package/dist/react-sdk/preset-selection/index.js +1 -0
  1101. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.d.ts +11 -0
  1102. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.js +1 -0
  1103. package/dist/react-sdk/provider-slots/configurator-provider-slot.d.ts +24 -0
  1104. package/dist/react-sdk/provider-slots/configurator-provider-slot.js +1 -0
  1105. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.d.ts +5 -0
  1106. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.js +1 -0
  1107. package/dist/react-sdk/provider-slots/index.d.ts +3 -0
  1108. package/dist/react-sdk/provider-slots/index.js +1 -0
  1109. package/dist/react-sdk/session/SessionServiceProvider.d.ts +5 -0
  1110. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1111. package/dist/ui-sdk/components/numerical-input/InputField.d.ts +2 -0
  1112. package/dist/ui-sdk/components/numerical-input/InputField.js +1 -1
  1113. package/dist/ui-sdk/components/numerical-input/NumericalInput.d.ts +2 -2
  1114. package/dist/ui-sdk/components/numerical-input/Slider.d.ts +3 -1
  1115. package/dist/ui-sdk/components/numerical-input/Slider.js +1 -1
  1116. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  1117. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  1118. package/dist/ui-sdk/icons/__generated/ChatCircleText.d.ts +3 -0
  1119. package/dist/ui-sdk/icons/__generated/ChatCircleText.js +1 -0
  1120. package/dist/ui-sdk/icons/__generated/Paperclip.d.ts +3 -0
  1121. package/dist/ui-sdk/icons/__generated/Paperclip.js +1 -0
  1122. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.d.ts +3 -0
  1123. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.js +1 -0
  1124. package/dist/ui-sdk/icons/__generated/index.d.ts +6 -0
  1125. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1126. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1127. package/dist/ui-sdk/theme/types.d.ts +1 -1
  1128. package/dist/watch/glob-matcher.d.ts +4 -4
  1129. package/dist/watch/glob-matcher.js +1 -1
  1130. package/dist/watch/watch.d.ts +4 -4
  1131. package/dist/watch/watch.js +1 -1
  1132. package/package.json +3 -3
  1133. package/schema/domain-spec.json +88 -4
  1134. package/dist/application-spec/caching/runtime-reference-store.js +0 -1
  1135. package/dist/application-spec/core/components/index.d.ts +0 -2
  1136. package/dist/application-spec/core/expressions/index.d.ts +0 -2
  1137. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.d.ts +0 -1
  1138. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +0 -1
  1139. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.d.ts +0 -3
  1140. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +0 -166
  1141. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.d.ts +0 -1
  1142. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +0 -54
  1143. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.d.ts +0 -1
  1144. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +0 -115
  1145. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +0 -1
  1146. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +0 -1
  1147. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +0 -6
  1148. package/dist/application-spec/generate-application/implementations/phx-application-types.js +0 -1
  1149. package/dist/application-spec/generate-application/implementations/phx-domain.js +0 -1
  1150. package/dist/application-spec/generate-application/implementations/phx-model.js +0 -1
  1151. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +0 -1
  1152. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +0 -1
  1153. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +0 -1
  1154. package/dist/application-spec/generate-application/runtime/application-runtime.js +0 -1
  1155. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +0 -1
  1156. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +0 -1
  1157. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +0 -1
  1158. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +0 -1
  1159. package/dist/application-spec/generate-application/runtime/create-application.js +0 -1
  1160. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +0 -1
  1161. package/dist/application-spec/generate-application/runtime/index.d.ts +0 -8
  1162. package/dist/application-spec/generate-application/runtime/index.js +0 -1
  1163. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +0 -1
  1164. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +0 -8
  1165. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +0 -1
  1166. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +0 -8
  1167. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +0 -1
  1168. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +0 -1
  1169. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +0 -1
  1170. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +0 -10
  1171. package/dist/application-spec/generate-application/runtime/sections/index.js +0 -1
  1172. package/dist/application-spec/generate-application/runtime/spec-runtime.js +0 -1
  1173. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +0 -5
  1174. package/dist/application-spec/generate-application/runtime-spec/index.js +0 -1
  1175. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +0 -103
  1176. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.d.ts +0 -17
  1177. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +0 -1
  1178. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  1179. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  1180. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  1181. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  1182. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  1183. package/dist/configurator/configurator-context/PresetSelectionProvider.js +0 -1
  1184. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  1185. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  1186. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  1187. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  1188. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  1189. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  1190. package/dist/domain/available-system-components.d.ts +0 -11
  1191. package/dist/domain/available-system-components.js +0 -1
  1192. package/dist/domain/domain-builder.js +0 -1
  1193. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +0 -1
  1194. package/dist/domain/domain-runtime/spec/module-checks/index.js +0 -1
  1195. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +0 -1
  1196. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +0 -1
  1197. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +0 -1
  1198. package/dist/phoenix/commands/generated-env-markers.js +0 -1
  1199. package/dist/phoenix/services/lingui.d.ts +0 -15
  1200. package/dist/phoenix/services/lingui.js +0 -1
  1201. package/dist/phoenix/services/phoenix-application.d.ts +0 -21
  1202. package/dist/phoenix/services/phoenix-application.js +0 -1
  1203. /package/dist/{application-spec/core/expressions/relation-expression-params.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.js} +0 -0
  1204. /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.d.ts +0 -0
  1205. /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.js +0 -0
  1206. /package/dist/{application-spec/generate-application/runtime/spec-code/spec-code-module.js → domain/spec/application/admin-pages-section.js} +0 -0
  1207. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/application/admin-pages.js} +0 -0
  1208. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/application/admin-states.js} +0 -0
  1209. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  1210. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  1211. /package/dist/domain/{application/assistant/assistant-manifest.js → spec/application/configurator-states.js} +0 -0
  1212. /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
  1213. /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
  1214. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
  1215. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
  1216. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.d.ts +0 -0
  1217. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.js +0 -0
  1218. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.d.ts +0 -0
  1219. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.js +0 -0
  1220. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.d.ts +0 -0
  1221. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.js +0 -0
  1222. /package/dist/domain/{domain-runtime → spec}/errors/index.d.ts +0 -0
  1223. /package/dist/domain/{domain-runtime → spec}/errors/index.js +0 -0
  1224. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.d.ts +0 -0
  1225. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.js +0 -0
  1226. /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
  1227. /package/dist/{application-spec/core → domain/spec}/expressions/relation-expression-params.d.ts +0 -0
  1228. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
  1229. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
  1230. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  1231. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  1232. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  1233. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  1234. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.js +0 -0
  1235. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.d.ts +0 -0
  1236. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.js +0 -0
  1237. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.js +0 -0
  1238. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.js +0 -0
  1239. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.js +0 -0
  1240. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.js +0 -0
  1241. /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-domain.d.ts +0 -0
  1242. /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.js +0 -0
  1243. /package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.js +0 -0
  1244. /package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.js +0 -0
  1245. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.js +0 -0
  1246. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.js +0 -0
  1247. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.d.ts +0 -0
  1248. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.js +0 -0
  1249. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.d.ts +0 -0
  1250. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.js +0 -0
  1251. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.js +0 -0
  1252. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.js +0 -0
  1253. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.js +0 -0
  1254. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.js +0 -0
  1255. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.js +0 -0
  1256. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.js +0 -0
  1257. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.js +0 -0
  1258. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.d.ts +0 -0
  1259. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.js +0 -0
  1260. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.js +0 -0
  1261. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/spec-code-module.d.ts +0 -0
  1262. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.d.ts +0 -0
  1263. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.js +0 -0
  1264. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.d.ts +0 -0
  1265. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.js +0 -0
  1266. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.d.ts +0 -0
  1267. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.js +0 -0
  1268. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/runtime-spec.js +0 -0
  1269. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.js +0 -0
  1270. /package/dist/domain/{application/assistant/assistant-resolved-manifest.js → spec/sections/assistant/assistant-manifest.js} +0 -0
  1271. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.d.ts +0 -0
  1272. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.js +0 -0
  1273. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.d.ts +0 -0
  1274. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.js +0 -0
  1275. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.d.ts +0 -0
  1276. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.js +0 -0
  1277. /package/dist/domain/{application → spec/sections}/assistant/form/index.d.ts +0 -0
  1278. /package/dist/domain/{application → spec/sections}/assistant/form/index.js +0 -0
  1279. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  1280. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  1281. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
  1282. /package/dist/{configurator/configurator-context → react-sdk/preset-selection}/PresetSelectionProvider.d.ts +0 -0
@@ -0,0 +1,48 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`Shelves with the SDK's in-scene controls, placed by the spec and restyled once for the brand. The delete FAB keeps its dry run: it is disabled with the reason while removing the shelf would break an invariant.
2
+
3
+ \`\`\`yaml
4
+ # spec/scene-controls.yaml
5
+ components:
6
+ Cabinet:
7
+ sceneEntityAddFab:
8
+ shelves:
9
+ $filter:
10
+ modes: [owner]
11
+ instanceNames: [shelves]
12
+ skipMenuWhenOnlyOne: true
13
+ hideWhenNone: true
14
+ title: Add a shelf
15
+ offsetY: 900
16
+ Shelf:
17
+ sceneEntityDeleteFab:
18
+ main:
19
+ $filter:
20
+ modes: [owner]
21
+ title: Remove shelf
22
+ offsetY:
23
+ $eval: self.height + 40
24
+ hideWhileDragging: true
25
+ \`\`\`
26
+
27
+ \`\`\`tsx
28
+ // src/elements/DeleteEntityFab.tsx
29
+ import { Fab, Tooltip } from '@mui/material'
30
+
31
+ export default phx.frontend.createDeleteEntityFab(({ onDelete, disabled, disabledHint, title }) => {
32
+ const resolve = phx.frontend.useResolveLocalizable()
33
+ const label = resolve(title) ?? 'Remove'
34
+
35
+ return (
36
+ <Tooltip title={disabledHint ?? label}>
37
+ {/* A disabled button fires no events, so the span carries the tooltip */}
38
+ <span>
39
+ <Fab size="small" color="primary" aria-label={label} disabled={disabled} onClick={onDelete}>
40
+ \xd7
41
+ </Fab>
42
+ </span>
43
+ </Tooltip>
44
+ )
45
+ })
46
+ \`\`\`
47
+
48
+ \`onDelete\` already stops the click's propagation and records the built-in analytics event.`;export const generatePhoenixSceneControlsFeature=()=>e({path:"features/domain-controls/scene-controls.md",title:"Scene controls",summary:"Hotspots, FABs, editable dimension indicators and 3D entity controls, their placement, and replacing the built-in look; read when putting a control on the product.",whenToUse:"Read when configurator users should act on the product itself: select a part or go to a step from a hotspot, add or delete from a FAB, edit a dimension in the scene, switch tools, or open a project control next to a part. These controls write the same control components as the project's elements ([Control components](control-components.md)).",capabilities:"### Choose the control\n\n- **Select a part** — `sceneEntitySelectHotspot`. Selection itself belongs to [Selection and hover](../application-states/selection.md).\n- **Go to a navigation state** — `sceneEntityNavigationHotspot` with `navigationState` (required), `pushToStack` and `canStackOnto`; [Navigation states](../application-states/navigation.md) owns the stack.\n- **Add children** — `sceneEntityAddFab` offers the entity's `childEntityRecipes`: `instanceNames` narrows them, `skipMenuWhenOnlyOne` adds a single recipe directly, `hideWhenNone` hides an empty FAB, `label` and `icon` style it, and `hiddenViolations` drops those types from its hints.\n- **Delete the entity** — `sceneEntityDeleteFab` with `icon`, `title` and `label`, and `hiddenViolations` to drop those types from its hints.\n- **Switch tools** — `toolMenuFab` with `title` and `options` of `{ label, icon?, toolState }`; [View and tool states](../application-states/views-and-tools.md) owns tools.\n- **Edit a dimension on the product** — the editable indicators open an input for the component they target. `editableDistanceDimensionIndicator` (`targetDimension`, a `distanceDimension` instance), `listSelectorDimensionIndicator` (`targetDistanceDimensionSelect`) and `editableSizeIndicator` (`targetSize`) draw a dimension line from `startX/Y/Z` to `endX/Y/Z`. `editableAngleIndicator` targets an `angleDimension` and is placed by `positionX/Y/Z`, `startAngle` and `sweepAngle`.\n- `editableOffsetIndicator` has no start and end: it requires `targetOffset`, `targetEntityOffsetAnchors`, `targetReferenceOffsetAnchors` and `directionVector`. `dimensionIndicator`, `angleIndicator` and `offsetIndicator` only show the value.\n- **A project control on the product** — `htmlHotspot` with `name`, a project element ([Custom controls](custom-controls.md)), or `sceneEntityObjectHtmlHotspot` with `target`, a `sceneEntityRemoteObject` instance whose animation it follows, offsets in that object's local space and units.\n- **3D content on an entity** — `sceneEntityControl` with `name`: the element renders inside the WebGL scene, so it returns React Three Fiber objects, such as drei's `Billboard` and `Text`, not DOM. It stays out of camera fitting unless `includeInCameraFit: true`.\n\nPrefer the built-in control for its job and restyle it (below); an `htmlHotspot` is for a control the SDK has none of.\n\n### Place and show\n\n- `offsetX`, `offsetY` and `offsetZ` are measured from the entity's origin in the distance data unit; `screenOffsetHorizontal` and `screenOffsetVertical` shift the control in pixels. `$read` or `$eval` an offset that follows a size.\n- `showWhen` takes `selected` and `unselected`. Defaults: `[selected]` for the add and delete FABs, `[unselected]` for the selection and navigation hotspots and the tool menu; an `htmlHotspot` shows in both.\n- `hideWhileDragging` hides the control while an entity is dragged. `azimuthAngleLimits` and `polarAngleLimits` (radians) and `distanceLimits` fade it outside `{ min, max, smoothZone?, minOpacity? }`.\n- Give an icon-only FAB or hotspot a `title`; `tooltipVisibility` is `on-hover` (default), `forced`, `forced-when-still` or `hidden`.\n- `$filter` decides when the control exists: `modes: [owner]` keeps editing controls from viewers, `navigationStates` ties them to a step. [Components](../domain-model/components.md) owns filters.\n- `controlHotspot: true` on an `htmlHotspot` hides it while a change is previewed, so its dry runs never read a stale state; the add and delete FABs always behave so. It also unmounts an open popover on every change: leave it off for a hotspot whose menu stays open while users compare options. `inert: true` makes an `htmlHotspot` ignore the pointer.\n\n### Elements in the scene\n\n- In-scene elements get the theme and every `phx.frontend` hook; MUI popovers and tooltips work inside them.\n- Stop a click inside a project control from reaching the scene with `event.stopPropagation()`, or it also changes the selection. The `onDelete`, `onSelect` and `onNavigate` props below already do; a recipe's `handleClick` does not.\n- The scene's HTML sits under the layout's panels, so a covered control cannot be clicked.\n\n### Replace a built-in control's look\n\nEach helper registers the element the scene renders for one component, everywhere the spec places it, in the built-in layout and in a project layout. The spec keeps the position, visibility, filters and tooltip settings. Pass a component `(props) => JSX.Element | null` (`null` shows nothing) and default-export the registration, or an array of registrations, from a file in `src/elements/`:\n\n- `phx.frontend.createAddEntityFab(Component)` — replaces `AddEntityFab`, for `sceneEntityAddFab`. Props: `entityId`, `instanceNames`, `fixableViolations` (the spec's `hiddenViolations`), `icon`, `label`, `title`, `tooltipVisibility`, `skipMenuWhenOnlyOne`, `hideWhenNone`. It gets no recipes: read them with `phx.frontend.useGroupedRecipeOptions(entityId, instanceNames, fixableViolations)` in the menu, mounted only while open, since every recipe is a dry run.\n- `phx.frontend.createDeleteEntityFab(Component)` — replaces `DeleteEntityFab`. Props: `entityId`, `onDelete`, `disabled`, `disabledHint`, `trace` (logs the dry run), `icon`, `label`, `title`, `tooltipVisibility`.\n- `phx.frontend.createSelectionHotspot(Component)` — replaces `SelectionHotspot`. Props: `entityId`, `onSelect`, `title`, `tooltipVisibility`.\n- `phx.frontend.createNavigationHotspot(Component)` — replaces `NavigationHotspot`. Props: `entityId`, `navigationState`, `onNavigate`, `title`, `tooltipVisibility`.\n- `phx.frontend.createToolMenuFab(Component)` — replaces `ToolMenuFab`. Props: `entityId`, `options`, `onSelectTool(toolState)`, `icon`, `title`, `tooltipVisibility`.\n\n`title` and `label` are localizable: resolve them with `phx.frontend.useResolveLocalizable()`. Registering these names with `createCustomPhoenixEntityElement` works too, but types only `entityId`. The dimension indicators have no replacement; build a different editor as an `htmlHotspot`.",example:t,documentation:'Read each with `pnpm phoenix docs -r <path>`:\n\n- "In-Scene Controls" in `docs/phoenix/configurator-interface.mdx` — the replaceable elements, their props and a complete replacement.\n- `docs/fabs/basic.mdx`, `docs/fabs/layout.mdx` — FAB settings, visibility and tooltips, and grouping controls with screen offsets.\n- `docs/controls/scene/html-hotspots.mdx`, `docs/controls/scene/object-html-hotspots.mdx`, `docs/controls/scene/custom-controls.mdx` (`sceneEntityControl`).\n- "Put a control on the product" in `docs/layouts/custom-layout.mdx` — a project hotspot with a popover.\n- `docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx` and its siblings in that folder, one per indicator (`pnpm phoenix docs -l` lists them).',phxMembers:["frontend.createAddEntityFab","frontend.createDeleteEntityFab","frontend.createSelectionHotspot","frontend.createNavigationHotspot","frontend.createToolMenuFab"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Named domain operations: declaration, implementation and running them from the UI or the assistant. */
3
+ export declare const generatePhoenixActionsFeature: () => PhoenixGuide;
@@ -0,0 +1,64 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`Moving a drawer among the desk's drawers is a reorder of the desk's \`drawerIds\` that the arrow buttons and the assistant share:
2
+
3
+ \`\`\`yaml
4
+ # spec/actions.yaml
5
+ actions:
6
+ moveDrawer:
7
+ description: Moves a drawer among the desk's drawers by a number of positions
8
+ params:
9
+ drawerId:
10
+ $ref: phx:DomainEntityId
11
+ references: Drawer
12
+ description: The drawer to move
13
+ delta:
14
+ type: integer
15
+ description: Positions to move by; negative moves left
16
+ result:
17
+ desk:
18
+ $ref: phx:$DomainEntity
19
+ references: Desk
20
+ description: The desk with its drawers in the new order
21
+ \`\`\`
22
+
23
+ \`\`\`ts
24
+ // src/actions/move-drawer.ts
25
+ export default phx.domain.implementActions({
26
+ moveDrawer: ({ drawerId, delta }, state, { systems: { domain }, updates }) => {
27
+ const desk = domain.getRoot$Entity(state)
28
+ const from = desk.drawerIds.indexOf(drawerId)
29
+ const to = from + delta
30
+
31
+ if (from === -1 || to < 0 || to >= desk.drawerIds.length) {
32
+ throw new Error(
33
+ \`Cannot move "\${drawerId}" by \${delta}. Pass the id of one of the desk's drawers and a delta that keeps it among them.\`
34
+ )
35
+ }
36
+
37
+ const drawerIds = [...desk.drawerIds]
38
+ drawerIds.splice(to, 0, ...drawerIds.splice(from, 1))
39
+
40
+ return {
41
+ updates: [
42
+ updates.DomainEntityModification({ entityId: desk.id, stateDelta: { drawerIds }, updateTag: 'moveDrawer' }),
43
+ ],
44
+ readResult: ({ state: moved }) => ({ desk: domain.getRoot$Entity(moved) }),
45
+ }
46
+ },
47
+ })
48
+ \`\`\`
49
+
50
+ \`\`\`tsx
51
+ // in the drawer's custom element: one prepared move per button
52
+ const { actionSystem } = phx.frontend.useDomain()
53
+ const state = phx.frontend.useCommittedState()
54
+ const prepare = phx.frontend.useUpdateControl()
55
+
56
+ const move = (delta: number) => {
57
+ try {
58
+ return prepare(actionSystem.prepareAction('moveDrawer', { drawerId: entityId, delta }, state).updates)
59
+ } catch (error) {
60
+ return { disabled: true, hints: error instanceof Error ? error.message : String(error), update: () => {} }
61
+ }
62
+ }
63
+ const left = move(-1) // <Button disabled={left.disabled} title={left.hints} onClick={left.update}>
64
+ \`\`\``;export const generatePhoenixActionsFeature=()=>e({path:"features/domain-model/actions.md",title:"Actions",summary:"Named domain operations declared in YAML, prepared in `src/actions/` and run by controls or the assistant; read when one change touches several entities or the UI and the assistant must share it.",whenToUse:"Read when a change is more than writing one field — a move among siblings, a swap, a change to several entities at once — or when the UI and the assistant must make the same change under the same rule. A single bound field needs no action: bind it in YAML ([Components](components.md)).",capabilities:"### Declare\n\n- Declare actions under the top-level `actions:`, each with a `description`, `params` and `result`. Both maps are required; write `params: {}` for an action without parameters. Names are identifiers.\n- Each param and result member is a JSON schema with the shape syntax: `$ref: phx:...`, `references`, `tsType` and `import`. A param whose schema admits `null` is optional; the others are required.\n- `phx:DomainEntityId` with `references` types an id param; `phx:$DomainEntity` with `references` types a result member as the `$` entity after the change.\n- The descriptions become the doc comments of the generated `ActionParams<'name'>` and `ActionResult<'name'>` types and what the assistant reads about the action, so write them for both readers.\n- Only the configurator domain has actions; the admin domain has none.\n\n### Implement\n\n- Default-export `phx.domain.implementActions({ name: (params, state, ctx) => ... })` from a file in `src/actions/`. A file may implement any subset of the declared actions.\n- `params` arrive validated against the declared schema; `state` is the state the action runs on.\n- `ctx.systems` holds the domain systems (`systems.domain.get$Entity(id, state)`, `systems.domain.getRoot$Entity(state)`); `ctx.updates` is the typed update factory, `ctx.getIdSequence()` gives ids for created entities, and `ctx.expressionContext` is the expression context.\n- Return `{ updates, readResult }`: the updates to apply, and `readResult({ previousState, state })`, which reads the declared result from the state those updates produced, transformer changes included.\n- An action only prepares. It never stages or commits; its caller does.\n- Throw to reject a call, with a message that says what was wrong and what to send instead: users see it as the control's hint and the assistant as the failed mutation's error.\n- `references` types an id but any entity id passes validation, so check what the id names, for example with `phx.domain.model.Drawer.isId(id)` or by finding it in the parent's list.\n- A declared action without an implementation stops the application at start (`MISSING_ACTION_IMPLEMENTATIONS` in the dev editor); implementing an undeclared name is a type error. Nothing validates what `readResult` returns at runtime.\n- Actions are domain code that also runs on the server: pure, `phx.domain` only, no browser imports.\n\n### Run from the UI\n\n- `phx.frontend.useDomain().actionSystem.prepareAction(name, args, state)` returns the prepared action for the committed state from `phx.frontend.useCommittedState()`.\n- Pass its `updates` to a function from `phx.frontend.useUpdateControl()`: it dry-runs them for `disabled` and `hints` and commits them on `update()`. [Custom controls](../domain-controls/custom-controls.md) owns that hook and the control around it.\n- `prepareAction` throws for an unknown name, arguments that do not fit and every rejection; catch it and show the message as the disabled control's hint.\n- At the call site the name and arguments are not checked against the generated types; the implementation is.\n\n### Expose to the assistant\n\n- List the action under `assistant.actions` to add it as a custom mutation; `as` renames the field and `description` replaces the action's. The mutation runs the same `prepareAction` and applies its updates with the same validation as every other change.",example:t,documentation:"Read `docs/other-features/domain-actions.mdx` with `pnpm phoenix docs -r docs/other-features/domain-actions.mdx`: declaring, implementing and running an action, with a complete control and the assistant schema. `docs/phoenix/domain-model.mdx` has no actions section.",phxMembers:["domain.implementActions"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Attaching components in YAML or TypeScript, bindings, filters and the component hooks. */
3
+ export declare const generatePhoenixComponentsFeature: () => PhoenixGuide;
@@ -0,0 +1,62 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`A bound control shown only while designing and only to owners, a label that follows the selection, and legs whose number depends on the width:
2
+
3
+ \`\`\`yaml
4
+ # spec/components.yaml
5
+ components:
6
+ Desk:
7
+ attributeSelection:
8
+ finish:
9
+ value:
10
+ $bind: finish
11
+ options:
12
+ $read: $finishOptions # an expression implemented in src/expressions/
13
+ $filter:
14
+ navigationStates: [design]
15
+ modes: [owner]
16
+ Drawer:
17
+ detail:
18
+ main:
19
+ title: Drawer
20
+ subtitle:
21
+ $eval: "self.handle + ' handle'"
22
+ description: ''
23
+ $filter:
24
+ selectedEntityIds:
25
+ $read: id
26
+ \`\`\`
27
+
28
+ \`\`\`ts
29
+ // src/components/desk-legs.ts
30
+ import { memoEval, sceneEntityRemoteObjectComponent } from '@salsita-ai/sdk/domain'
31
+
32
+ // One leg per started 800 mm plus one; a sceneEntityObjectProperties attachment
33
+ // with the same instance name and keys places each leg.
34
+ export default phx.domain.attachComponent
35
+ .withEntity('Desk')
36
+ .withComponent(sceneEntityRemoteObjectComponent, 'leg')
37
+ .attachMany(
38
+ memoEval(
39
+ self => [Math.ceil(self.width / 800) + 1],
40
+ count =>
41
+ Array.from({ length: count }, (_, index) => ({
42
+ key: \`leg-\${index}\`,
43
+ fileUrl: '/models/desk.glb',
44
+ objectName: 'Leg',
45
+ }))
46
+ )
47
+ )
48
+ \`\`\`
49
+
50
+ \`\`\`tsx
51
+ // in a custom element; attributeSelectionComponent comes from '@salsita-ai/sdk/domain'
52
+ const deskId = phx.frontend.useRootEntityId()
53
+ const finish = phx.frontend.useComponent({
54
+ entityId: deskId,
55
+ componentType: attributeSelectionComponent,
56
+ instanceName: 'finish',
57
+ })
58
+
59
+ if (finish === null) {
60
+ return null // filtered out: not designing, or a viewer
61
+ }
62
+ \`\`\``;export const generatePhoenixComponentsFeature=()=>e({path:"features/domain-model/components.md",title:"Components",summary:"Attaching components in YAML or TypeScript, bindings, `$eval`, filters and reading components in React; read when binding data or behavior to entities or reading a component in custom UI.",whenToUse:"Read when attaching a component to an entity or alias, binding its props to the domain, limiting it to some states, or reading one in custom React code. The guide of each job names the kind that does it: [Domain controls](../domain-controls/index.md) for controls, [Custom project layout](../custom-layout/index.md) for page-level UI.",capabilities:"### Attach in YAML first\n\n- Nest `components:` by entity type or alias, component kind, instance name, then props. On an alias the instance applies to every member type.\n- Instance names are yours. One entity can carry several instances of a kind; name each by its job (`finish`, `width`).\n- A prop holds a static value or a binding:\n - `$read: field` or `$read: $name` — one field, expression, relation or constant of the entity, by name only (no path).\n - `$bind: field` — reads and writes one shape field, on the props a kind lets users change, such as a selection's `value`.\n - `$read` or `$eval` together with `$write: field` — read one thing, write a shape field. `$write` never stands alone and never targets an expression.\n - `$eval: <expression>` — one inline JavaScript expression of `self`, the `$` entity with its relations and expressions (`self.$desk.width / 2`). It sees nothing else: no state, no context, no imports and no TypeScript-only syntax.\n- Whole state from one expression: give the instance `$read: $name` instead of props, with an optional `$filter` beside it.\n- Reading an undeclared `$name` declares an expression that still needs an implementation; see [Expressions](expressions.md).\n- The build checks that a bound value fits its prop (`COMPONENT_BINDING_TYPE_MISMATCH`). An entity id cannot be written in YAML: bind it (`$read: id`).\n\n### Filters\n\n- A `$filter` inside an instance decides when the component is active. An inactive component is absent for every system and hook.\n- Criteria: `navigationStates`, `viewStates`, `toolStates`, `exportStates`, `modes` (`owner`, `read`, `finalize`), `roles`, `selectedEntityIds`, `hoveredEntityIds`, `draggedEntityIds`, `exportedEntityIds`, `viewports`, `fullscreen`, `debug` and `active`.\n- Each criterion is static or a `$read` or `$eval`. An omitted criterion matches everything, an empty list nothing. All stated criteria must match; `$or: [...]` lists alternative filters, any of which may match.\n- `selectedEntityIds: { $read: id }` shows an instance only while its own entity is selected.\n- Criteria run cheapest first and `active` last, so put a computed condition in `active: { $read: $name }` beside the static ones. Never write `$filter: { $read: $name }`: that whole-filter form is the deprecated legacy filter and warns at runtime.\n- `modes` tests the configurator mode; a viewer is in `read` mode, so `modes: [owner]` keeps an editing component from viewers.\n- [Application states](../application-states/index.md) explains the navigation, view and tool states and the selection the criteria test.\n\n### Attach in TypeScript\n\n- Use `phx.domain.attachComponent` in `src/components/` only for what YAML cannot express: a React node or other browser value, or a number of instances that depends on the state. A file default-exports one attachment or an array.\n- Chain `.withEntity('Desk')` or `.withAlias('Top')` (repeatable), `.withComponent(<kind>Component, 'instance')`, optionally `.withGradualFilter({ ... })` (each call is one alternative), then `.attach(read, write?)` or `.attachMany(read)`.\n- `read(self, state, ctx)` returns the state; `write(writableState)` returns the entity fields to change; `attachMany` returns an array of states, each with a stable `key`, one instance per key.\n- Component types are `<kind>Component` exports of `@salsita-ai/sdk/domain`, such as `attributeSelectionComponent`; `phx` does not carry them.\n- Wrap `read` in `memoEval` (from `@salsita-ai/sdk/domain`) so the state keeps its reference while its inputs are unchanged. A fresh object on every state re-renders controls and can reset systems that react to references, such as cameras.\n- Files in `src/components/` stay out of the webhook unless their first statement is `'use webhook'`; [Webhooks](../webhooks.md) says when a component needs it.\n\n### Read components in React\n\n- `phx.frontend.useComponent({ entityId, componentType, instanceName })` returns the component's state, or `null` while it is not attached or filtered out. Leave out `instanceName` only when the kind is attached once; several matches throw.\n- `phx.frontend.useComponents({ componentTypes, entityIds?, instanceNames? })` returns `{ componentInstance, state }` snapshots, empty when nothing matches although its type admits `null`.\n- `phx.frontend.useFirstComponent({ ... })` takes the same filter and returns the first snapshot or `null`.\n- `phx.frontend.useRootComponents(componentType)` and `phx.frontend.useFirstRootComponent(componentType)` read the root entity; both also take an array of types.\n- These read the committed state. The rendered variants follow staged changes too, such as a slider being dragged: `phx.frontend.useRenderedComponent`, `phx.frontend.useRenderedComponents`, `phx.frontend.useFirstRenderedComponent`, `phx.frontend.useRootRenderedComponents` and `phx.frontend.useFirstRootRenderedComponent`. [State slices](../state/slices.md) explains when each fits.\n- Control hooks throw for a component that is not attached: check it with `phx.frontend.useComponent` first and render nothing on `null`.",example:t,documentation:'Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/components.mdx` — bindings, `$eval`, filters and `memoEval`.\n- `docs/other-features/component-filters.mdx` — every criterion combination, `$or` included.\n- `docs/other-features/dynamic-component-attachments.mdx` — `attachMany` from memoized expressions, beside static YAML components.\n- `docs/phoenix/configurator-interface.mdx` — "Components" under "Core Hooks": the component hooks with a sample call each.',phxMembers:["domain.attachComponent","frontend.useComponent","frontend.useRenderedComponent","frontend.useComponents","frontend.useRenderedComponents","frontend.useFirstComponent","frontend.useFirstRenderedComponent","frontend.useRootComponents","frontend.useRootRenderedComponents","frontend.useFirstRootComponent","frontend.useFirstRootRenderedComponent"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** The domain model index followed by its guides. */
3
+ export declare const generatePhoenixDomainModelGuides: () => readonly PhoenixGuide[];
@@ -0,0 +1 @@
1
+ import{createPhoenixIndexGuide as e}from"../../guide.js";import{generatePhoenixActionsFeature as s}from"./actions.js";import{generatePhoenixComponentsFeature as t}from"./components.js";import{generatePhoenixEntitiesAndRelationsFeature as n}from"./entities-and-relations.js";import{generatePhoenixExpressionsFeature as r}from"./expressions.js";import{generatePhoenixTransformersFeature as i}from"./transformers.js";import{generatePhoenixValidationAndRepairFeature as a}from"./validation-and-repair.js";export const generatePhoenixDomainModelGuides=()=>{let o=[n(),t(),r(),a(),i(),s()];return[e({path:"features/domain-model/index.md",title:"Domain model",summary:"Entities, relations, components, expressions, invariants, transformers and actions; read when modeling the product or changing its rules.",intro:"The domain model is the product's saved state and its rules: YAML in `spec/` declares it, and `src/expressions/`, `src/invariants/`, `src/transformers/`, `src/actions/` and `src/components/` implement what YAML cannot. Entities and relations give it its shape; components attach data and behavior to it; expressions derive values from it; invariants reject an invalid change; transformers add the updates a change carries with it, such as a repair; actions are named operations over several entities. Read only the guide the task needs.",guides:o,notes:[]}),...o]};
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Entities, aliases, relations, recipes and the model reflections. */
3
+ export declare const generatePhoenixEntitiesAndRelationsFeature: () => PhoenixGuide;
@@ -0,0 +1,59 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`A desk with one plain attribute, a top slot two types can fill, and an ordered list of drawers:
2
+
3
+ \`\`\`yaml
4
+ # spec/model.yaml
5
+ model:
6
+ latest:
7
+ entityTypes: [Desk, RectTop, RoundTop, Drawer]
8
+ aliases:
9
+ RootEntity: [Desk]
10
+ Top: [RectTop, RoundTop]
11
+ shapes:
12
+ Desk:
13
+ finish: # one value per desk: an attribute
14
+ type: string
15
+ topId:
16
+ $ref: phx:DomainEntityId
17
+ references: Top
18
+ drawerIds:
19
+ type: array
20
+ items:
21
+ $ref: phx:DomainEntityId
22
+ references: Drawer
23
+ RectTop:
24
+ width: { type: number }
25
+ RoundTop:
26
+ diameter: { type: number }
27
+ Drawer:
28
+ handle: { type: string }
29
+ relations:
30
+ Desk:
31
+ $top: { kind: direct, field: topId, target: Top, cardinality: 1-1, composedOf: true }
32
+ $drawers: { kind: direct, field: drawerIds, target: Drawer, cardinality: 0-N, composedOf: true }
33
+ Top:
34
+ $desk: { kind: indirect, field: topId, target: Desk, cardinality: 1-1, composedOf: false }
35
+ Drawer:
36
+ $desk: { kind: indirect, field: drawerIds, target: Desk, cardinality: 1-1, composedOf: false }
37
+ components:
38
+ Desk:
39
+ childEntityRecipes:
40
+ drawers:
41
+ collection: Desk.$drawers
42
+ recipes:
43
+ $read: $drawerRecipes # declared by this read, implemented below
44
+ \`\`\`
45
+
46
+ \`\`\`ts
47
+ // src/expressions/desk.ts
48
+ export default phx.domain.implementCustomExpressions({
49
+ Desk: {
50
+ // A round top takes no drawers; the guard narrows the alias to one member type.
51
+ $drawerRecipes: self =>
52
+ phx.domain.enhancedModel.$RoundTop.is(self.$top)
53
+ ? []
54
+ : [{ title: 'Drawer', recipes: [phx.domain.createRecipe({ type: 'Drawer', handle: 'bar' })] }],
55
+ },
56
+ })
57
+ \`\`\`
58
+
59
+ Deleting a drawer removes its id from \`drawerIds\`, and replacing the top writes the new id into \`topId\`, with no project code. The finish all drawers share stays \`Desk.finish\` rather than a field on each drawer.`;export const generatePhoenixEntitiesAndRelationsFeature=()=>e({path:"features/domain-model/entities-and-relations.md",title:"Entities and relations",summary:"Attribute or entity, aliases, relation kinds and ownership, recipes and the model reflections; read when shaping or changing the domain model.",whenToUse:"Read when deciding the shape of the domain model: which choices stay attributes, which become entities, how they relate and own each other, and how code tells entity types apart. Decide before the first deploy: splitting or merging entities later is a model migration.",capabilities:"### Attribute or entity\n\n- Keep a choice as an attribute of the entity it describes when the product has exactly one value of it and it needs no scene object, selection or page of its own: a finish, a width, a fabric.\n- Split it into an entity when users add, remove or repeat it, when several types with different attributes can fill the same place, or when users select it, see it as its own object or edit it on its own.\n- The split drives what follows: the composition tree is the scene hierarchy and the selection ancestry, deleting an owner deletes what it owns, and the child-entity controls (add, replace, list, delete) work on relations.\n- Start with one root entity and split only what the product needs. After a deploy, adding, removing or splitting entity types or shapes is a model change: follow [Model migration](../../processes/model-migration.md).\n\n### Aliases\n\n- An alias in `model.latest.aliases` is a named union of entity types. `RootEntity` lists the types a configuration can be rooted at.\n- Target an alias for a slot several types can fill (a `Top` that is a `RectTop` or a `RoundTop`), and declare shapes, expressions, invariants, relations and components once on it for all its members.\n\n### Relations\n\n- Declare relations under `relations:`, keyed by entity type or alias and named `$camelCase`. Each states `kind`, `target`, `cardinality` (`0-1`, `1-1`, `0-N`, `1-N`) and `composedOf`; `direct` and `indirect` also state `field`. None has a default.\n- **direct** — the declaring entity stores the ids in `field`: one id for `1-1`, an id or `null` for `0-1`, an ordered array for `0-N` and `1-N`. Use it for slots and ordered lists.\n- **indirect** — the target stores a pointer back in `field`. Use it when membership lives on the child, such as a `parentId`.\n- **allOfType** — every entity of the target type or alias, nothing stored. Use it for a link back to the root or a dynamic group.\n- A `field` is a `phx:DomainEntityId` with `references` (alone, or null, or in an array) that references exactly the related types.\n- Declare both sides. The counterpart on the target points back with the opposite kind (`direct` and `indirect`, or `allOfType` on both) and the same `field`; a missing side fails parsing with `RELATION_MISSING_COUNTERPART`.\n- Mark the owning side `composedOf: true`, at most one side of a pair. Every entity type must be reachable from the root through owning relations (`RELATION_ENTITY_NOT_IN_COMPOSITION_TREE`), and each entity has one owner, without cycles.\n- A cross-reference (`composedOf: false` on both sides) links entities already in the tree; it neither cascades nor nests in the scene.\n- Built-in transformers keep relations consistent: deleting an owner deletes what it owns, deleting a referenced entity removes its id from `direct` fields, and creating or replacing an entity writes the ids. Write no transformer for these.\n- Read relations as `$` fields in code: `desk.$top`, `desk.$drawers` (an array), `drawer.$desk`.\n\n### Create and remove children\n\n- Create children from recipes: `phx.domain.createRecipe({ type: 'Drawer', ... })` returns a whole entity of that type with a placeholder id, and the configurator gives it a real id when it adds it. State every shape property; spec `defaults:` are deprecated.\n- Return recipe groups from an expression and let a recipe control add or replace with them; remove a child with a deletion. [Control components](../domain-controls/control-components.md) owns the add, replace and remove controls.\n- For an `indirect` collection, set the child's pointer field in the recipe.\n\n### Model reflections\n\n- `phx.domain.model` has a reflection per entity type, alias and common type. Entity and alias reflections have `is(entity)`, `isId(id)`, `assert` and `assertId`; an alias also lists its `types`. A string-only enum common type has `values()` and one constant per value (`phx.domain.model.Finish.oak`); other common types validate with `is(value)`.\n- `phx.domain.enhancedModel` has `$<Type>` and `$<Alias>` for `$` entities: `is` and `isId` narrow them, and constants that do not read `self` are members (`phx.domain.enhancedModel.$Desk.$maxWidth`).\n- Hooks that take a reflection take the enhanced one, such as `phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Drawer)`; a `phx.domain.model` reflection has no `expressions` and does not type-check there. [Selection and hover](../application-states/selection.md) owns the selection hooks.\n- Call guards on the reflection object; a destructured assertion loses its narrowing (TS2775). Narrow ids that arrive untyped, such as action parameters, with `isId`.\n\n### Composition in React\n\n- `phx.frontend.useComposition()` returns the composition tree of the rendered state as `{ root, map }`. Each node has `id`, `parent`, and `children()`, `descendants()` and `ancestors()` iterators; `map` finds a node by id. Use it for outlines and breadcrumbs, and the state hooks for entity data.",example:t,documentation:"Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/domain-model.mdx` — the Relations and Aliases sections, enums and the `phx.domain` reflections.\n- `docs/relations/aliases.mdx`, `docs/relations/hierarchy.mdx`, `docs/relations/collection-direct.mdx`, `docs/relations/collection-indirect.mdx`, `docs/relations/all-of-type.mdx`, `docs/relations/cross-reference.mdx` — one worked relation pattern each.\n- `docs/recipes-and-delete/simple.mdx`, `docs/recipes-and-delete/delete-entity.mdx` — recipes and deletion end to end.",phxMembers:["domain.model","domain.enhancedModel","domain.createRecipe","frontend.useComposition"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Derived values in YAML and TypeScript, memoEval, the expression context and the data hooks. */
3
+ export declare const generatePhoenixExpressionsFeature: () => PhoenixGuide;
@@ -0,0 +1,46 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`An inline value and a memoized object. The spec declares \`Cabinet.width\` (number) and \`Cabinet.finish\` (string), \`finishes\` (string array) in \`publishedData\` and \`currency\` (string) in \`frontendData\`, each in its schema's \`required\` list, or the implementation does not type-check; and \`customerGroup\` (string) in \`sessionData\`, optional like every session data property.
2
+
3
+ \`\`\`yaml
4
+ # spec/cabinet.yaml
5
+ expressions:
6
+ Cabinet:
7
+ $halfWidth: # reads only self: no TypeScript
8
+ type: number
9
+ $eval: self.width / 2
10
+ $delivery: # reads the data sources: implemented in src/expressions/cabinet.ts
11
+ type: object
12
+ properties:
13
+ available: { type: boolean }
14
+ currency: { type: string }
15
+ customerGroup: { type: [string, 'null'] } # session data may lack it
16
+ days: { type: [number, 'null'] }
17
+ required: [available, currency, customerGroup, days]
18
+ additionalProperties: false
19
+ \`\`\`
20
+
21
+ \`\`\`ts
22
+ // src/expressions/cabinet.ts
23
+ import { memoEval } from '@salsita-ai/sdk/domain'
24
+
25
+ export default phx.domain.implementCustomExpressions({
26
+ Cabinet: {
27
+ $delivery: memoEval(
28
+ (self, _state, ctx) => [
29
+ self.finish,
30
+ ctx.publishedData.finishes,
31
+ ctx.frontendData.currency,
32
+ ctx.sessionData.customerGroup,
33
+ ctx.backendData?.['deliveryDays'],
34
+ ],
35
+ (finish, finishes, currency, customerGroup, deliveryDays) => ({
36
+ available: finishes.includes(finish),
37
+ currency,
38
+ customerGroup: customerGroup ?? null,
39
+ days: typeof deliveryDays === 'number' ? deliveryDays : null,
40
+ })
41
+ ),
42
+ },
43
+ })
44
+ \`\`\`
45
+
46
+ \`$delivery\` keeps one object while its five inputs are unchanged, so a reader of \`cabinet.$delivery\` re-renders only when one of them changes. \`$halfWidth\` is a number and needs neither TypeScript nor \`memoEval\`.`;export const generatePhoenixExpressionsFeature=()=>e({path:"features/domain-model/expressions.md",title:"Expressions",summary:"Derived values in YAML or TypeScript, `memoEval`, the expression context and the data hooks; read when computing a value from entity state or data sources.",whenToUse:"Read when a value derives from the configuration or its data — a price, a label, a limit, recipe options, a filter condition — or when custom React code needs the published, frontend or backend data.",capabilities:"### Choose the form\n\n- **`constants:`** — a fixed value per entity type or alias, without code (`$maxLegs: 4`). One that does not read `self` is also readable without an entity, as `phx.domain.enhancedModel.$Chair.$maxLegs`.\n- **`$eval` under `expressions:`** — one inline JavaScript expression of `self` (`$eval: self.width / 2`); give it an explicit `type`, because a value that reads `self` cannot be inferred. It sees only `self`: no state, context, helpers or imports. A `$eval` that does not read `self` is folded at parse time when it uses only literals, operators and `Math`; anything else needs an explicit `type` too.\n- **`$msg`** — a translatable text; [Localization](../localization.md) owns it.\n- **TypeScript** — anything that reads the data sources, the state or a helper, or needs more than one expression: declare the type in YAML and implement it in `src/expressions/`.\n\n### Declare and implement\n\n- Declare under `expressions:`, by entity type or alias, a `$name` with a JSON schema: `type`, `items`, `properties`, `$ref: phx:...`, or `tsType` with `import`.\n- Implement it with `phx.domain.implementCustomExpressions({ Desk: { $name: (self, state, ctx) => value } })`, default-exported from a file in `src/expressions/`, one file per entity type. Implement it under the entity type or alias that declares it.\n- A declared expression without an implementation stops the application at start with `MISSING_IMPLEMENTATION`; one implemented twice, or one the spec already gives a value, with `DUPLICATE_DEFINITION`.\n- Inference: a component `$read: $name` or filter `active: { $read: $name }` of an undeclared `$name` declares it with the type that prop or criterion expects, as recipe lists usually are. It still needs a TypeScript implementation. Declare it yourself to own the type; a type no read can accept fails with `EXPRESSION_READ_TYPE_CONFLICT`.\n\n### Pure, server-safe and stable\n\n- Expressions are pure: no side effects, no mutation of inputs, the same result for the same state and data. They are computed on demand and cached per state.\n- Expressions, invariants and actions also run on the server. Use `phx.domain` only, never `phx.frontend`, React or a browser-only import; put shared helpers in `_`-prefixed folders.\n- Keep the reference of an object or array result while its inputs are unchanged: wrap the implementation in `memoEval(deps, compute)` from `@salsita-ai/sdk/domain`. `deps(self, state, ctx)` returns an array compared item by item with `===`, and `compute(...deps)` runs only when an item changed.\n- List every input in `deps` and read nothing else in `compute`. Primitives need no `memoEval`.\n- A new object on every evaluation re-renders every reader and can reset systems that react to references, such as cameras; a mutated cached result hides the change.\n\n### The expression context\n\n- `self` is the `$` entity: fields, relations (`self.$drawers`), expressions and constants.\n- `state` is the domain state: `state.entities`, `state.rootEntityId`.\n- `ctx.publishedData`, `ctx.frontendData` and `ctx.sessionData` are typed by the spec's `publishedData:`, `frontendData:` and `sessionData:` schemas: a property missing from the schema's `required` list is optional.\n- A `sessionData` schema cannot list `required` properties (`SESSION_DATA_REQUIRED_PROPERTIES`), so every `ctx.sessionData` property may be `undefined`.\n- `ctx.backendData` is `Record<string, unknown> | undefined`: optional and untyped, so narrow each value before use.\n- `ctx.mode` is `owner`, `read` or `finalize`; `ctx.role` is the session role.\n- `ctx.domain.get$Entity(id, state)` and `ctx.domain.getRoot$Entity(state)` read other entities; `ctx` also has the component reader and the projections.\n\n### The data in React\n\n- `phx.frontend.usePublishedData()` and `phx.frontend.useFrontendData()` return the typed published and frontend data.\n- `phx.frontend.useBackendData()` returns the same optional, untyped backend data as `ctx.backendData`.\n- `phx.frontend.useLoadedData()` returns what the configurator loaded — `initialEntities`, `initialRevisionId`, `modelVersion`, `rootEntityType` — not the current state, which [State slices](../state/slices.md) reads.\n- Prefer an expression when the value also depends on the configuration: it is cached, runs on the server and can be bound in YAML. Read the hooks for data a custom element only displays.",example:t,documentation:"Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/domain-model.mdx` — the Expressions, Constants and Static values with `$eval` sections.\n- `docs/phoenix/expression-context.mdx` — the context, its projections and the SDK expression builders.\n- `docs/phoenix/data-sources.mdx` — declaring the data schemas, their sources and lifetimes.\n- `docs/phoenix/components.mdx` — the `memoEval` section, for component outputs.",phxMembers:["domain.implementCustomExpressions","frontend.usePublishedData","frontend.useFrontendData","frontend.useBackendData","frontend.useLoadedData"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Transformers: when to write one, triggers, actions, registration, order and debugging. */
3
+ export declare const generatePhoenixTransformersFeature: () => PhoenixGuide;
@@ -0,0 +1,43 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`The repair of [Validation and repair](validation-and-repair.md)'s \`widthTooLargeForTop\` invariant, and a stage that opens when users add a drawer, with \`Drawer\` composed under \`Desk\` and \`navigationStates: [configure, drawers, review]\`.
2
+
3
+ \`\`\`yaml
4
+ # spec/desk.yaml
5
+ transformers:
6
+ - name: clampDeskWidth
7
+ - name: openDrawersStage
8
+ \`\`\`
9
+
10
+ \`\`\`ts
11
+ // src/transformers/clamp-desk-width.ts
12
+ export default phx.frontend.transformerBuilder.when
13
+ .entity(['Desk'])
14
+ .modified({ atFields: ['topMaterial'] })
15
+ .causes.self.violation(['widthTooLargeForTop'])
16
+ .then.applySideEffect(ctx => {
17
+ const desk = ctx.getNew$Entity()
18
+
19
+ return [
20
+ phx.frontend.updates.DomainEntityModification({
21
+ entityId: desk.id,
22
+ stateDelta: { width: desk.$maxWidth },
23
+ updateTag: 'clampDeskWidth',
24
+ hint: 'The width was reduced to fit the new top',
25
+ }),
26
+ ]
27
+ })
28
+ .build('clampDeskWidth')
29
+ \`\`\`
30
+
31
+ \`\`\`ts
32
+ // src/transformers/open-drawers-stage.ts
33
+ export default phx.frontend.transformerBuilder.when
34
+ .entity(['Drawer'])
35
+ .created()
36
+ .and(ctx => ctx.getNewNavigationState() === phx.applicationTypes.NavigationState.configure)
37
+ .then.navigateTo(phx.applicationTypes.NavigationState.drawers)
38
+ .build('openDrawersStage')
39
+ \`\`\`
40
+
41
+ - Choosing glass on an 1800 mm desk commits glass and 1600 mm as one undo step; the material control's dry run sees the repair, so glass stays enabled.
42
+ - \`clampDeskWidth\` listens to \`topMaterial\` only, so a width option above the limit has no repair and stays disabled. \`when.entity(['Desk']).violated([...])\` would clamp every cause instead, a loaded configuration included.
43
+ - Neither entry has a priority, so both see a control's write as an entity change, and \`openDrawersStage\` runs after auto selection has selected the new drawer.`;export const generatePhoenixTransformersFeature=()=>e({path:"features/domain-model/transformers.md",title:"Transformers",summary:"Rules that add or replace updates in a change: triggers, actions, registration, order and cost; read when one change must adjust other state, repair a violation or react to selection or navigation.",whenToUse:"Read when a change must carry follow-up updates: repairing a `fixable` violation, keeping dependent fields in step, or selecting, navigating or switching the view in reaction to a change. Declaring the invariant a transformer repairs belongs to [Validation and repair](validation-and-repair.md).",capabilities:"### Choose a transformer\n\n- **Expression** — a value derived from the state, such as a limit or a price: [Expressions](expressions.md).\n- **Action** — a named operation users trigger, such as adding a shelf: [Actions](actions.md).\n- **Invariant alone** — an option that is simply unavailable: the control disables it ([Validation and repair](validation-and-repair.md)).\n- **Transformer** — one change must carry more updates with it: repair a `fixable` violation, keep a stored field in step, or react to a selection, navigation or view change.\n- Built-in transformers already delete composed children, prune and write references, and select a created entity. Write none for these.\n\n### Triggers\n\nStart with `phx.frontend.transformerBuilder.when`. Each entity trigger adds `entityId`, `update` and its own entity getters:\n\n- `.entity(['Desk']).modified()` or `.modified({ atFields: ['width'] })` — every listed field is in `update.stateDelta`; `getOld$Entity()` and `getNew$Entity()`.\n- `.created()` — `getNew$Entity()` only. `.deleted()` — `getOld$Entity()` only.\n- `.entity(['New']).replaces(['Old'])`, `.entity(['Old']).replacedWith(['New'])` — `getReplacing$Entity()`, `getReplaced$Entity()`.\n- `.selected({ occurrence, insteadOf })`, `.deselected({ occurrence, inFavorOf })` — `getSelected$Entity()`, `getDeselected$Entity()`. `occurrence` is `'initial'` (default), `'repeated'` or `'any'`.\n- `.violated(['widthTooLargeForTop'])` — fires for each entity with that violation, whatever caused it, with `getViolated$Entity()` and no matched update.\n\nOther triggers:\n\n- `when.navigated({ from, to })`, `when.viewChanged(...)`, `when.toolChanged(...)` — both lists optional; `getFrom()`, `getTo()`.\n- `when.component([attributeSelectionComponent]).instance(['topMaterial']).modified` — the raw component write, with the type from `@salsita-ai/sdk/domain`; add `.onEntity(['Desk'])` for the entity getters. It sees a control's write only with a finite `priority`. Prefer an entity trigger.\n- `transformerBuilder.always` — every emission.\n\nNarrow a trigger before `.then`:\n\n- `.causes.self.violation([...])` — the matched entity has the violation after the change. `.causes.entity(['Leg']).withId(ctx => ids).violation([...])`, or without `withId` for every `Leg` — other entities have it; `getViolated$Entities()`.\n- `causes` and `violated` fire only while the new state is invalid, a `fatal` or `fixable` violation present. A `warning` or `notice` never triggers them.\n- `.withTag(['tag'])` filters by `updateTag`; prefer `atFields` or an instance name.\n- `.and(ctx => boolean)` adds any condition.\n- `transformerBuilder.onEmissionsOfKind(['committed']).when…` skips staged previews, such as a drag in progress, but not dry runs.\n\n### The context\n\n- `ctx.updates` — the whole batch this transformer receives; `ctx.update` — the matched update.\n- `ctx.getOldState()` and `getOld$Root()` — the committed state before the change, the same for every transformer.\n- `ctx.getNewState()`, `getNew$Root()`, `getNewValidity()` — the input batch applied, earlier transformers' updates included.\n- `ctx.getOldNavigationState()`, `getNewNavigationState()`, and the view-state pair.\n- `ctx.stateEmissionKind` — `'staged'` or `'committed'`.\n- `ctx.getIdSequence()` — ids for created entities.\n- Build every update with `phx.frontend.updates`: [Updates and dry runs](../state/updates.md) owns the kinds and the `hint` users see.\n\n### Actions\n\n- `.then.applySideEffect(ctx => updates)` adds updates; `[]` is a no-op.\n- `.then.overrideMatchingUpdate(ctx => updates)` replaces the matched update; not after `violated` or `always`.\n- `.then.overrideAllUpdates(ctx => updates)` replaces the whole batch, for the first match only; return `ctx.updates` to change nothing.\n- `.then.select.entity(ctx => id)`, and after an entity trigger `.select.self()` and `.select.ancestorOfType([...])`; `.then.deselect()`.\n- `.then.navigateTo(state)` and `.then.changeView(state)`, each taking a state or `ctx => state`. No action changes the tool.\n- Selecting, deselecting, navigating and changing the view drop the batch's other updates of that kind: the last one in the pipeline wins.\n- Added updates still get cascade deletes and reference upkeep.\n- Chain: `.then(other)` on the result runs `other` only when this stage changed the batch, `.else(other)` only when it did not. Finish with `.build('name')`.\n\n### Register\n\n- One file per transformer in `src/transformers/`, default-exported (an array exports several). Transformers are browser code.\n- List it under the top-level `transformers:` as `- name: <build name>`, with an optional `priority`. Only listed transformers run.\n- The entry equals the `build` name exactly, and the file name matches it with case and dashes ignored (`clamp-desk-width.ts`, `clampDeskWidth`). A missing file fails the spec check; a wrong `build` name fails when the configurator starts.\n- Only one spec file may declare `transformers:`, and each name once.\n\n### Order\n\n- One pass in ascending `priority`; ties keep the list order. Each transformer receives the previous one's output and never sees its own output again, so loops cannot happen.\n- Built-ins: 10 cascade deletes, 20 reference pruning, 25 reference creation, 30 reference replacement, 40 auto snap, 100 auto selection.\n- At `Infinity` a step turns control component writes into entity modifications, ahead of every transformer without a priority.\n- Leave the priority out for a transformer that reacts to control changes: with one, it runs before that step, where `.modified(...)` never sees a control's write. Give one only when it must run before a built-in, such as before auto selection or snapping, or for a component trigger.\n\n### Runtime and cost\n\n- Transformers run before validation in the same emission; their updates commit and undo with the change.\n- At startup they run once with empty updates, only when the loaded state has a `fatal` or `fixable` violation. Only `violated` and `always` fire then.\n- Every dry run of every control option runs them, as `'committed'`: a transformer cannot tell a dry run from a commit. Keep them pure and cheap: no requests, timers, storage or outside state.\n\n### Debug\n\n- With `IS_DEV` on, the default in local development, each emission carries `transformationLog`: per transformer its name, `status` (`no-event`, `no-match`, `no-resolve`, `match`, `no-apply`, `apply`), messages and the updates in and out.\n- Commits are logged to the console at debug level as `commit`. On the SDK's built-in controls, Shift with Cmd or Alt clicked on an option logs that option's `Trace dry-run:` emission, a disabled option included; in a project element, call the `trace()` the control hooks return.",example:t,documentation:"Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/other-features/transformers.mdx` — every trigger and action with worked examples, the pipeline, cascades and tracing.\n- `docs/phoenix/configurator-interface.mdx`, section TransformerBuilder — registration and priority in brief.\n- `docs/selection-and-highlight/hierarchy.mdx` — a selection hierarchy built from selection and navigation transformers.",phxMembers:["frontend.transformerBuilder"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Invariants, the four severities and when a transformer repairs a violation. */
3
+ export declare const generatePhoenixValidationAndRepairFeature: () => PhoenixGuide;
@@ -0,0 +1,30 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let a=`The top material caps a desk's width. A width above the limit is unavailable, and choosing glass on a wide desk is repaired. The shape declares \`width\` (number) and \`topMaterial\` (string).
2
+
3
+ \`\`\`yaml
4
+ # spec/desk.yaml
5
+ expressions:
6
+ Desk:
7
+ $maxWidth:
8
+ type: number
9
+ $eval: "self.topMaterial === 'glass' ? 1600 : 2000"
10
+ invariants:
11
+ Desk:
12
+ widthFitsTop:
13
+ type: widthTooLargeForTop
14
+ severity: fixable
15
+ message:
16
+ $msg: This top is not made in this width
17
+ transformers:
18
+ - name: clampDeskWidth
19
+ \`\`\`
20
+
21
+ \`\`\`ts
22
+ // src/invariants/desk.ts
23
+ export default phx.domain.implementCustomInvariants({
24
+ Desk: {
25
+ widthFitsTop: self => self.width <= self.$maxWidth,
26
+ },
27
+ })
28
+ \`\`\`
29
+
30
+ The severity is \`fixable\` because \`clampDeskWidth\`, the first example in [Transformers](transformers.md), shrinks the width when the material changes to glass. A width option above the limit has no repair, so its dry run fails and the width control disables it with the message.`;export const generatePhoenixValidationAndRepairFeature=()=>e({path:"features/domain-model/validation-and-repair.md",title:"Validation and repair",summary:"Invariants in YAML and TypeScript, the four severities and when a violation needs a repairing transformer; read when enforcing a configuration rule.",whenToUse:"Read when the product has a rule a configuration must satisfy, such as an unsupported combination or a size limit, or when deciding whether a violation is repaired. [Transformers](transformers.md) owns writing the repair; [Violations](../state/violations.md) owns how violations reach controls, hints and the finalize button.",capabilities:"### Declare an invariant\n\n- Declare invariants under `invariants:`, by entity type or alias, each under a camelCase name:\n - **Static** — `type`, `severity`, `message` (a string or `$msg`) and an optional `controlViolationPriority`. The implementation returns `true` when the rule holds and `false` to report the declared violation.\n - **Dynamic** — `types: [...]` and nothing else. The implementation returns an array of `{ type, severity, message?, controlViolationPriority?, formatControlViolationMessage? }`, each `type` one of the declared `types`, and `[]` when the rule holds. Use it when the severity or the message depends on the state, or one rule reports several kinds.\n- Violation types start with a lowercase letter. Transformers and a control's `fixableViolations` name violation types, not invariant names.\n- Implement with `phx.domain.implementCustomInvariants({ Desk: { name: (self, state, ctx) => ... } })`, default-exported from a file in `src/invariants/`. A type the call lists must implement every invariant declared for it, so keep one file per entity type. A declared invariant no file implements never runs, and nothing reports it.\n- Keep invariants pure, cheap and server-safe like expressions: compute the limit in an expression and compare in the invariant (`self.width <= self.$maxWidth`). An invariant that throws makes every change invalid, with no message.\n- [Violations](../state/violations.md) owns how priorities and messages reach controls and the finalize button; [Localization](../localization.md) owns translated messages.\n\n### Choose a severity\n\nThe parser accepts exactly `fatal`, `fixable`, `warning` and `notice`; there is no `error`.\n\n| Severity | At commit | Control option in a dry run | Finalizing |\n| --- | --- | --- | --- |\n| `fatal` | rejected: never rendered, saved or undoable | disabled | blocked |\n| `fixable` | rejected, as `fatal` | disabled | blocked |\n| `warning` | committed and saved | enabled | blocked |\n| `notice` | committed and saved | enabled | allowed, message shown as a hint |\n\n- **fatal** — a combination that must never exist and that no repair makes valid.\n- **fixable** — behaves as `fatal`, and states that a transformer repairs it; use it for every violation a transformer handles.\n- **warning** — users may work with it but must resolve it before finalizing, such as a choice not made yet.\n- **notice** — information that restricts nothing.\n- A preset or saved configuration with a `fatal` or `fixable` violation runs through the transformers once, with no updates, when it loads; if it is still invalid, it does not load.\n\n### Repair with a transformer\n\n- Write a transformer when users should be able to make a choice that breaks the rule, such as a new top material on a wide desk: it adds the repairing updates before validation, so the change commits valid, and the control's dry run sees the repair and keeps the option enabled.\n- Repair the choice users expect to win, not every cause: a violation no transformer repairs keeps disabling its options.\n- Declare every repaired violation `fixable`, so the spec states that a repair exists.\n- [Transformers](transformers.md) owns the builder, registration, priority and order.",example:a,documentation:'Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/domain-model.mdx` — "Invariants": static and dynamic invariants in YAML and TypeScript, and the four severities.\n- `docs/other-features/violation-severity.mdx` — each severity tried live on controls and the finalize button.\n- `docs/other-features/violation-messages.mdx` — `controlViolationPriority` and formatted messages.',phxMembers:["domain.implementCustomInvariants"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../guide.js';
2
+ /** The capability index followed by every feature guide, each folder listed by its own index. */
3
+ export declare const generatePhoenixFeatureGuides: () => readonly PhoenixGuide[];
@@ -0,0 +1 @@
1
+ import{createPhoenixIndexGuide as e}from"../guide.js";import{generatePhoenixApplicationStatesGuides as n}from"./application-states/index.js";import{generatePhoenixCustomLayoutGuides as o}from"./custom-layout/index.js";import{generatePhoenixDomainControlsGuides as s}from"./domain-controls/index.js";import{generatePhoenixDomainModelGuides as i}from"./domain-model/index.js";import{generatePhoenixInspectionFeature as t}from"./inspection.js";import{generatePhoenixLocalizationFeature as a}from"./localization.js";import{generatePhoenixSceneObjectsFeature as d}from"./scene-objects.js";import{generatePhoenixStateGuides as r}from"./state/index.js";import{generatePhoenixVariantsFeature as c}from"./variants.js";import{generatePhoenixWebhooksFeature as m}from"./webhooks.js";export const generatePhoenixFeatureGuides=()=>{let p=[i(),r(),n(),s(),o(),[a()],[d()],[m()],[t()],[c()]];return[e({path:"features/index.md",title:"Features",summary:"What Phoenix capabilities support, their constraints and the canonical SDK documentation.",intro:"Read only the guide the task needs. Each guide teaches its part of the `phx` global and names the SDK documents to read with `pnpm phoenix docs -r <path>`; a link does not make its destination required reading.",guides:p.flatMap(e=>e.slice(0,1)),notes:["## Browse the SDK docs\n\n`pnpm phoenix docs` lists every category with its document count, `-c '<Category>'` shows one category's documents with descriptions and `-l` lists every path with its title. `-s '<text>'` matches literal text line by line, so search for one distinctive term, such as an API or YAML key, rather than a phrase.","## Topic map\n\nTopics no guide covers yet point straight to the canonical SDK docs.\n\n### Project and customization\n\n- `docs/phoenix/getting-started.mdx`, `docs/phoenix/quickstart.mdx` — setup and a complete worked configurator.\n- `docs/phoenix/best-practices.mdx` — supported composition and extension patterns.\n- `docs/phoenix/project-structure.mdx` — authored folders, generated files and naming rules.\n- `docs/phoenix/theming.mdx`, `docs/ux-guidelines/overview.mdx` — theme, branding and interaction principles.\n- The **3d scene**, **Drag & Drop**, **Performance** and **Complex Use Cases** categories — materials, lights, cameras, dragging and snapping, and worked combinations.\n\n### Webhooks and finalization\n\n- `docs/phoenix/webhooks.mdx`, `docs/phoenix/finalization.mdx` — execution, tasks, PDF, email and CSV.\n- `docs/phoenix/blender-rendering.mdx` — server-rendered images of the `GenerateImages` task.\n- `docs/other-features/client-side-rendering/declarative.mdx` — configurator-rendered images in PDFs and emails.\n\n### Data sources\n\n- `docs/phoenix/data-sources.mdx`, `docs/phoenix/connected-data-sources.mdx` — published, frontend, session and backend data, and connected sheets.\n\n### Admin and Studio\n\n- `docs/phoenix/admin.mdx`, `docs/phoenix/publishing.mdx` — project content administration and published revisions.\n- `docs/phoenix/sdk-builder-workflow.mdx` — Studio workspaces, projects, environments and builds.\n\n### CLI, access and deployment\n\n- `docs/phoenix/phoenix-cli.mdx` — login, dependencies, sync, dev, build and check.\n- `docs/phoenix/sessions-and-access.mdx`, `docs/phoenix/clerk-sign-in.mdx` — configurator access and project authentication.\n- `docs/phoenix/deployments.mdx` — environments and server builds."]}),...p.flat()]};
@@ -0,0 +1,2 @@
1
+ import { type PhoenixGuide } from '../guide.js';
2
+ export declare const generatePhoenixInspectionFeature: () => PhoenixGuide;
@@ -0,0 +1 @@
1
+ import{createPhoenixFeatureGuide as e}from"../guide.js";import{sdkGuidanceSections as n}from"../sdk-content.js";export const generatePhoenixInspectionFeature=()=>e({path:"features/inspection.md",title:"Inspection",summary:"Asset and live runtime inspection commands; read when checking models, scene, state, data or rendered output.",whenToUse:"Read when checking imported assets or investigating the running configurator. Runtime inspection needs dev running and the preview open in a browser.",capabilities:[n.assetInspection,n.screenshotCli,n.inspectState,n.inspectData,n.inspectScene,n.playwrightMcpSetup].join("\n\n"),example:"After changing a material, run `pnpm phoenix inspect:scene` to inspect the assigned material, then `pnpm phoenix screenshot -o ./render.png` to compare the rendered result. A canvas screenshot does not cover the surrounding interface.",documentation:"Read `docs/phoenix/phoenix-cli.mdx` with `pnpm phoenix docs -r docs/phoenix/phoenix-cli.mdx` for command flags and output contracts. Use the [review index](../processes/review/index.md) when deciding which evidence the change needs.",phxMembers:[]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../guide.js';
2
+ /** The guide to languages: enabling them, translatable texts, the language switch, webhook locale and catalogs. */
3
+ export declare const generatePhoenixLocalizationFeature: () => PhoenixGuide;