@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,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":"AAAA;;;;;;;;;GASG;AACH;;;;;;;;GAQG;AAqCH,MAAM,UAAU,0BAA0B,CAAC,KAAwB;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;IAE1C,MAAM,KAAK,GAAG,SAAS,CAAC;IACxB,MAAM,OAAO,GAAG,SAAS,CAAC;IAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,SAAS,GAAG,SAAS,CAAC;IAE5B,MAAM,KAAK,GAAuB,EAAE,CAAC;IAErC,iBAAiB;IACjB,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,MAAM;QACZ,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,KAAK;QACL,MAAM;QACN,UAAU,EAAE,8BAA8B;QAC1C,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,uBAAuB;IACvB,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,QAAQ;QACd,CAAC,EAAE,KAAK,GAAG,GAAG;QACd,CAAC,EAAE,MAAM,GAAG,GAAG;QACf,MAAM,EAAE,KAAK,GAAG,GAAG;QACnB,UAAU,EAAE,sBAAsB;QAClC,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,CAAC,EAAE,KAAK,GAAG,GAAG;QACd,CAAC,EAAE,MAAM,GAAG,GAAG;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,sBAAsB;QAClC,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,8BAA8B;IAC9B,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,QAAQ;QACd,CAAC,EAAE,KAAK,GAAG,IAAI;QACf,CAAC,EAAE,MAAM,GAAG,IAAI;QAChB,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,sBAAsB;QAClC,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,QAAQ;IACR,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK,CAAC,KAAK;QACjB,CAAC,EAAE,KAAK,GAAG,GAAG;QACd,CAAC,EAAE,MAAM,GAAG,IAAI;QAChB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,gCAAgC;QAC5C,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,WAAW;IACX,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,CAAC,EAAE,KAAK,GAAG,GAAG;YACd,CAAC,EAAE,MAAM,GAAG,IAAI;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,sBAAsB;YAClC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO;IACP,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,CAAC,EAAE,KAAK,GAAG,GAAG;YACd,CAAC,EAAE,MAAM,GAAG,IAAI;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,sBAAsB;YAClC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QACzB,KAAK;QACL,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;KACzD,CAAC;AACJ,CAAC"}
@@ -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":"AAAA;;;;;;;;;GASG;AACH;;;;;;;;GAQG;AAqCH,MAAM,UAAU,2BAA2B,CAAC,KAAyB;IACnE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;IAE1C,MAAM,OAAO,GAAG,SAAS,CAAC;IAC1B,MAAM,SAAS,GAAG,SAAS,CAAC;IAC5B,MAAM,UAAU,GAAG,SAAS,CAAC;IAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,OAAO,GAAG,SAAS,CAAC;IAC1B,MAAM,YAAY,GAAG,SAAS,CAAC;IAE/B,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,yBAAyB;IACzB,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,MAAM;QACZ,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,KAAK;QACL,MAAM;QACN,UAAU,EAAE,oCAAoC;QAChD,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,MAAM;QACZ,CAAC,EAAE,KAAK,GAAG,IAAI;QACf,CAAC,EAAE,MAAM,GAAG,IAAI;QAChB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,CAAC,CAAC;QACZ,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,MAAM;QACZ,CAAC,EAAE,KAAK,GAAG,IAAI;QACf,CAAC,EAAE,MAAM,GAAG,IAAI;QAChB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,6EAA6E;IAC7E,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,QAAQ;QACd,CAAC,EAAE,KAAK,GAAG,IAAI;QACf,CAAC,EAAE,MAAM,GAAG,IAAI;QAChB,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,QAAQ;IACR,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK,CAAC,KAAK;QACjB,CAAC,EAAE,KAAK,GAAG,GAAG;QACd,CAAC,EAAE,MAAM,GAAG,IAAI;QAChB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,oCAAoC;QAChD,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,WAAW;IACX,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,CAAC,EAAE,KAAK,GAAG,GAAG;YACd,CAAC,EAAE,MAAM,GAAG,IAAI;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,oBAAoB;YAChC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO;IACP,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,CAAC,EAAE,KAAK,GAAG,GAAG;YACd,CAAC,EAAE,MAAM,GAAG,IAAI;YAChB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,4BAA4B;YACxC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QACzB,KAAK;QACL,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC;KAC3E,CAAC;AACJ,CAAC"}
@@ -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"}