@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.
- package/dist/chunks/{agent-CGSIEC2R.js → agent-LNZDZLDR.js} +1 -1
- package/dist/chunks/{build-AUXXY3JX.js → build-AKMRSWRB.js} +2 -2
- package/dist/chunks/{builtin-Q5UN4DWS.js → builtin-KY56DU2Y.js} +3 -3
- package/dist/chunks/{check-template-2EKU4JL7.js → check-template-OYCBJNDF.js} +2 -2
- package/dist/chunks/{chunk-YT6TGRM4.js → chunk-2PEG56PC.js} +40 -26
- package/dist/chunks/{chunk-KOKO3HTP.js → chunk-3NI5OGFT.js} +1 -1
- package/dist/chunks/{chunk-TQPKOPCW.js → chunk-3ZO43HDI.js} +2 -2
- package/dist/chunks/{chunk-MJ6VIF3D.js → chunk-4X5G4QPZ.js} +1 -1
- package/dist/chunks/{chunk-3MAEAHID.js → chunk-6CRT7IDI.js} +2 -2
- package/dist/chunks/chunk-6S72I27Z.js +194 -0
- package/dist/chunks/chunk-7DKGI65Y.js +305 -0
- package/dist/chunks/chunk-APBRV4W6.js +71 -0
- package/dist/chunks/{chunk-AN3H4JWT.js → chunk-APVJKUJP.js} +4 -4
- package/dist/chunks/chunk-CGNNKKW7.js +70 -0
- package/dist/chunks/{chunk-IPEOO7PN.js → chunk-CKBPEGTH.js} +2 -2
- package/dist/chunks/chunk-COJM27N2.js +73 -0
- package/dist/chunks/chunk-CVB5F7FJ.js +92 -0
- package/dist/chunks/{chunk-DVX7UAKA.js → chunk-DQ7AF2R5.js} +1 -1
- package/dist/chunks/{chunk-UHQTNURS.js → chunk-DVD56API.js} +5 -5
- package/dist/chunks/{chunk-UM6QUOOH.js → chunk-DZIPU2Q4.js} +3 -3
- package/dist/chunks/{chunk-7QYQVENQ.js → chunk-FC2FGSU2.js} +5 -5
- package/dist/chunks/{chunk-T2GF6JE3.js → chunk-GAZ57RX2.js} +1 -1
- package/dist/chunks/{chunk-R3D5OMSG.js → chunk-GF6N47NL.js} +1 -1
- package/dist/chunks/{chunk-3DNAX4HN.js → chunk-HBPURYPZ.js} +2 -2
- package/dist/chunks/{chunk-7J4MGACN.js → chunk-HN2A65AT.js} +10 -10
- package/dist/chunks/{chunk-HST5H23G.js → chunk-JRQ4ZPRK.js} +1 -1
- package/dist/chunks/chunk-LP7LPUQJ.js +81 -0
- package/dist/chunks/chunk-M2LWLS56.js +65 -0
- package/dist/chunks/{chunk-GT5X67P7.js → chunk-MFPMMKHP.js} +7 -7
- package/dist/chunks/{chunk-LE33OZ4V.js → chunk-N2RBQBUE.js} +43 -43
- package/dist/chunks/{chunk-DUYDXAR5.js → chunk-O3W7HYS7.js} +1 -1
- package/dist/chunks/chunk-OXI222BA.js +54 -0
- package/dist/chunks/chunk-P23KECK3.js +57 -0
- package/dist/chunks/{chunk-LNQN4PGS.js → chunk-P5M5QCAJ.js} +24 -24
- package/dist/chunks/{chunk-X3HT5IHG.js → chunk-POZOGQG7.js} +11 -11
- package/dist/chunks/{chunk-K7OOOI7B.js → chunk-QGE2XW66.js} +4 -4
- package/dist/chunks/{chunk-STG7FEIQ.js → chunk-S4Y3VMQH.js} +3 -3
- package/dist/chunks/chunk-UBT4DZYW.js +304 -0
- package/dist/chunks/chunk-UJTTWR5P.js +71 -0
- package/dist/chunks/{chunk-652VC4P7.js → chunk-UNAAYJKD.js} +39 -39
- package/dist/chunks/{chunk-AXKXWL35.js → chunk-WKKHCEXN.js} +5 -5
- package/dist/chunks/chunk-X22CGIKE.js +75 -0
- package/dist/chunks/chunk-X4UI5JKC.js +74 -0
- package/dist/chunks/chunk-XQJ2VVC6.js +69 -0
- package/dist/chunks/{chunk-CQ6QGYKJ.js → chunk-YI7HCLNY.js} +1 -1
- package/dist/chunks/{chunk-CVWIMZTL.js → chunk-YOYWFBRJ.js} +53 -53
- package/dist/chunks/chunk-ZBFR7DBR.js +70 -0
- package/dist/chunks/{chunk-KO24NRJ5.js → chunk-ZW7KTUDU.js} +2 -2
- package/dist/chunks/chunk-ZY3DR3P6.js +63 -0
- package/dist/chunks/chunk-ZYNF7B6N.js +70 -0
- package/dist/chunks/{client-NBSGVJPN.js → client-ORABD53R.js} +2 -2
- package/dist/chunks/{client-5YPZUV5L.js → client-YF3PYAFZ.js} +2 -2
- package/dist/chunks/{client-3FYDPRVC.js → client-YOSPARZX.js} +1 -1
- package/dist/chunks/{client-actions-J2SQWW4O.js → client-actions-LYJHQ4IE.js} +4 -4
- package/dist/chunks/{dangerous-3EDPWONV.js → dangerous-VCZB63L6.js} +3 -3
- package/dist/chunks/{editor-seams-NG3BESM6.js → editor-seams-4PF6BD4R.js} +9 -9
- package/dist/chunks/{editor-store-NDV4IXDK.js → editor-store-UAEROYSB.js} +1 -1
- package/dist/chunks/{export-watermark-SNBNUS3L.js → export-watermark-2N7ALJXN.js} +5 -5
- package/dist/chunks/{eyedropper-L5DVFZV5.js → eyedropper-3P75IZGM.js} +1 -1
- package/dist/chunks/{generate-media-ASNNFDML.js → generate-media-DYXU4BZL.js} +2 -2
- package/dist/chunks/{host-5DYGKFJ7.js → host-J4QG5WB7.js} +6 -6
- package/dist/chunks/{integrations-2BG5XVX3.js → integrations-KGJ2HE6V.js} +1 -1
- package/dist/chunks/{kit-modules-NMONCEP4.js → kit-modules-4HQU5EI2.js} +1 -1
- package/dist/chunks/{libraries-QV4QPEYK.js → libraries-NIRTR2IA.js} +5 -5
- package/dist/chunks/{live-EI26E2RB.js → live-XZKNAJ2I.js} +3 -3
- package/dist/chunks/{media-tool-OVVKBD3N.js → media-tool-YFIYMYI5.js} +1 -1
- package/dist/chunks/{new-file-DX5L4NF6.js → new-file-RNWHN4S6.js} +3 -3
- package/dist/chunks/{plugin-P6FYIVKR.js → plugin-AN5GLVH5.js} +2 -2
- package/dist/chunks/{plugin-import-V2ORN2OW.js → plugin-import-J5ZNYSIY.js} +13 -13
- package/dist/chunks/{presence-YNIJGI73.js → presence-YNSLRFAM.js} +2 -2
- package/dist/chunks/{project-UK457FEX.js → project-HSN7DOPK.js} +1 -1
- package/dist/chunks/{publish-site-E4A557HC.js → publish-site-T2C4IDD2.js} +6 -6
- package/dist/chunks/{publish-store-U5SDQCU4.js → publish-store-I2FOGDDF.js} +4 -4
- package/dist/chunks/{raster-actions-4E7H3G62.js → raster-actions-IVIGDYQU.js} +1 -1
- package/dist/chunks/{runner-DHWGPGPD.js → runner-IOXTGHBT.js} +16 -16
- package/dist/chunks/{store-CUL3XS5L.js → store-ZVOK3773.js} +5 -5
- package/dist/chunks/{sync-U23VGFOY.js → sync-XT2ZCTVE.js} +5 -5
- package/dist/chunks/{tabs-K6MESOUX.js → tabs-RIIW7KNI.js} +8 -8
- package/dist/chunks/{team-7APVVP43.js → team-KM3FZ6AU.js} +1 -1
- package/dist/chunks/{team-client-XTH5DXVW.js → team-client-2EXJKRDB.js} +1 -1
- package/dist/chunks/{tools-PE6DEYSG.js → tools-5ISIPPXP.js} +2 -2
- package/dist/chunks/{ui-commands-WQJFLB5K.js → ui-commands-GYCIF7UQ.js} +11 -11
- package/dist/chunks/{versions-Y4F3IO37.js → versions-JCQTXXUB.js} +5 -5
- package/dist/fonts/chars.txt +1 -1
- package/dist/index.js +4 -4
- package/dist/seed/files.json +1 -1
- package/dist/seed/popcraft.comic-nested.json.gz +0 -0
- package/dist/seed/popcraft.comic-pinup.json.gz +0 -0
- package/dist/templates/count.js +1 -1
- package/dist/templates/index.js +226 -210
- package/dist/templates/index.json +663 -0
- package/dist/templates/motion/landing-hero/index.js +4 -4
- package/dist/templates/motion/launch-trailer/document.js +226 -210
- package/dist/templates/motion/launch-trailer/index.js +4 -4
- package/dist/templates/motion/launch-trailer/scenes.js +3 -3
- package/dist/templates/motion/template-wall.js +2 -2
- package/dist/templates/print/comic-hero-cascade.js +100 -0
- package/dist/templates/print/comic-hero-chase.js +100 -0
- package/dist/templates/print/comic-hero-cover-modern.js +100 -0
- package/dist/templates/print/comic-hero-grid-break.js +100 -0
- package/dist/templates/print/comic-hero-interrogation.js +100 -0
- package/dist/templates/print/comic-hero-issue.js +109 -0
- package/dist/templates/print/comic-hero-manga-action.js +100 -0
- package/dist/templates/print/comic-hero-nested.js +100 -0
- package/dist/templates/print/comic-hero-overlap.js +100 -0
- package/dist/templates/print/comic-hero-parallel.js +100 -0
- package/dist/templates/print/comic-hero-pinup.js +100 -0
- package/dist/templates/print/comic-hero-widescreen.js +100 -0
- package/dist/templates/print/comic-modern-issue.js +4 -4
- package/dist/templates/saas/email-decks.js +2 -2
- package/dist/templates/saas/index.js +62 -62
- package/dist/templates/saas/launch-kit.js +5 -5
- package/dist/templates/saas/launch-video.js +2 -2
- package/dist/templates/saas/stores.js +4 -4
- package/dist/templates/slideshow/index.js +3 -3
- package/dist/templates/themes/bauhaus.js +2 -2
- package/dist/templates/themes/black-friday-coupons.js +2 -2
- package/dist/templates/themes/blueprint.js +2 -2
- package/dist/templates/themes/claymation.js +2 -2
- package/dist/templates/themes/comic-book.js +5 -5
- package/dist/{chunks/chunk-ATEECJLR.js → templates/themes/comic-hero-art.js} +11 -9
- package/dist/templates/themes/comic-hero-page.js +67 -0
- package/dist/templates/themes/comic-hero.js +97 -1
- package/dist/{chunks/chunk-ODXZPZKI.js → templates/themes/comic-indie-art.js} +7 -9
- package/dist/templates/themes/comic-indie-page.js +47 -0
- package/dist/templates/themes/comic-indie.js +85 -1
- package/dist/templates/themes/cyberpunk.js +2 -2
- package/dist/templates/themes/everyday.js +2 -2
- package/dist/templates/themes/festival-presale-family-a.js +2 -2
- package/dist/templates/themes/festival-presale-family-b.js +2 -2
- package/dist/templates/themes/holidays.js +11 -11
- package/dist/templates/themes/index.js +127 -111
- package/dist/templates/themes/lunar-new-year.js +2 -2
- package/dist/templates/themes/manuscript.js +2 -2
- package/dist/templates/themes/memories.js +5 -5
- package/dist/templates/themes/noir.js +2 -2
- package/dist/templates/themes/printshop.js +14 -14
- package/dist/templates/themes/psychedelic.js +2 -2
- package/dist/templates/themes/space-opera.js +2 -2
- package/dist/templates/themes/studio.js +2 -2
- package/dist/templates/themes/tour-tickets.js +2 -2
- package/package.json +1 -1
- package/src/templates/print/comic-hero-cascade.ts +42 -0
- package/src/templates/print/comic-hero-chase.ts +42 -0
- package/src/templates/print/comic-hero-cover-modern.ts +34 -0
- package/src/templates/print/comic-hero-grid-break.ts +39 -0
- package/src/templates/print/comic-hero-interrogation.ts +41 -0
- package/src/templates/print/comic-hero-issue.ts +44 -0
- package/src/templates/print/comic-hero-manga-action.ts +38 -0
- package/src/templates/print/comic-hero-nested.ts +39 -0
- package/src/templates/print/comic-hero-overlap.ts +40 -0
- package/src/templates/print/comic-hero-parallel.ts +40 -0
- package/src/templates/print/comic-hero-pinup.ts +29 -0
- package/src/templates/print/comic-hero-widescreen.ts +35 -0
- package/src/templates/themes/comic-hero-art.ts +66 -0
- package/src/templates/themes/comic-hero-page.ts +326 -0
- package/src/templates/themes/comic-hero.ts +15 -2
- package/src/templates/themes/comic-indie-art.ts +73 -0
- package/src/templates/themes/comic-indie-page.ts +182 -0
- package/src/templates/themes/comic-indie.ts +280 -2
- package/types/templates/src/print/comic-hero-cascade.d.ts +5 -0
- package/types/templates/src/print/comic-hero-chase.d.ts +5 -0
- package/types/templates/src/print/comic-hero-cover-modern.d.ts +5 -0
- package/types/templates/src/print/comic-hero-grid-break.d.ts +5 -0
- package/types/templates/src/print/comic-hero-interrogation.d.ts +5 -0
- package/types/templates/src/print/comic-hero-issue.d.ts +2 -0
- package/types/templates/src/print/comic-hero-manga-action.d.ts +5 -0
- package/types/templates/src/print/comic-hero-nested.d.ts +5 -0
- package/types/templates/src/print/comic-hero-overlap.d.ts +5 -0
- package/types/templates/src/print/comic-hero-parallel.d.ts +5 -0
- package/types/templates/src/print/comic-hero-pinup.d.ts +5 -0
- package/types/templates/src/print/comic-hero-widescreen.d.ts +5 -0
- package/types/templates/src/themes/comic-hero-art.d.ts +318 -0
- package/types/templates/src/themes/comic-hero-page.d.ts +177 -0
- package/types/templates/src/themes/comic-indie-art.d.ts +371 -0
- package/types/templates/src/themes/comic-indie-page.d.ts +125 -0
- package/dist/chunks/{chunk-BAZUZXS6.js → chunk-2BVGM5PJ.js} +3 -3
- package/dist/chunks/{chunk-WXY6LWRB.js → chunk-2J3PCCBE.js} +3 -3
- package/dist/chunks/{chunk-RH6WJNB4.js → chunk-2ZOSBENB.js} +3 -3
- package/dist/chunks/{chunk-FLXSWF6O.js → chunk-5GSRWIV2.js} +3 -3
- package/dist/chunks/{chunk-2WCMIJSA.js → chunk-5NGWNEKU.js} +3 -3
- package/dist/chunks/{chunk-IUK367P7.js → chunk-5PSOLUKI.js} +0 -0
- package/dist/chunks/{chunk-RUBJMQMF.js → chunk-7A3MIEOO.js} +3 -3
- package/dist/chunks/{chunk-R66IPFG4.js → chunk-7D46BJKY.js} +32 -32
- package/dist/chunks/{chunk-6H5ULKBL.js → chunk-7KFQX6N5.js} +3 -3
- package/dist/chunks/{chunk-EWGXFNXM.js → chunk-DF5IDTZB.js} +3 -3
- package/dist/chunks/{chunk-VT7UU3UP.js → chunk-ESV3AAQ4.js} +3 -3
- package/dist/chunks/{chunk-UJORPKRW.js → chunk-GN5W7TJD.js} +3 -3
- package/dist/chunks/{chunk-HQAHQJHQ.js → chunk-IPRJUV2O.js} +9 -9
- package/dist/chunks/{chunk-JVKC6UFV.js → chunk-KWXWK2LA.js} +3 -3
- package/dist/chunks/{chunk-PN6KHUSF.js → chunk-LOQNCZFE.js} +3 -3
- package/dist/chunks/{chunk-AKCMEBIQ.js → chunk-MNN76UQS.js} +12 -12
- package/dist/chunks/{chunk-ZRK4E77C.js → chunk-OGZJE5X2.js} +3 -3
- package/dist/chunks/{chunk-OTJJNSLB.js → chunk-PEDQKANG.js} +3 -3
- package/dist/chunks/{chunk-LDIYJJ24.js → chunk-PTRN7H4N.js} +11 -11
- package/dist/chunks/{chunk-J3XCBROI.js → chunk-QQMSM7EK.js} +3 -3
- package/dist/chunks/{chunk-FRFW37G6.js → chunk-TBIZI5NH.js} +3 -3
- package/dist/chunks/{chunk-BSX52WVT.js → chunk-UTFC2DI3.js} +8 -8
- package/dist/chunks/{chunk-GTR25NJ5.js → chunk-XIIFQUWN.js} +3 -3
- package/dist/chunks/{chunk-PGUAHUFE.js → chunk-XTFV46GB.js} +9 -9
- package/dist/chunks/{chunk-4ENF3NH3.js → chunk-ZLVYZPUR.js} +28 -28
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
placeDesign,
|
|
12
12
|
sizePreset,
|
|
13
13
|
templateOfBuild
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-O3W7HYS7.js";
|
|
15
15
|
import "./chunk-4THRVBSE.js";
|
|
16
16
|
import "./chunk-G7PRXO6C.js";
|
|
17
17
|
import "./chunk-4MICRJXM.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-5PSOLUKI.js";
|
|
19
19
|
import "./chunk-OIXOTZRZ.js";
|
|
20
20
|
import "./chunk-263B6ENN.js";
|
|
21
21
|
import "./chunk-VFZUPGK7.js";
|
|
@@ -7,8 +7,8 @@ const __dirname = __popcraftDirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
builtinTools,
|
|
9
9
|
registerBuiltinTools
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-HBPURYPZ.js";
|
|
11
|
+
import "./chunk-N2RBQBUE.js";
|
|
12
12
|
import "./chunk-KV34UK7F.js";
|
|
13
13
|
import "./chunk-VFRAUFQT.js";
|
|
14
14
|
import "./chunk-HNFJNRW6.js";
|
|
@@ -19,7 +19,7 @@ import "./chunk-WOJQT37H.js";
|
|
|
19
19
|
import "./chunk-5STBM3DT.js";
|
|
20
20
|
import "./chunk-CW3YS3XC.js";
|
|
21
21
|
import "./chunk-BQXNFA5K.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-DZIPU2Q4.js";
|
|
23
23
|
import "./chunk-A3PNGDIC.js";
|
|
24
24
|
import "./chunk-N42YJFOC.js";
|
|
25
25
|
import "./chunk-KTY54Z6Y.js";
|
|
@@ -6,10 +6,10 @@ const __filename = __popcraftPath(import.meta.url);
|
|
|
6
6
|
const __dirname = __popcraftDirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
appCommands
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MFPMMKHP.js";
|
|
10
10
|
import {
|
|
11
11
|
builtinCommands
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-N2RBQBUE.js";
|
|
13
13
|
import "./chunk-KV34UK7F.js";
|
|
14
14
|
import "./chunk-VFRAUFQT.js";
|
|
15
15
|
import "./chunk-HNFJNRW6.js";
|
|
@@ -5629,7 +5629,7 @@ var templates_default = [
|
|
|
5629
5629
|
name: "Back matter (letters page)",
|
|
5630
5630
|
kind: "PRINT",
|
|
5631
5631
|
category: "comic",
|
|
5632
|
-
bytes:
|
|
5632
|
+
bytes: 39639
|
|
5633
5633
|
},
|
|
5634
5634
|
{
|
|
5635
5635
|
id: "popcraft.comic-book",
|
|
@@ -5643,21 +5643,21 @@ var templates_default = [
|
|
|
5643
5643
|
name: "Cascade page",
|
|
5644
5644
|
kind: "PRINT",
|
|
5645
5645
|
category: "comic",
|
|
5646
|
-
bytes:
|
|
5646
|
+
bytes: 62118
|
|
5647
5647
|
},
|
|
5648
5648
|
{
|
|
5649
5649
|
id: "popcraft.comic-chase",
|
|
5650
5650
|
name: "Chase page",
|
|
5651
5651
|
kind: "PRINT",
|
|
5652
5652
|
category: "comic",
|
|
5653
|
-
bytes:
|
|
5653
|
+
bytes: 61706
|
|
5654
5654
|
},
|
|
5655
5655
|
{
|
|
5656
5656
|
id: "popcraft.comic-cover-modern",
|
|
5657
5657
|
name: "Comic cover (modern)",
|
|
5658
5658
|
kind: "PRINT",
|
|
5659
5659
|
category: "comic",
|
|
5660
|
-
bytes:
|
|
5660
|
+
bytes: 36599
|
|
5661
5661
|
},
|
|
5662
5662
|
{
|
|
5663
5663
|
id: "popcraft.comic-cover-pulp",
|
|
@@ -5678,63 +5678,77 @@ var templates_default = [
|
|
|
5678
5678
|
name: "Four-panel gag",
|
|
5679
5679
|
kind: "PRINT",
|
|
5680
5680
|
category: "comic",
|
|
5681
|
-
bytes:
|
|
5681
|
+
bytes: 44589
|
|
5682
5682
|
},
|
|
5683
5683
|
{
|
|
5684
5684
|
id: "popcraft.comic-grid-break",
|
|
5685
5685
|
name: "Grid-break page",
|
|
5686
5686
|
kind: "PRINT",
|
|
5687
5687
|
category: "comic",
|
|
5688
|
-
bytes:
|
|
5688
|
+
bytes: 53322
|
|
5689
|
+
},
|
|
5690
|
+
{
|
|
5691
|
+
id: "popcraft.comic-hero-issue",
|
|
5692
|
+
name: "Whole comic issue (Nightstar)",
|
|
5693
|
+
kind: "PRINT",
|
|
5694
|
+
category: "comic",
|
|
5695
|
+
bytes: 373649
|
|
5689
5696
|
},
|
|
5690
5697
|
{
|
|
5691
5698
|
id: "popcraft.comic-hourglass",
|
|
5692
5699
|
name: "Symbol page (hourglass)",
|
|
5693
5700
|
kind: "PRINT",
|
|
5694
5701
|
category: "comic",
|
|
5695
|
-
bytes:
|
|
5702
|
+
bytes: 43927
|
|
5696
5703
|
},
|
|
5697
5704
|
{
|
|
5698
5705
|
id: "popcraft.comic-icon-grid",
|
|
5699
5706
|
name: "Modular page",
|
|
5700
5707
|
kind: "PRINT",
|
|
5701
5708
|
category: "comic",
|
|
5702
|
-
bytes:
|
|
5709
|
+
bytes: 54365
|
|
5710
|
+
},
|
|
5711
|
+
{
|
|
5712
|
+
id: "popcraft.comic-indie-issue",
|
|
5713
|
+
name: "Whole comic issue (Alder Street)",
|
|
5714
|
+
kind: "PRINT",
|
|
5715
|
+
category: "comic",
|
|
5716
|
+
bytes: 305258
|
|
5703
5717
|
},
|
|
5704
5718
|
{
|
|
5705
5719
|
id: "popcraft.comic-interrogation",
|
|
5706
5720
|
name: "Interrogation page",
|
|
5707
5721
|
kind: "PRINT",
|
|
5708
5722
|
category: "comic",
|
|
5709
|
-
bytes:
|
|
5723
|
+
bytes: 58590
|
|
5710
5724
|
},
|
|
5711
5725
|
{
|
|
5712
5726
|
id: "popcraft.comic-manga-action",
|
|
5713
5727
|
name: "Manga action page",
|
|
5714
5728
|
kind: "PRINT",
|
|
5715
5729
|
category: "comic",
|
|
5716
|
-
bytes:
|
|
5730
|
+
bytes: 51375
|
|
5717
5731
|
},
|
|
5718
5732
|
{
|
|
5719
5733
|
id: "popcraft.comic-manga-page",
|
|
5720
5734
|
name: "Manga page",
|
|
5721
5735
|
kind: "PRINT",
|
|
5722
5736
|
category: "comic",
|
|
5723
|
-
bytes:
|
|
5737
|
+
bytes: 49195
|
|
5724
5738
|
},
|
|
5725
5739
|
{
|
|
5726
5740
|
id: "popcraft.comic-negative-space",
|
|
5727
5741
|
name: "Negative space page",
|
|
5728
5742
|
kind: "PRINT",
|
|
5729
5743
|
category: "comic",
|
|
5730
|
-
bytes:
|
|
5744
|
+
bytes: 36905
|
|
5731
5745
|
},
|
|
5732
5746
|
{
|
|
5733
5747
|
id: "popcraft.comic-nested",
|
|
5734
5748
|
name: "Nested page",
|
|
5735
5749
|
kind: "PRINT",
|
|
5736
5750
|
category: "comic",
|
|
5737
|
-
bytes:
|
|
5751
|
+
bytes: 57655
|
|
5738
5752
|
},
|
|
5739
5753
|
{
|
|
5740
5754
|
id: "popcraft.comic-nine-grid",
|
|
@@ -5748,7 +5762,7 @@ var templates_default = [
|
|
|
5748
5762
|
name: "Overlapping page",
|
|
5749
5763
|
kind: "PRINT",
|
|
5750
5764
|
category: "comic",
|
|
5751
|
-
bytes:
|
|
5765
|
+
bytes: 60658
|
|
5752
5766
|
},
|
|
5753
5767
|
{
|
|
5754
5768
|
id: "popcraft.comic-page-classic",
|
|
@@ -5762,14 +5776,14 @@ var templates_default = [
|
|
|
5762
5776
|
name: "Parallel page",
|
|
5763
5777
|
kind: "PRINT",
|
|
5764
5778
|
category: "comic",
|
|
5765
|
-
bytes:
|
|
5779
|
+
bytes: 60439
|
|
5766
5780
|
},
|
|
5767
5781
|
{
|
|
5768
5782
|
id: "popcraft.comic-pinup",
|
|
5769
5783
|
name: "Pin-up page",
|
|
5770
5784
|
kind: "PRINT",
|
|
5771
5785
|
category: "comic",
|
|
5772
|
-
bytes:
|
|
5786
|
+
bytes: 30727
|
|
5773
5787
|
},
|
|
5774
5788
|
{
|
|
5775
5789
|
id: "popcraft.comic-polyptych",
|
|
@@ -5790,14 +5804,14 @@ var templates_default = [
|
|
|
5790
5804
|
name: "Risograph page",
|
|
5791
5805
|
kind: "PRINT",
|
|
5792
5806
|
category: "comic",
|
|
5793
|
-
bytes:
|
|
5807
|
+
bytes: 49276
|
|
5794
5808
|
},
|
|
5795
5809
|
{
|
|
5796
5810
|
id: "popcraft.comic-silent",
|
|
5797
5811
|
name: "Silent page",
|
|
5798
5812
|
kind: "PRINT",
|
|
5799
5813
|
category: "comic",
|
|
5800
|
-
bytes:
|
|
5814
|
+
bytes: 47726
|
|
5801
5815
|
},
|
|
5802
5816
|
{
|
|
5803
5817
|
id: "popcraft.comic-splash",
|
|
@@ -5818,35 +5832,35 @@ var templates_default = [
|
|
|
5818
5832
|
name: "Daily strip",
|
|
5819
5833
|
kind: "PRINT",
|
|
5820
5834
|
category: "comic",
|
|
5821
|
-
bytes:
|
|
5835
|
+
bytes: 39615
|
|
5822
5836
|
},
|
|
5823
5837
|
{
|
|
5824
5838
|
id: "popcraft.comic-talking-heads",
|
|
5825
5839
|
name: "Talking heads page",
|
|
5826
5840
|
kind: "PRINT",
|
|
5827
5841
|
category: "comic",
|
|
5828
|
-
bytes:
|
|
5842
|
+
bytes: 52072
|
|
5829
5843
|
},
|
|
5830
5844
|
{
|
|
5831
5845
|
id: "popcraft.comic-webtoon",
|
|
5832
5846
|
name: "Vertical scroll (webtoon)",
|
|
5833
5847
|
kind: "PRINT",
|
|
5834
5848
|
category: "comic",
|
|
5835
|
-
bytes:
|
|
5849
|
+
bytes: 43866
|
|
5836
5850
|
},
|
|
5837
5851
|
{
|
|
5838
5852
|
id: "popcraft.comic-widescreen",
|
|
5839
5853
|
name: "Widescreen page",
|
|
5840
5854
|
kind: "PRINT",
|
|
5841
5855
|
category: "comic",
|
|
5842
|
-
bytes:
|
|
5856
|
+
bytes: 49016
|
|
5843
5857
|
},
|
|
5844
5858
|
{
|
|
5845
5859
|
id: "popcraft.comic-zine",
|
|
5846
5860
|
name: "Quarter-fold zine",
|
|
5847
5861
|
kind: "PRINT",
|
|
5848
5862
|
category: "comic",
|
|
5849
|
-
bytes:
|
|
5863
|
+
bytes: 45602
|
|
5850
5864
|
},
|
|
5851
5865
|
{
|
|
5852
5866
|
id: "popcraft.email-announcement",
|
|
@@ -7438,7 +7452,7 @@ var templates_default = [
|
|
|
7438
7452
|
kind: "SOCIAL",
|
|
7439
7453
|
category: "animation",
|
|
7440
7454
|
animated: true,
|
|
7441
|
-
bytes:
|
|
7455
|
+
bytes: 3515219
|
|
7442
7456
|
},
|
|
7443
7457
|
{
|
|
7444
7458
|
id: "popcraft.motion-launch-trailer",
|
|
@@ -7446,7 +7460,7 @@ var templates_default = [
|
|
|
7446
7460
|
kind: "SOCIAL",
|
|
7447
7461
|
category: "animation",
|
|
7448
7462
|
animated: true,
|
|
7449
|
-
bytes:
|
|
7463
|
+
bytes: 3789696
|
|
7450
7464
|
},
|
|
7451
7465
|
{
|
|
7452
7466
|
id: "popcraft.motion-logo-reveal",
|
|
@@ -8966,7 +8980,7 @@ var templates_default = [
|
|
|
8966
8980
|
kind: "PRESENTATION",
|
|
8967
8981
|
category: "animation",
|
|
8968
8982
|
animated: true,
|
|
8969
|
-
bytes:
|
|
8983
|
+
bytes: 3330391
|
|
8970
8984
|
},
|
|
8971
8985
|
{
|
|
8972
8986
|
id: "popcraft.motion-title-card-3d",
|
|
@@ -91,9 +91,9 @@ async function placeStockPhoto(photo, opts = {}) {
|
|
|
91
91
|
}
|
|
92
92
|
async function placePicture(imported, opts = {}) {
|
|
93
93
|
const [{ useEditorStore }, { photoFrameOf }, { placeImage }] = await Promise.all([
|
|
94
|
-
import("./editor-store-
|
|
94
|
+
import("./editor-store-UAEROYSB.js"),
|
|
95
95
|
import("../lib/document/photo-frames.js"),
|
|
96
|
-
import("./media-tool-
|
|
96
|
+
import("./media-tool-YFIYMYI5.js")
|
|
97
97
|
]);
|
|
98
98
|
const st = useEditorStore.getState();
|
|
99
99
|
const frame = photoFrameOf(st.document.nodes, opts.targetId !== void 0 ? opts.targetId : st.selection[0] ?? null);
|
|
@@ -28,10 +28,10 @@ import {
|
|
|
28
28
|
requestImageAction,
|
|
29
29
|
sizeForAspect,
|
|
30
30
|
vectorSupport
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-DQ7AF2R5.js";
|
|
32
32
|
import {
|
|
33
33
|
useEditorStore
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-WKKHCEXN.js";
|
|
35
35
|
import {
|
|
36
36
|
getActiveRenderer
|
|
37
37
|
} from "./chunk-L655IQHW.js";
|
|
@@ -0,0 +1,194 @@
|
|
|
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
|
+
indieArt
|
|
9
|
+
} from "./chunk-LP7LPUQJ.js";
|
|
10
|
+
import {
|
|
11
|
+
init_define_POPCRAFT_COMPONENT_IDS
|
|
12
|
+
} from "./chunk-FFS4SO7R.js";
|
|
13
|
+
|
|
14
|
+
// templates/src/themes/comic-indie-page.ts
|
|
15
|
+
init_define_POPCRAFT_COMPONENT_IDS();
|
|
16
|
+
var COLORS = {
|
|
17
|
+
paper: "#FBF1E4",
|
|
18
|
+
text: "#2A1E1A",
|
|
19
|
+
onPaper: "#4A3A35",
|
|
20
|
+
primary: "#D9603B",
|
|
21
|
+
onPrimary: "#FFF8EE",
|
|
22
|
+
accent: "#F6C66B",
|
|
23
|
+
onAccent: "#2A1E1A",
|
|
24
|
+
card: "#FFF8EE",
|
|
25
|
+
onCard: "#2A1E1A"
|
|
26
|
+
};
|
|
27
|
+
var GROUNDS = { g1: "#F2A65A", g2: "#C8553D", g3: "#6E4B6B", g4: "#F7D9A8", ink: "#2A1E1A" };
|
|
28
|
+
var STORY = { title: "Last Summer on Alder Street", series: "Alder Street", issue: "No. 1" };
|
|
29
|
+
function indieSetup(k) {
|
|
30
|
+
k.quantizeGeometry = true;
|
|
31
|
+
k.brand({ ...COLORS }, { title: STORY.title, series: STORY.series, issue: STORY.issue });
|
|
32
|
+
k.palette({ ...GROUNDS });
|
|
33
|
+
k.textStyle("Lettering", { size: 12, fontWeight: 700, lineHeight: 14, letterSpacing: 0, textAlign: "CENTER" });
|
|
34
|
+
k.textStyle("Caption", { size: 11, fontWeight: 600, lineHeight: 14, letterSpacing: 0 });
|
|
35
|
+
for (const [suffix, bw] of BALLOON_WIDTHS) {
|
|
36
|
+
k.component(`Speech balloon${suffix}`, { width: bw, padding: { top: 10, right: 13, bottom: 12, left: 13 }, radius: 22, fill: "card", stroke: { color: "onCard", width: 2, align: "INSIDE" }, align: "CENTER", props: { Text: "Say something." } }, (id) => {
|
|
37
|
+
k.propText(id, "Text", { style: "Lettering", color: "onCard", align: "CENTER", width: "FILL" });
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
var DISPLAY = {
|
|
42
|
+
"SFX": { size: 26, fontWeight: 900, fontStyle: "italic", lineHeight: 26, letterSpacing: -1, textAlign: "CENTER" },
|
|
43
|
+
"Title": { size: 26, fontWeight: 900, lineHeight: 28, letterSpacing: -0.5 },
|
|
44
|
+
"Masthead": { size: 40, fontWeight: 900, lineHeight: 40, letterSpacing: -1.5 },
|
|
45
|
+
"Body": { size: 11, fontWeight: 400, lineHeight: 16, letterSpacing: 0 },
|
|
46
|
+
"Credit": { size: 9, fontWeight: 700, lineHeight: 12, letterSpacing: 1 }
|
|
47
|
+
};
|
|
48
|
+
var made = /* @__PURE__ */ new WeakMap();
|
|
49
|
+
function display(k, name) {
|
|
50
|
+
const set = made.get(k) ?? /* @__PURE__ */ new Set();
|
|
51
|
+
made.set(k, set);
|
|
52
|
+
if (!set.has(name)) {
|
|
53
|
+
k.textStyle(name, DISPLAY[name]);
|
|
54
|
+
set.add(name);
|
|
55
|
+
}
|
|
56
|
+
return name;
|
|
57
|
+
}
|
|
58
|
+
var BALLOON_WIDTHS = [[" (small)", 96], ["", 128], [" (wide)", 168]];
|
|
59
|
+
var balloonFor = (w) => BALLOON_WIDTHS.find(([, bw]) => w <= bw) ?? BALLOON_WIDTHS[BALLOON_WIDTHS.length - 1];
|
|
60
|
+
var rectFrame = (x, y, width, height) => ({ x, y, width, height, points: [{ x: 0, y: 0 }, { x: width, y: 0 }, { x: width, y: height }, { x: 0, y: height }] });
|
|
61
|
+
function frameOf(corners) {
|
|
62
|
+
const xs = corners.map((p) => p.x), ys = corners.map((p) => p.y);
|
|
63
|
+
const x = Math.min(...xs), y = Math.min(...ys);
|
|
64
|
+
return { x: Math.round(x), y: Math.round(y), width: Math.round(Math.max(...xs) - x), height: Math.round(Math.max(...ys) - y), points: corners.map((p) => ({ x: Math.round(p.x - x), y: Math.round(p.y - y) })) };
|
|
65
|
+
}
|
|
66
|
+
function shares(total, gutter, parts) {
|
|
67
|
+
const sum = parts.reduce((a, b) => a + b, 0), free = total - gutter * (parts.length - 1);
|
|
68
|
+
const out = parts.map((p) => Math.floor(free * p / sum));
|
|
69
|
+
out[out.length - 1] = free - out.slice(0, -1).reduce((a, b) => a + b, 0);
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
function tier(width, height, parts, gutter = 10) {
|
|
73
|
+
let x = 0;
|
|
74
|
+
return shares(width, gutter, parts).map((w) => {
|
|
75
|
+
const f = rectFrame(x, 0, w, height);
|
|
76
|
+
x += w + gutter;
|
|
77
|
+
return f;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function slantTier(width, height, parts, lean = 16, gutter = 10) {
|
|
81
|
+
const widths = shares(width, gutter, parts), edges = [0];
|
|
82
|
+
widths.forEach((w, i) => edges.push(edges[i] + w + (i < widths.length - 1 ? gutter : 0)));
|
|
83
|
+
return widths.map((_, i) => {
|
|
84
|
+
const first = i === 0, last = i === widths.length - 1;
|
|
85
|
+
const lTop = first ? 0 : edges[i] + lean, lBot = first ? 0 : edges[i] - lean;
|
|
86
|
+
const rTop = last ? width : edges[i + 1] - gutter + lean, rBot = last ? width : edges[i + 1] - gutter - lean;
|
|
87
|
+
return frameOf([{ x: lTop, y: 0 }, { x: rTop, y: 0 }, { x: rBot, y: height }, { x: lBot, y: height }]);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function pageGrid(k, sheet, margin, gutter) {
|
|
91
|
+
k.flowSheet(sheet, gutter, margin);
|
|
92
|
+
const n = k.node(sheet);
|
|
93
|
+
return { W: n.width - margin * 2, H: n.height - margin * 2 - FOLIO - gutter };
|
|
94
|
+
}
|
|
95
|
+
var FOLIO = 14;
|
|
96
|
+
function folio(k, sheet, label) {
|
|
97
|
+
const row = k.stack(sheet, { width: "FILL", height: FOLIO, direction: "HORIZONTAL", justify: "SPACE_BETWEEN", align: "CENTER", name: "Folio" });
|
|
98
|
+
k.text(row, STORY.title, { style: display(k, "Credit"), color: "text", name: "Folio title" });
|
|
99
|
+
k.text(row, label, { style: display(k, "Credit"), color: "onPaper", name: "Folio label" });
|
|
100
|
+
}
|
|
101
|
+
var tierBox = (k, sheet, W, h, name, fill) => k.stack(sheet, { width: W, height: h, name, ...fill ? { fill } : {} });
|
|
102
|
+
var rows = (H, gutter, parts) => shares(H, gutter, parts);
|
|
103
|
+
var TONE = [{ id: "e1", type: "HALFTONE", angle: 45, dotSize: 7, contrast: 0.5, colorMode: "SOURCE", shape: "CIRCLE", layout: "UNIFORM", toneSource: "LINEAR_GRADIENT", gradientAngle: 90, center: { x: 0.5, y: 0.5 }, visible: true }];
|
|
104
|
+
function panel(k, tierId, f, art, o) {
|
|
105
|
+
if (o.keyline) k.rect(tierId, f.width + 12, f.height + 12, "paper", { name: "Keyline", absolute: { x: f.x - 6, y: f.y - 6 } });
|
|
106
|
+
const id = k.group(tierId, { x: f.x, y: f.y, width: f.width, height: f.height }, { name: o.name, absolute: true });
|
|
107
|
+
k.patch(id, { isMaskGroup: true, isPhotoFrame: true });
|
|
108
|
+
const shape = { closed: true, points: f.points.map((p) => ({ x: p.x, y: p.y })) };
|
|
109
|
+
k.vector(id, f.width, f.height, [shape], "paper", { name: "Panel mask", mask: true });
|
|
110
|
+
k.rect(id, f.width, f.height, o.ground, { name: "Ground" });
|
|
111
|
+
k.image(id, indieArt(art), f.width, f.height, { name: `${o.name} art` });
|
|
112
|
+
if (o.tone) {
|
|
113
|
+
const t = k.rect(id, f.width, f.height, "g3", { name: "Ben-Day screen", effects: TONE, opacity: 0.35 });
|
|
114
|
+
k.patch(t, { blendMode: "MULTIPLY" });
|
|
115
|
+
}
|
|
116
|
+
k.vector(id, f.width, f.height, [shape], [], { name: "Panel edge", stroke: { color: "ink", width: 2.5, join: "ROUND" } });
|
|
117
|
+
return id;
|
|
118
|
+
}
|
|
119
|
+
function say(k, tierId, words, o) {
|
|
120
|
+
const [suffix, w] = balloonFor(o.width ?? 128);
|
|
121
|
+
if (o.to) {
|
|
122
|
+
const root = { x: o.x + w * 0.5 + (o.to.x > o.x + w / 2 ? w * 0.12 : -w * 0.12), y: o.y + 16 };
|
|
123
|
+
const lines = Math.ceil(words.length * 6.2 / (w - 26)), foot = o.y + 22 + lines * 14;
|
|
124
|
+
const dist = Math.hypot(o.to.x - root.x, o.to.y - root.y) || 1, reach = Math.min(dist, Math.max(foot - root.y + 22, 30));
|
|
125
|
+
const to = { x: root.x + (o.to.x - root.x) * reach / dist, y: root.y + (o.to.y - root.y) * reach / dist };
|
|
126
|
+
const dx = to.x - root.x, dy = to.y - root.y, len = Math.hypot(dx, dy) || 1, nx = -dy / len, ny = dx / len, half = 8;
|
|
127
|
+
const pts = [{ x: root.x + nx * half, y: root.y + ny * half }, to, { x: root.x - nx * half, y: root.y - ny * half }];
|
|
128
|
+
const x0 = Math.min(...pts.map((p) => p.x)), y0 = Math.min(...pts.map((p) => p.y));
|
|
129
|
+
k.vector(
|
|
130
|
+
tierId,
|
|
131
|
+
Math.max(1, Math.max(...pts.map((p) => p.x)) - x0),
|
|
132
|
+
Math.max(1, Math.max(...pts.map((p) => p.y)) - y0),
|
|
133
|
+
[{ closed: true, points: pts.map((p) => ({ x: p.x - x0, y: p.y - y0 })) }],
|
|
134
|
+
"card",
|
|
135
|
+
{ name: "Balloon tail", stroke: { color: "onCard", width: 2, join: "ROUND" }, absolute: { x: x0, y: y0 } }
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
return k.instance(tierId, `Speech balloon${suffix}`, { Text: words }, { absolute: { x: Math.round(o.x), y: Math.round(o.y) }, name: o.name ?? "Balloon" });
|
|
139
|
+
}
|
|
140
|
+
function caption(k, tierId, words, o) {
|
|
141
|
+
const id = k.stack(tierId, { width: o.width ?? 200, padding: { top: 6, right: 9, bottom: 7, left: 9 }, fill: "accent", stroke: { color: "onAccent", width: 1.5, align: "INSIDE" }, name: o.name ?? "Caption box", absolute: { x: Math.round(o.x), y: Math.round(o.y) } });
|
|
142
|
+
k.text(id, words, { style: "Caption", color: "onAccent", width: "FILL", name: "Caption words" });
|
|
143
|
+
return id;
|
|
144
|
+
}
|
|
145
|
+
function sfx(k, tierId, words, o) {
|
|
146
|
+
const id = k.stack(tierId, { width: o.w, height: o.h, align: "CENTER", justify: "CENTER", name: o.name ?? "Sound effect", absolute: { x: Math.round(o.x), y: Math.round(o.y) } });
|
|
147
|
+
const n = 11, pts = [];
|
|
148
|
+
let s = (o.seed ?? 7) >>> 0;
|
|
149
|
+
const r = () => {
|
|
150
|
+
s = Math.imul(s, 1664525) + 1013904223 >>> 0;
|
|
151
|
+
return s / 2 ** 32;
|
|
152
|
+
};
|
|
153
|
+
for (let i = 0; i < n * 2; i++) {
|
|
154
|
+
const a = i * Math.PI / n - Math.PI / 2, rad = i % 2 ? 0.7 + r() * 0.06 : 0.92 + r() * 0.08;
|
|
155
|
+
pts.push({ x: o.w / 2 + o.w / 2 * rad * Math.cos(a), y: o.h / 2 + o.h / 2 * rad * Math.sin(a) });
|
|
156
|
+
}
|
|
157
|
+
k.vector(id, o.w, o.h, [{ closed: true, points: pts }], "accent", { name: "Impact star", stroke: { color: "onAccent", width: 2, join: "ROUND" }, absolute: { x: 0, y: 0 } });
|
|
158
|
+
k.text(id, words, { style: display(k, "SFX"), color: "onAccent", align: "CENTER", name: "Sound effect words", autoWidth: true });
|
|
159
|
+
if (o.deg) k.patch(id, { rotation: o.deg });
|
|
160
|
+
return id;
|
|
161
|
+
}
|
|
162
|
+
function indieMeta(name, description, tags) {
|
|
163
|
+
return {
|
|
164
|
+
name,
|
|
165
|
+
description,
|
|
166
|
+
category: "comic",
|
|
167
|
+
tags: ["comic", "print", "alder street", "slice of life", "indie", ...tags],
|
|
168
|
+
platforms: ["print"],
|
|
169
|
+
formats: ["page"],
|
|
170
|
+
useCases: ["comic"],
|
|
171
|
+
created: "2026-09-22",
|
|
172
|
+
updated: "2026-10-10"
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export {
|
|
177
|
+
STORY,
|
|
178
|
+
indieSetup,
|
|
179
|
+
display,
|
|
180
|
+
rectFrame,
|
|
181
|
+
frameOf,
|
|
182
|
+
shares,
|
|
183
|
+
tier,
|
|
184
|
+
slantTier,
|
|
185
|
+
pageGrid,
|
|
186
|
+
folio,
|
|
187
|
+
tierBox,
|
|
188
|
+
rows,
|
|
189
|
+
panel,
|
|
190
|
+
say,
|
|
191
|
+
caption,
|
|
192
|
+
sfx,
|
|
193
|
+
indieMeta
|
|
194
|
+
};
|