@pinepaper.studio/mcp-server 1.6.7 → 1.6.9

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 (174) hide show
  1. package/README.de.md +9 -5
  2. package/README.es.md +9 -5
  3. package/README.fr.md +9 -5
  4. package/README.hi.md +8 -5
  5. package/README.ja.md +8 -5
  6. package/README.ko.md +8 -4
  7. package/README.md +256 -17
  8. package/README.pt-BR.md +9 -5
  9. package/README.zh-CN.md +6 -4
  10. package/dist/browser/index.d.ts +1 -1
  11. package/dist/browser/index.d.ts.map +1 -1
  12. package/dist/browser/index.js +1 -1
  13. package/dist/browser/index.js.map +1 -1
  14. package/dist/browser/puppeteer-controller.d.ts +86 -2
  15. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  16. package/dist/browser/puppeteer-controller.js +143 -60
  17. package/dist/browser/puppeteer-controller.js.map +1 -1
  18. package/dist/character/data/concepts.json +1 -0
  19. package/dist/character/data/depictions.json +1 -0
  20. package/dist/character/data/styles.json +1 -0
  21. package/dist/character/duration-scale.d.ts +13 -0
  22. package/dist/character/duration-scale.d.ts.map +1 -0
  23. package/dist/character/duration-scale.js +13 -0
  24. package/dist/character/duration-scale.js.map +1 -0
  25. package/dist/character/path-bbox.d.ts +82 -0
  26. package/dist/character/path-bbox.d.ts.map +1 -0
  27. package/dist/character/path-bbox.js +496 -0
  28. package/dist/character/path-bbox.js.map +1 -0
  29. package/dist/character/perform.d.ts +149 -0
  30. package/dist/character/perform.d.ts.map +1 -0
  31. package/dist/character/perform.js +626 -0
  32. package/dist/character/perform.js.map +1 -0
  33. package/dist/character/resolve.d.ts +51 -0
  34. package/dist/character/resolve.d.ts.map +1 -0
  35. package/dist/character/resolve.js +239 -0
  36. package/dist/character/resolve.js.map +1 -0
  37. package/dist/cli.js +12 -0
  38. package/dist/cli.js.map +1 -1
  39. package/dist/design/design-systems.d.ts +224 -0
  40. package/dist/design/design-systems.d.ts.map +1 -0
  41. package/dist/design/design-systems.js +434 -0
  42. package/dist/design/design-systems.js.map +1 -0
  43. package/dist/execution/canvas-state.d.ts +7 -0
  44. package/dist/execution/canvas-state.d.ts.map +1 -1
  45. package/dist/execution/canvas-state.js +20 -8
  46. package/dist/execution/canvas-state.js.map +1 -1
  47. package/dist/index.d.ts +20 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +12 -4
  50. package/dist/index.js.map +1 -1
  51. package/dist/ontology/design-graph.d.ts +9 -0
  52. package/dist/ontology/design-graph.d.ts.map +1 -1
  53. package/dist/ontology/design-graph.js +98 -3
  54. package/dist/ontology/design-graph.js.map +1 -1
  55. package/dist/ontology/types.d.ts +42 -0
  56. package/dist/ontology/types.d.ts.map +1 -1
  57. package/dist/ontology/vocabulary.d.ts.map +1 -1
  58. package/dist/ontology/vocabulary.js +20 -0
  59. package/dist/ontology/vocabulary.js.map +1 -1
  60. package/dist/tools/compact-descriptions.d.ts.map +1 -1
  61. package/dist/tools/compact-descriptions.js +25 -0
  62. package/dist/tools/compact-descriptions.js.map +1 -1
  63. package/dist/tools/definitions.d.ts +1 -1
  64. package/dist/tools/definitions.d.ts.map +1 -1
  65. package/dist/tools/definitions.js +404 -25
  66. package/dist/tools/definitions.js.map +1 -1
  67. package/dist/tools/engine-methods.d.ts +18 -0
  68. package/dist/tools/engine-methods.d.ts.map +1 -0
  69. package/dist/tools/engine-methods.js +241 -0
  70. package/dist/tools/engine-methods.js.map +1 -0
  71. package/dist/tools/handlers/character.d.ts +121 -0
  72. package/dist/tools/handlers/character.d.ts.map +1 -0
  73. package/dist/tools/handlers/character.js +315 -0
  74. package/dist/tools/handlers/character.js.map +1 -0
  75. package/dist/tools/handlers.d.ts +2 -0
  76. package/dist/tools/handlers.d.ts.map +1 -1
  77. package/dist/tools/handlers.js +522 -18
  78. package/dist/tools/handlers.js.map +1 -1
  79. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  80. package/dist/tools/minimal-descriptions.js +15 -3
  81. package/dist/tools/minimal-descriptions.js.map +1 -1
  82. package/dist/tools/toolkits.d.ts.map +1 -1
  83. package/dist/tools/toolkits.js +8 -0
  84. package/dist/tools/toolkits.js.map +1 -1
  85. package/dist/types/code-generator.d.ts +106 -1
  86. package/dist/types/code-generator.d.ts.map +1 -1
  87. package/dist/types/code-generator.js +1273 -18
  88. package/dist/types/code-generator.js.map +1 -1
  89. package/dist/types/schemas.d.ts +6805 -124
  90. package/dist/types/schemas.d.ts.map +1 -1
  91. package/dist/types/schemas.js +627 -17
  92. package/dist/types/schemas.js.map +1 -1
  93. package/dist/vendor/design/art-deco-generator.d.ts +52 -0
  94. package/dist/vendor/design/art-deco-generator.d.ts.map +1 -0
  95. package/dist/vendor/design/art-deco-generator.js +144 -0
  96. package/dist/vendor/design/art-deco-generator.js.map +1 -0
  97. package/dist/vendor/design/art-nouveau-generator.d.ts +46 -0
  98. package/dist/vendor/design/art-nouveau-generator.d.ts.map +1 -0
  99. package/dist/vendor/design/art-nouveau-generator.js +134 -0
  100. package/dist/vendor/design/art-nouveau-generator.js.map +1 -0
  101. package/dist/vendor/design/bauhaus-generator.d.ts +53 -0
  102. package/dist/vendor/design/bauhaus-generator.d.ts.map +1 -0
  103. package/dist/vendor/design/bauhaus-generator.js +126 -0
  104. package/dist/vendor/design/bauhaus-generator.js.map +1 -0
  105. package/dist/vendor/design/brutalist-generator.d.ts +53 -0
  106. package/dist/vendor/design/brutalist-generator.d.ts.map +1 -0
  107. package/dist/vendor/design/brutalist-generator.js +148 -0
  108. package/dist/vendor/design/brutalist-generator.js.map +1 -0
  109. package/dist/vendor/design/claymorphism-generator.d.ts +46 -0
  110. package/dist/vendor/design/claymorphism-generator.d.ts.map +1 -0
  111. package/dist/vendor/design/claymorphism-generator.js +135 -0
  112. package/dist/vendor/design/claymorphism-generator.js.map +1 -0
  113. package/dist/vendor/design/corporate-memphis-generator.d.ts +47 -0
  114. package/dist/vendor/design/corporate-memphis-generator.d.ts.map +1 -0
  115. package/dist/vendor/design/corporate-memphis-generator.js +144 -0
  116. package/dist/vendor/design/corporate-memphis-generator.js.map +1 -0
  117. package/dist/vendor/design/cyberpunk-generator.d.ts +52 -0
  118. package/dist/vendor/design/cyberpunk-generator.d.ts.map +1 -0
  119. package/dist/vendor/design/cyberpunk-generator.js +162 -0
  120. package/dist/vendor/design/cyberpunk-generator.js.map +1 -0
  121. package/dist/vendor/design/de-stijl-generator.d.ts +50 -0
  122. package/dist/vendor/design/de-stijl-generator.d.ts.map +1 -0
  123. package/dist/vendor/design/de-stijl-generator.js +154 -0
  124. package/dist/vendor/design/de-stijl-generator.js.map +1 -0
  125. package/dist/vendor/design/design-style.d.ts +3 -0
  126. package/dist/vendor/design/design-style.d.ts.map +1 -0
  127. package/dist/vendor/design/design-style.js +12 -0
  128. package/dist/vendor/design/design-style.js.map +1 -0
  129. package/dist/vendor/design/design-systems-dtcg.d.ts +59 -0
  130. package/dist/vendor/design/design-systems-dtcg.d.ts.map +1 -0
  131. package/dist/vendor/design/design-systems-dtcg.js +571 -0
  132. package/dist/vendor/design/design-systems-dtcg.js.map +1 -0
  133. package/dist/vendor/design/frutiger-aero-generator.d.ts +46 -0
  134. package/dist/vendor/design/frutiger-aero-generator.d.ts.map +1 -0
  135. package/dist/vendor/design/frutiger-aero-generator.js +133 -0
  136. package/dist/vendor/design/frutiger-aero-generator.js.map +1 -0
  137. package/dist/vendor/design/memphis-generator.d.ts +56 -0
  138. package/dist/vendor/design/memphis-generator.d.ts.map +1 -0
  139. package/dist/vendor/design/memphis-generator.js +158 -0
  140. package/dist/vendor/design/memphis-generator.js.map +1 -0
  141. package/dist/vendor/design/mid-century-upa-generator.d.ts +46 -0
  142. package/dist/vendor/design/mid-century-upa-generator.d.ts.map +1 -0
  143. package/dist/vendor/design/mid-century-upa-generator.js +137 -0
  144. package/dist/vendor/design/mid-century-upa-generator.js.map +1 -0
  145. package/dist/vendor/design/neumorphic-generator.d.ts +53 -0
  146. package/dist/vendor/design/neumorphic-generator.d.ts.map +1 -0
  147. package/dist/vendor/design/neumorphic-generator.js +182 -0
  148. package/dist/vendor/design/neumorphic-generator.js.map +1 -0
  149. package/dist/vendor/design/op-art-generator.d.ts +45 -0
  150. package/dist/vendor/design/op-art-generator.d.ts.map +1 -0
  151. package/dist/vendor/design/op-art-generator.js +116 -0
  152. package/dist/vendor/design/op-art-generator.js.map +1 -0
  153. package/dist/vendor/design/pixel-art-generator.d.ts +45 -0
  154. package/dist/vendor/design/pixel-art-generator.d.ts.map +1 -0
  155. package/dist/vendor/design/pixel-art-generator.js +143 -0
  156. package/dist/vendor/design/pixel-art-generator.js.map +1 -0
  157. package/dist/vendor/design/pop-art-generator.d.ts +53 -0
  158. package/dist/vendor/design/pop-art-generator.d.ts.map +1 -0
  159. package/dist/vendor/design/pop-art-generator.js +164 -0
  160. package/dist/vendor/design/pop-art-generator.js.map +1 -0
  161. package/dist/vendor/design/risograph-generator.d.ts +53 -0
  162. package/dist/vendor/design/risograph-generator.d.ts.map +1 -0
  163. package/dist/vendor/design/risograph-generator.js +170 -0
  164. package/dist/vendor/design/risograph-generator.js.map +1 -0
  165. package/dist/vendor/design/swiss-style-generator.d.ts +55 -0
  166. package/dist/vendor/design/swiss-style-generator.d.ts.map +1 -0
  167. package/dist/vendor/design/swiss-style-generator.js +147 -0
  168. package/dist/vendor/design/swiss-style-generator.js.map +1 -0
  169. package/dist/vendor/design/vaporwave-generator.d.ts +51 -0
  170. package/dist/vendor/design/vaporwave-generator.d.ts.map +1 -0
  171. package/dist/vendor/design/vaporwave-generator.js +139 -0
  172. package/dist/vendor/design/vaporwave-generator.js.map +1 -0
  173. package/manifest.json +33 -1
  174. package/package.json +13 -5
@@ -0,0 +1,52 @@
1
+ import type { DesignStyle } from "./design-style.js";
2
+ export interface ArtDecoElement {
3
+ id: string;
4
+ type: "text" | "shape" | "frame" | "fan_motif";
5
+ content?: string;
6
+ fontSize?: number;
7
+ fontWeight?: string;
8
+ fontFamily?: string;
9
+ fillHex: string;
10
+ strokeHex?: string;
11
+ strokeWidthPx?: number;
12
+ x: number;
13
+ y: number;
14
+ width: number;
15
+ height: number;
16
+ textAlign?: "left" | "center" | "right";
17
+ isSymmetricalFrame?: boolean;
18
+ }
19
+ export interface ArtDecoPosterOptions {
20
+ title: string;
21
+ subtitle: string;
22
+ body?: string;
23
+ width?: number;
24
+ height?: number;
25
+ emeraldVariant?: boolean;
26
+ }
27
+ export interface ArtDecoDesignScene {
28
+ id: string;
29
+ style: DesignStyle;
30
+ width: number;
31
+ height: number;
32
+ backgroundHex: string;
33
+ elements: ArtDecoElement[];
34
+ metadata: {
35
+ title: string;
36
+ createdAt: string;
37
+ symmetryType: "bilateral_art_deco";
38
+ palette: string[];
39
+ };
40
+ }
41
+ export declare const ART_DECO_PALETTE: {
42
+ darkNavy: string;
43
+ emerald: string;
44
+ goldPrimary: string;
45
+ goldLight: string;
46
+ pearlWhite: string;
47
+ };
48
+ /**
49
+ * Procedurally generates a symmetrical Art Deco geometric poster layout with gold metallic border framing and fan motifs.
50
+ */
51
+ export declare function generateArtDecoPoster(options: ArtDecoPosterOptions): ArtDecoDesignScene;
52
+ //# sourceMappingURL=art-deco-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"art-deco-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/art-deco-generator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,oBAAoB,CAAC;QACnC,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CA8IvF"}
@@ -0,0 +1,144 @@
1
+ export const ART_DECO_PALETTE = {
2
+ darkNavy: "#0b0d17",
3
+ emerald: "#0f382c",
4
+ goldPrimary: "#d4af37",
5
+ goldLight: "#f3e5ab",
6
+ pearlWhite: "#f8f9fa",
7
+ };
8
+ /**
9
+ * Procedurally generates a symmetrical Art Deco geometric poster layout with gold metallic border framing and fan motifs.
10
+ */
11
+ export function generateArtDecoPoster(options) {
12
+ const width = options.width ?? 1080;
13
+ const height = options.height ?? 1350;
14
+ const backgroundHex = options.emeraldVariant ? ART_DECO_PALETTE.emerald : ART_DECO_PALETTE.darkNavy;
15
+ const elements = [];
16
+ // 1. Outer Symmetrical Double Gold Frame
17
+ elements.push({
18
+ id: "art-deco-outer-frame",
19
+ type: "frame",
20
+ fillHex: "transparent",
21
+ strokeHex: ART_DECO_PALETTE.goldPrimary,
22
+ strokeWidthPx: 4,
23
+ x: 40,
24
+ y: 40,
25
+ width: width - 80,
26
+ height: height - 80,
27
+ isSymmetricalFrame: true,
28
+ });
29
+ // 2. Inner Inset Stepped Chevron Frame
30
+ elements.push({
31
+ id: "art-deco-inner-frame",
32
+ type: "frame",
33
+ fillHex: "transparent",
34
+ strokeHex: ART_DECO_PALETTE.goldLight,
35
+ strokeWidthPx: 2,
36
+ x: 56,
37
+ y: 56,
38
+ width: width - 112,
39
+ height: height - 112,
40
+ isSymmetricalFrame: true,
41
+ });
42
+ // 3. Top Symmetrical Fan Motif Accent Arc
43
+ elements.push({
44
+ id: "art-deco-top-fan",
45
+ type: "fan_motif",
46
+ fillHex: ART_DECO_PALETTE.goldPrimary,
47
+ strokeHex: ART_DECO_PALETTE.goldLight,
48
+ strokeWidthPx: 2,
49
+ x: Math.round(width / 2 - 120),
50
+ y: 72,
51
+ width: 240,
52
+ height: 80,
53
+ isSymmetricalFrame: true,
54
+ });
55
+ // 4. Opulent High-Contrast Centered Headline Typography
56
+ elements.push({
57
+ id: "art-deco-title-text",
58
+ type: "text",
59
+ content: options.title.toUpperCase(),
60
+ fontSize: 64,
61
+ fontWeight: "800",
62
+ fontFamily: "Metropolis, 'Bifur', 'Peignot', serif",
63
+ fillHex: ART_DECO_PALETTE.pearlWhite,
64
+ strokeHex: ART_DECO_PALETTE.goldPrimary,
65
+ x: 80,
66
+ y: Math.round(height * 0.25),
67
+ width: width - 160,
68
+ height: 100,
69
+ textAlign: "center",
70
+ });
71
+ // 5. Golden Horizontal Line Divider
72
+ elements.push({
73
+ id: "art-deco-gold-divider-top",
74
+ type: "shape",
75
+ fillHex: ART_DECO_PALETTE.goldPrimary,
76
+ x: Math.round(width / 2 - 150),
77
+ y: Math.round(height * 0.38),
78
+ width: 300,
79
+ height: 3,
80
+ });
81
+ // 6. Subtitle Block
82
+ elements.push({
83
+ id: "art-deco-subtitle-text",
84
+ type: "text",
85
+ content: options.subtitle.toUpperCase(),
86
+ fontSize: 22,
87
+ fontWeight: "700",
88
+ fontFamily: "Metropolis, sans-serif",
89
+ fillHex: ART_DECO_PALETTE.goldLight,
90
+ x: 100,
91
+ y: Math.round(height * 0.43),
92
+ width: width - 200,
93
+ height: 60,
94
+ textAlign: "center",
95
+ });
96
+ // 7. Golden Horizontal Line Divider Bottom
97
+ elements.push({
98
+ id: "art-deco-gold-divider-bottom",
99
+ type: "shape",
100
+ fillHex: ART_DECO_PALETTE.goldPrimary,
101
+ x: Math.round(width / 2 - 150),
102
+ y: Math.round(height * 0.50),
103
+ width: 300,
104
+ height: 3,
105
+ });
106
+ // 8. Optional Body Copy Block
107
+ if (options.body) {
108
+ elements.push({
109
+ id: "art-deco-body-text",
110
+ type: "text",
111
+ content: options.body,
112
+ fontSize: 18,
113
+ fontWeight: "400",
114
+ fontFamily: "Metropolis, serif",
115
+ fillHex: ART_DECO_PALETTE.pearlWhite,
116
+ x: 120,
117
+ y: Math.round(height * 0.58),
118
+ width: width - 240,
119
+ height: 160,
120
+ textAlign: "center",
121
+ });
122
+ }
123
+ return {
124
+ id: `art-deco-poster-${Date.now()}`,
125
+ style: "art_deco_geometric",
126
+ width,
127
+ height,
128
+ backgroundHex,
129
+ elements,
130
+ metadata: {
131
+ title: options.title,
132
+ createdAt: new Date().toISOString(),
133
+ symmetryType: "bilateral_art_deco",
134
+ palette: [
135
+ ART_DECO_PALETTE.darkNavy,
136
+ ART_DECO_PALETTE.emerald,
137
+ ART_DECO_PALETTE.goldPrimary,
138
+ ART_DECO_PALETTE.goldLight,
139
+ ART_DECO_PALETTE.pearlWhite,
140
+ ],
141
+ },
142
+ };
143
+ }
144
+ //# sourceMappingURL=art-deco-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"art-deco-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/art-deco-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * ART NOUVEAU ORGANIC FLORAL PROCEDURAL GENERATOR
3
+ *
4
+ * Implements Alphonse Mucha-inspired organic Art Nouveau aesthetics:
5
+ * - Sinuous S-curve whiplash lines & asymmetrical floral tendrils.
6
+ * - Muted jewel & earth tones (forest green #2d4a3e, gold #d4af37, terracotta #8c2d19, parchment #f4ecd8).
7
+ * - Intricate halo halo framing & arched border filigree.
8
+ * - Elegant organic serif typography (Cinzel Decorative, Cormorant Garamond).
9
+ */
10
+ export interface ArtNouveauInput {
11
+ title: string;
12
+ subtitle?: string;
13
+ body?: string;
14
+ canvasWidth?: number;
15
+ canvasHeight?: number;
16
+ }
17
+ export interface ArtNouveauItem {
18
+ id: string;
19
+ type: "text" | "rect" | "circle" | "path";
20
+ text?: string;
21
+ x: number;
22
+ y: number;
23
+ width?: number;
24
+ height?: number;
25
+ radius?: number;
26
+ fontSize?: number;
27
+ fontFamily: string;
28
+ fontWeight?: string | number;
29
+ textAlign: "left" | "center";
30
+ fill: string;
31
+ stroke?: string;
32
+ strokeWidth?: number;
33
+ d?: string;
34
+ zIndex: number;
35
+ }
36
+ export interface ArtNouveauResult {
37
+ style: "art_nouveau";
38
+ canvas: {
39
+ width: number;
40
+ height: number;
41
+ };
42
+ items: ArtNouveauItem[];
43
+ palette: string[];
44
+ }
45
+ export declare function generateArtNouveauPoster(input: ArtNouveauInput): ArtNouveauResult;
46
+ //# sourceMappingURL=art-nouveau-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"art-nouveau-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/art-nouveau-generator.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CA2HjF"}
@@ -0,0 +1,134 @@
1
+ /* GENERATED — DO NOT EDIT.
2
+ *
3
+ * Source: mcp-cloud/src/services/art-nouveau-generator.ts
4
+ * sha256: d70ea759329050c26323f25f11171055fa019227d1787b49802184805132407c
5
+ * Generator: scripts/sync-design-systems.mjs
6
+ *
7
+ * Edit the TypeScript upstream and re-run the generator. A hand edit here is
8
+ * the second copy of the same design vocabulary that the generator exists to
9
+ * prevent, and the provenance test will fail on it.
10
+ */
11
+ /**
12
+ * ART NOUVEAU ORGANIC FLORAL PROCEDURAL GENERATOR
13
+ *
14
+ * Implements Alphonse Mucha-inspired organic Art Nouveau aesthetics:
15
+ * - Sinuous S-curve whiplash lines & asymmetrical floral tendrils.
16
+ * - Muted jewel & earth tones (forest green #2d4a3e, gold #d4af37, terracotta #8c2d19, parchment #f4ecd8).
17
+ * - Intricate halo halo framing & arched border filigree.
18
+ * - Elegant organic serif typography (Cinzel Decorative, Cormorant Garamond).
19
+ */
20
+ export function generateArtNouveauPoster(input) {
21
+ const width = input.canvasWidth || 1080;
22
+ const height = input.canvasHeight || 1350;
23
+ const bgParchment = "#f4ecd8";
24
+ const forestGreen = "#2d4a3e";
25
+ const goldHex = "#d4af37";
26
+ const terracottaHex = "#8c2d19";
27
+ const darkBrown = "#1a0f0a";
28
+ const items = [];
29
+ // Parchment background
30
+ items.push({
31
+ id: "an_bg",
32
+ type: "rect",
33
+ x: 0,
34
+ y: 0,
35
+ width,
36
+ height,
37
+ fontFamily: "Cormorant Garamond, serif",
38
+ textAlign: "left",
39
+ fill: bgParchment,
40
+ zIndex: 0,
41
+ });
42
+ // Architectural halo arch behind focal point
43
+ items.push({
44
+ id: "an_halo_outer",
45
+ type: "circle",
46
+ x: width * 0.5,
47
+ y: height * 0.38,
48
+ radius: 220,
49
+ fontFamily: "Cormorant Garamond, serif",
50
+ textAlign: "center",
51
+ fill: "transparent",
52
+ stroke: goldHex,
53
+ strokeWidth: 8,
54
+ zIndex: 1,
55
+ });
56
+ items.push({
57
+ id: "an_halo_inner",
58
+ type: "circle",
59
+ x: width * 0.5,
60
+ y: height * 0.38,
61
+ radius: 195,
62
+ fontFamily: "Cormorant Garamond, serif",
63
+ textAlign: "center",
64
+ fill: forestGreen,
65
+ zIndex: 2,
66
+ });
67
+ // Floral S-curve tendril motif paths (whiplash curves)
68
+ items.push({
69
+ id: "an_whiplash_left",
70
+ type: "path",
71
+ x: width * 0.2,
72
+ y: height * 0.3,
73
+ d: `M ${width * 0.2} ${height * 0.4} C ${width * 0.15} ${height * 0.25}, ${width * 0.35} ${height * 0.2}, ${width * 0.45} ${height * 0.35}`,
74
+ fontFamily: "Cormorant Garamond, serif",
75
+ textAlign: "left",
76
+ fill: "none",
77
+ stroke: goldHex,
78
+ strokeWidth: 4,
79
+ zIndex: 3,
80
+ });
81
+ // Title
82
+ items.push({
83
+ id: "an_title",
84
+ type: "text",
85
+ text: input.title,
86
+ x: width * 0.1,
87
+ y: height * 0.72,
88
+ fontSize: 56,
89
+ fontFamily: "Cinzel Decorative, Cormorant Garamond, serif",
90
+ fontWeight: 700,
91
+ textAlign: "left",
92
+ fill: darkBrown,
93
+ zIndex: 5,
94
+ });
95
+ // Subtitle
96
+ if (input.subtitle) {
97
+ items.push({
98
+ id: "an_subtitle",
99
+ type: "text",
100
+ text: input.subtitle,
101
+ x: width * 0.1,
102
+ y: height * 0.79,
103
+ fontSize: 28,
104
+ fontFamily: "Cormorant Garamond, serif",
105
+ fontWeight: 600,
106
+ textAlign: "left",
107
+ fill: terracottaHex,
108
+ zIndex: 5,
109
+ });
110
+ }
111
+ // Body
112
+ if (input.body) {
113
+ items.push({
114
+ id: "an_body",
115
+ type: "text",
116
+ text: input.body,
117
+ x: width * 0.1,
118
+ y: height * 0.84,
119
+ fontSize: 20,
120
+ fontFamily: "Cormorant Garamond, serif",
121
+ fontWeight: 400,
122
+ textAlign: "left",
123
+ fill: "#4a3b32",
124
+ zIndex: 5,
125
+ });
126
+ }
127
+ return {
128
+ style: "art_nouveau",
129
+ canvas: { width, height },
130
+ items,
131
+ palette: [bgParchment, forestGreen, goldHex, terracottaHex, darkBrown],
132
+ };
133
+ }
134
+ //# sourceMappingURL=art-nouveau-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"art-nouveau-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/art-nouveau-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { DesignStyle } from "./design-style.js";
2
+ export interface BauhausElement {
3
+ id: string;
4
+ type: "text" | "shape";
5
+ shapeType?: "circle" | "square" | "triangle" | "line";
6
+ content?: string;
7
+ fontSize?: number;
8
+ fontWeight?: string;
9
+ fontFamily?: string;
10
+ fillHex: string;
11
+ x: number;
12
+ y: number;
13
+ width: number;
14
+ height: number;
15
+ rotationDegrees?: number;
16
+ textAlign?: "left" | "center" | "right";
17
+ hasDropShadow?: boolean;
18
+ hasBlur?: boolean;
19
+ }
20
+ export interface BauhausPosterOptions {
21
+ title: string;
22
+ subtitle: string;
23
+ body?: string;
24
+ width?: number;
25
+ height?: number;
26
+ darkVariant?: boolean;
27
+ }
28
+ export interface BauhausDesignScene {
29
+ id: string;
30
+ style: DesignStyle;
31
+ width: number;
32
+ height: number;
33
+ backgroundHex: string;
34
+ elements: BauhausElement[];
35
+ metadata: {
36
+ title: string;
37
+ createdAt: string;
38
+ gridSystem: "bauhaus_asymmetric_3col";
39
+ palette: string[];
40
+ };
41
+ }
42
+ export declare const BAUHAUS_PALETTE: {
43
+ cream: string;
44
+ red: string;
45
+ blue: string;
46
+ yellow: string;
47
+ dark: string;
48
+ };
49
+ /**
50
+ * Procedurally generates an asymmetric Bauhaus Modernist geometric slide/poster layout.
51
+ */
52
+ export declare function generateBauhausPoster(options: BauhausPosterOptions): BauhausDesignScene;
53
+ //# sourceMappingURL=bauhaus-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bauhaus-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/bauhaus-generator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,yBAAyB,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,eAAO,MAAM,eAAe;;;;;;CAM3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CA0HvF"}
@@ -0,0 +1,126 @@
1
+ export const BAUHAUS_PALETTE = {
2
+ cream: "#f4f1de",
3
+ red: "#d62828",
4
+ blue: "#003049",
5
+ yellow: "#fdf0d5",
6
+ dark: "#111111",
7
+ };
8
+ /**
9
+ * Procedurally generates an asymmetric Bauhaus Modernist geometric slide/poster layout.
10
+ */
11
+ export function generateBauhausPoster(options) {
12
+ const width = options.width ?? 1080;
13
+ const height = options.height ?? 1350;
14
+ const isDark = options.darkVariant ?? false;
15
+ const backgroundHex = isDark ? BAUHAUS_PALETTE.dark : BAUHAUS_PALETTE.cream;
16
+ const primaryTextColor = isDark ? BAUHAUS_PALETTE.cream : BAUHAUS_PALETTE.dark;
17
+ const elements = [];
18
+ // 1. Primary Red Circle (large architectural structural shape)
19
+ const circleSize = Math.round(width * 0.45);
20
+ elements.push({
21
+ id: "bauhaus-red-circle",
22
+ type: "shape",
23
+ shapeType: "circle",
24
+ fillHex: BAUHAUS_PALETTE.red,
25
+ x: Math.round(width * 0.42),
26
+ y: Math.round(height * 0.18),
27
+ width: circleSize,
28
+ height: circleSize,
29
+ hasDropShadow: false,
30
+ hasBlur: false,
31
+ });
32
+ // 2. Deep Blue Rectangle
33
+ elements.push({
34
+ id: "bauhaus-blue-square",
35
+ type: "shape",
36
+ shapeType: "square",
37
+ fillHex: BAUHAUS_PALETTE.blue,
38
+ x: Math.round(width * 0.1),
39
+ y: Math.round(height * 0.35),
40
+ width: Math.round(width * 0.28),
41
+ height: Math.round(height * 0.42),
42
+ hasDropShadow: false,
43
+ hasBlur: false,
44
+ });
45
+ // 3. Black Structural Line Divider
46
+ elements.push({
47
+ id: "bauhaus-black-line",
48
+ type: "shape",
49
+ shapeType: "line",
50
+ fillHex: isDark ? BAUHAUS_PALETTE.yellow : BAUHAUS_PALETTE.dark,
51
+ x: Math.round(width * 0.1),
52
+ y: Math.round(height * 0.15),
53
+ width: Math.round(width * 0.8),
54
+ height: 6,
55
+ hasDropShadow: false,
56
+ hasBlur: false,
57
+ });
58
+ // 4. Asymmetric Heavy Headline Typography
59
+ elements.push({
60
+ id: "bauhaus-title-text",
61
+ type: "text",
62
+ content: options.title.toUpperCase(),
63
+ fontSize: 72,
64
+ fontWeight: "900",
65
+ fontFamily: "Futura, 'Bayer Universal', sans-serif",
66
+ fillHex: primaryTextColor,
67
+ x: Math.round(width * 0.1),
68
+ y: Math.round(height * 0.06),
69
+ width: Math.round(width * 0.8),
70
+ height: 90,
71
+ textAlign: "left",
72
+ });
73
+ // 5. Subtitle Text Block
74
+ elements.push({
75
+ id: "bauhaus-subtitle-text",
76
+ type: "text",
77
+ content: options.subtitle,
78
+ fontSize: 24,
79
+ fontWeight: "700",
80
+ fontFamily: "Futura, sans-serif",
81
+ fillHex: isDark ? BAUHAUS_PALETTE.cream : BAUHAUS_PALETTE.blue,
82
+ x: Math.round(width * 0.42),
83
+ y: Math.round(height * 0.68),
84
+ width: Math.round(width * 0.5),
85
+ height: 60,
86
+ textAlign: "left",
87
+ });
88
+ // 6. Optional Body Copy Block
89
+ if (options.body) {
90
+ elements.push({
91
+ id: "bauhaus-body-text",
92
+ type: "text",
93
+ content: options.body,
94
+ fontSize: 16,
95
+ fontWeight: "400",
96
+ fontFamily: "Futura, sans-serif",
97
+ fillHex: primaryTextColor,
98
+ x: Math.round(width * 0.42),
99
+ y: Math.round(height * 0.76),
100
+ width: Math.round(width * 0.5),
101
+ height: 120,
102
+ textAlign: "left",
103
+ });
104
+ }
105
+ return {
106
+ id: `bauhaus-poster-${Date.now()}`,
107
+ style: "bauhaus_geometric",
108
+ width,
109
+ height,
110
+ backgroundHex,
111
+ elements,
112
+ metadata: {
113
+ title: options.title,
114
+ createdAt: new Date().toISOString(),
115
+ gridSystem: "bauhaus_asymmetric_3col",
116
+ palette: [
117
+ BAUHAUS_PALETTE.cream,
118
+ BAUHAUS_PALETTE.red,
119
+ BAUHAUS_PALETTE.blue,
120
+ BAUHAUS_PALETTE.yellow,
121
+ BAUHAUS_PALETTE.dark,
122
+ ],
123
+ },
124
+ };
125
+ }
126
+ //# sourceMappingURL=bauhaus-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bauhaus-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/bauhaus-generator.ts"],"names":[],"mappings":"AAuDA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA6B;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC;IAC5E,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;IAE/E,MAAM,QAAQ,GAAqB,EAAE,CAAC;IAEtC,+DAA+D;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC;QACZ,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,eAAe,CAAC,GAAG;QAC5B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,UAAU;QAClB,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CAAC;QACZ,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,eAAe,CAAC,IAAI;QAC7B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAC1B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACjC,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,mCAAmC;IACnC,QAAQ,CAAC,IAAI,CAAC;QACZ,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI;QAC/D,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAC1B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAC9B,MAAM,EAAE,CAAC;QACT,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,CAAC;QACZ,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;QACpC,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,uCAAuC;QACnD,OAAO,EAAE,gBAAgB;QACzB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAC1B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAC9B,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CAAC;QACZ,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI;QAC9D,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAC9B,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;IAEH,8BAA8B;IAC9B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,oBAAoB;YAChC,OAAO,EAAE,gBAAgB;YACzB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YAC3B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;YAC9B,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,EAAE,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE;QAClC,KAAK,EAAE,mBAAmB;QAC1B,KAAK;QACL,MAAM;QACN,aAAa;QACb,QAAQ;QACR,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,UAAU,EAAE,yBAAyB;YACrC,OAAO,EAAE;gBACP,eAAe,CAAC,KAAK;gBACrB,eAAe,CAAC,GAAG;gBACnB,eAAe,CAAC,IAAI;gBACpB,eAAe,CAAC,MAAM;gBACtB,eAAe,CAAC,IAAI;aACrB;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,53 @@
1
+ import type { DesignStyle } from "./design-style.js";
2
+ export interface BrutalistElement {
3
+ id: string;
4
+ type: "text" | "shape" | "wireframe_box" | "highlight_tag";
5
+ content?: string;
6
+ fontSize?: number;
7
+ fontWeight?: string;
8
+ fontFamily?: string;
9
+ fillHex: string;
10
+ strokeHex?: string;
11
+ strokeWidthPx?: number;
12
+ borderRadiusPx?: number;
13
+ x: number;
14
+ y: number;
15
+ width: number;
16
+ height: number;
17
+ textAlign?: "left" | "center" | "right";
18
+ hasBlur?: boolean;
19
+ }
20
+ export interface BrutalistPosterOptions {
21
+ title: string;
22
+ subtitle: string;
23
+ body?: string;
24
+ width?: number;
25
+ height?: number;
26
+ darkVariant?: boolean;
27
+ }
28
+ export interface BrutalistDesignScene {
29
+ id: string;
30
+ style: DesignStyle;
31
+ width: number;
32
+ height: number;
33
+ backgroundHex: string;
34
+ elements: BrutalistElement[];
35
+ metadata: {
36
+ title: string;
37
+ createdAt: string;
38
+ compositionType: "brutalist_wireframe_raw";
39
+ palette: string[];
40
+ };
41
+ }
42
+ export declare const BRUTALIST_PALETTE: {
43
+ white: string;
44
+ black: string;
45
+ neonYellow: string;
46
+ alertRed: string;
47
+ electricBlue: string;
48
+ };
49
+ /**
50
+ * Procedurally generates a Brutalist Raw Web poster layout with stark wireframe boxes, neon yellow highlights, and 0px border radius.
51
+ */
52
+ export declare function generateBrutalistPoster(options: BrutalistPosterOptions): BrutalistDesignScene;
53
+ //# sourceMappingURL=brutalist-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brutalist-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/brutalist-generator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,eAAe,GAAG,eAAe,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,yBAAyB,CAAC;QAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,oBAAoB,CAkJ7F"}