@pinepaper.studio/mcp-server 1.6.6 → 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.
- package/README.de.md +24 -1
- package/README.es.md +24 -1
- package/README.fr.md +24 -1
- package/README.hi.md +21 -1
- package/README.ja.md +22 -1
- package/README.ko.md +22 -1
- package/README.md +329 -14
- package/README.pt-BR.md +24 -1
- package/README.zh-CN.md +20 -1
- package/assets/edit-whenever.svg +75 -0
- package/dist/agent/export-manager.d.ts.map +1 -1
- package/dist/agent/export-manager.js +2 -2
- package/dist/agent/export-manager.js.map +1 -1
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/assets/repositories/fontawesome.d.ts.map +1 -1
- package/dist/assets/repositories/fontawesome.js.map +1 -1
- package/dist/assets/repositories/openclipart.d.ts.map +1 -1
- package/dist/character/data/concepts.json +1 -0
- package/dist/character/data/depictions.json +1 -0
- package/dist/character/data/styles.json +1 -0
- package/dist/character/duration-scale.d.ts +13 -0
- package/dist/character/duration-scale.d.ts.map +1 -0
- package/dist/character/duration-scale.js +13 -0
- package/dist/character/duration-scale.js.map +1 -0
- package/dist/character/path-bbox.d.ts +82 -0
- package/dist/character/path-bbox.d.ts.map +1 -0
- package/dist/character/path-bbox.js +496 -0
- package/dist/character/path-bbox.js.map +1 -0
- package/dist/character/perform.d.ts +149 -0
- package/dist/character/perform.d.ts.map +1 -0
- package/dist/character/perform.js +626 -0
- package/dist/character/perform.js.map +1 -0
- package/dist/character/resolve.d.ts +51 -0
- package/dist/character/resolve.d.ts.map +1 -0
- package/dist/character/resolve.js +239 -0
- package/dist/character/resolve.js.map +1 -0
- package/dist/design/design-systems.d.ts +126 -0
- package/dist/design/design-systems.d.ts.map +1 -0
- package/dist/design/design-systems.js +240 -0
- package/dist/design/design-systems.js.map +1 -0
- package/dist/execution/canvas-state.d.ts +7 -0
- package/dist/execution/canvas-state.d.ts.map +1 -1
- package/dist/execution/canvas-state.js +20 -8
- package/dist/execution/canvas-state.js.map +1 -1
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -5
- package/dist/index.js.map +1 -1
- package/dist/ontology/design-graph.d.ts +9 -0
- package/dist/ontology/design-graph.d.ts.map +1 -1
- package/dist/ontology/design-graph.js +98 -4
- package/dist/ontology/design-graph.js.map +1 -1
- package/dist/ontology/types.d.ts +42 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/vocabulary.d.ts.map +1 -1
- package/dist/ontology/vocabulary.js +139 -0
- package/dist/ontology/vocabulary.js.map +1 -1
- package/dist/taxonomy/classifier.js +1 -1
- package/dist/taxonomy/classifier.js.map +1 -1
- package/dist/taxonomy/error-recovery.d.ts.map +1 -1
- package/dist/taxonomy/matcher.d.ts.map +1 -1
- package/dist/taxonomy/matcher.js.map +1 -1
- package/dist/tools/compact-descriptions.d.ts.map +1 -1
- package/dist/tools/compact-descriptions.js +25 -0
- package/dist/tools/compact-descriptions.js.map +1 -1
- package/dist/tools/definitions.d.ts +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +1236 -45
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/engine-methods.d.ts +18 -0
- package/dist/tools/engine-methods.d.ts.map +1 -0
- package/dist/tools/engine-methods.js +239 -0
- package/dist/tools/engine-methods.js.map +1 -0
- package/dist/tools/handlers/character.d.ts +121 -0
- package/dist/tools/handlers/character.d.ts.map +1 -0
- package/dist/tools/handlers/character.js +315 -0
- package/dist/tools/handlers/character.js.map +1 -0
- package/dist/tools/handlers.d.ts +2 -0
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +386 -22
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/minimal-descriptions.d.ts.map +1 -1
- package/dist/tools/minimal-descriptions.js +24 -4
- package/dist/tools/minimal-descriptions.js.map +1 -1
- package/dist/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +21 -0
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +141 -2
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +2246 -78
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +9295 -603
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +1134 -61
- package/dist/types/schemas.js.map +1 -1
- package/dist/vendor/design/art-deco-generator.d.ts +52 -0
- package/dist/vendor/design/art-deco-generator.d.ts.map +1 -0
- package/dist/vendor/design/art-deco-generator.js +144 -0
- package/dist/vendor/design/art-deco-generator.js.map +1 -0
- package/dist/vendor/design/art-nouveau-generator.d.ts +46 -0
- package/dist/vendor/design/art-nouveau-generator.d.ts.map +1 -0
- package/dist/vendor/design/art-nouveau-generator.js +134 -0
- package/dist/vendor/design/art-nouveau-generator.js.map +1 -0
- package/dist/vendor/design/bauhaus-generator.d.ts +53 -0
- package/dist/vendor/design/bauhaus-generator.d.ts.map +1 -0
- package/dist/vendor/design/bauhaus-generator.js +126 -0
- package/dist/vendor/design/bauhaus-generator.js.map +1 -0
- package/dist/vendor/design/brutalist-generator.d.ts +53 -0
- package/dist/vendor/design/brutalist-generator.d.ts.map +1 -0
- package/dist/vendor/design/brutalist-generator.js +148 -0
- package/dist/vendor/design/brutalist-generator.js.map +1 -0
- package/dist/vendor/design/claymorphism-generator.d.ts +46 -0
- package/dist/vendor/design/claymorphism-generator.d.ts.map +1 -0
- package/dist/vendor/design/claymorphism-generator.js +135 -0
- package/dist/vendor/design/claymorphism-generator.js.map +1 -0
- package/dist/vendor/design/corporate-memphis-generator.d.ts +47 -0
- package/dist/vendor/design/corporate-memphis-generator.d.ts.map +1 -0
- package/dist/vendor/design/corporate-memphis-generator.js +144 -0
- package/dist/vendor/design/corporate-memphis-generator.js.map +1 -0
- package/dist/vendor/design/cyberpunk-generator.d.ts +52 -0
- package/dist/vendor/design/cyberpunk-generator.d.ts.map +1 -0
- package/dist/vendor/design/cyberpunk-generator.js +162 -0
- package/dist/vendor/design/cyberpunk-generator.js.map +1 -0
- package/dist/vendor/design/de-stijl-generator.d.ts +50 -0
- package/dist/vendor/design/de-stijl-generator.d.ts.map +1 -0
- package/dist/vendor/design/de-stijl-generator.js +154 -0
- package/dist/vendor/design/de-stijl-generator.js.map +1 -0
- package/dist/vendor/design/design-style.d.ts +3 -0
- package/dist/vendor/design/design-style.d.ts.map +1 -0
- package/dist/vendor/design/design-style.js +12 -0
- package/dist/vendor/design/design-style.js.map +1 -0
- package/dist/vendor/design/design-systems-dtcg.d.ts +59 -0
- package/dist/vendor/design/design-systems-dtcg.d.ts.map +1 -0
- package/dist/vendor/design/design-systems-dtcg.js +571 -0
- package/dist/vendor/design/design-systems-dtcg.js.map +1 -0
- package/dist/vendor/design/frutiger-aero-generator.d.ts +46 -0
- package/dist/vendor/design/frutiger-aero-generator.d.ts.map +1 -0
- package/dist/vendor/design/frutiger-aero-generator.js +133 -0
- package/dist/vendor/design/frutiger-aero-generator.js.map +1 -0
- package/dist/vendor/design/memphis-generator.d.ts +56 -0
- package/dist/vendor/design/memphis-generator.d.ts.map +1 -0
- package/dist/vendor/design/memphis-generator.js +158 -0
- package/dist/vendor/design/memphis-generator.js.map +1 -0
- package/dist/vendor/design/mid-century-upa-generator.d.ts +46 -0
- package/dist/vendor/design/mid-century-upa-generator.d.ts.map +1 -0
- package/dist/vendor/design/mid-century-upa-generator.js +137 -0
- package/dist/vendor/design/mid-century-upa-generator.js.map +1 -0
- package/dist/vendor/design/neumorphic-generator.d.ts +53 -0
- package/dist/vendor/design/neumorphic-generator.d.ts.map +1 -0
- package/dist/vendor/design/neumorphic-generator.js +182 -0
- package/dist/vendor/design/neumorphic-generator.js.map +1 -0
- package/dist/vendor/design/op-art-generator.d.ts +45 -0
- package/dist/vendor/design/op-art-generator.d.ts.map +1 -0
- package/dist/vendor/design/op-art-generator.js +116 -0
- package/dist/vendor/design/op-art-generator.js.map +1 -0
- package/dist/vendor/design/pixel-art-generator.d.ts +45 -0
- package/dist/vendor/design/pixel-art-generator.d.ts.map +1 -0
- package/dist/vendor/design/pixel-art-generator.js +143 -0
- package/dist/vendor/design/pixel-art-generator.js.map +1 -0
- package/dist/vendor/design/pop-art-generator.d.ts +53 -0
- package/dist/vendor/design/pop-art-generator.d.ts.map +1 -0
- package/dist/vendor/design/pop-art-generator.js +164 -0
- package/dist/vendor/design/pop-art-generator.js.map +1 -0
- package/dist/vendor/design/risograph-generator.d.ts +53 -0
- package/dist/vendor/design/risograph-generator.d.ts.map +1 -0
- package/dist/vendor/design/risograph-generator.js +170 -0
- package/dist/vendor/design/risograph-generator.js.map +1 -0
- package/dist/vendor/design/swiss-style-generator.d.ts +55 -0
- package/dist/vendor/design/swiss-style-generator.d.ts.map +1 -0
- package/dist/vendor/design/swiss-style-generator.js +147 -0
- package/dist/vendor/design/swiss-style-generator.js.map +1 -0
- package/dist/vendor/design/vaporwave-generator.d.ts +51 -0
- package/dist/vendor/design/vaporwave-generator.d.ts.map +1 -0
- package/dist/vendor/design/vaporwave-generator.js +139 -0
- package/dist/vendor/design/vaporwave-generator.js.map +1 -0
- package/manifest.json +65 -1
- package/package.json +18 -9
|
@@ -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"}
|