@pinepaper.studio/mcp-server 1.6.7 → 1.6.8

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 (164) 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 +171 -17
  8. package/README.pt-BR.md +9 -5
  9. package/README.zh-CN.md +6 -4
  10. package/dist/character/data/concepts.json +1 -0
  11. package/dist/character/data/depictions.json +1 -0
  12. package/dist/character/data/styles.json +1 -0
  13. package/dist/character/duration-scale.d.ts +13 -0
  14. package/dist/character/duration-scale.d.ts.map +1 -0
  15. package/dist/character/duration-scale.js +13 -0
  16. package/dist/character/duration-scale.js.map +1 -0
  17. package/dist/character/path-bbox.d.ts +82 -0
  18. package/dist/character/path-bbox.d.ts.map +1 -0
  19. package/dist/character/path-bbox.js +496 -0
  20. package/dist/character/path-bbox.js.map +1 -0
  21. package/dist/character/perform.d.ts +149 -0
  22. package/dist/character/perform.d.ts.map +1 -0
  23. package/dist/character/perform.js +626 -0
  24. package/dist/character/perform.js.map +1 -0
  25. package/dist/character/resolve.d.ts +51 -0
  26. package/dist/character/resolve.d.ts.map +1 -0
  27. package/dist/character/resolve.js +239 -0
  28. package/dist/character/resolve.js.map +1 -0
  29. package/dist/design/design-systems.d.ts +126 -0
  30. package/dist/design/design-systems.d.ts.map +1 -0
  31. package/dist/design/design-systems.js +240 -0
  32. package/dist/design/design-systems.js.map +1 -0
  33. package/dist/execution/canvas-state.d.ts +7 -0
  34. package/dist/execution/canvas-state.d.ts.map +1 -1
  35. package/dist/execution/canvas-state.js +20 -8
  36. package/dist/execution/canvas-state.js.map +1 -1
  37. package/dist/index.d.ts +20 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +12 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/ontology/design-graph.d.ts +9 -0
  42. package/dist/ontology/design-graph.d.ts.map +1 -1
  43. package/dist/ontology/design-graph.js +98 -3
  44. package/dist/ontology/design-graph.js.map +1 -1
  45. package/dist/ontology/types.d.ts +42 -0
  46. package/dist/ontology/types.d.ts.map +1 -1
  47. package/dist/ontology/vocabulary.d.ts.map +1 -1
  48. package/dist/ontology/vocabulary.js +20 -0
  49. package/dist/ontology/vocabulary.js.map +1 -1
  50. package/dist/tools/compact-descriptions.d.ts.map +1 -1
  51. package/dist/tools/compact-descriptions.js +25 -0
  52. package/dist/tools/compact-descriptions.js.map +1 -1
  53. package/dist/tools/definitions.d.ts +1 -1
  54. package/dist/tools/definitions.d.ts.map +1 -1
  55. package/dist/tools/definitions.js +343 -24
  56. package/dist/tools/definitions.js.map +1 -1
  57. package/dist/tools/engine-methods.d.ts +18 -0
  58. package/dist/tools/engine-methods.d.ts.map +1 -0
  59. package/dist/tools/engine-methods.js +239 -0
  60. package/dist/tools/engine-methods.js.map +1 -0
  61. package/dist/tools/handlers/character.d.ts +121 -0
  62. package/dist/tools/handlers/character.d.ts.map +1 -0
  63. package/dist/tools/handlers/character.js +315 -0
  64. package/dist/tools/handlers/character.js.map +1 -0
  65. package/dist/tools/handlers.d.ts +2 -0
  66. package/dist/tools/handlers.d.ts.map +1 -1
  67. package/dist/tools/handlers.js +316 -16
  68. package/dist/tools/handlers.js.map +1 -1
  69. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  70. package/dist/tools/minimal-descriptions.js +13 -2
  71. package/dist/tools/minimal-descriptions.js.map +1 -1
  72. package/dist/tools/toolkits.d.ts.map +1 -1
  73. package/dist/tools/toolkits.js +7 -0
  74. package/dist/tools/toolkits.js.map +1 -1
  75. package/dist/types/code-generator.d.ts +96 -1
  76. package/dist/types/code-generator.d.ts.map +1 -1
  77. package/dist/types/code-generator.js +1200 -12
  78. package/dist/types/code-generator.js.map +1 -1
  79. package/dist/types/schemas.d.ts +6792 -151
  80. package/dist/types/schemas.d.ts.map +1 -1
  81. package/dist/types/schemas.js +587 -17
  82. package/dist/types/schemas.js.map +1 -1
  83. package/dist/vendor/design/art-deco-generator.d.ts +52 -0
  84. package/dist/vendor/design/art-deco-generator.d.ts.map +1 -0
  85. package/dist/vendor/design/art-deco-generator.js +144 -0
  86. package/dist/vendor/design/art-deco-generator.js.map +1 -0
  87. package/dist/vendor/design/art-nouveau-generator.d.ts +46 -0
  88. package/dist/vendor/design/art-nouveau-generator.d.ts.map +1 -0
  89. package/dist/vendor/design/art-nouveau-generator.js +134 -0
  90. package/dist/vendor/design/art-nouveau-generator.js.map +1 -0
  91. package/dist/vendor/design/bauhaus-generator.d.ts +53 -0
  92. package/dist/vendor/design/bauhaus-generator.d.ts.map +1 -0
  93. package/dist/vendor/design/bauhaus-generator.js +126 -0
  94. package/dist/vendor/design/bauhaus-generator.js.map +1 -0
  95. package/dist/vendor/design/brutalist-generator.d.ts +53 -0
  96. package/dist/vendor/design/brutalist-generator.d.ts.map +1 -0
  97. package/dist/vendor/design/brutalist-generator.js +148 -0
  98. package/dist/vendor/design/brutalist-generator.js.map +1 -0
  99. package/dist/vendor/design/claymorphism-generator.d.ts +46 -0
  100. package/dist/vendor/design/claymorphism-generator.d.ts.map +1 -0
  101. package/dist/vendor/design/claymorphism-generator.js +135 -0
  102. package/dist/vendor/design/claymorphism-generator.js.map +1 -0
  103. package/dist/vendor/design/corporate-memphis-generator.d.ts +47 -0
  104. package/dist/vendor/design/corporate-memphis-generator.d.ts.map +1 -0
  105. package/dist/vendor/design/corporate-memphis-generator.js +144 -0
  106. package/dist/vendor/design/corporate-memphis-generator.js.map +1 -0
  107. package/dist/vendor/design/cyberpunk-generator.d.ts +52 -0
  108. package/dist/vendor/design/cyberpunk-generator.d.ts.map +1 -0
  109. package/dist/vendor/design/cyberpunk-generator.js +162 -0
  110. package/dist/vendor/design/cyberpunk-generator.js.map +1 -0
  111. package/dist/vendor/design/de-stijl-generator.d.ts +50 -0
  112. package/dist/vendor/design/de-stijl-generator.d.ts.map +1 -0
  113. package/dist/vendor/design/de-stijl-generator.js +154 -0
  114. package/dist/vendor/design/de-stijl-generator.js.map +1 -0
  115. package/dist/vendor/design/design-style.d.ts +3 -0
  116. package/dist/vendor/design/design-style.d.ts.map +1 -0
  117. package/dist/vendor/design/design-style.js +12 -0
  118. package/dist/vendor/design/design-style.js.map +1 -0
  119. package/dist/vendor/design/design-systems-dtcg.d.ts +59 -0
  120. package/dist/vendor/design/design-systems-dtcg.d.ts.map +1 -0
  121. package/dist/vendor/design/design-systems-dtcg.js +571 -0
  122. package/dist/vendor/design/design-systems-dtcg.js.map +1 -0
  123. package/dist/vendor/design/frutiger-aero-generator.d.ts +46 -0
  124. package/dist/vendor/design/frutiger-aero-generator.d.ts.map +1 -0
  125. package/dist/vendor/design/frutiger-aero-generator.js +133 -0
  126. package/dist/vendor/design/frutiger-aero-generator.js.map +1 -0
  127. package/dist/vendor/design/memphis-generator.d.ts +56 -0
  128. package/dist/vendor/design/memphis-generator.d.ts.map +1 -0
  129. package/dist/vendor/design/memphis-generator.js +158 -0
  130. package/dist/vendor/design/memphis-generator.js.map +1 -0
  131. package/dist/vendor/design/mid-century-upa-generator.d.ts +46 -0
  132. package/dist/vendor/design/mid-century-upa-generator.d.ts.map +1 -0
  133. package/dist/vendor/design/mid-century-upa-generator.js +137 -0
  134. package/dist/vendor/design/mid-century-upa-generator.js.map +1 -0
  135. package/dist/vendor/design/neumorphic-generator.d.ts +53 -0
  136. package/dist/vendor/design/neumorphic-generator.d.ts.map +1 -0
  137. package/dist/vendor/design/neumorphic-generator.js +182 -0
  138. package/dist/vendor/design/neumorphic-generator.js.map +1 -0
  139. package/dist/vendor/design/op-art-generator.d.ts +45 -0
  140. package/dist/vendor/design/op-art-generator.d.ts.map +1 -0
  141. package/dist/vendor/design/op-art-generator.js +116 -0
  142. package/dist/vendor/design/op-art-generator.js.map +1 -0
  143. package/dist/vendor/design/pixel-art-generator.d.ts +45 -0
  144. package/dist/vendor/design/pixel-art-generator.d.ts.map +1 -0
  145. package/dist/vendor/design/pixel-art-generator.js +143 -0
  146. package/dist/vendor/design/pixel-art-generator.js.map +1 -0
  147. package/dist/vendor/design/pop-art-generator.d.ts +53 -0
  148. package/dist/vendor/design/pop-art-generator.d.ts.map +1 -0
  149. package/dist/vendor/design/pop-art-generator.js +164 -0
  150. package/dist/vendor/design/pop-art-generator.js.map +1 -0
  151. package/dist/vendor/design/risograph-generator.d.ts +53 -0
  152. package/dist/vendor/design/risograph-generator.d.ts.map +1 -0
  153. package/dist/vendor/design/risograph-generator.js +170 -0
  154. package/dist/vendor/design/risograph-generator.js.map +1 -0
  155. package/dist/vendor/design/swiss-style-generator.d.ts +55 -0
  156. package/dist/vendor/design/swiss-style-generator.d.ts.map +1 -0
  157. package/dist/vendor/design/swiss-style-generator.js +147 -0
  158. package/dist/vendor/design/swiss-style-generator.js.map +1 -0
  159. package/dist/vendor/design/vaporwave-generator.d.ts +51 -0
  160. package/dist/vendor/design/vaporwave-generator.d.ts.map +1 -0
  161. package/dist/vendor/design/vaporwave-generator.js +139 -0
  162. package/dist/vendor/design/vaporwave-generator.js.map +1 -0
  163. package/manifest.json +29 -1
  164. package/package.json +13 -5
@@ -0,0 +1,182 @@
1
+ /* GENERATED — DO NOT EDIT.
2
+ *
3
+ * Source: mcp-cloud/src/services/neumorphic-generator.ts
4
+ * sha256: 652ce047ee45738858a3d2595dc9a67668c9bf027ee5d53badbd5c9f95f59ebe
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
+ * NEUMORPHIC & GLASSMORPHIC SOFT UI LAYOUT GENERATOR
13
+ *
14
+ * Implements procedural generation of soft 3D extruded containers, dual shadows,
15
+ * frosted glass panels, and rounded tactile UI elements.
16
+ */
17
+ /**
18
+ * Generate a Neumorphic & Glassmorphic Soft UI layout scene graph.
19
+ */
20
+ export function generateNeumorphicLayout(input) {
21
+ const width = input.canvasWidth || 1280;
22
+ const height = input.canvasHeight || 720;
23
+ const bgSoft = "#e0e5ec";
24
+ const lightHighlight = "#ffffff";
25
+ const shadowDepth = "#a3b1c6";
26
+ const accentIndigo = input.accentColor || "#6366f1";
27
+ const textColor = "#1e293b";
28
+ const items = [];
29
+ // Background Canvas
30
+ items.push({
31
+ id: "neu_bg",
32
+ type: "rect",
33
+ x: 0,
34
+ y: 0,
35
+ width,
36
+ height,
37
+ fontFamily: "Outfit, Inter, sans-serif",
38
+ fill: bgSoft,
39
+ borderRadius: 0,
40
+ zIndex: 0,
41
+ });
42
+ // Main Soft Extruded Card Container
43
+ const mainCardW = Math.round(width * 0.85);
44
+ const mainCardH = Math.round(height * 0.8);
45
+ const mainCardX = Math.round((width - mainCardW) / 2);
46
+ const mainCardY = Math.round((height - mainCardH) / 2);
47
+ items.push({
48
+ id: "neu_main_card",
49
+ type: "rect",
50
+ x: mainCardX,
51
+ y: mainCardY,
52
+ width: mainCardW,
53
+ height: mainCardH,
54
+ fontFamily: "Outfit, Inter, sans-serif",
55
+ fill: bgSoft,
56
+ borderRadius: 24,
57
+ boxShadow: `9px 9px 18px ${shadowDepth}, -9px -9px 18px ${lightHighlight}`,
58
+ zIndex: 1,
59
+ });
60
+ // Header Title Text
61
+ let currentY = mainCardY + 48;
62
+ items.push({
63
+ id: "neu_title",
64
+ type: "text",
65
+ text: input.title,
66
+ x: mainCardX + 48,
67
+ y: currentY,
68
+ width: mainCardW - 96,
69
+ height: 60,
70
+ fontSize: 40,
71
+ fontFamily: "Outfit, Inter, sans-serif",
72
+ fontWeight: "bold",
73
+ fill: textColor,
74
+ borderRadius: 0,
75
+ zIndex: 2,
76
+ });
77
+ currentY += 64;
78
+ if (input.subtitle) {
79
+ items.push({
80
+ id: "neu_subtitle",
81
+ type: "text",
82
+ text: input.subtitle,
83
+ x: mainCardX + 48,
84
+ y: currentY,
85
+ width: mainCardW - 96,
86
+ height: 32,
87
+ fontSize: 20,
88
+ fontFamily: "Outfit, Inter, sans-serif",
89
+ fontWeight: "medium",
90
+ fill: accentIndigo,
91
+ borderRadius: 0,
92
+ zIndex: 2,
93
+ });
94
+ currentY += 48;
95
+ }
96
+ // Frosted Glassmorphic Overlay Panel
97
+ const glassW = Math.round(mainCardW - 96);
98
+ const glassH = 180;
99
+ items.push({
100
+ id: "glass_panel",
101
+ type: "glass_card",
102
+ x: mainCardX + 48,
103
+ y: currentY,
104
+ width: glassW,
105
+ height: glassH,
106
+ fontFamily: "Outfit, Inter, sans-serif",
107
+ fill: "rgba(255, 255, 255, 0.35)",
108
+ borderRadius: 20,
109
+ backdropFilter: "blur(16px)",
110
+ border: "1px solid rgba(255, 255, 255, 0.6)",
111
+ boxShadow: `0 8px 32px 0 rgba(31, 38, 135, 0.15)`,
112
+ zIndex: 3,
113
+ });
114
+ if (input.cardTitle) {
115
+ items.push({
116
+ id: "glass_card_title",
117
+ type: "text",
118
+ text: input.cardTitle,
119
+ x: mainCardX + 72,
120
+ y: currentY + 24,
121
+ width: glassW - 48,
122
+ height: 36,
123
+ fontSize: 24,
124
+ fontFamily: "Outfit, Inter, sans-serif",
125
+ fontWeight: "bold",
126
+ fill: textColor,
127
+ borderRadius: 0,
128
+ zIndex: 4,
129
+ });
130
+ }
131
+ if (input.cardBody) {
132
+ items.push({
133
+ id: "glass_card_body",
134
+ type: "text",
135
+ text: input.cardBody,
136
+ x: mainCardX + 72,
137
+ y: currentY + 68,
138
+ width: glassW - 48,
139
+ height: 80,
140
+ fontSize: 16,
141
+ fontFamily: "Outfit, Inter, sans-serif",
142
+ fontWeight: "normal",
143
+ fill: textColor,
144
+ borderRadius: 0,
145
+ zIndex: 4,
146
+ });
147
+ }
148
+ currentY += glassH + 32;
149
+ // Tactile Neumorphic Soft Button CTA
150
+ items.push({
151
+ id: "neu_cta_button",
152
+ type: "neumorphic_button",
153
+ text: "Explore Tactile Soft UI",
154
+ x: mainCardX + 48,
155
+ y: currentY,
156
+ width: 240,
157
+ height: 52,
158
+ fontSize: 16,
159
+ fontFamily: "Outfit, Inter, sans-serif",
160
+ fontWeight: "bold",
161
+ fill: bgSoft,
162
+ borderRadius: 16,
163
+ boxShadow: `4px 4px 8px ${shadowDepth}, -4px -4px 8px ${lightHighlight}`,
164
+ border: `2px solid ${accentIndigo}`,
165
+ zIndex: 3,
166
+ });
167
+ return {
168
+ style: "neumorphic_glass",
169
+ canvas: { width, height },
170
+ items,
171
+ palette: [bgSoft, lightHighlight, shadowDepth, accentIndigo, textColor],
172
+ };
173
+ }
174
+ export function generateNeumorphicDashboard(options) {
175
+ return generateNeumorphicLayout({
176
+ title: options.title,
177
+ subtitle: options.subtitle,
178
+ cardTitle: "System Telemetry",
179
+ cardBody: options.body,
180
+ });
181
+ }
182
+ //# sourceMappingURL=neumorphic-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neumorphic-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/neumorphic-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * OP ART / PSYCHEDELIC OPTICAL ILLUSION PROCEDURAL GENERATOR
3
+ *
4
+ * Implements Victor Vasarely / Bridget Riley Op Art aesthetics:
5
+ * - High-contrast concentric geometric moiré patterns & optical illusion warping.
6
+ * - Monochrome (#000000, #ffffff) or high-contrast psychedelic neon (#ff0055, #00f0ff, #7000ff).
7
+ * - Kinetic visual depth & pulsating focal points.
8
+ * - Bold geometric display typography (Syne, Archivo Black).
9
+ */
10
+ export interface OpArtInput {
11
+ title: string;
12
+ subtitle?: string;
13
+ body?: string;
14
+ canvasWidth?: number;
15
+ canvasHeight?: number;
16
+ }
17
+ export interface OpArtItem {
18
+ id: string;
19
+ type: "text" | "rect" | "circle";
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
+ zIndex: number;
34
+ }
35
+ export interface OpArtResult {
36
+ style: "op_art_psychedelic";
37
+ canvas: {
38
+ width: number;
39
+ height: number;
40
+ };
41
+ items: OpArtItem[];
42
+ palette: string[];
43
+ }
44
+ export declare function generateOpArtPoster(input: OpArtInput): OpArtResult;
45
+ //# sourceMappingURL=op-art-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"op-art-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/op-art-generator.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,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,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,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,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAwGlE"}
@@ -0,0 +1,116 @@
1
+ /* GENERATED — DO NOT EDIT.
2
+ *
3
+ * Source: mcp-cloud/src/services/op-art-generator.ts
4
+ * sha256: 762fdfab688d977ed8289ef4c99a532bee5fe1a3ffc3f858f241e3c2ab542ee6
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
+ * OP ART / PSYCHEDELIC OPTICAL ILLUSION PROCEDURAL GENERATOR
13
+ *
14
+ * Implements Victor Vasarely / Bridget Riley Op Art aesthetics:
15
+ * - High-contrast concentric geometric moiré patterns & optical illusion warping.
16
+ * - Monochrome (#000000, #ffffff) or high-contrast psychedelic neon (#ff0055, #00f0ff, #7000ff).
17
+ * - Kinetic visual depth & pulsating focal points.
18
+ * - Bold geometric display typography (Syne, Archivo Black).
19
+ */
20
+ export function generateOpArtPoster(input) {
21
+ const width = input.canvasWidth || 1080;
22
+ const height = input.canvasHeight || 1350;
23
+ const bgBlack = "#050508";
24
+ const whiteHex = "#ffffff";
25
+ const neonPink = "#ff0055";
26
+ const neonCyan = "#00f0ff";
27
+ const purpleHex = "#7000ff";
28
+ const items = [];
29
+ // Black background
30
+ items.push({
31
+ id: "op_bg",
32
+ type: "rect",
33
+ x: 0,
34
+ y: 0,
35
+ width,
36
+ height,
37
+ fontFamily: "Syne, Archivo Black, sans-serif",
38
+ textAlign: "left",
39
+ fill: bgBlack,
40
+ zIndex: 0,
41
+ });
42
+ // Concentric Op Art Optical Illusion Rings
43
+ const ringCenterX = width / 2;
44
+ const ringCenterY = height * 0.4;
45
+ const ringCount = 7;
46
+ for (let i = ringCount; i >= 1; i--) {
47
+ const r = i * 36;
48
+ const isEven = i % 2 === 0;
49
+ items.push({
50
+ id: `op_ring_${i}`,
51
+ type: "circle",
52
+ x: ringCenterX,
53
+ y: ringCenterY,
54
+ radius: r,
55
+ fontFamily: "Syne, sans-serif",
56
+ textAlign: "center",
57
+ fill: isEven ? whiteHex : bgBlack,
58
+ stroke: isEven ? neonPink : neonCyan,
59
+ strokeWidth: 4,
60
+ zIndex: ringCount - i + 1,
61
+ });
62
+ }
63
+ // Title
64
+ items.push({
65
+ id: "op_title",
66
+ type: "text",
67
+ text: input.title,
68
+ x: width * 0.1,
69
+ y: height * 0.72,
70
+ fontSize: 56,
71
+ fontFamily: "Syne, Archivo Black, sans-serif",
72
+ fontWeight: 800,
73
+ textAlign: "left",
74
+ fill: whiteHex,
75
+ zIndex: 10,
76
+ });
77
+ // Subtitle
78
+ if (input.subtitle) {
79
+ items.push({
80
+ id: "op_subtitle",
81
+ type: "text",
82
+ text: input.subtitle,
83
+ x: width * 0.1,
84
+ y: height * 0.79,
85
+ fontSize: 28,
86
+ fontFamily: "Syne, sans-serif",
87
+ fontWeight: 700,
88
+ textAlign: "left",
89
+ fill: neonCyan,
90
+ zIndex: 10,
91
+ });
92
+ }
93
+ // Body
94
+ if (input.body) {
95
+ items.push({
96
+ id: "op_body",
97
+ type: "text",
98
+ text: input.body,
99
+ x: width * 0.1,
100
+ y: height * 0.84,
101
+ fontSize: 20,
102
+ fontFamily: "Archivo, sans-serif",
103
+ fontWeight: 400,
104
+ textAlign: "left",
105
+ fill: "#a1a1aa",
106
+ zIndex: 10,
107
+ });
108
+ }
109
+ return {
110
+ style: "op_art_psychedelic",
111
+ canvas: { width, height },
112
+ items,
113
+ palette: [bgBlack, whiteHex, neonPink, neonCyan, purpleHex],
114
+ };
115
+ }
116
+ //# sourceMappingURL=op-art-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"op-art-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/op-art-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * PIXEL ART 8-BIT RETRO ARCADE STYLE PROCEDURAL GENERATOR
3
+ *
4
+ * Implements 8-bit/16-bit retro video game sprite aesthetic:
5
+ * - Crisp pixel grid alignment & stepped stair-step geometry.
6
+ * - Retro arcade palette (black #000000, cyan #38b6ff, red #ff5757, yellow #ffde59, green #7ed957).
7
+ * - Pixelated bounding box frames & heart/coin HUD icons.
8
+ * - Pixel display typography ("Press Start 2P" / "VT323" / Monospace).
9
+ */
10
+ export interface PixelArtInput {
11
+ title: string;
12
+ subtitle?: string;
13
+ body?: string;
14
+ canvasWidth?: number;
15
+ canvasHeight?: number;
16
+ }
17
+ export interface PixelArtItem {
18
+ id: string;
19
+ type: "text" | "rect";
20
+ text?: string;
21
+ x: number;
22
+ y: number;
23
+ width?: number;
24
+ height?: number;
25
+ fontSize?: number;
26
+ fontFamily: string;
27
+ fontWeight?: string | number;
28
+ textAlign: "left" | "center";
29
+ fill: string;
30
+ stroke?: string;
31
+ strokeWidth?: number;
32
+ zIndex: number;
33
+ }
34
+ export interface PixelArtResult {
35
+ style: "pixel_art_8bit";
36
+ canvas: {
37
+ width: number;
38
+ height: number;
39
+ };
40
+ pixelSize: number;
41
+ items: PixelArtItem[];
42
+ palette: string[];
43
+ }
44
+ export declare function generatePixelArtPoster(input: PixelArtInput): PixelArtResult;
45
+ //# sourceMappingURL=pixel-art-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixel-art-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/pixel-art-generator.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AAEH,MAAM,WAAW,aAAa;IAC5B,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,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,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,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,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAoI3E"}
@@ -0,0 +1,143 @@
1
+ /* GENERATED — DO NOT EDIT.
2
+ *
3
+ * Source: mcp-cloud/src/services/pixel-art-generator.ts
4
+ * sha256: 47ee971991d886f71eb32ca122a5f1af210b3285075b28d9b37ae4ea6db26b45
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
+ * PIXEL ART 8-BIT RETRO ARCADE STYLE PROCEDURAL GENERATOR
13
+ *
14
+ * Implements 8-bit/16-bit retro video game sprite aesthetic:
15
+ * - Crisp pixel grid alignment & stepped stair-step geometry.
16
+ * - Retro arcade palette (black #000000, cyan #38b6ff, red #ff5757, yellow #ffde59, green #7ed957).
17
+ * - Pixelated bounding box frames & heart/coin HUD icons.
18
+ * - Pixel display typography ("Press Start 2P" / "VT323" / Monospace).
19
+ */
20
+ export function generatePixelArtPoster(input) {
21
+ const width = input.canvasWidth || 1080;
22
+ const height = input.canvasHeight || 1350;
23
+ const pixelSize = 16; // Pixel grid step
24
+ const bgBlack = "#0d0d11";
25
+ const cyanHex = "#38b6ff";
26
+ const redHex = "#ff5757";
27
+ const yellowHex = "#ffde59";
28
+ const greenHex = "#7ed957";
29
+ const whiteHex = "#ffffff";
30
+ const items = [];
31
+ // Black background
32
+ items.push({
33
+ id: "pa_bg",
34
+ type: "rect",
35
+ x: 0,
36
+ y: 0,
37
+ width,
38
+ height,
39
+ fontFamily: "Courier New, monospace",
40
+ textAlign: "left",
41
+ fill: bgBlack,
42
+ zIndex: 0,
43
+ });
44
+ // Pixelated border frame (stepped corners)
45
+ items.push({
46
+ id: "pa_border_outer",
47
+ type: "rect",
48
+ x: pixelSize * 2,
49
+ y: pixelSize * 2,
50
+ width: width - pixelSize * 4,
51
+ height: height - pixelSize * 4,
52
+ fontFamily: "Courier New, monospace",
53
+ textAlign: "left",
54
+ fill: "transparent",
55
+ stroke: cyanHex,
56
+ strokeWidth: pixelSize / 2,
57
+ zIndex: 1,
58
+ });
59
+ // Pixel art heart / sprite representation (grid blocks)
60
+ const spriteCenterX = width / 2;
61
+ const spriteCenterY = height * 0.4;
62
+ const blocks = [
63
+ { dx: -1, dy: -1, color: redHex },
64
+ { dx: 1, dy: -1, color: redHex },
65
+ { dx: -2, dy: 0, color: redHex },
66
+ { dx: -1, dy: 0, color: redHex },
67
+ { dx: 0, dy: 0, color: redHex },
68
+ { dx: 1, dy: 0, color: redHex },
69
+ { dx: 2, dy: 0, color: redHex },
70
+ { dx: -1, dy: 1, color: redHex },
71
+ { dx: 0, dy: 1, color: redHex },
72
+ { dx: 1, dy: 1, color: redHex },
73
+ { dx: 0, dy: 2, color: redHex },
74
+ ];
75
+ blocks.forEach((b, idx) => {
76
+ items.push({
77
+ id: `pa_sprite_block_${idx}`,
78
+ type: "rect",
79
+ x: spriteCenterX + b.dx * pixelSize * 3,
80
+ y: spriteCenterY + b.dy * pixelSize * 3,
81
+ width: pixelSize * 3,
82
+ height: pixelSize * 3,
83
+ fontFamily: "Courier New, monospace",
84
+ textAlign: "left",
85
+ fill: b.color,
86
+ zIndex: 2,
87
+ });
88
+ });
89
+ // Title
90
+ items.push({
91
+ id: "pa_title",
92
+ type: "text",
93
+ text: input.title,
94
+ x: width * 0.1,
95
+ y: height * 0.72,
96
+ fontSize: 48,
97
+ fontFamily: "Press Start 2P, Courier New, monospace",
98
+ fontWeight: 700,
99
+ textAlign: "left",
100
+ fill: yellowHex,
101
+ zIndex: 5,
102
+ });
103
+ // Subtitle
104
+ if (input.subtitle) {
105
+ items.push({
106
+ id: "pa_subtitle",
107
+ type: "text",
108
+ text: input.subtitle,
109
+ x: width * 0.1,
110
+ y: height * 0.8,
111
+ fontSize: 24,
112
+ fontFamily: "VT323, Courier New, monospace",
113
+ fontWeight: 400,
114
+ textAlign: "left",
115
+ fill: cyanHex,
116
+ zIndex: 5,
117
+ });
118
+ }
119
+ // Body
120
+ if (input.body) {
121
+ items.push({
122
+ id: "pa_body",
123
+ type: "text",
124
+ text: input.body,
125
+ x: width * 0.1,
126
+ y: height * 0.86,
127
+ fontSize: 18,
128
+ fontFamily: "Courier New, monospace",
129
+ fontWeight: 400,
130
+ textAlign: "left",
131
+ fill: greenHex,
132
+ zIndex: 5,
133
+ });
134
+ }
135
+ return {
136
+ style: "pixel_art_8bit",
137
+ canvas: { width, height },
138
+ pixelSize,
139
+ items,
140
+ palette: [bgBlack, cyanHex, redHex, yellowHex, greenHex, whiteHex],
141
+ };
142
+ }
143
+ //# sourceMappingURL=pixel-art-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixel-art-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/pixel-art-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { DesignStyle } from "./design-style.js";
2
+ export interface PopArtElement {
3
+ id: string;
4
+ type: "text" | "shape" | "speech_bubble" | "starburst" | "benday_overlay";
5
+ shapeType?: "speech_bubble" | "starburst" | "benday_dots" | "rectangle";
6
+ content?: string;
7
+ fontSize?: number;
8
+ fontWeight?: string;
9
+ fontFamily?: string;
10
+ fillHex: string;
11
+ strokeHex?: string;
12
+ strokeWidthPx?: number;
13
+ x: number;
14
+ y: number;
15
+ width: number;
16
+ height: number;
17
+ rotationDegrees?: number;
18
+ textAlign?: "left" | "center" | "right";
19
+ }
20
+ export interface PopArtPosterOptions {
21
+ title: string;
22
+ subtitle: string;
23
+ body?: string;
24
+ width?: number;
25
+ height?: number;
26
+ cyanVariant?: boolean;
27
+ }
28
+ export interface PopArtDesignScene {
29
+ id: string;
30
+ style: DesignStyle;
31
+ width: number;
32
+ height: number;
33
+ backgroundHex: string;
34
+ elements: PopArtElement[];
35
+ metadata: {
36
+ title: string;
37
+ createdAt: string;
38
+ compositionType: "pop_art_lichtenstein_comic";
39
+ palette: string[];
40
+ };
41
+ }
42
+ export declare const POP_ART_PALETTE: {
43
+ yellowCanary: string;
44
+ cyanBlue: string;
45
+ magentaElectric: string;
46
+ white: string;
47
+ blackInk: string;
48
+ };
49
+ /**
50
+ * Procedurally generates a Pop Art comic expression poster layout with Ben-Day dots, speech bubbles, and starburst badges.
51
+ */
52
+ export declare function generatePopArtPoster(options: PopArtPosterOptions): PopArtDesignScene;
53
+ //# sourceMappingURL=pop-art-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pop-art-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/pop-art-generator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,CAAC;IAC1E,SAAS,CAAC,EAAE,eAAe,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IACxE,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,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,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,iBAAiB;IAChC,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,aAAa,EAAE,CAAC;IAC1B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,4BAA4B,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,eAAO,MAAM,eAAe;;;;;;CAM3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CAmKpF"}