human2ai 0.1.0

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 (326) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +120 -0
  3. package/assets/quaternius/License_Standard.txt +22 -0
  4. package/assets/quaternius/README.md +31 -0
  5. package/assets/quaternius/Superhero_Female_FullBody.bin +0 -0
  6. package/assets/quaternius/Superhero_Female_FullBody.gltf +2056 -0
  7. package/assets/quaternius/Superhero_Male_FullBody.bin +0 -0
  8. package/assets/quaternius/Superhero_Male_FullBody.gltf +2018 -0
  9. package/dist/cli/integration.d.ts +39 -0
  10. package/dist/cli/integration.js +466 -0
  11. package/dist/cli/integration.js.map +1 -0
  12. package/dist/cli/main.d.ts +17 -0
  13. package/dist/cli/main.js +1455 -0
  14. package/dist/cli/main.js.map +1 -0
  15. package/dist/database/composition-session-repository.d.ts +37 -0
  16. package/dist/database/composition-session-repository.js +147 -0
  17. package/dist/database/composition-session-repository.js.map +1 -0
  18. package/dist/database/draft-version-errors.d.ts +29 -0
  19. package/dist/database/draft-version-errors.js +47 -0
  20. package/dist/database/draft-version-errors.js.map +1 -0
  21. package/dist/database/draft-version-store.d.ts +30 -0
  22. package/dist/database/draft-version-store.js +168 -0
  23. package/dist/database/draft-version-store.js.map +1 -0
  24. package/dist/database/image-asset-repository.d.ts +37 -0
  25. package/dist/database/image-asset-repository.js +101 -0
  26. package/dist/database/image-asset-repository.js.map +1 -0
  27. package/dist/database/image-input.d.ts +15 -0
  28. package/dist/database/image-input.js +28 -0
  29. package/dist/database/image-input.js.map +1 -0
  30. package/dist/database/migrate.d.ts +4 -0
  31. package/dist/database/migrate.js +45 -0
  32. package/dist/database/migrate.js.map +1 -0
  33. package/dist/database/project-session-repository.d.ts +72 -0
  34. package/dist/database/project-session-repository.js +291 -0
  35. package/dist/database/project-session-repository.js.map +1 -0
  36. package/dist/database/spatial-session-repository.d.ts +26 -0
  37. package/dist/database/spatial-session-repository.js +44 -0
  38. package/dist/database/spatial-session-repository.js.map +1 -0
  39. package/dist/database/style-library-repository.d.ts +70 -0
  40. package/dist/database/style-library-repository.js +290 -0
  41. package/dist/database/style-library-repository.js.map +1 -0
  42. package/dist/database/svg-input.d.ts +1 -0
  43. package/dist/database/svg-input.js +77 -0
  44. package/dist/database/svg-input.js.map +1 -0
  45. package/dist/database/ui-sketch-session-repository.d.ts +19 -0
  46. package/dist/database/ui-sketch-session-repository.js +35 -0
  47. package/dist/database/ui-sketch-session-repository.js.map +1 -0
  48. package/dist/domain/canvas-layer-order.d.ts +6 -0
  49. package/dist/domain/canvas-layer-order.js +40 -0
  50. package/dist/domain/canvas-layer-order.js.map +1 -0
  51. package/dist/domain/canvas-node-metadata.d.ts +20 -0
  52. package/dist/domain/canvas-node-metadata.js +17 -0
  53. package/dist/domain/canvas-node-metadata.js.map +1 -0
  54. package/dist/domain/canvas-states.d.ts +8 -0
  55. package/dist/domain/canvas-states.js +23 -0
  56. package/dist/domain/canvas-states.js.map +1 -0
  57. package/dist/domain/composition/analysis.d.ts +104 -0
  58. package/dist/domain/composition/analysis.js +337 -0
  59. package/dist/domain/composition/analysis.js.map +1 -0
  60. package/dist/domain/composition/camera-reference.d.ts +24 -0
  61. package/dist/domain/composition/camera-reference.js +34 -0
  62. package/dist/domain/composition/camera-reference.js.map +1 -0
  63. package/dist/domain/composition/draft.d.ts +50 -0
  64. package/dist/domain/composition/draft.js +609 -0
  65. package/dist/domain/composition/draft.js.map +1 -0
  66. package/dist/domain/composition/frame.d.ts +23 -0
  67. package/dist/domain/composition/frame.js +154 -0
  68. package/dist/domain/composition/frame.js.map +1 -0
  69. package/dist/domain/composition/geometry.d.ts +15 -0
  70. package/dist/domain/composition/geometry.js +262 -0
  71. package/dist/domain/composition/geometry.js.map +1 -0
  72. package/dist/domain/composition/index.d.ts +13 -0
  73. package/dist/domain/composition/index.js +10 -0
  74. package/dist/domain/composition/index.js.map +1 -0
  75. package/dist/domain/composition/layers.d.ts +4 -0
  76. package/dist/domain/composition/layers.js +12 -0
  77. package/dist/domain/composition/layers.js.map +1 -0
  78. package/dist/domain/composition/records.d.ts +14 -0
  79. package/dist/domain/composition/records.js +2 -0
  80. package/dist/domain/composition/records.js.map +1 -0
  81. package/dist/domain/composition/refinement/engine.d.ts +12 -0
  82. package/dist/domain/composition/refinement/engine.js +521 -0
  83. package/dist/domain/composition/refinement/engine.js.map +1 -0
  84. package/dist/domain/composition/refinement/relations.d.ts +16 -0
  85. package/dist/domain/composition/refinement/relations.js +293 -0
  86. package/dist/domain/composition/refinement/relations.js.map +1 -0
  87. package/dist/domain/composition/refinement/types.d.ts +181 -0
  88. package/dist/domain/composition/refinement/types.js +2 -0
  89. package/dist/domain/composition/refinement/types.js.map +1 -0
  90. package/dist/domain/composition/render.d.ts +5 -0
  91. package/dist/domain/composition/render.js +169 -0
  92. package/dist/domain/composition/render.js.map +1 -0
  93. package/dist/domain/composition/states.d.ts +9 -0
  94. package/dist/domain/composition/states.js +104 -0
  95. package/dist/domain/composition/states.js.map +1 -0
  96. package/dist/domain/composition/types.d.ts +149 -0
  97. package/dist/domain/composition/types.js +2 -0
  98. package/dist/domain/composition/types.js.map +1 -0
  99. package/dist/domain/composition/workflow.d.ts +15 -0
  100. package/dist/domain/composition/workflow.js +77 -0
  101. package/dist/domain/composition/workflow.js.map +1 -0
  102. package/dist/domain/fingerprint.d.ts +2 -0
  103. package/dist/domain/fingerprint.js +25 -0
  104. package/dist/domain/fingerprint.js.map +1 -0
  105. package/dist/domain/session/canvas-edit-history.d.ts +17 -0
  106. package/dist/domain/session/canvas-edit-history.js +53 -0
  107. package/dist/domain/session/canvas-edit-history.js.map +1 -0
  108. package/dist/domain/session/capabilities.d.ts +16 -0
  109. package/dist/domain/session/capabilities.js +84 -0
  110. package/dist/domain/session/capabilities.js.map +1 -0
  111. package/dist/domain/session/draft-version.d.ts +41 -0
  112. package/dist/domain/session/draft-version.js +2 -0
  113. package/dist/domain/session/draft-version.js.map +1 -0
  114. package/dist/domain/session/index.d.ts +5 -0
  115. package/dist/domain/session/index.js +3 -0
  116. package/dist/domain/session/index.js.map +1 -0
  117. package/dist/domain/session/types.d.ts +23 -0
  118. package/dist/domain/session/types.js +2 -0
  119. package/dist/domain/session/types.js.map +1 -0
  120. package/dist/domain/spatial/assets/quaternius-female-rig.json +799 -0
  121. package/dist/domain/spatial/assets/quaternius-rig.json +799 -0
  122. package/dist/domain/spatial/assets/quaternius-superhero-female.json +1 -0
  123. package/dist/domain/spatial/assets/quaternius-superhero.json +1 -0
  124. package/dist/domain/spatial/camera-box.d.ts +13 -0
  125. package/dist/domain/spatial/camera-box.js +52 -0
  126. package/dist/domain/spatial/camera-box.js.map +1 -0
  127. package/dist/domain/spatial/geometric-model.d.ts +4 -0
  128. package/dist/domain/spatial/geometric-model.js +101 -0
  129. package/dist/domain/spatial/geometric-model.js.map +1 -0
  130. package/dist/domain/spatial/hands.d.ts +36 -0
  131. package/dist/domain/spatial/hands.js +128 -0
  132. package/dist/domain/spatial/hands.js.map +1 -0
  133. package/dist/domain/spatial/index.d.ts +30 -0
  134. package/dist/domain/spatial/index.js +381 -0
  135. package/dist/domain/spatial/index.js.map +1 -0
  136. package/dist/domain/spatial/kinematics.d.ts +27 -0
  137. package/dist/domain/spatial/kinematics.js +285 -0
  138. package/dist/domain/spatial/kinematics.js.map +1 -0
  139. package/dist/domain/spatial/lighting.d.ts +35 -0
  140. package/dist/domain/spatial/lighting.js +173 -0
  141. package/dist/domain/spatial/lighting.js.map +1 -0
  142. package/dist/domain/spatial/model.d.ts +5 -0
  143. package/dist/domain/spatial/model.js +193 -0
  144. package/dist/domain/spatial/model.js.map +1 -0
  145. package/dist/domain/spatial/morph.d.ts +3 -0
  146. package/dist/domain/spatial/morph.js +187 -0
  147. package/dist/domain/spatial/morph.js.map +1 -0
  148. package/dist/domain/spatial/proportions.d.ts +46 -0
  149. package/dist/domain/spatial/proportions.js +59 -0
  150. package/dist/domain/spatial/proportions.js.map +1 -0
  151. package/dist/domain/spatial/reference-lines.d.ts +6 -0
  152. package/dist/domain/spatial/reference-lines.js +58 -0
  153. package/dist/domain/spatial/reference-lines.js.map +1 -0
  154. package/dist/domain/spatial/scene-cache.d.ts +15 -0
  155. package/dist/domain/spatial/scene-cache.js +69 -0
  156. package/dist/domain/spatial/scene-cache.js.map +1 -0
  157. package/dist/domain/spatial/scene.d.ts +8 -0
  158. package/dist/domain/spatial/scene.js +69 -0
  159. package/dist/domain/spatial/scene.js.map +1 -0
  160. package/dist/domain/spatial/types.d.ts +187 -0
  161. package/dist/domain/spatial/types.js +5 -0
  162. package/dist/domain/spatial/types.js.map +1 -0
  163. package/dist/domain/style/index.d.ts +1 -0
  164. package/dist/domain/style/index.js +2 -0
  165. package/dist/domain/style/index.js.map +1 -0
  166. package/dist/domain/style/prompt-summary.d.ts +2 -0
  167. package/dist/domain/style/prompt-summary.js +11 -0
  168. package/dist/domain/style/prompt-summary.js.map +1 -0
  169. package/dist/domain/style/types.d.ts +32 -0
  170. package/dist/domain/style/types.js +3 -0
  171. package/dist/domain/style/types.js.map +1 -0
  172. package/dist/domain/ui-sketch/draft.d.ts +12 -0
  173. package/dist/domain/ui-sketch/draft.js +424 -0
  174. package/dist/domain/ui-sketch/draft.js.map +1 -0
  175. package/dist/domain/ui-sketch/geometry.d.ts +7 -0
  176. package/dist/domain/ui-sketch/geometry.js +11 -0
  177. package/dist/domain/ui-sketch/geometry.js.map +1 -0
  178. package/dist/domain/ui-sketch/groups.d.ts +5 -0
  179. package/dist/domain/ui-sketch/groups.js +40 -0
  180. package/dist/domain/ui-sketch/groups.js.map +1 -0
  181. package/dist/domain/ui-sketch/index.d.ts +8 -0
  182. package/dist/domain/ui-sketch/index.js +8 -0
  183. package/dist/domain/ui-sketch/index.js.map +1 -0
  184. package/dist/domain/ui-sketch/layers.d.ts +4 -0
  185. package/dist/domain/ui-sketch/layers.js +11 -0
  186. package/dist/domain/ui-sketch/layers.js.map +1 -0
  187. package/dist/domain/ui-sketch/render.d.ts +2 -0
  188. package/dist/domain/ui-sketch/render.js +58 -0
  189. package/dist/domain/ui-sketch/render.js.map +1 -0
  190. package/dist/domain/ui-sketch/standardize.d.ts +17 -0
  191. package/dist/domain/ui-sketch/standardize.js +139 -0
  192. package/dist/domain/ui-sketch/standardize.js.map +1 -0
  193. package/dist/domain/ui-sketch/states.d.ts +5 -0
  194. package/dist/domain/ui-sketch/states.js +21 -0
  195. package/dist/domain/ui-sketch/states.js.map +1 -0
  196. package/dist/domain/ui-sketch/types.d.ts +73 -0
  197. package/dist/domain/ui-sketch/types.js +2 -0
  198. package/dist/domain/ui-sketch/types.js.map +1 -0
  199. package/dist/server/app.d.ts +18 -0
  200. package/dist/server/app.js +108 -0
  201. package/dist/server/app.js.map +1 -0
  202. package/dist/server/image-content-type-parser.d.ts +2 -0
  203. package/dist/server/image-content-type-parser.js +5 -0
  204. package/dist/server/image-content-type-parser.js.map +1 -0
  205. package/dist/server/routes/composition-sessions.d.ts +3 -0
  206. package/dist/server/routes/composition-sessions.js +190 -0
  207. package/dist/server/routes/composition-sessions.js.map +1 -0
  208. package/dist/server/routes/draft-version-routes.d.ts +10 -0
  209. package/dist/server/routes/draft-version-routes.js +201 -0
  210. package/dist/server/routes/draft-version-routes.js.map +1 -0
  211. package/dist/server/routes/image-assets.d.ts +3 -0
  212. package/dist/server/routes/image-assets.js +114 -0
  213. package/dist/server/routes/image-assets.js.map +1 -0
  214. package/dist/server/routes/project-sessions.d.ts +48 -0
  215. package/dist/server/routes/project-sessions.js +305 -0
  216. package/dist/server/routes/project-sessions.js.map +1 -0
  217. package/dist/server/routes/spatial-sessions.d.ts +3 -0
  218. package/dist/server/routes/spatial-sessions.js +80 -0
  219. package/dist/server/routes/spatial-sessions.js.map +1 -0
  220. package/dist/server/routes/style-library.d.ts +3 -0
  221. package/dist/server/routes/style-library.js +308 -0
  222. package/dist/server/routes/style-library.js.map +1 -0
  223. package/dist/server/routes/ui-sketch-sessions.d.ts +3 -0
  224. package/dist/server/routes/ui-sketch-sessions.js +14 -0
  225. package/dist/server/routes/ui-sketch-sessions.js.map +1 -0
  226. package/dist/server/runtime.d.ts +30 -0
  227. package/dist/server/runtime.js +123 -0
  228. package/dist/server/runtime.js.map +1 -0
  229. package/dist/server/spatial-render.d.ts +5 -0
  230. package/dist/server/spatial-render.js +360 -0
  231. package/dist/server/spatial-render.js.map +1 -0
  232. package/dist/server/start.d.ts +1 -0
  233. package/dist/server/start.js +3 -0
  234. package/dist/server/start.js.map +1 -0
  235. package/licenses/THIRD-PARTY-NOTICES.txt +16664 -0
  236. package/licenses/YisiUI-LICENSE +21 -0
  237. package/locales/en/common.json +671 -0
  238. package/migrations/0001_projects_and_sessions.sql +45 -0
  239. package/migrations/0002_composition_versions_and_refinements.sql +26 -0
  240. package/migrations/0003_ui_sketch_draft_versions.sql +12 -0
  241. package/migrations/0004_image_assets.sql +16 -0
  242. package/migrations/0005_style_library.sql +31 -0
  243. package/migrations/0006_session_styles.sql +6 -0
  244. package/migrations/0007_svg_image_assets.sql +19 -0
  245. package/migrations/0008_spatial_spaces.sql +20 -0
  246. package/package.json +82 -0
  247. package/schemas/composition-draft.schema.json +234 -0
  248. package/schemas/composition-refinement-plan.schema.json +758 -0
  249. package/schemas/spatial-draft.schema.json +517 -0
  250. package/schemas/spatial-operations.schema.json +1082 -0
  251. package/schemas/ui-layout-standardization-plan.schema.json +29 -0
  252. package/schemas/ui-sketch-draft.schema.json +197 -0
  253. package/skills/human2ai/SKILL.md +149 -0
  254. package/skills/human2ai/agents/openai.yaml +3 -0
  255. package/skills/human2ai/references/composition-projection.md +170 -0
  256. package/skills/human2ai/references/composition.md +79 -0
  257. package/skills/human2ai/references/spatial.md +188 -0
  258. package/skills/human2ai/references/svg-images.md +27 -0
  259. package/skills/human2ai/references/ui-layout.md +100 -0
  260. package/web/out/404/index.html +1 -0
  261. package/web/out/404.html +1 -0
  262. package/web/out/__next.__PAGE__.txt +26 -0
  263. package/web/out/__next._full.txt +21 -0
  264. package/web/out/__next._tree.txt +4 -0
  265. package/web/out/_next/static/TV-jgcACg6HANZAMZTE2S/_buildManifest.js +1 -0
  266. package/web/out/_next/static/TV-jgcACg6HANZAMZTE2S/_ssgManifest.js +1 -0
  267. package/web/out/_next/static/chunks/130-9fadd0432daff55d.js +1 -0
  268. package/web/out/_next/static/chunks/158-eb00456e1bab68b3.js +52 -0
  269. package/web/out/_next/static/chunks/20-0801fc297cda2a7a.js +1 -0
  270. package/web/out/_next/static/chunks/248-d4a79649dae2a3f8.js +259 -0
  271. package/web/out/_next/static/chunks/678-1305cadf8254d814.js +1 -0
  272. package/web/out/_next/static/chunks/728-eb8b667f79229443.js +1 -0
  273. package/web/out/_next/static/chunks/83607670-bc1279370476e59f.js +1 -0
  274. package/web/out/_next/static/chunks/app/_global-error/page-5eece43b8152c414.js +1 -0
  275. package/web/out/_next/static/chunks/app/_not-found/page-c0cd75ac39fbf9cf.js +1 -0
  276. package/web/out/_next/static/chunks/app/composition/page-051ee2fabb12110a.js +1 -0
  277. package/web/out/_next/static/chunks/app/layout-745ca27ef8830f4f.js +1 -0
  278. package/web/out/_next/static/chunks/app/page-0027378a269a6168.js +1 -0
  279. package/web/out/_next/static/chunks/app/spatial/page-266dedc81784d4f6.js +1 -0
  280. package/web/out/_next/static/chunks/app/styles/page-d5cb83af828ea9ed.js +1 -0
  281. package/web/out/_next/static/chunks/app/ui-sketch/page-2a8436e05a05c618.js +1 -0
  282. package/web/out/_next/static/chunks/c3f2cda1-9e279dab137b7272.js +342 -0
  283. package/web/out/_next/static/chunks/c7879cf7-7873c8afd9c9c666.js +1 -0
  284. package/web/out/_next/static/chunks/framework-6eacf80ec1e4c887.js +1 -0
  285. package/web/out/_next/static/chunks/main-5ee8fd93319f955c.js +5 -0
  286. package/web/out/_next/static/chunks/main-app-0cf10803ab17c700.js +1 -0
  287. package/web/out/_next/static/chunks/next/dist/client/components/builtin/app-error-5eece43b8152c414.js +1 -0
  288. package/web/out/_next/static/chunks/next/dist/client/components/builtin/forbidden-5eece43b8152c414.js +1 -0
  289. package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-728204b7cccc4ed2.js +1 -0
  290. package/web/out/_next/static/chunks/next/dist/client/components/builtin/not-found-5eece43b8152c414.js +1 -0
  291. package/web/out/_next/static/chunks/next/dist/client/components/builtin/unauthorized-5eece43b8152c414.js +1 -0
  292. package/web/out/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  293. package/web/out/_next/static/chunks/webpack-97ae63c0e0b2a512.js +1 -0
  294. package/web/out/_next/static/css/3b7982b41ed8eccd.css +4 -0
  295. package/web/out/_next/static/css/81ae71f1d3e9a866.css +1 -0
  296. package/web/out/_next/static/css/8c3843f4951fa9f6.css +5 -0
  297. package/web/out/_next/static/css/c739d0131cdcc891.css +1 -0
  298. package/web/out/_next/static/css/ce1b4bb3ad3c6073.css +1 -0
  299. package/web/out/_next/static/css/db96ae2e88545d96.css +1 -0
  300. package/web/out/_not-found/__next._full.txt +18 -0
  301. package/web/out/_not-found/__next._not-found.__PAGE__.txt +24 -0
  302. package/web/out/_not-found/__next._tree.txt +3 -0
  303. package/web/out/_not-found/index.html +1 -0
  304. package/web/out/_not-found/index.txt +18 -0
  305. package/web/out/composition/__next._full.txt +25 -0
  306. package/web/out/composition/__next._tree.txt +6 -0
  307. package/web/out/composition/__next.composition.__PAGE__.txt +31 -0
  308. package/web/out/composition/index.html +1 -0
  309. package/web/out/composition/index.txt +25 -0
  310. package/web/out/index.html +1 -0
  311. package/web/out/index.txt +21 -0
  312. package/web/out/spatial/__next._full.txt +23 -0
  313. package/web/out/spatial/__next._tree.txt +4 -0
  314. package/web/out/spatial/__next.spatial.__PAGE__.txt +29 -0
  315. package/web/out/spatial/index.html +1 -0
  316. package/web/out/spatial/index.txt +23 -0
  317. package/web/out/styles/__next._full.txt +23 -0
  318. package/web/out/styles/__next._tree.txt +4 -0
  319. package/web/out/styles/__next.styles.__PAGE__.txt +29 -0
  320. package/web/out/styles/index.html +1 -0
  321. package/web/out/styles/index.txt +23 -0
  322. package/web/out/ui-sketch/__next._full.txt +25 -0
  323. package/web/out/ui-sketch/__next._tree.txt +6 -0
  324. package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +31 -0
  325. package/web/out/ui-sketch/index.html +1 -0
  326. package/web/out/ui-sketch/index.txt +25 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[271],{2828:e=>{e.exports={page:"page_page__RhPIA",routeLoading:"page_routeLoading__5WzpA",workspaceLoading:"page_workspaceLoading__dL32T",panelLoading:"page_panelLoading__39zT6",deliveryNotice:"page_deliveryNotice__87isY",deliveryNoticeSuccess:"page_deliveryNoticeSuccess__OLl4_",deliveryNoticeWarning:"page_deliveryNoticeWarning__ovF85",deliveryNoticeError:"page_deliveryNoticeError__HVdjV",serviceError:"page_serviceError__r4EOT",workspace:"page_workspace__J9PVq",stage:"page_stage__k9VRj",workflow:"page_workflow__lR5mI",toolGroups:"page_toolGroups__F2p04",toolGroup:"page_toolGroup__35bzP",capacityTool:"page_capacityTool__glYiG",toolGroupTitle:"page_toolGroupTitle__nfj7N",toolAction:"page_toolAction__dN0J1",processingSemanticSelect:"page_processingSemanticSelect__f4qON",overallNoteEditor:"page_overallNoteEditor__mEwiW",shapeToolIcon:"page_shapeToolIcon__rzrLe",circleToolIcon:"page_circleToolIcon__tFQky",triangleToolIcon:"page_triangleToolIcon__OZv0J",quadrilateralToolIcon:"page_quadrilateralToolIcon__FnduP",panel:"page_panel__MDuVE",panelIsLoading:"page_panelIsLoading__p_o3O",sectionHeading:"page_sectionHeading__Y673y",sectionHeadingActions:"page_sectionHeadingActions__NYnhA",aspectRatioSelector:"page_aspectRatioSelector__1_Iue",metrics:"page_metrics__2KOsi"}},11615:(e,i,o)=>{Promise.resolve().then(o.bind(o,89391))},89391:(e,i,o)=>{"use strict";o.r(i),o.d(i,{default:()=>Q});var t=o(73365),a=o(42614),n=o(28110),s=o(1521);let r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M904 476H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"}}]},name:"line",theme:"outlined"};var l=o(28630);function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var i=1;i<arguments.length;i++){var o=arguments[i];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e}).apply(this,arguments)}let d=s.forwardRef((e,i)=>s.createElement(l.A,c({},e,{ref:i,icon:r})));var m=o(59030),p=o(11902),u=o(28462),g=o(83499),h=o(17357),f=o(81271);let v={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 208H676V232h212v136zm0 224H676V432h212v160zM412 432h200v160H412V432zm200-64H412V232h200v136zm-476 64h212v160H136V432zm0-200h212v136H136V232zm0 424h212v136H136V656zm276 0h200v136H412V656zm476 136H676V656h212v136z"}}]},name:"table",theme:"outlined"};function w(){return(w=Object.assign?Object.assign.bind():function(e){for(var i=1;i<arguments.length;i++){var o=arguments[i];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e}).apply(this,arguments)}let x=s.forwardRef((e,i)=>s.createElement(l.A,w({},e,{ref:i,icon:v})));var b=o(8647),y=o(51055),S=o(23139),j=o(57937),_=o(94946),C=o(29415),I=o(50052),N=o(67282),A=o(95948),k=o(78504),R=o(49762),E=o(24539),T=o(29717),L=o(8020),F=o(85928),P=o(60458),O=o(48197),V=o(31854),D=o(3742),H=o(55408),M=o(44040),G=o(52582),z=o(3500),q=o(46425),$=o(53130),B=o(46295),U=o(52003),W=o(2828),J=o.n(W);async function K(e){let i=await (0,P.Ht)(e);if("image-composition"!==i.sessionType)throw Error("SESSION_TYPE_MISMATCH");return{session:i,draftVersion:(await (0,P.he)(e)).at(-1)??null}}function Z(e){let i=function(e,i){let o=Math.abs(e),t=Math.abs(i);for(;0!==t;)[o,t]=[t,o%t];return o||1}(e.frame.width,e.frame.height);return{width:e.frame.width/i,height:e.frame.height/i}}function Y(e,i){return e instanceof P.wP?"DRAFT_REVISION_CONFLICT"===e.code?i("composition.session.revisionConflict",{revision:e.details.actualLatestRevision}):i("errors.serviceSync",{message:e.message}):e instanceof Error&&"SESSION_TYPE_MISMATCH"===e.message?i("composition.session.typeMismatch"):i("errors.serviceSync",{message:e instanceof Error?e.message:String(e)})}function Q(){let{t:e}=(0,L.Bd)();return(0,t.jsx)(s.Suspense,{fallback:(0,t.jsx)(A.G,{className:J().routeLoading,label:e("composition.session.loading"),rows:10}),children:(0,t.jsx)(X,{})})}function X(){let e=(0,T.useRouter)(),i=(0,T.useSearchParams)().get("session"),{t:o,i18n:r}=(0,L.Bd)(),l=(0,s.useCallback)((e,i)=>o((0,a.B)("composition",e),i),[o]),[c,v]=(0,s.useState)(F.mq),[w,W]=(0,s.useState)(null),[Q,X]=(0,s.useState)(!0),[ee,ei]=(0,s.useState)(!1),[eo,et]=(0,s.useState)(!0),[ea,en]=(0,s.useState)(1),[es,er]=(0,s.useState)({id:0,type:"fit-frame"}),[el,ec]=(0,s.useState)([]),[ed,em]=(0,s.useState)({width:16,height:9}),[ep,eu]=(0,s.useState)(null),[eg,eh]=(0,s.useState)(null),[ef,ev]=(0,s.useState)(null),[ew,ex]=(0,s.useState)(null),[eb,ey]=(0,s.useState)(0),[eS,ej]=(0,s.useState)(),[e_,eC]=(0,s.useState)(!1),[eI,eN]=(0,s.useState)(!0),[eA,ek]=(0,s.useState)(!1),[eR,eE]=(0,s.useState)(null),[eT,eL]=(0,s.useState)(!1),[eF,eP]=(0,s.useState)(null),[eO,eV]=(0,s.useState)(!1),[eD,eH]=(0,s.useState)(!1),eM=(0,s.useRef)(0),eG=(0,s.useRef)(0),ez=(0,s.useRef)(null),eq=(0,s.useRef)(!1),e$=(0,s.useRef)(null),eB=(0,s.useRef)(null),eU=(0,V.t)(ep,e2,eb),eW=(0,U.S)(c,({draft:e})=>{eM.current+=1,ez.current=null,v(e),eC(!0),W(null),eL(!1),ec([]),em(Z(e))},eI||eq.current),eJ=function(e){let{t:i}=(0,L.Bd)(),o=(0,T.useRouter)(),a=(0,s.useRef)(e);a.current=e;let[n,r]=(0,s.useState)(!1),[l,c]=(0,s.useState)([]),[d,m]=(0,s.useState)(null),[p,u]=(0,s.useState)([]),[g,h]=(0,s.useState)(null),[f,v]=(0,s.useState)(0),[w,x]=(0,s.useState)(!1),[b,y]=(0,s.useState)(null),[S,j]=(0,s.useState)(new Set),[_,I]=(0,s.useState)(0);async function N(e,i,o,t){let a=await fetch((0,P.J_)(i,o.id,t||void 0),{cache:"no-store"});if(!a.ok)throw Error("SPATIAL_CAMERA_NOT_FOUND");return(0,P.FX)(e,new File([await a.blob()],`${o.id}.png`,{type:"image/png"}))}async function A(){let e=p.find(e=>e.id===g);if(d&&e&&!w){x(!0),y(null);try{let i=a.current.sessionId,o=await a.current.ensureSession(),t=await N(o,d,e,f);if(a.current.sessionId!==o&&a.current.sessionId!==i)return;a.current.updateDraft(i=>{var o;let a,n,s;return(o={sessionId:d,cameraId:e.id,revision:f,assetId:t.id,width:e.width,height:e.height},a=320*Math.min(1,o.width/o.height),(s=(n=(0,G.xB)(i,{width:a/z.cq.width,height:a*o.height/o.width/z.cq.height})).draft.images.find(e=>e.id===n.id)).assetId=o.assetId,s.cameraReference={sessionId:o.sessionId,cameraId:o.cameraId,renderedRevision:o.revision},{...n,draft:(0,G.M6)(n.draft)}).draft}),r(!1)}catch{y(i("spatial.loadFailed"))}finally{x(!1)}}}return(0,s.useEffect)(()=>{if(!n)return;let e=!1;return x(!0),y(null),(0,P.GW)().then(i=>{e||c(i.filter(e=>"spatial"===e.sessionType))}).catch(()=>{e||y(i("spatial.loadFailed"))}).finally(()=>{e||x(!1)}),()=>{e=!0}},[n,_,i]),(0,s.useEffect)(()=>{if(!n||!d)return;let e=!1;return x(!0),y(null),u([]),h(null),(0,P.n8)(d).then(i=>{if(e)return;let o=i.at(-1),t=o?.draft.cameras??(0,q.wY)().cameras;u(t),h(t[0]?.id??null),v(o?.revision??0)}).catch(()=>{e||y(i("spatial.loadFailed"))}).finally(()=>{e||x(!1)}),()=>{e=!0}},[d,n,_,i]),(0,s.useEffect)(()=>{let i=e.sessionId;if(!i)return;let o=!1,t=!1;j(new Set);let n=async()=>{if(!t){t=!0;try{let e=new Map;for(let i of a.current.draft.images)i.cameraReference&&e.set(`${i.cameraReference.sessionId}/${i.cameraReference.cameraId}`,i);let t=new Set;for(let[n,s]of e){if(o)return;let e=s.cameraReference;try{let r=(await (0,P.n8)(e.sessionId)).at(-1),l=r?.revision??0,c=(r?.draft??(0,q.wY)()).cameras.find(i=>i.id===e.cameraId);if(!c){t.add(n);continue}if(l===e.renderedRevision&&s.assetId)continue;let d=await N(i,e.sessionId,c,l);if(o)return;a.current.updateDraft(i=>(function(e,i){return(0,G.M6)({...e,images:e.images.map(e=>{let o=e.cameraReference;return o&&o.sessionId===i.sessionId&&o.cameraId===i.cameraId?{...e,assetId:i.assetId,height:e.width*z.cq.width*i.height/i.width/z.cq.height,cameraReference:{...o,renderedRevision:i.revision}}:e})})})(i,{sessionId:e.sessionId,cameraId:c.id,revision:l,assetId:d.id,width:c.width,height:c.height}),!1)}catch{t.add(n)}}o||j(t)}finally{t=!1}}};n();let s=window.setInterval(()=>void n(),2e3);return()=>{o=!0,clearInterval(s)}},[e.sessionId]),{openPicker:()=>{m(null),u([]),h(null),r(!0)},picker:(0,t.jsx)(D.A,{closable:{"aria-label":i("actions.cancel"),disabled:w},title:i("spatial.addReference"),open:n,onCancel:()=>!w&&r(!1),onOk:()=>void A(),confirmLoading:w,okButtonProps:{disabled:!g||w},okText:i("actions.create"),cancelText:i("actions.cancel"),destroyOnHidden:!0,children:(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[b&&(0,t.jsx)(H.A,{type:"error",message:b,action:(0,t.jsx)(C.J,{onClick:()=>I(e=>e+1),children:i("actions.retry")})}),(0,t.jsx)(M.A,{"aria-label":i("spatial.selectSpace"),placeholder:i("spatial.selectSpace"),value:d,loading:w,options:l.map(e=>({value:e.id,label:e.title})),notFoundContent:i("spatial.noSpaces"),onChange:m}),(0,t.jsx)(M.A,{"aria-label":i("spatial.selectCamera"),placeholder:i("spatial.selectCamera"),value:g,disabled:!d||w,options:p.map(e=>({value:e.id,label:e.name})),onChange:h}),d&&g&&(0,t.jsx)("img",{src:(0,P.J_)(d,g,f||void 0),alt:i("spatial.cameraView"),style:{width:"100%",maxHeight:260,objectFit:"contain"}})]})}),renderImageContent:n=>{let s=n.cameraReference,r=S.has(`${s.sessionId}/${s.cameraId}`);return(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,t.jsx)("strong",{children:i("spatial.reference")}),r&&(0,t.jsx)(H.A,{type:"warning",message:i("spatial.sourceMissing")}),n.assetId&&e.sessionId&&(0,t.jsx)("img",{src:(0,P.MZ)(e.sessionId,n.assetId),alt:i("spatial.cameraView"),style:{width:"100%",maxHeight:280,objectFit:"contain"}}),(0,t.jsx)(C.J,{disabled:r,onClick:()=>o.push(`/spatial?session=${encodeURIComponent(s.sessionId)}&camera=${encodeURIComponent(s.cameraId)}`),children:i("spatial.openSource")}),(0,t.jsx)(C.J,{disabled:!n.assetId,onClick:()=>a.current.updateDraft(e=>(function(e,i){let o=e.images.find(e=>e.id===i);if(!o?.cameraReference||!o.assetId)throw Error("COMPOSITION_CAMERA_REFERENCE_REQUIRED");let t=(0,G.xB)(e),{cameraReference:a,...n}=o,s={...n,id:t.id,x:o.x+24/z.cq.width,y:o.y+24/z.cq.height};return t.draft.images[t.draft.images.findIndex(e=>e.id===t.id)]=s,{...t,draft:(0,G.M6)(t.draft)}})(e,n.id).draft),children:i("spatial.snapshot")})]})}}}({draft:c,sessionId:ep,ensureSession:e2,updateDraft:e3}),eK=!eI,eZ=(0,F.fQ)(c),eY=c.activeStateId??eZ[0].id,eQ=(0,F.VC)(c),eX=el.filter(e=>e!==j.jZ),e0=[{value:"scene-composition",label:o("composition.mode.scene")},{value:"editorial-layout",label:o("composition.mode.editorial")}];function e1(e){eL(!1),W(i=>i===e?null:e)}async function e2(){if(ep)return ep;let i=eB.current??(0,P.$M)(o("composition.session.untitled"));eB.current=i;try{let o=await i;return e$.current=o.id,eu(o.id),eh(o.title),ev(o),ex(o.updatedAt),e.replace(`/composition?session=${encodeURIComponent(o.id)}`),o.id}finally{eB.current===i&&(eB.current=null)}}async function e6(e){let i=await e2();return(await (0,P.FX)(i,e)).id}function e3(e){let i=(0,F.M6)("function"==typeof e?e(eW.current()):e);eW.record(i)&&(eM.current+=1,ez.current=null,v(i),em(Z(i)),eC(!0))}function e4(e){er(i=>({id:i.id+1,type:e}))}function e8(e){e3(e),W(null),ec([]),eL(!1),e4("fit-frame")}async function e5(){eV(!0);try{if(!navigator.clipboard?.writeText)throw Error(o("clipboard.promptUnsupported"));let e=await eU.readPromptLine();await navigator.clipboard.writeText((0,j.FU)(c,l,e)),eP({type:"success",message:o("clipboard.copied")})}catch(e){eP({type:"error",message:e instanceof Error&&e.message===o("clipboard.promptUnsupported")?e.message:o("clipboard.promptFailed")})}finally{eV(!1)}}async function e7(){eH(!0);try{let e=await (0,j.Nc)(c,ep?e=>(0,P.MZ)(ep,e):void 0);eP("downloaded"===e?{type:"warning",message:o("clipboard.previewDownloaded")}:{type:"success",message:o("clipboard.copied")})}catch{eP({type:"error",message:o("clipboard.previewFailed")})}finally{eH(!1)}}(0,s.useEffect)(()=>{if(!eF)return;let e=window.setTimeout(()=>eP(null),2e3);return()=>window.clearTimeout(e)},[eF]),(0,s.useEffect)(()=>{if(i&&i===e$.current){e$.current=null;return}if(W(null),eG.current+=1,eM.current=0,eq.current=!1,ez.current=null,eC(!1),!i){let e=(0,F.mq)();eW.reset(e),v(e),X(!0),ei(!1),en(1),e4("fit-frame"),ec([]),em({width:16,height:9}),eu(null),eh(null),ev(null),ex(null),ey(0),ej(void 0),eE(null),eN(!1);return}let e=!1;return eN(!0),X(!0),ei(!1),en(1),eu(null),eh(null),ev(null),ex(null),eE(null),K(i).then(i=>{if(e)return;let o=i.draftVersion?.draft??(0,F.mq)();eW.reset(o),v(o),eu(i.session.id),eh(i.session.title),ev(i.session),ex(i.draftVersion?.createdAt??i.session.updatedAt),ey(i.draftVersion?.revision??0),ej(i.draftVersion?.styleProcessing),em(Z(o));let t=o.areas[0]?.id??o.focusPoints[0]?.id;ec(t?[t]:[]),e4("fit-frame"),eC(!1),eE(null)}).catch(i=>{e||eE(Y(i,o))}).finally(()=>{e||eN(!1)}),()=>{e=!0}},[i,o]),(0,s.useEffect)(()=>{let e=eM.current;if(eq.current||eI||eA||!e_||ez.current===e)return;let i=eG.current,t=window.setTimeout(()=>{(async()=>{ek(!0),eE(null);try{let o=ep;if(!o&&(o=await e2(),i!==eG.current))return;let t=await (0,P.hU)(o,eb,c);if(i!==eG.current)return;ez.current=null,ey(t.revision),ej(t.styleProcessing),ex(t.createdAt),eM.current===e&&(v(t.draft),eC(!1))}catch(t){if(i!==eG.current)return;let e=t instanceof P.wP&&"DRAFT_REVISION_CONFLICT"===t.code?t.details.actualLatestRevision:null;"number"==typeof e&&Number.isInteger(e)?(eq.current=!0,eW.reset(eW.current()),ey(e)):ez.current=eM.current,eE(Y(t,o))}finally{ek(!1)}})()},800);return()=>window.clearTimeout(t)},[e_,c,eb,eI,e,eA,ep,o]),(0,s.useEffect)(()=>{if(!ep||eI||e_||eA)return;let e=!1,i=eM.current,t=async()=>{try{let o=(await (0,P.he)(ep)).at(-1);if(!e&&i===eM.current&&o&&o.revision>eb){eW.reset(o.draft),v(o.draft),ey(o.revision),ej(o.styleProcessing),ex(o.createdAt),em(Z(o.draft));let e=o.draft.areas[0]?.id??o.draft.focusPoints[0]?.id;ec(e?[e]:[]),ez.current=null,eE(null)}}catch(i){e||eE(Y(i,o))}};t();let a=window.setInterval(()=>void t(),3e3);return()=>{e=!0,window.clearInterval(a)}},[e_,eb,eI,eA,ep,o]);let e9=(0,t.jsxs)("label",{className:J().overallNoteEditor,children:[(0,t.jsx)("span",{children:o("composition.globalNote.title")}),(0,t.jsx)(k.A.TextArea,{name:"overallNote",autoFocus:!0,autoSize:{minRows:4,maxRows:8},value:c.overallNote,placeholder:o("composition.globalNote.placeholder"),"aria-label":o("composition.globalNote.ariaLabel"),disabled:!eK,onChange:e=>e3(i=>({...i,overallNote:e.target.value}))})]}),ie=(0,t.jsxs)("div",{className:J().toolGroups,role:"group","aria-label":o("canvas.tools.label"),"data-composition-tool-groups":!0,children:[(0,t.jsx)("div",{className:J().toolGroup,"data-composition-tool-group":"focus",children:(0,t.jsx)(I.u,{className:J().capacityTool,icon:(0,t.jsx)(n.A,{"aria-hidden":"true"}),label:o("composition.toolNames.focus"),description:o("composition.elementCapacity.compact",{current:c.focusPoints.length,limit:3}),"aria-label":o("composition.elementCapacity.ariaLabel",{label:o("composition.toolNames.focus"),current:c.focusPoints.length,limit:3}),disabled:!eK||c.focusPoints.length>=3,"aria-current":"focus"===w||void 0,textColor:"focus"===w?"color.action.primary":"color.text.primary",onClick:()=>e1("focus")})}),(0,t.jsx)("div",{className:J().toolGroup,"data-composition-tool-group":"direction",children:(0,t.jsx)(I.u,{className:J().capacityTool,icon:(0,t.jsx)(d,{rotate:-20,"aria-hidden":"true"}),label:o("composition.flow.label"),description:o("composition.elementCapacity.compact",{current:+!!c.directionLine,limit:1}),"aria-label":o("composition.elementCapacity.ariaLabel",{label:o("composition.flow.label"),current:+!!c.directionLine,limit:1}),disabled:!eK||!!c.directionLine,"aria-current":"direction"===w||void 0,textColor:"direction"===w?"color.action.primary":"color.text.primary",onClick:()=>e1("direction")})}),(0,t.jsxs)("div",{className:J().toolGroup,"data-composition-tool-group":"shapes",children:[(0,t.jsx)(I.u,{icon:(0,t.jsx)("span",{className:`${J().shapeToolIcon} ${J().circleToolIcon}`}),label:o("composition.toolNames.circle"),disabled:!eK,"aria-current":"circle"===w||void 0,textColor:"circle"===w?"color.action.primary":"color.text.primary",onClick:()=>e1("circle")}),(0,t.jsx)(I.u,{icon:(0,t.jsx)("span",{className:`${J().shapeToolIcon} ${J().triangleToolIcon}`}),label:o("composition.toolNames.triangle"),disabled:!eK,"aria-current":"triangle"===w||void 0,textColor:"triangle"===w?"color.action.primary":"color.text.primary",onClick:()=>e1("triangle")}),(0,t.jsx)(I.u,{icon:(0,t.jsx)("span",{className:`${J().shapeToolIcon} ${J().quadrilateralToolIcon}`}),label:o("composition.toolNames.quadrilateral"),disabled:!eK,"aria-current":"quadrilateral"===w||void 0,textColor:"quadrilateral"===w?"color.action.primary":"color.text.primary",onClick:()=>e1("quadrilateral")}),(0,t.jsx)(I.u,{icon:(0,t.jsx)(m.A,{"aria-hidden":"true"}),label:o("composition.toolNames.textRegion"),disabled:!eK,"aria-current":"text"===w||void 0,textColor:"text"===w?"color.action.primary":"color.text.primary",onClick:()=>e1("text")}),(0,t.jsx)(I.u,{icon:(0,t.jsx)(p.A,{"aria-hidden":"true"}),label:o("canvas.imageNode.label"),collapsedLabel:o("canvas.imageNode.add"),disabled:!eK,"aria-current":"image"===w||void 0,textColor:"image"===w?"color.action.primary":"color.text.primary",onClick:()=>e1("image")}),(0,t.jsx)(I.u,{icon:(0,t.jsx)(u.A,{"aria-hidden":"true"}),label:o("spatial.reference"),collapsedLabel:o("spatial.addReference"),disabled:!eK,onClick:eJ.openPicker})]}),(0,t.jsx)("div",{className:J().toolGroup,"data-composition-tool-group":"overall-note",children:(0,t.jsx)(R.A,{content:e9,trigger:"click",placement:"leftTop",open:eK&&eT,onOpenChange:e=>eL(e&&eK),children:(0,t.jsx)("span",{className:J().toolAction,children:(0,t.jsx)(I.u,{icon:(0,t.jsx)(g.A,{"aria-hidden":"true"}),label:o("notes.global.label"),disabled:!eK})})})}),(0,t.jsxs)("div",{className:J().toolGroup,"data-composition-tool-group":"copy",children:[(0,t.jsx)("span",{className:J().toolGroupTitle,children:o("clipboard.group")}),(0,t.jsx)(I.u,{icon:(0,t.jsx)(h.A,{"aria-hidden":"true"}),label:o("clipboard.copyPrompt"),loading:eO,disabled:eI,onClick:()=>void e5()}),(0,t.jsx)(I.u,{icon:(0,t.jsx)(p.A,{"aria-hidden":"true"}),label:o("clipboard.copyPreview"),loading:eD,disabled:eI,onClick:()=>void e7()})]})]});return(0,t.jsx)($.o,{currentSessionId:i,onCurrentSessionRename:eh,title:eg??o("composition.session.new"),rightPanelOpen:eo,onRightPanelOpenChange:et,rightPanel:(0,t.jsxs)("div",{className:`${J().panel} ${eI?J().panelIsLoading:""}`,"data-canvas-editor":!0,children:[eI?(0,t.jsx)(A.G,{className:J().panelLoading,label:o("composition.session.loading"),rows:8,compact:!0}):eo?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j.J3,{primaryItem:{label:o("composition.mode.label"),value:(0,t.jsx)(j.b2,{className:J().processingSemanticSelect,value:c.processingSemantic??void 0,options:e0,"aria-label":o("composition.mode.label"),placeholder:o("composition.mode.placeholder"),disabled:!eK,onChange:e=>{("scene-composition"===e||"editorial-layout"===e)&&e3(i=>(0,F.ET)(i,e))}})},createdAt:ef?.createdAt??null,updatedAt:ew,nodeCount:c.areas.length+c.images.length+c.focusPoints.length+ +!!c.directionLine,agentCommand:ep?async()=>o("sessionDetails.agentCommand",{command:(0,B.m)(ep,window.location.origin)}):null,locale:r.resolvedLanguage??r.language,labels:{title:o("sessionDetails.title"),created:o("sessionDetails.created"),updated:o("sessionDetails.updated"),nodes:o("sessionDetails.nodes"),agent:o("sessionDetails.agent"),copyCommand:o("sessionDetails.copyCommand"),copying:o("sessionDetails.copying"),copied:o("clipboard.copied"),copyFailed:o("sessionDetails.copyFailed"),emptyValue:o("sessionDetails.emptyValue")}}),(0,t.jsx)(O.H,{controller:eU,category:"visual",processing:eS,disabled:eI||eA}),(0,t.jsxs)("section",{children:[(0,t.jsxs)("div",{className:J().sectionHeading,children:[(0,t.jsx)("h2",{children:o("canvas.tools.label")}),(0,t.jsx)("div",{className:J().sectionHeadingActions,children:(0,t.jsx)(E.A,{title:o("composition.clearCanvas"),children:(0,t.jsx)("span",{children:(0,t.jsx)(N.x,{type:"text",size:"small",icon:(0,t.jsx)(f.A,{"aria-hidden":"true"}),"aria-label":o("composition.clearCanvas"),title:o("composition.clearCanvasConfirmTitle"),description:o("composition.clearCanvasConfirmDescription"),confirmLabel:o("composition.clearCanvas"),cancelLabel:o("actions.cancel"),disabled:eI||eA,onConfirm:function(){let e=(0,F.mq)();eW.record(e),W(null),eM.current+=1,ez.current=null,v(e),X(!0),ei(!1),en(1),e4("fit-frame"),ec([]),em({width:16,height:9}),eC(!0),eE(null)},"data-composition-clear-canvas-action":!0,children:null})})})})]}),ie]})]}):null,(0,t.jsxs)("section",{children:[(0,t.jsxs)("div",{className:J().sectionHeading,children:[(0,t.jsx)("h2",{children:o("composition.frameRatio")}),(0,t.jsxs)("div",{className:J().sectionHeadingActions,children:[(0,t.jsx)(C.J,{mode:"icon-only",size:"small",icon:Q?(0,t.jsx)(x,{}):(0,t.jsx)(b.A,{}),iconLabel:Q?o("composition.hideGuideGrid"):o("composition.showGuideGrid"),title:Q?o("composition.hideGuideGrid"):o("composition.showGuideGrid"),"aria-pressed":Q,backgroundColor:Q?"color.action.primaryActive":"none",textColor:Q?"color.text.onPrimary":"color.text.secondary",disabled:!eK,onClick:()=>X(e=>!e)}),(0,t.jsx)(C.J,{mode:"icon-only",size:"small",icon:ee?(0,t.jsx)(y.A,{}):(0,t.jsx)(S.A,{}),iconLabel:ee?o("composition.unlockFrame"):o("composition.lockFrame"),title:ee?o("composition.unlockFrame"):o("composition.lockFrame"),"aria-pressed":ee,backgroundColor:ee?"color.action.primaryActive":"none",textColor:ee?"color.text.onPrimary":"color.text.secondary",disabled:!eK,onClick:()=>ei(e=>!e)})]})]}),(0,t.jsx)("div",{className:J().aspectRatioSelector,children:(0,t.jsx)(_.h,{ratio:ed,disabled:!eK||ee,onRatioChange:e=>{(0,F.J2)(e.width,e.height)&&(em(e),e3(i=>(0,F.oA)(i,(0,F.BI)(e.width,e.height))))},title:o("composition.aspectRatioTitle"),widthLabel:o("dimensions.width"),heightLabel:o("dimensions.height"),"aria-label":o("composition.frameRatio")})})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{children:o("composition.areaOverview")}),(0,t.jsxs)("dl",{className:J().metrics,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:o("composition.occupied")}),(0,t.jsxs)("dd",{children:[Math.round(100*eQ.occupiedArea),"%"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:o("composition.negativeSpace")}),(0,t.jsxs)("dd",{children:[Math.round(100*eQ.negativeSpace),"%"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:o("composition.currentSelection")}),(0,t.jsx)("dd",{children:eX.join(", ")||o("composition.none")})]})]})]})]}),children:(0,t.jsxs)("main",{className:J().page,"data-canvas-editor":!0,children:[eF?(0,t.jsx)("div",{className:`${J().deliveryNotice} ${"success"===eF.type?J().deliveryNoticeSuccess:"warning"===eF.type?J().deliveryNoticeWarning:J().deliveryNoticeError}`,role:"status",children:eF.message}):null,eR?(0,t.jsx)("p",{className:J().serviceError,role:"alert",children:eR}):null,(0,t.jsxs)("div",{className:J().workspace,children:[eJ.picker,(0,t.jsxs)("section",{className:J().stage,"aria-label":o("composition.workspace"),children:[(0,t.jsx)(j.zr,{...eW,labels:{undo:o("canvasHistory.undo"),redo:o("canvasHistory.redo"),label:o("canvasHistory.label")}}),eI?(0,t.jsx)(A.G,{className:J().workspaceLoading,label:o("composition.session.loading"),rows:10}):(0,t.jsx)(j.x8,{className:J().workflow,interactionResetKey:eW.restoreToken,draft:c,status:"waiting",activeView:"draft",onViewChange:()=>void 0,stateControls:(0,t.jsx)(j.SM,{items:eZ.map(e=>({id:e.id,label:e.name??o("uiSketch.states.defaultName",{number:e.number})})),value:eY,labels:{switch:o("canvasStates.switch"),add:o("uiSketch.views.enableMotion"),rename:o("actions.rename"),name:o("uiSketch.states.name"),new:o("uiSketch.states.new"),delete:o("uiSketch.states.delete"),cancel:o("actions.cancel"),reorderHint:o("uiSketch.states.reorderHint"),actions:e=>o("uiSketch.states.actions",{name:e}),deleteTitle:e=>o("uiSketch.states.deleteTitle",{name:e})},onChange:e=>e8(i=>(0,F.KZ)(i,e)),onCreate:e=>{let i=crypto.randomUUID();e8(o=>(0,F.wG)(o,e,i))},onRename:(e,i)=>e3(o=>(0,F.uK)(o,e,i)),onReorder:e=>e3(i=>(0,F.yU)(i,e)),onDelete:e=>e8(i=>(0,F.PX)(i,e))}),showDraftGuideGrid:Q,frameLocked:ee,canvasZoom:ea,canvasViewportAction:es,onCanvasZoomChange:en,canvasBackgroundPattern:"dots",showCanvasViewportControls:!eI,canvasViewportLabels:{zoomOut:o("composition.zoomOut"),zoomIn:o("composition.zoomIn"),currentZoom:o("composition.canvasZoom"),fitAll:o("composition.fitAll"),help:o("canvas.viewport.help"),interactionHelp:o("canvas.viewport.instructions"),sideActions:o("canvas.tools.label"),collapseSideActions:o("composition.collapseTools"),expandSideActions:o("composition.expandTools")},canvasLayerLabels:{bringToFront:o("canvasLayers.bringToFront"),bringForward:o("canvasLayers.bringForward"),sendBackward:o("canvasLayers.sendBackward"),sendToBack:o("canvasLayers.sendToBack")},nodeEditorLabels:{title:o("canvasNodeEditor.title"),note:o("notes.element.label"),notePlaceholder:o("notes.element.nodePlaceholder"),shotScale:o("composition.depth.label"),shotScaleAuto:o("composition.depth.auto"),shotScaleForeground:o("composition.depth.foreground"),shotScaleMidground:o("composition.depth.midground"),shotScaleBackground:o("composition.depth.background"),deleteNode:o("actions.deleteNode"),confirmDeleteNode:o("confirmations.deleteNode"),cancelDelete:o("actions.keep"),shapeKind:o("canvasNodeEditor.shapeKind"),pointKind:o("canvasNodeEditor.pointKind"),lineKind:o("composition.flow.label"),textKind:o("composition.toolNames.textRegion"),imageKind:o("canvas.imageNode.label"),nodeDescription:o("canvas.node.nodeDescription"),originUser:o("canvas.node.originUser"),originAgent:o("canvas.node.originAgent"),originImport:o("canvas.node.originImport")},areaEditorLabels:{lightSource:o("composition.lightSource.toggle"),displayText:o("textContent.label"),displayTextPlaceholder:o("textContent.compositionPlaceholder"),visualWeight:o("visualWeight.label"),weightAuto:o("visualWeight.auto"),weightHigh:o("visualWeight.high"),weightMedium:o("visualWeight.medium"),weightLow:o("visualWeight.low"),weightDecorative:o("visualWeight.decorative")},imageEditorLabels:{content:o("canvas.imageEditor.content"),upload:o("canvas.imageEditor.upload"),replace:o("canvas.imageEditor.replace"),uploading:o("canvas.imageEditor.uploading"),uploadFailed:o("canvas.imageEditor.uploadFailed"),fileTypes:o("canvas.imageEditor.fileTypes"),cropTitle:o("canvas.imageCrop.title"),cropLoadFailed:o("canvas.imageCrop.loadFailed"),svgSource:o("canvas.imageEditor.svgSource"),svgPaste:o("canvas.imageEditor.svgPaste"),svgApply:o("canvas.imageEditor.svgApply"),svgSaveFailed:o("canvas.imageEditor.svgSaveFailed"),svgCopy:o("canvas.imageEditor.svgCopy"),svgCopying:o("canvas.imageEditor.svgCopying"),svgCopyFailed:o("canvas.imageEditor.svgCopyFailed"),sourceLoading:o("canvas.imageEditor.sourceLoading"),sourceLoadFailed:o("canvas.imageEditor.sourceLoadFailed"),svgCopied:o("clipboard.copied"),cancel:o("actions.cancel"),retry:o("actions.retry")},resolveImageSource:ep?e=>(0,P.MZ)(ep,e):void 0,renderCameraReference:eJ.renderImageContent,onImageUpload:e6,onReadImageSource:P.F7,canvasSideActions:eo?void 0:ie,canvasSideActionPanelWidth:180,canvasSideActionPanelDefaultCollapsed:!0,selectedIds:el,onDraftChange:e3,placementTool:w,onPlacementToolChange:W,onSelectionChange:ec,labels:{draftView:o("composition.views.draft"),refinedView:o("composition.views.refined"),referenceView:o("composition.views.reference"),viewSwitch:o("composition.views.switch"),draftCanvas:o("composition.views.draftCanvas"),refinedCanvas:o("composition.views.refinedCanvas"),referenceCanvas:o("composition.views.referenceCanvas"),agentDecision:o("composition.workflow.agentDecision"),appliedMethods:o("composition.workflow.appliedMethods"),protectionAudit:o("composition.workflow.protectionAudit"),maximumFocusShift:o("composition.workflow.maximumFocusShift"),maximumAreaShift:o("composition.workflow.maximumAreaShift"),maximumRotationShift:o("composition.workflow.maximumRotationShift"),objective:o("composition.refinement.objective"),observations:o("composition.refinement.observations"),uncertainties:o("composition.refinement.uncertainties"),preserve:o("composition.refinement.preserve"),tradeoffs:o("composition.refinement.tradeoffs"),relations:o("composition.refinement.relations"),retained:o("composition.refinement.retained"),target:o("composition.refinement.target"),before:o("composition.refinement.before"),after:o("composition.refinement.after"),error:o("composition.refinement.error"),unmeasurable:o("composition.refinement.unmeasurable"),framePlacement:o("composition.refinement.framePlacement"),sizeRatio:o("composition.refinement.sizeRatio"),mirrorSymmetry:o("composition.refinement.mirrorSymmetry"),focusFlow:o("composition.refinement.focusFlow"),focusAnchor:o("composition.refinement.focusAnchor"),axisRelation:o("composition.refinement.axisRelation"),rotationAlignment:o("composition.refinement.rotationAlignment"),blockAlignment:o("composition.refinement.blockAlignment"),spacingRhythm:o("composition.refinement.spacingRhythm")}})]})]})]})})}}},e=>{e.O(0,[661,781,979,55,460,746,20,248,678,130,728,347,158,358],()=>e(e.s=11615)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{20894:()=>{},52956:(e,n,t)=>{Promise.resolve().then(t.t.bind(t,20894,23)),Promise.resolve().then(t.bind(t,66999)),Promise.resolve().then(t.bind(t,84954))},66999:(e,n,t)=>{"use strict";t.d(n,{YisiUiInspectorHost:()=>s});t(73365);t(98196),t(1521),t(27812);function s(){return null}},84954:(e,n,t)=>{"use strict";t.d(n,{AppI18nProvider:()=>l});var s=t(73365),i=t(1521),r=t(8020),u=t(91093);function l({children:e}){let[n]=(0,i.useState)(()=>(0,u.Gi)());return(0,i.useEffect)(()=>{function e(e){let t=(0,u.wl)(e);document.documentElement.lang=t,document.title=n.t("app.title",{lng:t})}return n.on("languageChanged",e),e(n.resolvedLanguage),()=>{n.off("languageChanged",e)}},[n]),(0,s.jsx)(r.xC,{i18n:n,children:e})}}},e=>{e.O(0,[661,611,20,678,347,158,358],()=>e(e.s=52956)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{11119:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>p});var o=t(73365),s=t(29415),c=t(29717),i=t(8020),n=t(53130),a=t(71051),l=t.n(a);function p(){let e=(0,c.useRouter)(),{t:r}=(0,i.Bd)();return(0,o.jsx)(n.o,{title:r("app.title"),children:(0,o.jsx)("main",{className:l().page,children:(0,o.jsxs)("div",{className:l().content,children:[(0,o.jsxs)("section",{className:l().workspaceEntry,children:[(0,o.jsx)("h2",{children:r("navigation.composition")}),(0,o.jsx)(s.J,{type:"primary",backgroundColor:"color.action.primaryActive",textColor:"color.text.onPrimary",onClick:()=>e.push("/composition"),children:r("actions.start")})]}),(0,o.jsxs)("section",{className:l().workspaceEntry,children:[(0,o.jsx)("h2",{children:r("uiSketch.title")}),(0,o.jsx)(s.J,{type:"primary",backgroundColor:"color.action.primaryActive",textColor:"color.text.onPrimary",onClick:()=>e.push("/ui-sketch"),children:r("actions.start")})]}),(0,o.jsxs)("section",{className:l().workspaceEntry,children:[(0,o.jsx)("h2",{children:r("styleLibrary.title")}),(0,o.jsx)(s.J,{type:"primary",backgroundColor:"color.action.primaryActive",textColor:"color.text.onPrimary",onClick:()=>e.push("/styles"),children:r("actions.start")})]})]})})})}},71051:e=>{e.exports={page:"page_page__556_G",content:"page_content___38fW",workspaceEntry:"page_workspaceEntry__BbjSl"}},71994:(e,r,t)=>{Promise.resolve().then(t.bind(t,11119))}},e=>{e.O(0,[661,781,460,746,20,248,678,130,347,158,358],()=>e(e.s=71994)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[665],{23565:(e,t,n)=>{Promise.resolve().then(n.bind(n,69335))},46295:(e,t,n)=>{"use strict";function r(e,t){let n=t?new URL(t).origin:null,r=`session connect --session ${e}`;return n?`human2ai --api-url ${n} --web-url ${n} ${r}`:`human2ai ${r}`}n.d(t,{m:()=>r})},52003:(e,t,n)=>{"use strict";n.d(t,{S:()=>o});var r=n(1521);class s{constructor(e){this.past=[],this.future=[],this.current=structuredClone(e)}get canUndo(){return this.past.length>0}get canRedo(){return this.future.length>0}record(e,t,n=t,r){if(JSON.stringify(this.current)===JSON.stringify(e))return!1;let s=this.past.at(-1),i=structuredClone(e);return r&&s?.group===r?(s.after=i,s.afterContext=n,JSON.stringify(s.before)===JSON.stringify(i)&&this.past.pop()):(this.past.push({before:this.current,after:i,beforeContext:t,afterContext:n,group:r}),this.past.length>100&&this.past.shift()),this.current=i,this.future=[],!0}undo(){let e=this.past.pop();return e?(this.future.push(e),this.current=e.before,{draft:structuredClone(this.current),context:e.beforeContext}):null}redo(){let e=this.future.pop();return e?(this.past.push(e),this.current=e.after,{draft:structuredClone(this.current),context:e.afterContext}):null}reset(e){this.current=structuredClone(e),this.past=[],this.future=[]}}function i(e){return e instanceof Element&&!!e.closest('textarea, input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]), [contenteditable="true"], [role="textbox"]')}function a(e){return e===document.body||e instanceof Element&&!!e.closest("[data-canvas-editor], [data-human2ai-auto-save-node-editor]")}function o(e,t,n=!1){let[u]=(0,r.useState)(()=>new s(e)),[,l]=(0,r.useState)(0),[d,c]=(0,r.useState)(0),p=(0,r.useRef)({restore:t,disabled:n});p.current={restore:t,disabled:n};let h=(0,r.useRef)({}),f=(0,r.useRef)(new Map),v=(0,r.useMemo)(()=>{let e=()=>l(e=>e+1),t=()=>{for(let[e,t]of[...f.current])t.dispatchEvent(new PointerEvent("pointercancel",{pointerId:e,bubbles:!0}));f.current.clear(),h.current={}},n=n=>{if(p.current.disabled)return;t();let r=u[n]();r&&(p.current.restore(r),c(e=>e+1),e())};return{current:()=>u.current,record(t,n,r=n){let s=h.current.pointer??h.current.text??h.current.key,i=u.record(t,n,r,s);return i&&e(),i},reset(n){t(),u.reset(n),c(e=>e+1),e()},undo:()=>n("undo"),redo:()=>n("redo")}},[u]);return(0,r.useEffect)(()=>{let e=e=>{a(e.target)&&e.target instanceof Element&&(f.current.set(e.pointerId,e.target),i(e.target)||(h.current.pointer=Symbol("pointer")))},t=e=>{f.current.delete(e.pointerId);let t=h.current.pointer;window.setTimeout(()=>{h.current.pointer===t&&(h.current.pointer=void 0)},0)},n=e=>{i(e.target)&&(h.current.text=Symbol("input"))},r=()=>{h.current.text=void 0},s=()=>{h.current={},f.current.clear()},o=e=>{if(e.isComposing||i(e.target)||!a(e.target))return;let t=e.key.toLowerCase();if((e.ctrlKey||e.metaKey)&&!e.altKey&&("z"===t||"y"===t)){if(p.current.disabled)return;e.preventDefault(),e.stopPropagation(),"y"===t||e.shiftKey?v.redo():v.undo()}else e.repeat||(h.current.key=Symbol("key"))},u=e=>{let t=h.current.key;i(e.target)||window.setTimeout(()=>{h.current.key===t&&(h.current.key=void 0)},0)};return window.addEventListener("pointerdown",e,!0),window.addEventListener("pointerup",t,!0),window.addEventListener("pointercancel",t,!0),window.addEventListener("focusin",n,!0),window.addEventListener("focusout",r,!0),window.addEventListener("keydown",o,!0),window.addEventListener("keyup",u,!0),window.addEventListener("blur",s),()=>{window.removeEventListener("pointerdown",e,!0),window.removeEventListener("pointerup",t,!0),window.removeEventListener("pointercancel",t,!0),window.removeEventListener("focusin",n,!0),window.removeEventListener("focusout",r,!0),window.removeEventListener("keydown",o,!0),window.removeEventListener("keyup",u,!0),window.removeEventListener("blur",s)}},[v]),{...v,restoreToken:d,canUndo:!n&&u.canUndo,canRedo:!n&&u.canRedo}}},69335:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>m});var r=n(73365),s=n(1521),i=n(29717),a=n(8020),o=n(57937),u=n(29415),l=n(95948),d=n(46425),c=n(53130),p=n(60458),h=n(46295),f=n(52003);class v{constructor(e,t){this.draft=e,this.revision=t,this.jobs=[],this.revisions=new Map,this.busy=!1,this.initial=e,t>0&&this.revisions.set((0,d.wU)(e),t)}get pending(){return this.jobs.length>0}edit(e,t){this.draft=t,this.jobs.push({operation:e,draft:t})}restore(e){this.draft=e,this.jobs.push({draft:e})}async flush(e,t){if(!this.busy&&this.pending){this.busy=!0;try{if(0===this.revision){let t=await e.saveInitial(this.initial);this.remember(this.initial,t)}for(;this.jobs.length;){let n,r=this.jobs[0];if(r.operation)n=await e.apply(this.revision,[r.operation]);else{let t=this.revisions.get((0,d.wU)(r.draft));if(void 0===t)throw Error("Missing saved spatial history snapshot");n=await e.restore(this.revision,t)}this.remember(r.draft,n),this.jobs.shift(),this.pending||(this.draft=n.draft),t(n)}}finally{this.busy=!1}}}remember(e,t){for(let n of(this.revision=t.revision,[(0,d.wU)(e),(0,d.wU)(t.draft)]))this.revisions.has(n)||this.revisions.set(n,t.revision)}}var w=n(48511);function m(){let{t:e}=(0,a.Bd)();return(0,r.jsx)(s.Suspense,{fallback:(0,r.jsx)(l.G,{label:e("spatial.title")}),children:(0,r.jsx)(y,{})})}function y(){let{t:e,i18n:t}=(0,a.Bd)(),n=(0,i.useRouter)(),l=(0,i.useSearchParams)(),m=l.get("session"),[y,b]=(0,s.useState)(null),[g,E]=(0,s.useState)(!0),[S,q]=(0,s.useState)(null),[C,L]=(0,s.useState)(d.wY),[x,k]=(0,s.useState)(0),[j,R]=(0,s.useState)(!!m),[D,O]=(0,s.useState)(!1),[P,I]=(0,s.useState)(null),[N,U]=(0,s.useState)(!1),[$,_]=(0,s.useState)(0),[H,J]=(0,s.useState)(null),[z]=(0,s.useState)(()=>({queue:new v(C,0),busy:!1,stopped:!1})),A=(0,s.useRef)(z),K=(0,f.S)(C,({draft:e})=>{A.current.queue.restore(e),L(e),U(!1)},!m||j||!!P),M=(0,s.useRef)(()=>(0,d.wY)());M.current=()=>{let t=(0,d.wY)();return t.cameras[0].name=e("spatial.camera",{number:1}),t};let T=Object.fromEntries(Object.keys(w.spatial).map(t=>[t,e(`spatial.${t}`)]));return(0,s.useEffect)(()=>{let e={queue:new v(M.current(),0),busy:!1,stopped:!1};K.reset(e.queue.draft),A.current=e;let t=!1,n=!1;if(I(null),q(null),R(!!m),O(!1),U(!1),L(e.queue.draft),k(0),J(null),!m){L(e.queue.draft),k(0);return}let r=t=>{e.queue=new v(t?.draft??M.current(),t?.revision??0),K.reset(e.queue.draft),L(e.queue.draft),k(e.queue.revision),J(t?.createdAt??null)};Promise.all([(0,p.Ht)(m),(0,p.zV)(m)]).then(([e,n])=>{if(!t){if("spatial"!==e.sessionType)throw Error("SESSION_TYPE_MISMATCH");q(e),r(n),R(!1)}}).catch(()=>{t||(I("spatial.loadFailed"),e.stopped=!0,R(!1))});let s=t=>{(e.queue.pending||n)&&t.preventDefault()},i=async()=>{if(!e.busy&&!e.stopped&&(!t||e.queue.pending)&&(!document.hidden||e.queue.pending)){e.busy=!0;try{if(e.queue.pending)n=!0,t||O(!0),await e.queue.flush({saveInitial:e=>(0,p.rO)(m,0,e),apply:(e,t)=>(0,p.qz)(m,e,t),restore:(e,t)=>(0,p.ul)(m,e,t)},n=>{t||(k(n.revision),J(n.createdAt),L(e.queue.draft),I(null))});else{let n=await (0,p.zV)(m,e.queue.revision);if(t||e.queue.pending)return;n&&n.revision!==e.queue.revision&&r(n)}}catch(n){e.stopped=!0,t||I(n instanceof p.wP&&409===n.status?"spatial.conflict":"spatial.saveFailed")}finally{e.busy=!1,n=!1,t?e.queue.pending&&!e.stopped?i():window.removeEventListener("beforeunload",s):O(!1)}}},a=window.setInterval(()=>void i(),800),o=()=>{document.hidden||i()};return document.addEventListener("visibilitychange",o),window.addEventListener("beforeunload",s),()=>{t=!0,clearInterval(a),document.removeEventListener("visibilitychange",o),e.queue.pending&&!e.stopped?i():n||window.removeEventListener("beforeunload",s)}},[m,$]),(0,r.jsx)(c.o,{title:S?.title??e("spatial.title"),currentSessionId:m,onCurrentSessionRename:e=>q(t=>t?{...t,title:e}:t),rightPanelOpen:g,onRightPanelOpenChange:E,rightPanel:m?(0,r.jsx)("div",{ref:b,className:"spatial-panel-host"}):void 0,children:m?(0,r.jsx)(o.Hx,{draft:C,initialCameraId:l.get("camera"),labels:T,actions:{retry:e("actions.retry"),delete:e("actions.delete"),cancel:e("actions.cancel")},onOperation:e=>{if(m&&!j&&!A.current.stopped)try{let t=(0,d.bK)(A.current.queue.draft,[e]);if(!K.record(t.draft))return void U(t.constrained);A.current.queue.edit(e,t.draft),L(t.draft),U(t.constrained)}catch{U(!0)}},panelHost:y,toolsLabel:e("canvas.tools.label"),onRequestProperties:()=>E(!0),loading:j,disabled:!!P||j,error:P?e(P):null,status:N?e("spatial.constrained"):D?e("spatial.saving"):x>0?e("spatial.saved"):null,onRetry:()=>{"spatial.saveFailed"===P?(A.current.stopped=!1,I(null)):_(e=>e+1)},interactionResetKey:K.restoreToken,historyControls:(0,r.jsx)(o.zr,{...K,labels:{undo:e("canvasHistory.undo"),redo:e("canvasHistory.redo"),label:e("canvasHistory.label")}}),cameraSource:(e,t)=>j||D||A.current.queue.pending||P||S?.id!==m||!(x>0)?void 0:(0,p.J_)(m,e,x,t),cameraBoxSource:(e,t,n)=>j||D||A.current.queue.pending||P||S?.id!==m||!(x>0)?void 0:(0,p.gk)(m,e,x,t,n),details:(0,r.jsx)(o.J3,{createdAt:S?.createdAt??null,updatedAt:H,nodeCount:C.characters.length+C.objects.length+C.cameras.length+(C.cameraBoxes?.length??0),locale:t.resolvedLanguage??"zh-CN",agentCommand:()=>Promise.resolve(e("sessionDetails.agentCommand",{command:(0,h.m)(m,window.location.origin)})),labels:{title:e("sessionDetails.title"),created:e("sessionDetails.created"),updated:e("sessionDetails.updated"),nodes:e("sessionDetails.nodes"),agent:e("sessionDetails.agent"),copyCommand:e("sessionDetails.copyCommand"),copying:e("sessionDetails.copying"),copied:e("clipboard.copied"),copyFailed:e("sessionDetails.copyFailed"),emptyValue:e("sessionDetails.emptyValue")}})},`${m}/${$}`):(0,r.jsx)(u.J,{onClick:async()=>{let t=await (0,p.DZ)(e("spatial.untitled"));n.push(`/spatial?session=${encodeURIComponent(t.id)}`)},children:e("spatial.newSpace")})})}}},e=>{e.O(0,[661,781,460,746,20,248,678,130,347,158,358],()=>e(e.s=23565)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[613],{32577:(e,r,a)=>{Promise.resolve().then(a.bind(a,49046))},46109:(e,r,a)=>{"use strict";function t(e){return{newStyle:e("styleLibrary.newStyle"),editStyle:e("styleLibrary.editStyle"),name:e("styleLibrary.name"),namePlaceholder:e("styleLibrary.namePlaceholder"),category:e("styleLibrary.category.label"),allCategories:e("styleLibrary.category.all"),visualCategory:e("styleLibrary.category.visual"),uiCategory:e("styleLibrary.category.ui"),creator:e("styleLibrary.creator.label"),allCreators:e("styleLibrary.creator.all"),userCreator:e("styleLibrary.creator.user"),agentCreator:e("styleLibrary.creator.agent"),references:e("styleLibrary.references.heading"),noReferences:e("styleLibrary.references.empty"),addReferences:e("styleLibrary.references.add"),removeReference:e("styleLibrary.references.remove"),pasteHint:e("styleLibrary.references.pasteHint"),fileTypes:e("styleLibrary.references.fileTypes"),description:e("styleLibrary.description.heading"),promptSummary:e("styleLibrary.promptSummary.label"),promptSummaryPlaceholder:e("styleLibrary.promptSummary.placeholder"),descriptionPlaceholder:e("styleLibrary.description.placeholder"),searchPlaceholder:e("styleLibrary.searchPlaceholder"),deleteTitle:e("styleLibrary.deleteTitle"),deleteDescription:e("styleLibrary.deleteDescription"),empty:e("styleLibrary.empty"),noMatches:e("styleLibrary.noMatches"),loading:e("styleLibrary.loading"),loadFailed:e("styleLibrary.loadFailed"),retry:e("actions.retry"),save:e("styleLibrary.save"),cancel:e("actions.cancel"),delete:e("actions.delete"),operationFailed:e("errors.operationFailed"),imageInvalid:e("styleLibrary.imageInvalid"),openStyle:r=>e("styleLibrary.openStyle",{name:r}),closePreview:e("styleLibrary.closePreview")}}a.d(r,{Q:()=>t})},49046:(e,r,a)=>{"use strict";a.r(r),a.d(r,{default:()=>c});var t=a(73365),i=a(57937),l=a(1521),s=a(8020),y=a(46109),o=a(53130),n=a(60458);function c(){let{t:e}=(0,s.Bd)(),[r,a]=(0,l.useState)([]),[c,d]=(0,l.useState)(!0),[m,p]=(0,l.useState)(null),[b,u]=(0,l.useState)(0),f=(0,l.useCallback)(async r=>{r&&d(!0);try{let e=await (0,n.X0)();a(e),p(null)}catch{r&&p(e("styleLibrary.loadFailed"))}finally{r&&d(!1)}},[e]);async function L(e){let r=await (0,n.Jx)({name:e.name,category:e.category,description:e.description,promptSummary:e.promptSummary});a(e=>[r,...e]);try{for(let a of e.newReferenceImages)r=await (0,n.g_)(r.id,a,r.revision),h(r);return r}catch(e){throw await (0,n.Nr)(r.id,r.revision).catch(()=>void 0),a(e=>e.filter(e=>e.id!==r.id)),e}}async function g(e,r){let a=e;try{for(let e of((a.name!==r.name||a.category!==r.category||a.description!==r.description||a.promptSummary!==r.promptSummary)&&(a=await (0,n.nn)(a.id,{expectedRevision:a.revision,name:r.name,category:r.category,description:r.description,promptSummary:r.promptSummary}),h(a)),r.removedReferenceImageIds))a.referenceImages.some(r=>r.id===e)&&(a=await (0,n.aU)(a.id,e,a.revision),h(a));for(let e of r.newReferenceImages)a=await (0,n.g_)(a.id,e,a.revision),h(a);return a}catch(e){throw await f(!1),e}}function h(e){a(r=>r.map(r=>r.id===e.id?e:r))}return(0,l.useEffect)(()=>{let r=!1;d(!0),p(null),(0,n.X0)().then(e=>{r||a(e)}).catch(()=>{r||p(e("styleLibrary.loadFailed"))}).finally(()=>{r||d(!1)});let t=window.setInterval(()=>{r||f(!1)},3e3);return()=>{r=!0,window.clearInterval(t)}},[b,f,e]),(0,t.jsx)(o.o,{title:e("styleLibrary.title"),children:(0,t.jsx)(i.cF,{styles:r,loading:c,errorMessage:m,imageUrl:n.Pf,labels:(0,y.Q)(e),onCreate:L,onUpdate:g,onDelete:async e=>{await (0,n.Nr)(e.id,e.revision),a(r=>r.filter(r=>r.id!==e.id))},onRetry:()=>u(e=>e+1)})})}}},e=>{e.O(0,[661,781,460,746,20,248,678,130,347,158,358],()=>e(e.s=32577)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[376],{19401:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>C});var n=t(73365),i=t(42614),s=t(11075),o=t(51055),l=t(23139),r=t(57937),c=t(94946),d=t(29415),u=t(95948),g=t(29717),h=t(1521),v=t(8020),m=t(48197),p=t(31854),S=t(53130),f=t(60458),b=t(46295),k=t(52003),y=t(64081),L=t.n(y);async function w(e){let a=await (0,f.Ht)(e);if("ui-layout"!==a.sessionType)throw Error("SESSION_TYPE_MISMATCH");let t=(await (0,f.dH)(e)).at(-1);return{session:a,draft:t?.draft??(0,r.LE)(r.yP),revision:t?.revision??0,lastModifiedAt:t?.createdAt??a.updatedAt,styleProcessing:t?.styleProcessing}}function x(e,a){return e instanceof f.wP?"DRAFT_REVISION_CONFLICT"===e.code?a("uiSketch.session.revisionConflict",{revision:e.details.actualLatestRevision}):"HTTP_404"===e.code?a("uiSketch.session.serviceOutdated"):a("errors.serviceSync",{message:e.message}):e instanceof Error&&"SESSION_TYPE_MISMATCH"===e.message?a("uiSketch.session.typeMismatch"):a("errors.serviceSync",{message:e instanceof Error?e.message:String(e)})}function C(){let{t:e}=(0,v.Bd)();return(0,n.jsx)(h.Suspense,{fallback:(0,n.jsx)(u.G,{className:L().routeLoading,label:e("uiSketch.session.loading"),rows:10}),children:(0,n.jsx)(N,{})})}function N(){let e=(0,g.useRouter)(),a=(0,g.useSearchParams)().get("session"),{t,i18n:y}=(0,v.Bd)(),C=(0,h.useCallback)((e,a)=>t((0,i.B)("uiSketch",e),a),[t]),[N,_]=(0,h.useState)(()=>(0,r.LE)(r.yP)),[F,P]=(0,h.useState)(null),[T,A]=(0,h.useState)(null),[R,E]=(0,h.useState)(null),[j,I]=(0,h.useState)(null),[D,H]=(0,h.useState)(0),[O,M]=(0,h.useState)(),[z,B]=(0,h.useState)(!1),[V,U]=(0,h.useState)(!0),[W,G]=(0,h.useState)(!1),[J,X]=(0,h.useState)(!1),[Y,K]=(0,h.useState)(0),[Z,$]=(0,h.useState)(null),[Q,q]=(0,h.useState)(r.Ol),[ee,ea]=(0,h.useState)(!0),[et,en]=(0,h.useState)(!1),[ei,es]=(0,h.useState)(null),[eo,el]=(0,h.useState)(null),er=(0,h.useRef)(!1),ec=(0,h.useRef)(0),ed=(0,h.useRef)(0),eu=(0,h.useRef)(null),eg=(0,h.useRef)(!1),eh=(0,h.useRef)(null),ev=(0,h.useRef)(null),em=(0,p.t)(F,ef,D),ep=(0,k.S)(N,({draft:e,context:a})=>{ec.current+=1,eu.current=null,_(e),B(!0);let t=(0,r.wN)(e);q(t.some(e=>e.id===a)?a:t[0].id)},V||J||eg.current);function eS(e,a=Q){let t="function"==typeof e?e(ep.current()):e,n=(0,r.wN)(t);ep.record(t,Q,n.some(e=>e.id===a)?a:n[0].id)&&(ec.current+=1,eu.current=null,_(t),B(!0))}async function ef(){if(F)return F;let a=ev.current??(0,f.vh)(t("uiSketch.session.untitled"));ev.current=a;try{let t=await a;return eh.current=t.id,P(t.id),A(t.title),E(t),I(t.updatedAt),e.replace(`/ui-sketch?session=${encodeURIComponent(t.id)}`),t.id}finally{ev.current===a&&(ev.current=null)}}async function eb(e){let a=await ef();return(await (0,f.FX)(a,e)).id}function ek(e){let a=Math.round(e.width),t=Math.round(e.height);a<10||t<10||eS(e=>{let n=e.frame.x+e.frame.width/2,i=e.frame.y+e.frame.height/2;return{...e,frame:{x:n-a/2,y:i-t/2,width:a,height:t}}})}(0,h.useEffect)(()=>{if(a&&a===eh.current){eh.current=null;return}if(ed.current+=1,ec.current=0,eg.current=!1,eu.current=null,B(!1),X(!1),!a){let e=(0,r.LE)(r.yP);ep.reset(e),_(e),P(null),A(null),E(null),I(null),H(0),M(void 0),q(r.Ol),en(!1),$(null),U(!1);return}let e=!1;return U(!0),P(null),A(null),E(null),I(null),en(!1),$(null),w(a).then(a=>{e||(ep.reset(a.draft),_(a.draft),P(a.session.id),A(a.session.title),E(a.session),I(a.lastModifiedAt),H(a.revision),M(a.styleProcessing),q(r.Ol),B(!1),$(null))}).catch(a=>{e||(X(!0),$(x(a,t)))}).finally(()=>{e||U(!1)}),()=>{e=!0}},[Y,a,t]),(0,h.useEffect)(()=>{let e=ec.current;if(eg.current||V||W||!z||eu.current===e)return;let a=ed.current,n=window.setTimeout(()=>{(async()=>{G(!0),$(null);try{let t=F;if(!t&&(t=await ef(),a!==ed.current))return;let n=await (0,f.VQ)(t,D,N);if(a!==ed.current)return;eu.current=null,H(n.revision),M(n.styleProcessing),I(n.createdAt),ec.current===e&&(_(n.draft),B(!1))}catch(n){if(a!==ed.current)return;let e=n instanceof f.wP&&"DRAFT_REVISION_CONFLICT"===n.code?n.details.actualLatestRevision:null;"number"==typeof e&&Number.isInteger(e)&&(eg.current=!0,ep.reset(ep.current()),H(e)),eu.current=ec.current,$(x(n,t))}finally{G(!1)}})()},800);return()=>window.clearTimeout(n)},[z,N,D,V,e,W,F,t]),(0,h.useEffect)(()=>{if(!F||V||z||W)return;let e=!1,a=ec.current,n=async()=>{try{let t=(await (0,f.dH)(F)).at(-1);!e&&a===ec.current&&t&&t.revision>D&&(ep.reset(t.draft),_(t.draft),H(t.revision),M(t.styleProcessing),I(t.createdAt),q(r.Ol),eu.current=null,$(null))}catch(a){e||$(x(a,t))}};n();let i=window.setInterval(()=>void n(),3e3);return()=>{e=!0,window.clearInterval(i)}},[z,D,V,W,F,t]);let ey=(0,r.wN)(N),eL=ey.map(e=>({id:e.id,label:e.name??t("uiSketch.states.defaultName",{number:e.number})})),ew=ey.some(e=>e.id===Q)?Q:ey[0].id;return(0,n.jsx)(S.o,{currentSessionId:a,onCurrentSessionRename:A,title:T??t("uiSketch.session.new"),rightPanelOpen:ee,onRightPanelOpenChange:ea,rightPanel:(0,n.jsx)("div",{className:L().panel,"data-canvas-editor":!0,children:V?(0,n.jsx)(u.G,{className:L().panelLoading,label:t("uiSketch.session.loading"),rows:8,compact:!0}):ee?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.J3,{createdAt:R?.createdAt??null,updatedAt:j,nodeCount:N.rectangles.length+N.texts.length+N.images.length,agentCommand:F?async()=>t("sessionDetails.agentCommand",{command:(0,b.m)(F,window.location.origin)}):null,locale:y.resolvedLanguage??y.language,labels:{title:t("sessionDetails.title"),created:t("sessionDetails.created"),updated:t("sessionDetails.updated"),nodes:t("sessionDetails.nodes"),agent:t("sessionDetails.agent"),copyCommand:t("sessionDetails.copyCommand"),copying:t("sessionDetails.copying"),copied:t("clipboard.copied"),copyFailed:t("sessionDetails.copyFailed"),emptyValue:t("sessionDetails.emptyValue")}}),(0,n.jsx)(m.H,{controller:em,category:"ui",processing:O,disabled:V||W}),(0,n.jsxs)("section",{children:[(0,n.jsxs)("div",{className:L().sectionHeading,children:[(0,n.jsx)("h2",{children:t("canvas.tools.label")}),(0,n.jsx)("div",{ref:el,className:L().sectionHeadingActions})]}),(0,n.jsx)("div",{ref:es})]}),(0,n.jsxs)("section",{children:[(0,n.jsxs)("div",{className:L().sectionHeading,children:[(0,n.jsx)("h2",{children:t("uiSketch.canvasLabels.frameRange")}),(0,n.jsxs)("div",{className:L().sectionHeadingActions,children:[(0,n.jsx)(d.J,{mode:"icon-only",size:"small",icon:(0,n.jsx)(s.A,{}),iconLabel:t("uiSketch.canvasLabels.resetFrame"),title:t("uiSketch.canvasLabels.resetFrame"),backgroundColor:"none",textColor:"color.text.secondary",disabled:J||et,onClick:function(){eS(e=>({...e,frame:{...r.yP.frame}}))}}),(0,n.jsx)(d.J,{mode:"icon-only",size:"small",icon:et?(0,n.jsx)(o.A,{}):(0,n.jsx)(l.A,{}),iconLabel:et?t("uiSketch.canvasLabels.unlockFrame"):t("uiSketch.canvasLabels.lockFrame"),title:et?t("uiSketch.canvasLabels.unlockFrame"):t("uiSketch.canvasLabels.lockFrame"),"aria-pressed":et,backgroundColor:et?"color.action.primaryActive":"none",textColor:et?"color.text.onPrimary":"color.text.secondary",disabled:J,onClick:()=>en(e=>!e)})]})]}),(0,n.jsx)("div",{className:L().aspectRatioSelector,children:(0,n.jsx)(c.h,{ratio:{width:N.frame.width,height:N.frame.height},disabled:J||et,onChange:(e,a)=>{er.current=!0,ek({width:N.frame.width,height:N.frame.width*a.height/a.width})},onRatioChange:e=>{if(er.current){er.current=!1;return}ek(e)},title:t("uiSketch.canvasLabels.rangeTitle"),widthLabel:t("dimensions.width"),heightLabel:t("dimensions.height"),"aria-label":t("uiSketch.canvasLabels.frameRange")})})]})]}):null}),children:(0,n.jsxs)("div",{className:L().page,"data-canvas-editor":!0,"aria-busy":V||W,children:[Z?(0,n.jsxs)("div",{className:L().serviceError,role:"alert",children:[(0,n.jsx)("span",{children:Z}),J?(0,n.jsx)(d.J,{size:"small",onClick:()=>K(e=>e+1),children:t("actions.retry")}):null]}):null,V?(0,n.jsx)(u.G,{className:L().workspaceLoading,label:t("uiSketch.session.loading"),rows:10}):J?null:(0,n.jsxs)(r.x8,{"data-active-stage":ew,stateControls:(0,n.jsx)(r.SM,{items:eL,value:ew,labels:{switch:t("uiSketch.views.switch"),add:t("uiSketch.views.enableMotion"),rename:t("actions.rename"),name:t("uiSketch.states.name"),new:t("uiSketch.states.new"),delete:t("uiSketch.states.delete"),cancel:t("actions.cancel"),reorderHint:t("uiSketch.states.reorderHint"),actions:e=>t("uiSketch.states.actions",{name:e}),deleteTitle:e=>t("uiSketch.states.deleteTitle",{name:e})},onChange:q,onCreate:function(e){let a=crypto.randomUUID();eS(t=>(0,r.MH)(t,e,a),a),q(a)},onRename:(e,a)=>eS(t=>(0,r.kC)(t,e,a)),onDelete:function(e){let a=(0,r.wN)(N),t=a.findIndex(a=>a.id===e);if(a.length<2||t<0)return;let n=Q===e?a[t+1]?.id??a[t-1].id:Q;q(n),eS(a=>(0,r.vB)(a,e),n)},onReorder:e=>eS(a=>(0,r.Y$)(a,e))}),children:[(0,n.jsx)(r.zr,{...ep,labels:{undo:t("canvasHistory.undo"),redo:t("canvasHistory.redo"),label:t("canvasHistory.label")}}),(0,n.jsx)(r.NX,{className:L().canvas,interactionResetKey:ep.restoreToken,draft:N,activeStageId:ew,onDraftChange:eS,translatePrompt:C,resolveStylePrompt:em.readPromptLine,toolHost:ee?ei:null,clearActionHost:ee?eo:null,showCanvasTools:!ee,canvasSideActionPanelDefaultCollapsed:!0,interfaceFrameLocked:et,resolveImageSource:F?e=>(0,f.MZ)(F,e):void 0,onImageUpload:eb,onReadImageSource:f.F7,imageEditorLabels:{content:t("canvas.imageEditor.content"),upload:t("canvas.imageEditor.upload"),replace:t("canvas.imageEditor.replace"),uploading:t("canvas.imageEditor.uploading"),uploadFailed:t("canvas.imageEditor.uploadFailed"),fileTypes:t("canvas.imageEditor.fileTypes"),cropTitle:t("canvas.imageCrop.title"),cropLoadFailed:t("canvas.imageCrop.loadFailed"),svgSource:t("canvas.imageEditor.svgSource"),svgPaste:t("canvas.imageEditor.svgPaste"),svgApply:t("canvas.imageEditor.svgApply"),svgSaveFailed:t("canvas.imageEditor.svgSaveFailed"),svgCopy:t("canvas.imageEditor.svgCopy"),svgCopying:t("canvas.imageEditor.svgCopying"),svgCopyFailed:t("canvas.imageEditor.svgCopyFailed"),sourceLoading:t("canvas.imageEditor.sourceLoading"),sourceLoadFailed:t("canvas.imageEditor.sourceLoadFailed"),svgCopied:t("clipboard.copied"),cancel:t("actions.cancel"),retry:t("actions.retry")},labels:{canvas:t("uiSketch.canvas"),canvasViewport:t("uiSketch.canvasLabels.canvasViewport"),scene:t("uiSketch.canvasLabels.scene"),region:t("uiSketch.canvasLabels.region"),addRegion:t("uiSketch.canvasLabels.addRegion"),text:t("uiSketch.canvasLabels.text"),addText:t("uiSketch.canvasLabels.addText"),image:t("canvas.imageNode.label"),addImage:t("canvas.imageNode.add"),newText:t("uiSketch.canvasLabels.newText"),overallNote:t("notes.global.label"),clearCanvas:t("uiSketch.canvasLabels.clearCanvas"),clearCanvasConfirmTitle:t("uiSketch.canvasLabels.clearCanvasConfirmTitle"),clearCanvasConfirmDescription:t("uiSketch.canvasLabels.clearCanvasConfirmDescription"),clearCanvasCancel:t("actions.cancel"),bringToFront:t("canvasLayers.bringToFront"),bringForward:t("canvasLayers.bringForward"),sendBackward:t("canvasLayers.sendBackward"),sendToBack:t("canvasLayers.sendToBack"),groupItems:t("uiSketch.canvasLabels.groupItems"),ungroupItems:t("uiSketch.canvasLabels.ungroupItems"),copyGroup:t("clipboard.group"),copyPrompt:t("clipboard.copyPrompt"),copySketch:t("clipboard.copyPreview"),copyAllStages:t("uiSketch.motion.copyPrompt"),overallNoteTitle:t("uiSketch.globalNote.title"),overallNotePlaceholder:t("uiSketch.globalNote.placeholder"),overallNoteAriaLabel:t("uiSketch.globalNote.ariaLabel"),fitFrame:t("uiSketch.canvasLabels.fitFrame"),interactionHelp:t("canvas.viewport.instructions"),sideActions:t("uiSketch.canvasLabels.sideActions"),collapseSideActions:t("uiSketch.canvasLabels.collapseSideActions"),expandSideActions:t("uiSketch.canvasLabels.expandSideActions"),frameAction:t("uiSketch.canvasLabels.frameAction"),frameRange:t("uiSketch.canvasLabels.frameRange"),missingRegionNote:t("uiSketch.canvasLabels.missingRegionNote"),editRegionNote:t("uiSketch.canvasLabels.editRegionNote"),editText:t("uiSketch.canvasLabels.editText"),nodeDescription:t("canvas.node.nodeDescription"),originUser:t("canvas.node.originUser"),originAgent:t("canvas.node.originAgent"),originImport:t("canvas.node.originImport"),note:t("notes.element.label"),textContent:t("textContent.label"),regionPlaceholder:t("notes.element.regionPlaceholder"),textPlaceholder:t("textContent.uiSketchPlaceholder"),textNotePlaceholder:t("notes.element.textPlaceholder"),imageNotePlaceholder:t("notes.element.nodePlaceholder"),shapeKind:t("canvasNodeEditor.shapeKind"),emptyText:t("uiSketch.canvasLabels.emptyText"),visualWeight:t("visualWeight.label"),visibility:t("uiSketch.canvasLabels.visibility"),visible:t("uiSketch.canvasLabels.visible"),hidden:t("uiSketch.canvasLabels.hidden"),weightAuto:t("visualWeight.auto"),weightHigh:t("visualWeight.high"),weightMedium:t("visualWeight.medium"),weightLow:t("visualWeight.low"),weightDecorative:t("visualWeight.decorative"),fontSize:t("uiSketch.canvasLabels.fontSize"),decreaseFontSize:t("uiSketch.canvasLabels.decreaseFontSize"),increaseFontSize:t("uiSketch.canvasLabels.increaseFontSize"),cancel:t("actions.cancel"),deleteRegion:t("actions.deleteRegion"),deleteText:t("actions.deleteText"),deleteNode:t("actions.deleteNode"),confirmDeleteRegion:t("confirmations.deleteRegion"),confirmDeleteText:t("confirmations.deleteText"),confirmDeleteNode:t("confirmations.deleteNode"),cancelDelete:t("actions.keep"),promptUnsupported:t("clipboard.promptUnsupported"),promptCopied:t("clipboard.copied"),promptCopyFailed:t("clipboard.promptFailed"),sketchCopied:t("clipboard.copied"),sketchDownloaded:t("clipboard.previewDownloaded"),sketchCopyFailed:t("clipboard.previewFailed"),selectedItemsPrefix:t("uiSketch.canvasLabels.selectedItemsPrefix"),selectedItemsSuffix:t("uiSketch.canvasLabels.selectedItemsSuffix"),noSelection:t("uiSketch.canvasLabels.noSelection")},"aria-label":t("uiSketch.canvas")})]})]})})}},56638:(e,a,t)=>{Promise.resolve().then(t.bind(t,19401))},64081:e=>{e.exports={page:"page_page__BcSuz",routeLoading:"page_routeLoading__kkew_",workspaceLoading:"page_workspaceLoading__1orsz",panelLoading:"page_panelLoading__ffX8a",canvas:"page_canvas__75Gnz",panel:"page_panel__7bViD",sectionHeading:"page_sectionHeading__plJXT",sectionHeadingActions:"page_sectionHeadingActions___cBZV",aspectRatioSelector:"page_aspectRatioSelector__19Yj4",serviceError:"page_serviceError__Av5GF"}}},e=>{e.O(0,[661,781,979,782,460,746,20,248,678,130,728,347,158,358],()=>e(e.s=56638)),_N_E=e.O()}]);