@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,46 @@
1
+ /**
2
+ * Y2K FRUTIGER AERO STYLE PROCEDURAL GENERATOR
3
+ *
4
+ * Implements mid-2000s glossy skeuomorphic Aero visual aesthetics:
5
+ * - Glossy glass spheres, lens flares & skeuomorphic reflections.
6
+ * - Sky blue (#00a8ff), aqua (#00d2d3), and vibrant lawn green (#4cd137) palette.
7
+ * - Translucent aurora wisps & water droplet caustics.
8
+ * - Clean futuristic typography (Segoe UI / Tahoma).
9
+ */
10
+ export interface FrutigerAeroInput {
11
+ title: string;
12
+ subtitle?: string;
13
+ body?: string;
14
+ canvasWidth?: number;
15
+ canvasHeight?: number;
16
+ }
17
+ export interface FrutigerAeroItem {
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
+ opacity?: number;
34
+ zIndex: number;
35
+ }
36
+ export interface FrutigerAeroResult {
37
+ style: "y2k_frutiger_aero";
38
+ canvas: {
39
+ width: number;
40
+ height: number;
41
+ };
42
+ items: FrutigerAeroItem[];
43
+ palette: string[];
44
+ }
45
+ export declare function generateFrutigerAeroPoster(input: FrutigerAeroInput): FrutigerAeroResult;
46
+ //# sourceMappingURL=frutiger-aero-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frutiger-aero-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/frutiger-aero-generator.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AAEH,MAAM,WAAW,iBAAiB;IAChC,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,gBAAgB;IAC/B,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,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CA0HvF"}
@@ -0,0 +1,133 @@
1
+ /* GENERATED — DO NOT EDIT.
2
+ *
3
+ * Source: mcp-cloud/src/services/frutiger-aero-generator.ts
4
+ * sha256: 7c72c95ae7acd8a284845dea7a4b5d37278f2e62dac1ffb99bd1cbb13daf6eef
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
+ * Y2K FRUTIGER AERO STYLE PROCEDURAL GENERATOR
13
+ *
14
+ * Implements mid-2000s glossy skeuomorphic Aero visual aesthetics:
15
+ * - Glossy glass spheres, lens flares & skeuomorphic reflections.
16
+ * - Sky blue (#00a8ff), aqua (#00d2d3), and vibrant lawn green (#4cd137) palette.
17
+ * - Translucent aurora wisps & water droplet caustics.
18
+ * - Clean futuristic typography (Segoe UI / Tahoma).
19
+ */
20
+ export function generateFrutigerAeroPoster(input) {
21
+ const width = input.canvasWidth || 1080;
22
+ const height = input.canvasHeight || 1350;
23
+ const bgSky = "#00a8ff";
24
+ const aquaHex = "#00d2d3";
25
+ const greenHex = "#4cd137";
26
+ const whiteHex = "#ffffff";
27
+ const glassBlue = "#e0f7fa";
28
+ const items = [];
29
+ // Sky background
30
+ items.push({
31
+ id: "fa_bg",
32
+ type: "rect",
33
+ x: 0,
34
+ y: 0,
35
+ width,
36
+ height,
37
+ fontFamily: "Segoe UI, Tahoma, sans-serif",
38
+ textAlign: "left",
39
+ fill: bgSky,
40
+ zIndex: 0,
41
+ });
42
+ // Grass hill lower arc
43
+ items.push({
44
+ id: "fa_hill",
45
+ type: "circle",
46
+ x: width * 0.5,
47
+ y: height * 1.3,
48
+ radius: width * 0.8,
49
+ fontFamily: "Segoe UI, sans-serif",
50
+ textAlign: "center",
51
+ fill: greenHex,
52
+ zIndex: 1,
53
+ });
54
+ // Glossy glass sphere
55
+ items.push({
56
+ id: "fa_orb_base",
57
+ type: "circle",
58
+ x: width * 0.5,
59
+ y: height * 0.4,
60
+ radius: 180,
61
+ fontFamily: "Segoe UI, sans-serif",
62
+ textAlign: "center",
63
+ fill: aquaHex,
64
+ opacity: 0.85,
65
+ zIndex: 2,
66
+ });
67
+ // Glossy highlight reflection
68
+ items.push({
69
+ id: "fa_orb_highlight",
70
+ type: "circle",
71
+ x: width * 0.46,
72
+ y: height * 0.35,
73
+ radius: 70,
74
+ fontFamily: "Segoe UI, sans-serif",
75
+ textAlign: "center",
76
+ fill: whiteHex,
77
+ opacity: 0.6,
78
+ zIndex: 3,
79
+ });
80
+ // Title
81
+ items.push({
82
+ id: "fa_title",
83
+ type: "text",
84
+ text: input.title,
85
+ x: width * 0.1,
86
+ y: height * 0.72,
87
+ fontSize: 54,
88
+ fontFamily: "Segoe UI, Frutiger, sans-serif",
89
+ fontWeight: 700,
90
+ textAlign: "left",
91
+ fill: whiteHex,
92
+ zIndex: 5,
93
+ });
94
+ // Subtitle
95
+ if (input.subtitle) {
96
+ items.push({
97
+ id: "fa_subtitle",
98
+ type: "text",
99
+ text: input.subtitle,
100
+ x: width * 0.1,
101
+ y: height * 0.79,
102
+ fontSize: 26,
103
+ fontFamily: "Segoe UI, sans-serif",
104
+ fontWeight: 600,
105
+ textAlign: "left",
106
+ fill: glassBlue,
107
+ zIndex: 5,
108
+ });
109
+ }
110
+ // Body
111
+ if (input.body) {
112
+ items.push({
113
+ id: "fa_body",
114
+ type: "text",
115
+ text: input.body,
116
+ x: width * 0.1,
117
+ y: height * 0.84,
118
+ fontSize: 20,
119
+ fontFamily: "Segoe UI, sans-serif",
120
+ fontWeight: 400,
121
+ textAlign: "left",
122
+ fill: "#e0f2fe",
123
+ zIndex: 5,
124
+ });
125
+ }
126
+ return {
127
+ style: "y2k_frutiger_aero",
128
+ canvas: { width, height },
129
+ items,
130
+ palette: [bgSky, aquaHex, greenHex, whiteHex, glassBlue],
131
+ };
132
+ }
133
+ //# sourceMappingURL=frutiger-aero-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frutiger-aero-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/frutiger-aero-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { DesignStyle } from "./design-style.js";
2
+ export interface MemphisElement {
3
+ id: string;
4
+ type: "text" | "shape" | "squiggle" | "zigzag" | "terrazzo";
5
+ shapeType?: "circle" | "pill" | "triangle" | "squiggle" | "zigzag";
6
+ content?: string;
7
+ fontSize?: number;
8
+ fontWeight?: string;
9
+ fontFamily?: string;
10
+ fillHex: string;
11
+ strokeHex?: string;
12
+ strokeWidthPx?: number;
13
+ offsetShadowPx?: number;
14
+ shadowHex?: string;
15
+ x: number;
16
+ y: number;
17
+ width: number;
18
+ height: number;
19
+ rotationDegrees?: number;
20
+ textAlign?: "left" | "center" | "right";
21
+ }
22
+ export interface MemphisPosterOptions {
23
+ title: string;
24
+ subtitle: string;
25
+ body?: string;
26
+ width?: number;
27
+ height?: number;
28
+ mintVariant?: boolean;
29
+ }
30
+ export interface MemphisDesignScene {
31
+ id: string;
32
+ style: DesignStyle;
33
+ width: number;
34
+ height: number;
35
+ backgroundHex: string;
36
+ elements: MemphisElement[];
37
+ metadata: {
38
+ title: string;
39
+ createdAt: string;
40
+ compositionType: "memphis_asymmetric_postmodern";
41
+ palette: string[];
42
+ };
43
+ }
44
+ export declare const MEMPHIS_PALETTE: {
45
+ pinkPastel: string;
46
+ mintPastel: string;
47
+ magentaElectric: string;
48
+ cyanBright: string;
49
+ yellowCanary: string;
50
+ blackSolid: string;
51
+ };
52
+ /**
53
+ * Procedurally generates a Memphis Group postmodern poster layout with floating shapes, squiggles, and 2D offset black shadows.
54
+ */
55
+ export declare function generateMemphisPoster(options: MemphisPosterOptions): MemphisDesignScene;
56
+ //# sourceMappingURL=memphis-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memphis-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/memphis-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,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC5D,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IACnE,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,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,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,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,eAAe,EAAE,+BAA+B,CAAC;QACjD,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CA2JvF"}
@@ -0,0 +1,158 @@
1
+ export const MEMPHIS_PALETTE = {
2
+ pinkPastel: "#ffe4e6",
3
+ mintPastel: "#ccfbf1",
4
+ magentaElectric: "#ff007f",
5
+ cyanBright: "#00f0ff",
6
+ yellowCanary: "#ffee00",
7
+ blackSolid: "#000000",
8
+ };
9
+ /**
10
+ * Procedurally generates a Memphis Group postmodern poster layout with floating shapes, squiggles, and 2D offset black shadows.
11
+ */
12
+ export function generateMemphisPoster(options) {
13
+ const width = options.width ?? 1080;
14
+ const height = options.height ?? 1350;
15
+ const backgroundHex = options.mintVariant ? MEMPHIS_PALETTE.mintPastel : MEMPHIS_PALETTE.pinkPastel;
16
+ const elements = [];
17
+ // 1. Yellow Floating Pill Container with Offset 2D Black Shadow
18
+ elements.push({
19
+ id: "memphis-pill-container",
20
+ type: "shape",
21
+ shapeType: "pill",
22
+ fillHex: MEMPHIS_PALETTE.yellowCanary,
23
+ strokeHex: MEMPHIS_PALETTE.blackSolid,
24
+ strokeWidthPx: 4,
25
+ offsetShadowPx: 10,
26
+ shadowHex: MEMPHIS_PALETTE.blackSolid,
27
+ x: Math.round(width * 0.08),
28
+ y: Math.round(height * 0.12),
29
+ width: Math.round(width * 0.84),
30
+ height: 160,
31
+ rotationDegrees: -2,
32
+ });
33
+ // 2. Playful Headline Typography inside Yellow Pill
34
+ elements.push({
35
+ id: "memphis-title-text",
36
+ type: "text",
37
+ content: options.title.toUpperCase(),
38
+ fontSize: 56,
39
+ fontWeight: "900",
40
+ fontFamily: "'Space Grotesk', 'Comic Neue', sans-serif",
41
+ fillHex: MEMPHIS_PALETTE.blackSolid,
42
+ x: Math.round(width * 0.1),
43
+ y: Math.round(height * 0.15),
44
+ width: Math.round(width * 0.8),
45
+ height: 90,
46
+ textAlign: "center",
47
+ });
48
+ // 3. Electric Magenta Bacterioid Squiggle
49
+ elements.push({
50
+ id: "memphis-magenta-squiggle",
51
+ type: "squiggle",
52
+ shapeType: "squiggle",
53
+ fillHex: "transparent",
54
+ strokeHex: MEMPHIS_PALETTE.magentaElectric,
55
+ strokeWidthPx: 8,
56
+ x: Math.round(width * 0.7),
57
+ y: Math.round(height * 0.35),
58
+ width: 200,
59
+ height: 120,
60
+ rotationDegrees: 15,
61
+ });
62
+ // 4. Bright Cyan Floating Circle Shape
63
+ elements.push({
64
+ id: "memphis-cyan-circle",
65
+ type: "shape",
66
+ shapeType: "circle",
67
+ fillHex: MEMPHIS_PALETTE.cyanBright,
68
+ strokeHex: MEMPHIS_PALETTE.blackSolid,
69
+ strokeWidthPx: 4,
70
+ offsetShadowPx: 8,
71
+ shadowHex: MEMPHIS_PALETTE.blackSolid,
72
+ x: Math.round(width * 0.1),
73
+ y: Math.round(height * 0.42),
74
+ width: 140,
75
+ height: 140,
76
+ });
77
+ // 5. Zigzag Black Accent Line
78
+ elements.push({
79
+ id: "memphis-black-zigzag",
80
+ type: "zigzag",
81
+ shapeType: "zigzag",
82
+ fillHex: "transparent",
83
+ strokeHex: MEMPHIS_PALETTE.blackSolid,
84
+ strokeWidthPx: 6,
85
+ x: Math.round(width * 0.3),
86
+ y: Math.round(height * 0.38),
87
+ width: 280,
88
+ height: 40,
89
+ });
90
+ // 6. Subtitle Card Block with Offset Shadow
91
+ elements.push({
92
+ id: "memphis-subtitle-card",
93
+ type: "shape",
94
+ shapeType: "pill",
95
+ fillHex: MEMPHIS_PALETTE.cyanBright,
96
+ strokeHex: MEMPHIS_PALETTE.blackSolid,
97
+ strokeWidthPx: 3,
98
+ offsetShadowPx: 6,
99
+ shadowHex: MEMPHIS_PALETTE.blackSolid,
100
+ x: Math.round(width * 0.25),
101
+ y: Math.round(height * 0.52),
102
+ width: Math.round(width * 0.65),
103
+ height: 70,
104
+ });
105
+ elements.push({
106
+ id: "memphis-subtitle-text",
107
+ type: "text",
108
+ content: options.subtitle,
109
+ fontSize: 24,
110
+ fontWeight: "800",
111
+ fontFamily: "'Space Grotesk', sans-serif",
112
+ fillHex: MEMPHIS_PALETTE.blackSolid,
113
+ x: Math.round(width * 0.27),
114
+ y: Math.round(height * 0.535),
115
+ width: Math.round(width * 0.6),
116
+ height: 45,
117
+ textAlign: "center",
118
+ });
119
+ // 7. Optional Body Copy Block
120
+ if (options.body) {
121
+ elements.push({
122
+ id: "memphis-body-text",
123
+ type: "text",
124
+ content: options.body,
125
+ fontSize: 18,
126
+ fontWeight: "600",
127
+ fontFamily: "'Space Grotesk', sans-serif",
128
+ fillHex: MEMPHIS_PALETTE.blackSolid,
129
+ x: Math.round(width * 0.12),
130
+ y: Math.round(height * 0.68),
131
+ width: Math.round(width * 0.76),
132
+ height: 140,
133
+ textAlign: "left",
134
+ });
135
+ }
136
+ return {
137
+ id: `memphis-poster-${Date.now()}`,
138
+ style: "memphis_group",
139
+ width,
140
+ height,
141
+ backgroundHex,
142
+ elements,
143
+ metadata: {
144
+ title: options.title,
145
+ createdAt: new Date().toISOString(),
146
+ compositionType: "memphis_asymmetric_postmodern",
147
+ palette: [
148
+ MEMPHIS_PALETTE.pinkPastel,
149
+ MEMPHIS_PALETTE.mintPastel,
150
+ MEMPHIS_PALETTE.magentaElectric,
151
+ MEMPHIS_PALETTE.cyanBright,
152
+ MEMPHIS_PALETTE.yellowCanary,
153
+ MEMPHIS_PALETTE.blackSolid,
154
+ ],
155
+ },
156
+ };
157
+ }
158
+ //# sourceMappingURL=memphis-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memphis-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/memphis-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * MID-CENTURY UPA / 1950s ANIMATION STYLE PROCEDURAL GENERATOR
3
+ *
4
+ * Implements 1950s United Productions of America (UPA) graphic animation style:
5
+ * - Asymmetrical angular silhouettes & stylized geometric abstraction.
6
+ * - Flat earthy palette (burnt orange #cc5500, mustard yellow #e1ad01, olive #556b2f, charcoal #2b2b2b).
7
+ * - Offset ink line work & floating geometric backdrop panels.
8
+ * - Quirky mid-century typography (Futura Bold, Century Gothic).
9
+ */
10
+ export interface MidCenturyUpaInput {
11
+ title: string;
12
+ subtitle?: string;
13
+ body?: string;
14
+ canvasWidth?: number;
15
+ canvasHeight?: number;
16
+ }
17
+ export interface MidCenturyUpaItem {
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
+ rotation?: number;
34
+ zIndex: number;
35
+ }
36
+ export interface MidCenturyUpaResult {
37
+ style: "mid_century_upa";
38
+ canvas: {
39
+ width: number;
40
+ height: number;
41
+ };
42
+ items: MidCenturyUpaItem[];
43
+ palette: string[];
44
+ }
45
+ export declare function generateMidCenturyUpaPoster(input: MidCenturyUpaInput): MidCenturyUpaResult;
46
+ //# sourceMappingURL=mid-century-upa-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mid-century-upa-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/mid-century-upa-generator.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AAEH,MAAM,WAAW,kBAAkB;IACjC,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,iBAAiB;IAChC,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,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CA8H1F"}
@@ -0,0 +1,137 @@
1
+ /* GENERATED — DO NOT EDIT.
2
+ *
3
+ * Source: mcp-cloud/src/services/mid-century-upa-generator.ts
4
+ * sha256: 28a3acaa23a31bc4fdab5857241b27ad20a74a136328cc613f772668c97b8fd2
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
+ * MID-CENTURY UPA / 1950s ANIMATION STYLE PROCEDURAL GENERATOR
13
+ *
14
+ * Implements 1950s United Productions of America (UPA) graphic animation style:
15
+ * - Asymmetrical angular silhouettes & stylized geometric abstraction.
16
+ * - Flat earthy palette (burnt orange #cc5500, mustard yellow #e1ad01, olive #556b2f, charcoal #2b2b2b).
17
+ * - Offset ink line work & floating geometric backdrop panels.
18
+ * - Quirky mid-century typography (Futura Bold, Century Gothic).
19
+ */
20
+ export function generateMidCenturyUpaPoster(input) {
21
+ const width = input.canvasWidth || 1080;
22
+ const height = input.canvasHeight || 1350;
23
+ const bgCream = "#f5f0e6";
24
+ const orangeHex = "#cc5500";
25
+ const mustardHex = "#e1ad01";
26
+ const oliveHex = "#556b2f";
27
+ const tealHex = "#2a7b88";
28
+ const darkCharcoal = "#2b2b2b";
29
+ const items = [];
30
+ // Cream paper background
31
+ items.push({
32
+ id: "upa_bg",
33
+ type: "rect",
34
+ x: 0,
35
+ y: 0,
36
+ width,
37
+ height,
38
+ fontFamily: "Futura, Century Gothic, sans-serif",
39
+ textAlign: "left",
40
+ fill: bgCream,
41
+ zIndex: 0,
42
+ });
43
+ // Floating tilted geometric backdrops
44
+ items.push({
45
+ id: "upa_panel_1",
46
+ type: "rect",
47
+ x: width * 0.15,
48
+ y: height * 0.15,
49
+ width: 320,
50
+ height: 480,
51
+ fontFamily: "Futura, sans-serif",
52
+ textAlign: "left",
53
+ fill: mustardHex,
54
+ rotation: -6,
55
+ zIndex: 1,
56
+ });
57
+ items.push({
58
+ id: "upa_panel_2",
59
+ type: "rect",
60
+ x: width * 0.45,
61
+ y: height * 0.22,
62
+ width: 400,
63
+ height: 380,
64
+ fontFamily: "Futura, sans-serif",
65
+ textAlign: "left",
66
+ fill: orangeHex,
67
+ rotation: 8,
68
+ zIndex: 2,
69
+ });
70
+ // Stylized UPA geometric character silhouette (boomerang / kidney bean oval)
71
+ items.push({
72
+ id: "upa_abstract_shape",
73
+ type: "circle",
74
+ x: width * 0.42,
75
+ y: height * 0.42,
76
+ radius: 130,
77
+ fontFamily: "Futura, sans-serif",
78
+ textAlign: "center",
79
+ fill: oliveHex,
80
+ stroke: darkCharcoal,
81
+ strokeWidth: 4,
82
+ zIndex: 3,
83
+ });
84
+ // Title
85
+ items.push({
86
+ id: "upa_title",
87
+ type: "text",
88
+ text: input.title,
89
+ x: width * 0.1,
90
+ y: height * 0.72,
91
+ fontSize: 56,
92
+ fontFamily: "Futura, Century Gothic, sans-serif",
93
+ fontWeight: 800,
94
+ textAlign: "left",
95
+ fill: darkCharcoal,
96
+ zIndex: 5,
97
+ });
98
+ // Subtitle
99
+ if (input.subtitle) {
100
+ items.push({
101
+ id: "upa_subtitle",
102
+ type: "text",
103
+ text: input.subtitle,
104
+ x: width * 0.1,
105
+ y: height * 0.79,
106
+ fontSize: 28,
107
+ fontFamily: "Futura, sans-serif",
108
+ fontWeight: 700,
109
+ textAlign: "left",
110
+ fill: orangeHex,
111
+ zIndex: 5,
112
+ });
113
+ }
114
+ // Body
115
+ if (input.body) {
116
+ items.push({
117
+ id: "upa_body",
118
+ type: "text",
119
+ text: input.body,
120
+ x: width * 0.1,
121
+ y: height * 0.84,
122
+ fontSize: 20,
123
+ fontFamily: "Century Gothic, sans-serif",
124
+ fontWeight: 400,
125
+ textAlign: "left",
126
+ fill: "#4a4a4a",
127
+ zIndex: 5,
128
+ });
129
+ }
130
+ return {
131
+ style: "mid_century_upa",
132
+ canvas: { width, height },
133
+ items,
134
+ palette: [bgCream, orangeHex, mustardHex, oliveHex, tealHex, darkCharcoal],
135
+ };
136
+ }
137
+ //# sourceMappingURL=mid-century-upa-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mid-century-upa-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/mid-century-upa-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * NEUMORPHIC & GLASSMORPHIC SOFT UI LAYOUT GENERATOR
3
+ *
4
+ * Implements procedural generation of soft 3D extruded containers, dual shadows,
5
+ * frosted glass panels, and rounded tactile UI elements.
6
+ */
7
+ export interface NeumorphicLayoutInput {
8
+ title: string;
9
+ subtitle?: string;
10
+ body?: string;
11
+ cardTitle?: string;
12
+ cardBody?: string;
13
+ canvasWidth?: number;
14
+ canvasHeight?: number;
15
+ accentColor?: string;
16
+ }
17
+ export interface NeumorphicLayoutItem {
18
+ id: string;
19
+ type: "text" | "rect" | "glass_card" | "neumorphic_button";
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
+ fill: string;
29
+ borderRadius: number;
30
+ boxShadow?: string;
31
+ backdropFilter?: string;
32
+ border?: string;
33
+ zIndex: number;
34
+ }
35
+ export interface NeumorphicLayoutResult {
36
+ style: "neumorphic_glass";
37
+ canvas: {
38
+ width: number;
39
+ height: number;
40
+ };
41
+ items: NeumorphicLayoutItem[];
42
+ palette: string[];
43
+ }
44
+ /**
45
+ * Generate a Neumorphic & Glassmorphic Soft UI layout scene graph.
46
+ */
47
+ export declare function generateNeumorphicLayout(input: NeumorphicLayoutInput): NeumorphicLayoutResult;
48
+ export declare function generateNeumorphicDashboard(options: {
49
+ title: string;
50
+ subtitle?: string;
51
+ body?: string;
52
+ }): NeumorphicLayoutResult;
53
+ //# sourceMappingURL=neumorphic-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neumorphic-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/neumorphic-generator.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AAEH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,mBAAmB,CAAC;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAsK7F;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,sBAAsB,CAOhI"}