-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
29 lines (26 loc) · 818 Bytes
/
types.ts
File metadata and controls
29 lines (26 loc) · 818 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
export type AspectRatio = '1:1' | '4:5' | '9:16' | '16:9';
export interface ArtConfig {
seed: string;
complexity: number; // 0.0 to 1.0 (Number of elements)
lineDensity: number; // 0.0 to 1.0 (Grid / Hatching frequency)
circleEmphasis: number; // 0.0 to 1.0 (Likelihood of radial shapes)
symmetry: number; // 0.0 to 1.0 (None -> Mirror X -> Mirror XY)
contrastMode: number; // 0.0 to 1.0 (Light -> Balanced -> Dark)
aspectRatio: AspectRatio;
}
export interface Palette {
bg: string;
fgPrimary: string;
fgSecondary: string;
accent: string;
grid: string;
}
export const DEFAULT_CONFIG: ArtConfig = {
seed: Math.random().toString(36).substring(7),
complexity: 0.6,
lineDensity: 0.5,
circleEmphasis: 0.4,
symmetry: 0.2,
contrastMode: 0.5,
aspectRatio: '4:5',
};