@popcraft/kit 0.30.0 → 0.32.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 (201) hide show
  1. package/dist/chunks/{agent-CGSIEC2R.js → agent-LNZDZLDR.js} +1 -1
  2. package/dist/chunks/{build-AUXXY3JX.js → build-AKMRSWRB.js} +2 -2
  3. package/dist/chunks/{builtin-Q5UN4DWS.js → builtin-KY56DU2Y.js} +3 -3
  4. package/dist/chunks/{check-template-2EKU4JL7.js → check-template-OYCBJNDF.js} +2 -2
  5. package/dist/chunks/{chunk-YT6TGRM4.js → chunk-2PEG56PC.js} +40 -26
  6. package/dist/chunks/{chunk-KOKO3HTP.js → chunk-3NI5OGFT.js} +1 -1
  7. package/dist/chunks/{chunk-TQPKOPCW.js → chunk-3ZO43HDI.js} +2 -2
  8. package/dist/chunks/{chunk-MJ6VIF3D.js → chunk-4X5G4QPZ.js} +1 -1
  9. package/dist/chunks/{chunk-3MAEAHID.js → chunk-6CRT7IDI.js} +2 -2
  10. package/dist/chunks/chunk-6S72I27Z.js +194 -0
  11. package/dist/chunks/chunk-7DKGI65Y.js +305 -0
  12. package/dist/chunks/chunk-APBRV4W6.js +71 -0
  13. package/dist/chunks/{chunk-AN3H4JWT.js → chunk-APVJKUJP.js} +4 -4
  14. package/dist/chunks/chunk-CGNNKKW7.js +70 -0
  15. package/dist/chunks/{chunk-IPEOO7PN.js → chunk-CKBPEGTH.js} +2 -2
  16. package/dist/chunks/chunk-COJM27N2.js +73 -0
  17. package/dist/chunks/chunk-CVB5F7FJ.js +92 -0
  18. package/dist/chunks/{chunk-DVX7UAKA.js → chunk-DQ7AF2R5.js} +1 -1
  19. package/dist/chunks/{chunk-UHQTNURS.js → chunk-DVD56API.js} +5 -5
  20. package/dist/chunks/{chunk-UM6QUOOH.js → chunk-DZIPU2Q4.js} +3 -3
  21. package/dist/chunks/{chunk-7QYQVENQ.js → chunk-FC2FGSU2.js} +5 -5
  22. package/dist/chunks/{chunk-T2GF6JE3.js → chunk-GAZ57RX2.js} +1 -1
  23. package/dist/chunks/{chunk-R3D5OMSG.js → chunk-GF6N47NL.js} +1 -1
  24. package/dist/chunks/{chunk-3DNAX4HN.js → chunk-HBPURYPZ.js} +2 -2
  25. package/dist/chunks/{chunk-7J4MGACN.js → chunk-HN2A65AT.js} +10 -10
  26. package/dist/chunks/{chunk-HST5H23G.js → chunk-JRQ4ZPRK.js} +1 -1
  27. package/dist/chunks/chunk-LP7LPUQJ.js +81 -0
  28. package/dist/chunks/chunk-M2LWLS56.js +65 -0
  29. package/dist/chunks/{chunk-GT5X67P7.js → chunk-MFPMMKHP.js} +7 -7
  30. package/dist/chunks/{chunk-LE33OZ4V.js → chunk-N2RBQBUE.js} +43 -43
  31. package/dist/chunks/{chunk-DUYDXAR5.js → chunk-O3W7HYS7.js} +1 -1
  32. package/dist/chunks/chunk-OXI222BA.js +54 -0
  33. package/dist/chunks/chunk-P23KECK3.js +57 -0
  34. package/dist/chunks/{chunk-LNQN4PGS.js → chunk-P5M5QCAJ.js} +24 -24
  35. package/dist/chunks/{chunk-X3HT5IHG.js → chunk-POZOGQG7.js} +11 -11
  36. package/dist/chunks/{chunk-K7OOOI7B.js → chunk-QGE2XW66.js} +4 -4
  37. package/dist/chunks/{chunk-STG7FEIQ.js → chunk-S4Y3VMQH.js} +3 -3
  38. package/dist/chunks/chunk-UBT4DZYW.js +304 -0
  39. package/dist/chunks/chunk-UJTTWR5P.js +71 -0
  40. package/dist/chunks/{chunk-652VC4P7.js → chunk-UNAAYJKD.js} +39 -39
  41. package/dist/chunks/{chunk-AXKXWL35.js → chunk-WKKHCEXN.js} +5 -5
  42. package/dist/chunks/chunk-X22CGIKE.js +75 -0
  43. package/dist/chunks/chunk-X4UI5JKC.js +74 -0
  44. package/dist/chunks/chunk-XQJ2VVC6.js +69 -0
  45. package/dist/chunks/{chunk-CQ6QGYKJ.js → chunk-YI7HCLNY.js} +1 -1
  46. package/dist/chunks/{chunk-CVWIMZTL.js → chunk-YOYWFBRJ.js} +53 -53
  47. package/dist/chunks/chunk-ZBFR7DBR.js +70 -0
  48. package/dist/chunks/{chunk-KO24NRJ5.js → chunk-ZW7KTUDU.js} +2 -2
  49. package/dist/chunks/chunk-ZY3DR3P6.js +63 -0
  50. package/dist/chunks/chunk-ZYNF7B6N.js +70 -0
  51. package/dist/chunks/{client-NBSGVJPN.js → client-ORABD53R.js} +2 -2
  52. package/dist/chunks/{client-5YPZUV5L.js → client-YF3PYAFZ.js} +2 -2
  53. package/dist/chunks/{client-3FYDPRVC.js → client-YOSPARZX.js} +1 -1
  54. package/dist/chunks/{client-actions-J2SQWW4O.js → client-actions-LYJHQ4IE.js} +4 -4
  55. package/dist/chunks/{dangerous-3EDPWONV.js → dangerous-VCZB63L6.js} +3 -3
  56. package/dist/chunks/{editor-seams-NG3BESM6.js → editor-seams-4PF6BD4R.js} +9 -9
  57. package/dist/chunks/{editor-store-NDV4IXDK.js → editor-store-UAEROYSB.js} +1 -1
  58. package/dist/chunks/{export-watermark-SNBNUS3L.js → export-watermark-2N7ALJXN.js} +5 -5
  59. package/dist/chunks/{eyedropper-L5DVFZV5.js → eyedropper-3P75IZGM.js} +1 -1
  60. package/dist/chunks/{generate-media-ASNNFDML.js → generate-media-DYXU4BZL.js} +2 -2
  61. package/dist/chunks/{host-5DYGKFJ7.js → host-J4QG5WB7.js} +6 -6
  62. package/dist/chunks/{integrations-2BG5XVX3.js → integrations-KGJ2HE6V.js} +1 -1
  63. package/dist/chunks/{kit-modules-NMONCEP4.js → kit-modules-4HQU5EI2.js} +1 -1
  64. package/dist/chunks/{libraries-QV4QPEYK.js → libraries-NIRTR2IA.js} +5 -5
  65. package/dist/chunks/{live-EI26E2RB.js → live-XZKNAJ2I.js} +3 -3
  66. package/dist/chunks/{media-tool-OVVKBD3N.js → media-tool-YFIYMYI5.js} +1 -1
  67. package/dist/chunks/{new-file-DX5L4NF6.js → new-file-RNWHN4S6.js} +3 -3
  68. package/dist/chunks/{plugin-P6FYIVKR.js → plugin-AN5GLVH5.js} +2 -2
  69. package/dist/chunks/{plugin-import-V2ORN2OW.js → plugin-import-J5ZNYSIY.js} +13 -13
  70. package/dist/chunks/{presence-YNIJGI73.js → presence-YNSLRFAM.js} +2 -2
  71. package/dist/chunks/{project-UK457FEX.js → project-HSN7DOPK.js} +1 -1
  72. package/dist/chunks/{publish-site-E4A557HC.js → publish-site-T2C4IDD2.js} +6 -6
  73. package/dist/chunks/{publish-store-U5SDQCU4.js → publish-store-I2FOGDDF.js} +4 -4
  74. package/dist/chunks/{raster-actions-4E7H3G62.js → raster-actions-IVIGDYQU.js} +1 -1
  75. package/dist/chunks/{runner-DHWGPGPD.js → runner-IOXTGHBT.js} +16 -16
  76. package/dist/chunks/{store-CUL3XS5L.js → store-ZVOK3773.js} +5 -5
  77. package/dist/chunks/{sync-U23VGFOY.js → sync-XT2ZCTVE.js} +5 -5
  78. package/dist/chunks/{tabs-K6MESOUX.js → tabs-RIIW7KNI.js} +8 -8
  79. package/dist/chunks/{team-7APVVP43.js → team-KM3FZ6AU.js} +1 -1
  80. package/dist/chunks/{team-client-XTH5DXVW.js → team-client-2EXJKRDB.js} +1 -1
  81. package/dist/chunks/{tools-PE6DEYSG.js → tools-5ISIPPXP.js} +2 -2
  82. package/dist/chunks/{ui-commands-WQJFLB5K.js → ui-commands-GYCIF7UQ.js} +11 -11
  83. package/dist/chunks/{versions-Y4F3IO37.js → versions-JCQTXXUB.js} +5 -5
  84. package/dist/fonts/chars.txt +1 -1
  85. package/dist/index.js +4 -4
  86. package/dist/seed/files.json +1 -1
  87. package/dist/seed/popcraft.comic-nested.json.gz +0 -0
  88. package/dist/seed/popcraft.comic-pinup.json.gz +0 -0
  89. package/dist/templates/count.js +1 -1
  90. package/dist/templates/index.js +226 -210
  91. package/dist/templates/index.json +663 -0
  92. package/dist/templates/motion/landing-hero/index.js +4 -4
  93. package/dist/templates/motion/launch-trailer/document.js +226 -210
  94. package/dist/templates/motion/launch-trailer/index.js +4 -4
  95. package/dist/templates/motion/launch-trailer/scenes.js +3 -3
  96. package/dist/templates/motion/template-wall.js +2 -2
  97. package/dist/templates/print/comic-hero-cascade.js +100 -0
  98. package/dist/templates/print/comic-hero-chase.js +100 -0
  99. package/dist/templates/print/comic-hero-cover-modern.js +100 -0
  100. package/dist/templates/print/comic-hero-grid-break.js +100 -0
  101. package/dist/templates/print/comic-hero-interrogation.js +100 -0
  102. package/dist/templates/print/comic-hero-issue.js +109 -0
  103. package/dist/templates/print/comic-hero-manga-action.js +100 -0
  104. package/dist/templates/print/comic-hero-nested.js +100 -0
  105. package/dist/templates/print/comic-hero-overlap.js +100 -0
  106. package/dist/templates/print/comic-hero-parallel.js +100 -0
  107. package/dist/templates/print/comic-hero-pinup.js +100 -0
  108. package/dist/templates/print/comic-hero-widescreen.js +100 -0
  109. package/dist/templates/print/comic-modern-issue.js +4 -4
  110. package/dist/templates/saas/email-decks.js +2 -2
  111. package/dist/templates/saas/index.js +62 -62
  112. package/dist/templates/saas/launch-kit.js +5 -5
  113. package/dist/templates/saas/launch-video.js +2 -2
  114. package/dist/templates/saas/stores.js +4 -4
  115. package/dist/templates/slideshow/index.js +3 -3
  116. package/dist/templates/themes/bauhaus.js +2 -2
  117. package/dist/templates/themes/black-friday-coupons.js +2 -2
  118. package/dist/templates/themes/blueprint.js +2 -2
  119. package/dist/templates/themes/claymation.js +2 -2
  120. package/dist/templates/themes/comic-book.js +5 -5
  121. package/dist/{chunks/chunk-ATEECJLR.js → templates/themes/comic-hero-art.js} +11 -9
  122. package/dist/templates/themes/comic-hero-page.js +67 -0
  123. package/dist/templates/themes/comic-hero.js +97 -1
  124. package/dist/{chunks/chunk-ODXZPZKI.js → templates/themes/comic-indie-art.js} +7 -9
  125. package/dist/templates/themes/comic-indie-page.js +47 -0
  126. package/dist/templates/themes/comic-indie.js +85 -1
  127. package/dist/templates/themes/cyberpunk.js +2 -2
  128. package/dist/templates/themes/everyday.js +2 -2
  129. package/dist/templates/themes/festival-presale-family-a.js +2 -2
  130. package/dist/templates/themes/festival-presale-family-b.js +2 -2
  131. package/dist/templates/themes/holidays.js +11 -11
  132. package/dist/templates/themes/index.js +127 -111
  133. package/dist/templates/themes/lunar-new-year.js +2 -2
  134. package/dist/templates/themes/manuscript.js +2 -2
  135. package/dist/templates/themes/memories.js +5 -5
  136. package/dist/templates/themes/noir.js +2 -2
  137. package/dist/templates/themes/printshop.js +14 -14
  138. package/dist/templates/themes/psychedelic.js +2 -2
  139. package/dist/templates/themes/space-opera.js +2 -2
  140. package/dist/templates/themes/studio.js +2 -2
  141. package/dist/templates/themes/tour-tickets.js +2 -2
  142. package/package.json +1 -1
  143. package/src/templates/print/comic-hero-cascade.ts +42 -0
  144. package/src/templates/print/comic-hero-chase.ts +42 -0
  145. package/src/templates/print/comic-hero-cover-modern.ts +34 -0
  146. package/src/templates/print/comic-hero-grid-break.ts +39 -0
  147. package/src/templates/print/comic-hero-interrogation.ts +41 -0
  148. package/src/templates/print/comic-hero-issue.ts +44 -0
  149. package/src/templates/print/comic-hero-manga-action.ts +38 -0
  150. package/src/templates/print/comic-hero-nested.ts +39 -0
  151. package/src/templates/print/comic-hero-overlap.ts +40 -0
  152. package/src/templates/print/comic-hero-parallel.ts +40 -0
  153. package/src/templates/print/comic-hero-pinup.ts +29 -0
  154. package/src/templates/print/comic-hero-widescreen.ts +35 -0
  155. package/src/templates/themes/comic-hero-art.ts +66 -0
  156. package/src/templates/themes/comic-hero-page.ts +326 -0
  157. package/src/templates/themes/comic-hero.ts +15 -2
  158. package/src/templates/themes/comic-indie-art.ts +73 -0
  159. package/src/templates/themes/comic-indie-page.ts +182 -0
  160. package/src/templates/themes/comic-indie.ts +280 -2
  161. package/types/templates/src/print/comic-hero-cascade.d.ts +5 -0
  162. package/types/templates/src/print/comic-hero-chase.d.ts +5 -0
  163. package/types/templates/src/print/comic-hero-cover-modern.d.ts +5 -0
  164. package/types/templates/src/print/comic-hero-grid-break.d.ts +5 -0
  165. package/types/templates/src/print/comic-hero-interrogation.d.ts +5 -0
  166. package/types/templates/src/print/comic-hero-issue.d.ts +2 -0
  167. package/types/templates/src/print/comic-hero-manga-action.d.ts +5 -0
  168. package/types/templates/src/print/comic-hero-nested.d.ts +5 -0
  169. package/types/templates/src/print/comic-hero-overlap.d.ts +5 -0
  170. package/types/templates/src/print/comic-hero-parallel.d.ts +5 -0
  171. package/types/templates/src/print/comic-hero-pinup.d.ts +5 -0
  172. package/types/templates/src/print/comic-hero-widescreen.d.ts +5 -0
  173. package/types/templates/src/themes/comic-hero-art.d.ts +318 -0
  174. package/types/templates/src/themes/comic-hero-page.d.ts +177 -0
  175. package/types/templates/src/themes/comic-indie-art.d.ts +371 -0
  176. package/types/templates/src/themes/comic-indie-page.d.ts +125 -0
  177. package/dist/chunks/{chunk-BAZUZXS6.js → chunk-2BVGM5PJ.js} +3 -3
  178. package/dist/chunks/{chunk-WXY6LWRB.js → chunk-2J3PCCBE.js} +3 -3
  179. package/dist/chunks/{chunk-RH6WJNB4.js → chunk-2ZOSBENB.js} +3 -3
  180. package/dist/chunks/{chunk-FLXSWF6O.js → chunk-5GSRWIV2.js} +3 -3
  181. package/dist/chunks/{chunk-2WCMIJSA.js → chunk-5NGWNEKU.js} +3 -3
  182. package/dist/chunks/{chunk-IUK367P7.js → chunk-5PSOLUKI.js} +0 -0
  183. package/dist/chunks/{chunk-RUBJMQMF.js → chunk-7A3MIEOO.js} +3 -3
  184. package/dist/chunks/{chunk-R66IPFG4.js → chunk-7D46BJKY.js} +32 -32
  185. package/dist/chunks/{chunk-6H5ULKBL.js → chunk-7KFQX6N5.js} +3 -3
  186. package/dist/chunks/{chunk-EWGXFNXM.js → chunk-DF5IDTZB.js} +3 -3
  187. package/dist/chunks/{chunk-VT7UU3UP.js → chunk-ESV3AAQ4.js} +3 -3
  188. package/dist/chunks/{chunk-UJORPKRW.js → chunk-GN5W7TJD.js} +3 -3
  189. package/dist/chunks/{chunk-HQAHQJHQ.js → chunk-IPRJUV2O.js} +9 -9
  190. package/dist/chunks/{chunk-JVKC6UFV.js → chunk-KWXWK2LA.js} +3 -3
  191. package/dist/chunks/{chunk-PN6KHUSF.js → chunk-LOQNCZFE.js} +3 -3
  192. package/dist/chunks/{chunk-AKCMEBIQ.js → chunk-MNN76UQS.js} +12 -12
  193. package/dist/chunks/{chunk-ZRK4E77C.js → chunk-OGZJE5X2.js} +3 -3
  194. package/dist/chunks/{chunk-OTJJNSLB.js → chunk-PEDQKANG.js} +3 -3
  195. package/dist/chunks/{chunk-LDIYJJ24.js → chunk-PTRN7H4N.js} +11 -11
  196. package/dist/chunks/{chunk-J3XCBROI.js → chunk-QQMSM7EK.js} +3 -3
  197. package/dist/chunks/{chunk-FRFW37G6.js → chunk-TBIZI5NH.js} +3 -3
  198. package/dist/chunks/{chunk-BSX52WVT.js → chunk-UTFC2DI3.js} +8 -8
  199. package/dist/chunks/{chunk-GTR25NJ5.js → chunk-XIIFQUWN.js} +3 -3
  200. package/dist/chunks/{chunk-PGUAHUFE.js → chunk-XTFV46GB.js} +9 -9
  201. package/dist/chunks/{chunk-4ENF3NH3.js → chunk-ZLVYZPUR.js} +28 -28
@@ -0,0 +1,92 @@
1
+ import { createRequire as __popcraftRequire } from 'node:module';
2
+ import { fileURLToPath as __popcraftPath } from 'node:url';
3
+ import { dirname as __popcraftDirname } from 'node:path';
4
+ const require = __popcraftRequire(import.meta.url);
5
+ const __filename = __popcraftPath(import.meta.url);
6
+ const __dirname = __popcraftDirname(__filename);
7
+ import {
8
+ drawPage as drawPage7
9
+ } from "./chunk-CGNNKKW7.js";
10
+ import {
11
+ drawPage as drawPage6
12
+ } from "./chunk-APBRV4W6.js";
13
+ import {
14
+ drawPage as drawPage8
15
+ } from "./chunk-ZYNF7B6N.js";
16
+ import {
17
+ drawPage as drawPage11
18
+ } from "./chunk-P23KECK3.js";
19
+ import {
20
+ drawPage as drawPage3
21
+ } from "./chunk-M2LWLS56.js";
22
+ import {
23
+ drawPage as drawPage5
24
+ } from "./chunk-X4UI5JKC.js";
25
+ import {
26
+ drawPage as drawPage2
27
+ } from "./chunk-COJM27N2.js";
28
+ import {
29
+ drawPage
30
+ } from "./chunk-ZY3DR3P6.js";
31
+ import {
32
+ drawPage as drawPage4
33
+ } from "./chunk-ZBFR7DBR.js";
34
+ import {
35
+ drawPage as drawPage10
36
+ } from "./chunk-UJTTWR5P.js";
37
+ import {
38
+ drawPage as drawPage9
39
+ } from "./chunk-XQJ2VVC6.js";
40
+ import {
41
+ comicMeta,
42
+ comicSetup
43
+ } from "./chunk-UBT4DZYW.js";
44
+ import {
45
+ defineTemplate
46
+ } from "./chunk-HLBQLOTA.js";
47
+ import {
48
+ Kit,
49
+ preset
50
+ } from "./chunk-2P7ISWIA.js";
51
+ import {
52
+ init_define_POPCRAFT_COMPONENT_IDS
53
+ } from "./chunk-FFS4SO7R.js";
54
+
55
+ // templates/src/print/comic-hero-issue.ts
56
+ init_define_POPCRAFT_COMPONENT_IDS();
57
+ var PAGES = [
58
+ ["Page 1", drawPage2],
59
+ ["Page 2", drawPage3],
60
+ ["Page 3", drawPage4],
61
+ ["Page 4", drawPage5],
62
+ ["Page 5", drawPage6],
63
+ ["Page 6", drawPage7],
64
+ ["Page 7", drawPage8],
65
+ ["Page 8", drawPage9],
66
+ ["Page 9", drawPage10],
67
+ ["Back cover", drawPage11]
68
+ ];
69
+ var comic_hero_issue_default = defineTemplate({
70
+ id: "comic-hero-issue",
71
+ meta: comicMeta("Whole comic issue (Nightstar)", '"Nightstar: Blackout", the whole action issue in one file: the cover, nine story pages in facing pages and the pin-up on the back, ready to print as a booklet', ["book", "issue", "story", "action"]),
72
+ sequence: true,
73
+ stableNumbers: true,
74
+ build() {
75
+ const k = new Kit("Whole comic issue (Nightstar)", preset("comic-cover"));
76
+ comicSetup(k);
77
+ k.doc = { ...k.doc, settings: { ...k.doc.settings, facingPages: true } };
78
+ const front = k.sheet;
79
+ k.nameSheet(front, "Front cover");
80
+ drawPage(k);
81
+ k.setCover(front);
82
+ for (const [name, draw] of PAGES) {
83
+ k.addSheet(preset("comic-page"), name);
84
+ draw(k);
85
+ }
86
+ return k.finish();
87
+ }
88
+ });
89
+
90
+ export {
91
+ comic_hero_issue_default
92
+ };
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-TE56ZVPG.js";
14
14
  import {
15
15
  activeHyperyTeamId
16
- } from "./chunk-HST5H23G.js";
16
+ } from "./chunk-JRQ4ZPRK.js";
17
17
  import {
18
18
  accessToken
19
19
  } from "./chunk-R22FHI7D.js";
@@ -15,14 +15,14 @@ import {
15
15
  } from "./chunk-CMBEGDWH.js";
16
16
  import {
17
17
  syncStatus
18
- } from "./chunk-AN3H4JWT.js";
18
+ } from "./chunk-APVJKUJP.js";
19
19
  import {
20
20
  downloadBlob
21
21
  } from "./chunk-TP7DFN6X.js";
22
22
  import {
23
23
  setPluginTabs,
24
24
  useEditorStore
25
- } from "./chunk-AXKXWL35.js";
25
+ } from "./chunk-WKKHCEXN.js";
26
26
  import {
27
27
  TOKEN_IDS,
28
28
  tokenVar
@@ -54,7 +54,7 @@ init_define_POPCRAFT_COMPONENT_IDS();
54
54
  // lib/plugins/api.ts
55
55
  init_define_POPCRAFT_COMPONENT_IDS();
56
56
  async function handlePluginCall(env, method, params = {}) {
57
- const { dispatchPluginCall } = await import("./plugin-P6FYIVKR.js");
57
+ const { dispatchPluginCall } = await import("./plugin-AN5GLVH5.js");
58
58
  return dispatchPluginCall(env, method, params);
59
59
  }
60
60
 
@@ -378,7 +378,7 @@ async function runPlugin(pluginId, commandId, opts = {}) {
378
378
  if (!opened) throw new Error("The browser blocked the new tab");
379
379
  },
380
380
  createDocument: async (opts2) => {
381
- const { createFreshFileOrExplain } = await import("./new-file-DX5L4NF6.js");
381
+ const { createFreshFileOrExplain } = await import("./new-file-RNWHN4S6.js");
382
382
  const created = await createFreshFileOrExplain({}, { name: opts2?.name });
383
383
  if (!created.ok) throw new Error(created.reason === "plan" ? "Plan limit reached" : created.reason === "guest-limit" ? "Sign in to create another file" : `Could not create file (${created.reason})`);
384
384
  await useEditorStore.getState().openDocument(created.docId);
@@ -538,7 +538,7 @@ if (typeof window !== "undefined") {
538
538
  const name = d.name || "Imported";
539
539
  void (async () => {
540
540
  try {
541
- const { importViaPlugin, applyPluginLayoutIr } = await import("./plugin-import-V2ORN2OW.js");
541
+ const { importViaPlugin, applyPluginLayoutIr } = await import("./plugin-import-J5ZNYSIY.js");
542
542
  if (d.ir && typeof d.ir === "object") {
543
543
  await applyPluginLayoutIr(d.ir, { mode, name });
544
544
  return;
@@ -59,19 +59,19 @@ async function renderDocument(doc, nodeIds, options) {
59
59
  function generateCapability(ctx) {
60
60
  return async (prompt, options = {}) => {
61
61
  if (options.format === "audio") {
62
- const { requestAudio } = await import("./client-5YPZUV5L.js");
62
+ const { requestAudio } = await import("./client-YF3PYAFZ.js");
63
63
  const { signal: signal2, format: _f, ...rest2 } = options;
64
64
  void _f;
65
65
  return requestAudio({ prompt, ...rest2 }, signal2 ?? ctx.signal);
66
66
  }
67
67
  if (options.format === "video") {
68
- const { generateVideoFile } = await import("./generate-media-ASNNFDML.js");
68
+ const { generateVideoFile } = await import("./generate-media-DYXU4BZL.js");
69
69
  const { format: _f, signal: signal2, ...rest2 } = options;
70
70
  void _f;
71
71
  return generateVideoFile({ ...rest2, prompt, doc: ctx.doc() }, { signal: signal2 ?? ctx.signal });
72
72
  }
73
73
  const [{ requestImage }, { effectiveImageModel, useAiStore }] = await Promise.all([
74
- import("./client-5YPZUV5L.js"),
74
+ import("./client-YF3PYAFZ.js"),
75
75
  import("./client-store-IP5BHSV5.js")
76
76
  ]);
77
77
  const modelId = effectiveImageModel(useAiStore.getState());
@@ -20,17 +20,17 @@ import {
20
20
  } from "./chunk-MARS64OQ.js";
21
21
  import {
22
22
  notice
23
- } from "./chunk-3MAEAHID.js";
23
+ } from "./chunk-6CRT7IDI.js";
24
24
  import {
25
25
  agentContext
26
- } from "./chunk-UM6QUOOH.js";
26
+ } from "./chunk-DZIPU2Q4.js";
27
27
  import {
28
28
  collabSession,
29
29
  syncStatus
30
- } from "./chunk-AN3H4JWT.js";
30
+ } from "./chunk-APVJKUJP.js";
31
31
  import {
32
32
  loadEntitlements
33
- } from "./chunk-IPEOO7PN.js";
33
+ } from "./chunk-CKBPEGTH.js";
34
34
  import {
35
35
  cloudApi
36
36
  } from "./chunk-PJY3DG52.js";
@@ -39,7 +39,7 @@ import {
39
39
  } from "./chunk-D5UTY5ZB.js";
40
40
  import {
41
41
  useEditorStore
42
- } from "./chunk-AXKXWL35.js";
42
+ } from "./chunk-WKKHCEXN.js";
43
43
  import {
44
44
  plansEnabled
45
45
  } from "./chunk-R22FHI7D.js";
@@ -13,7 +13,7 @@ import {
13
13
  agentTool,
14
14
  agentToolList,
15
15
  registerCommands
16
- } from "./chunk-UM6QUOOH.js";
16
+ } from "./chunk-DZIPU2Q4.js";
17
17
  import {
18
18
  dispatch
19
19
  } from "./chunk-7EEUGQZW.js";
@@ -12,7 +12,7 @@ import {
12
12
  countLabel,
13
13
  loadFixture,
14
14
  officialTemplateCount
15
- } from "./chunk-YT6TGRM4.js";
15
+ } from "./chunk-2PEG56PC.js";
16
16
  import {
17
17
  defineTemplate
18
18
  } from "./chunk-HLBQLOTA.js";
@@ -7,10 +7,10 @@ const __dirname = __popcraftDirname(__filename);
7
7
  import {
8
8
  builtinCommands,
9
9
  registerBuiltinCommands
10
- } from "./chunk-LE33OZ4V.js";
10
+ } from "./chunk-N2RBQBUE.js";
11
11
  import {
12
12
  toolView
13
- } from "./chunk-UM6QUOOH.js";
13
+ } from "./chunk-DZIPU2Q4.js";
14
14
  import {
15
15
  init_define_POPCRAFT_COMPONENT_IDS
16
16
  } from "./chunk-FFS4SO7R.js";
@@ -15,7 +15,16 @@ import {
15
15
  } from "./chunk-NVBXTTEP.js";
16
16
  import {
17
17
  comic_modern_issue_default
18
- } from "./chunk-PGUAHUFE.js";
18
+ } from "./chunk-XTFV46GB.js";
19
+ import {
20
+ comic_modern_nine_grid_default
21
+ } from "./chunk-ROIB32SA.js";
22
+ import {
23
+ comic_modern_page_classic_default
24
+ } from "./chunk-G3ZJPXTX.js";
25
+ import {
26
+ comic_modern_polyptych_default
27
+ } from "./chunk-3A7TOUVA.js";
19
28
  import {
20
29
  comic_modern_radial_default
21
30
  } from "./chunk-XJUSSPSN.js";
@@ -34,15 +43,6 @@ import {
34
43
  import {
35
44
  comic_modern_flashback_default
36
45
  } from "./chunk-7EDUMRSP.js";
37
- import {
38
- comic_modern_nine_grid_default
39
- } from "./chunk-ROIB32SA.js";
40
- import {
41
- comic_modern_page_classic_default
42
- } from "./chunk-G3ZJPXTX.js";
43
- import {
44
- comic_modern_polyptych_default
45
- } from "./chunk-3A7TOUVA.js";
46
46
  import {
47
47
  comic_book_issue_reel_default
48
48
  } from "./chunk-RF3GVBXN.js";
@@ -140,7 +140,7 @@ function startHyperyTeams() {
140
140
  maybePromptForTeam();
141
141
  void followFileTeam(linkedKey);
142
142
  });
143
- void import("./sync-U23VGFOY.js").then(({ onSyncStatus, syncStatus }) => {
143
+ void import("./sync-XT2ZCTVE.js").then(({ onSyncStatus, syncStatus }) => {
144
144
  linkedKey = syncStatus().link?.key ?? null;
145
145
  void followFileTeam(linkedKey);
146
146
  onSyncStatus((_s, link) => {
@@ -0,0 +1,81 @@
1
+ import { createRequire as __popcraftRequire } from 'node:module';
2
+ import { fileURLToPath as __popcraftPath } from 'node:url';
3
+ import { dirname as __popcraftDirname } from 'node:path';
4
+ const require = __popcraftRequire(import.meta.url);
5
+ const __filename = __popcraftPath(import.meta.url);
6
+ const __dirname = __popcraftDirname(__filename);
7
+ import {
8
+ init_define_POPCRAFT_COMPONENT_IDS
9
+ } from "./chunk-FFS4SO7R.js";
10
+
11
+ // templates/src/themes/comic-indie-art.ts
12
+ init_define_POPCRAFT_COMPONENT_IDS();
13
+ var INDIE_ART = {
14
+ "gag-1": { hash: "7278309005e257083761d335f87c1ea2", width: 1280, height: 853, subject: "Wide shot of a cluttered sunny flat kitchen in the morning: Theo carries a stack of empty cardboard boxes past Juno, who sits at the table with a coffee mug, not looking up." },
15
+ "gag-2": { hash: "74c096aec779b8b2d3dd47dd0d02d93b", width: 1280, height: 853, subject: "Same kitchen, same framing: Theo carries an even taller stack of cardboard boxes past Juno, who now peers over her mug at him." },
16
+ "gag-3": { hash: "a8dbddf1dd83322ed04c2ab535638359", width: 1280, height: 853, subject: "Same kitchen: the boxes are stacked to the ceiling, Juno stands up, arms folded, eyebrow raised at Theo who freezes guiltily." },
17
+ "gag-4": { hash: "01fa53b2ac15ff9dfc7b533e9ac1df57", width: 1280, height: 853, subject: "Close medium shot: Theo sheepishly offers Juno a single roll of packing tape like a gift, Juno deadpan." },
18
+ "strip-1": { hash: "703aed5d82aa21a0a7cab51feab13bee", width: 1280, height: 853, subject: "Juno opens the flat's front door to find Mrs Okafor holding a huge leggy tomato plant in a pot, warm hallway light." },
19
+ "strip-2": { hash: "23a1d00f97b7e08e75eaf84714d789c3", width: 1280, height: 853, subject: "Mrs Okafor pushes the tomato plant into Juno's arms, smiling knowingly; Juno awkward, leaves in her face." },
20
+ "strip-3": { hash: "d7492163159c81911b0e81776946286c", width: 1280, height: 853, subject: "Juno alone in the hallway hugging the giant tomato plant, looking toward a half-packed box in the background, a little lost." },
21
+ "talk-1": { hash: "b9ea25bab982909e9883639ba12f0a86", width: 1280, height: 853, subject: "Two-shot: Juno and Theo sit at opposite ends of a worn green sofa in a small living room at dusk, lamp light, boxes behind them." },
22
+ "talk-2": { hash: "87f0dba9b035f0c3464211cb208ae348", width: 853, height: 1280, subject: "Close-up profile of Theo facing right, eyes down, rubbing the back of his neck, warm lamp light." },
23
+ "talk-3": { hash: "c81ce1b77f0e3a030e56cc8753b633d5", width: 853, height: 1280, subject: "Close-up profile of Juno facing left, jaw set, glasses catching lamp light." },
24
+ "talk-4": { hash: "a85bb81ceb51c2571a75de40f4fa7369", width: 853, height: 1280, subject: "Close-up of Theo turning to face us, earnest, a small apologetic smile." },
25
+ "talk-5": { hash: "d71d59b54e57edcd73744e754fd9e1a2", width: 853, height: 1280, subject: "Close-up of Juno looking away out a window, sunset colours on her face, eyes wet but not crying." },
26
+ "talk-6": { hash: "23f5f1d9ed62e4a581b6d100da88ca7b", width: 1280, height: 853, subject: "Two-shot from behind the sofa: Juno and Theo now sitting closer, both looking at the window, shoulders almost touching." },
27
+ "silent-1": { hash: "c720a8acf2f8d1327884e800a82b8fbb", width: 1280, height: 853, subject: "Juno walks out of a red-brick terraced house onto a quiet tree-lined street at golden hour, hands in cardigan pockets." },
28
+ "silent-2": { hash: "9512d89de474ecc6993d23db349b7bc7", width: 1024, height: 1024, subject: "Juno passes a corner shop with crates of fruit outside, glancing at a cafe where two chairs sit empty." },
29
+ "silent-3": { hash: "3c96304d31faebcf83fabf1139bae4b5", width: 1024, height: 1024, subject: "Close-up of Juno's hand brushing along a chain-link fence covered in morning glories." },
30
+ "silent-4": { hash: "f6000b487b383f1f80659128b5f2e918", width: 1024, height: 1024, subject: "Juno stops on a small footbridge over a canal, leaning on the rail, sunset reflecting in the water." },
31
+ "silent-5": { hash: "11a48aed6ac5a63ee1f2453ed9158310", width: 1024, height: 1024, subject: "A narrowboat drifts under the footbridge on a golden canal, ducks in its wake, no people visible." },
32
+ "silent-6": { hash: "49f8e54dd649900ebf68d781355dc68d", width: 1280, height: 853, subject: "Juno, small in the frame, sits on a bench by the canal under a huge orange evening sky." },
33
+ "neg-1": { hash: "a4e2acb20644b2676056e5a77cbe2c54", width: 853, height: 1280, subject: "Juno sits alone on the worn wooden stairs of an old apartment stairwell, knees hugged, single warm light from above, lots of dark shadow." },
34
+ "neg-2": { hash: "91581bb8ab834a4f3726fe7b67c2454c", width: 1024, height: 1024, subject: "Mrs Okafor lowers herself to sit beside Juno on the stairs, offering her a small paper bag of plums." },
35
+ "neg-3": { hash: "add60674b9245b03ff9f05a695da729b", width: 1280, height: 853, subject: "Juno and Mrs Okafor seen small from the top of the stairwell, sitting side by side eating plums, deep shadows around them." },
36
+ "riso-1": { hash: "885801e1cd1c8e6afd5413c22f3a0423", width: 1280, height: 853, subject: "Flashback, years earlier: younger Juno and Theo struggle to carry a green sofa up a narrow staircase, laughing." },
37
+ "riso-2": { hash: "3f1f03442ea4c3f235e1677bc29baf8e", width: 1024, height: 1024, subject: "Flashback: Juno and Theo sitting on the floor of an empty flat eating takeaway noodles from cartons by candlelight." },
38
+ "riso-3": { hash: "7f28cf9edf034e02648cecc863dfddac", width: 1024, height: 1024, subject: "Flashback: Theo painting a wall of the empty flat a warm terracotta colour, paint on his nose." },
39
+ "riso-4": { hash: "d3215f1687917d6c093c326b766b98c2", width: 1024, height: 1024, subject: "Flashback: younger Mrs Okafor in her doorway hands Juno a spare key on a red string." },
40
+ "riso-5": { hash: "f842fdebf33c9e05df871ef7ff94a65e", width: 1024, height: 1024, subject: "Flashback: Juno putting a small tomato seedling in a pot on a windowsill." },
41
+ "riso-6": { hash: "d5d1426f40a95fd777cc85feefec496d", width: 1280, height: 853, subject: "Flashback: Juno and Theo asleep on the green sofa in the unpacked flat, morning sun pouring in." },
42
+ "zine-1": { hash: "5d076bd8c3c6a0e13dd3bfa6e365d96c", width: 1024, height: 1024, subject: "Juno and Theo sprawled on the living-room floor drawing a party flyer with markers, scissors and glue around them." },
43
+ "zine-2": { hash: "a9481090802497624cb73a623e5eb2b7", width: 1024, height: 1024, subject: "Theo cutting out a paper sun shape with scissors, tongue poking out in concentration." },
44
+ "zine-3": { hash: "57fa82febd9a935169d62325a0e1e4c6", width: 1024, height: 1024, subject: "Juno feeding a sheet into an old photocopier in a tiny print shop lit pink." },
45
+ "zine-4": { hash: "db42a2bb05dd170319d2f69ee7381ecf", width: 1024, height: 1024, subject: "Juno and Theo holding up warm fresh photocopies, grinning, in the print shop." },
46
+ "zine-5": { hash: "aadef44e85bd40011e22b2b6fa96a92e", width: 1024, height: 1024, subject: "Juno taping a flyer to a lamp post on the street at evening." },
47
+ "zine-6": { hash: "fc15cc0a1d2b05148bd79042c9094378", width: 1024, height: 1024, subject: "Mrs Okafor reading a flyer slid under her door, smiling, reading glasses on her nose." },
48
+ "web-1": { hash: "c3d34559e732a1489f6f38746fd0b1b5", width: 1280, height: 853, subject: "Juno and Theo climb a ladder through a hatch onto a flat tar rooftop carrying a tangle of string lights." },
49
+ "web-2": { hash: "6a4e270e1205bcf3d96fabed6c73f32f", width: 1280, height: 853, subject: "Theo balancing on an upturned crate hanging string lights between two chimneys, sky turning orange." },
50
+ "web-3": { hash: "c59a21c74bf19a77966eb9f5d1855d23", width: 1280, height: 853, subject: "Juno arranging mismatched chairs and potted plants on the rooftop, the tomato plant in pride of place." },
51
+ "web-4": { hash: "f74227b40602a67fee78ff5716a59f15", width: 1280, height: 853, subject: "Close-up of string lights flickering on against a deep orange and violet sky over rooftops." },
52
+ "web-5": { hash: "1b5867887ae2ef854abacce4265074ab", width: 1280, height: 853, subject: "Wide shot: the finished rooftop with glowing lights, Juno and Theo standing back admiring it, city skyline at dusk." },
53
+ "manga-1": { hash: "26bc139ef62bce888d2c74f9ed2cd3b2", width: 1280, height: 853, subject: "Lively rooftop party at dusk: friends dancing under string lights, Mrs Okafor holding a plate of food, Juno and Theo laughing in the middle." },
54
+ "manga-2": { hash: "38042d09bd02f9a1705ac3c5d762aaa5", width: 853, height: 1280, subject: "Mrs Okafor dancing with surprising energy, arms raised, under the string lights." },
55
+ "manga-3": { hash: "7293bb7864906a4ca7e032fcec439e22", width: 1024, height: 1024, subject: "Close-up: a fat raindrop splashes onto a paper plate of jollof rice on the rooftop." },
56
+ "manga-4": { hash: "20905e8fc620309c95b8e0791f5106eb", width: 1280, height: 853, subject: "Sudden heavy summer rain on the rooftop, Juno and Theo scrambling to cover the record player with a jacket, both soaked and laughing." },
57
+ "manga-5": { hash: "e25acbb7127fa8477f3883c00de13b57", width: 1024, height: 1024, subject: "Mrs Okafor calmly opening a huge golf umbrella in the rain." },
58
+ "manga-6": { hash: "86c6caef7d63da6bd2de241dc797f929", width: 1280, height: 853, subject: "Juno, Theo and Mrs Okafor squeezed together under one big umbrella on the wet rooftop, lights reflecting in puddles." },
59
+ "icon-1": { hash: "1356a79a188f5eef8fe728b918b7f557", width: 900, height: 900, subject: "Two mismatched coffee mugs side by side on a sunlit kitchen windowsill, still life." },
60
+ "icon-2": { hash: "389c17f33c4caa20ebce699d7c54193d", width: 900, height: 900, subject: "A ring of keys on a red string hanging on a hook by a door, still life." },
61
+ "icon-3": { hash: "fed8cc1df96978caa384a1145334c228", width: 900, height: 900, subject: "A potted tomato plant heavy with red tomatoes on a windowsill, still life." },
62
+ "icon-4": { hash: "470f93f1619abe9669fec1f8380868ca", width: 900, height: 900, subject: "A stack of vinyl records leaning against a green sofa, still life." },
63
+ "icon-5": { hash: "5d7e780cb6c9885df54232c4557a2992", width: 900, height: 900, subject: "A taped cardboard box with a bicycle helmet on top, still life." },
64
+ "icon-6": { hash: "dfc999e2f0c13dd3d7831a5cb7199650", width: 900, height: 900, subject: "A wall with a terracotta-painted patch and pencil height marks, still life." },
65
+ "icon-7": { hash: "658b68e0fdd56fe3463d06db380e82d9", width: 900, height: 900, subject: "Two toothbrushes in one cup in a small tiled bathroom, still life." },
66
+ "icon-8": { hash: "419e000f9e5f13053a2bdb5def981789", width: 900, height: 900, subject: "A rumpled blanket on an empty green sofa in evening light, still life." },
67
+ "icon-9": { hash: "d923966ad48dda7a1ca0ab4bed402661", width: 900, height: 900, subject: "An open window with a curtain blowing, a sunset sky outside, still life." },
68
+ "hour-1": { hash: "a3d065213622660994c37684a5b576a1", width: 1280, height: 853, subject: "Wide shot: Juno and Theo sit on the edge of the rooftop at sunset, legs dangling, the city spread below." },
69
+ "hour-2": { hash: "3d8f4de451b45e44fc2f985c40c1a76c", width: 1280, height: 853, subject: "Medium shot: Theo hands Juno one of the red-string spare keys, Juno looks at it." },
70
+ "hour-3": { hash: "199e5d72656c0a6201fc3660cd5ef6e7", width: 1024, height: 1024, subject: "Extreme close-up of Juno's hand closing around a key on a red string, sunset light." },
71
+ "hour-4": { hash: "58726efa52734b9f560123c086b44ded", width: 1280, height: 853, subject: "Juno rests her head on Theo's shoulder, both looking at the sunset, back view." },
72
+ "hour-5": { hash: "823c59f93e221b37145a2e6fb346d1d3", width: 1280, height: 853, subject: "Very wide shot: two tiny silhouettes on the rooftop against an enormous orange and pink sunset sky." },
73
+ "back-1": { hash: "be8e16cc738e2a3c6c15a426534885ba", width: 900, height: 900, subject: "Theo waving from the window of a departing train, a duffel bag beside him, morning light." },
74
+ "back-2": { hash: "76cabed26da043b88bb115fb65bf45a7", width: 900, height: 900, subject: "Juno and Mrs Okafor watering the tomato plant together on a sunny windowsill, smiling." }
75
+ };
76
+ var indieArt = (id) => `media://${INDIE_ART[id].hash}`;
77
+
78
+ export {
79
+ INDIE_ART,
80
+ indieArt
81
+ };
@@ -0,0 +1,65 @@
1
+ import { createRequire as __popcraftRequire } from 'node:module';
2
+ import { fileURLToPath as __popcraftPath } from 'node:url';
3
+ import { dirname as __popcraftDirname } from 'node:path';
4
+ const require = __popcraftRequire(import.meta.url);
5
+ const __filename = __popcraftPath(import.meta.url);
6
+ const __dirname = __popcraftDirname(__filename);
7
+ import {
8
+ FOLIO,
9
+ caption,
10
+ comicMeta,
11
+ comicSetup,
12
+ folio,
13
+ pageGrid,
14
+ panel,
15
+ rows,
16
+ say,
17
+ sfx,
18
+ tier,
19
+ tierBox
20
+ } from "./chunk-UBT4DZYW.js";
21
+ import {
22
+ defineTemplate
23
+ } from "./chunk-HLBQLOTA.js";
24
+ import {
25
+ Kit,
26
+ preset
27
+ } from "./chunk-2P7ISWIA.js";
28
+ import {
29
+ init_define_POPCRAFT_COMPONENT_IDS
30
+ } from "./chunk-FFS4SO7R.js";
31
+
32
+ // templates/src/print/comic-hero-widescreen.ts
33
+ init_define_POPCRAFT_COMPONENT_IDS();
34
+ var comic_hero_widescreen_default = defineTemplate({
35
+ id: "comic-widescreen",
36
+ meta: comicMeta("Widescreen page", 'Page three of "Nightstar: Blackout": four letterbox frames, one under the other like a film, as Rosa rides home, Voltrix lands in the avenue, her bike goes flying and he stands over her', ["widescreen", "cinematic", "letterbox", "sound effects"]),
37
+ stableNumbers: true,
38
+ build() {
39
+ const k = new Kit("Widescreen page", preset("comic-page"));
40
+ comicSetup(k);
41
+ drawPage(k);
42
+ return k.finish();
43
+ }
44
+ });
45
+ function drawPage(k) {
46
+ const g = 12, { W, H } = pageGrid(k, k.sheet, 36, g);
47
+ const hs = rows(H - FOLIO, g, [1, 1, 1, 1]);
48
+ const pics = ["wide-1", "wide-2", "wide-3", "wide-4"];
49
+ const names = ["Rosa rides home", "Voltrix lands", "Thrown", "Cornered"];
50
+ const tiers = hs.map((h, i) => {
51
+ const t = tierBox(k, k.sheet, W, h, `Tier ${i + 1}`);
52
+ panel(k, t, tier(W, h, [1], g)[0], pics[i], { ground: ["heroG1", "heroG2", "heroG3", "heroG1"][i], name: names[i] });
53
+ return t;
54
+ });
55
+ caption(k, tiers[0], "Rosa Vega. Last delivery of the night.", { x: 10, y: 10, width: 220 });
56
+ sfx(k, tiers[1], "Kra-thoom!", { x: W - 330, y: 8, w: 300, h: 110, deg: -6, big: false, seed: 3 });
57
+ say(k, tiers[2], "No no no\u2014", { x: W - 120, y: 12, width: 96, to: { x: W * 0.62, y: hs[2] * 0.45 } });
58
+ say(k, tiers[3], "Wrong street, kid.", { x: 12, y: 12, width: 128, to: { x: W * 0.38, y: hs[3] * 0.3 } });
59
+ folio(k, k.sheet, "Nightstar: Blackout \u2014 page 3");
60
+ }
61
+
62
+ export {
63
+ comic_hero_widescreen_default,
64
+ drawPage
65
+ };
@@ -8,7 +8,7 @@ import {
8
8
  needsSelection,
9
9
  pageGo,
10
10
  selectionIsPicture
11
- } from "./chunk-LE33OZ4V.js";
11
+ } from "./chunk-N2RBQBUE.js";
12
12
  import {
13
13
  external_exports
14
14
  } from "./chunk-BQXNFA5K.js";
@@ -31,7 +31,7 @@ var none = external_exports.object({});
31
31
  var emit = (name, detail) => {
32
32
  if (typeof window !== "undefined") window.dispatchEvent(new CustomEvent(name, { detail }));
33
33
  };
34
- var store = () => import("./editor-store-NDV4IXDK.js").then((m) => m.useEditorStore.getState());
34
+ var store = () => import("./editor-store-UAEROYSB.js").then((m) => m.useEditorStore.getState());
35
35
  var MODE_IDS = MODE_LIST.map((m) => m.id);
36
36
  var MODE_ALIASES = { JAM: "POPCORN" };
37
37
  var modeSet = defineCommand({
@@ -209,7 +209,7 @@ var aiOpen = defineCommand({
209
209
  ] } },
210
210
  run: async ({ dialog, skillId }) => {
211
211
  if (dialog) (await import("./client-store-IP5BHSV5.js")).openAiDialog(dialog);
212
- else (await import("./store-CUL3XS5L.js")).openAgentPanel({ skillId: skillId ?? null });
212
+ else (await import("./store-ZVOK3773.js")).openAgentPanel({ skillId: skillId ?? null });
213
213
  return { summary: dialog ? `Opened AI ${dialog}` : "Opened the agent" };
214
214
  }
215
215
  });
@@ -288,11 +288,11 @@ var toolPlace = defineCommand({
288
288
  run: async ({ what }) => {
289
289
  if (what === "media") {
290
290
  const s = await store();
291
- const { placeMediaFromPicker } = await import("./media-tool-OVVKBD3N.js");
291
+ const { placeMediaFromPicker } = await import("./media-tool-YFIYMYI5.js");
292
292
  await placeMediaFromPicker({ kind: "point", x: s.camera.x, y: s.camera.y });
293
293
  return { summary: "Placing media" };
294
294
  }
295
- const { beginEyedrop } = await import("./eyedropper-L5DVFZV5.js");
295
+ const { beginEyedrop } = await import("./eyedropper-3P75IZGM.js");
296
296
  void beginEyedrop();
297
297
  return { summary: "Pick a color" };
298
298
  }
@@ -310,7 +310,7 @@ var nodeRasterize = defineCommand({
310
310
  keywords: ["rasterize", "raster", "flatten", "pixels", "paint layer", "erase", "bitmap"]
311
311
  } },
312
312
  run: async () => {
313
- const { flattenSelectionToPaintLayer } = await import("./raster-actions-4E7H3G62.js");
313
+ const { flattenSelectionToPaintLayer } = await import("./raster-actions-IVIGDYQU.js");
314
314
  await flattenSelectionToPaintLayer();
315
315
  return { summary: "Rasterized" };
316
316
  }
@@ -421,7 +421,7 @@ function pluginCommand(plugins) {
421
421
  params: external_exports.object({ pluginId: external_exports.string(), commandId: external_exports.string() }),
422
422
  expose: { ui: { label: "Run plugin", keywords: ["plugin", "extension", "run"], variants, palette: variants.length ? void 0 : false } },
423
423
  run: async ({ pluginId, commandId }) => {
424
- await (await import("./host-5DYGKFJ7.js")).runPlugin(pluginId, commandId);
424
+ await (await import("./host-J4QG5WB7.js")).runPlugin(pluginId, commandId);
425
425
  return { summary: "Plugin started" };
426
426
  }
427
427
  });