-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
61 lines (53 loc) · 1.61 KB
/
Copy pathtypes.ts
File metadata and controls
61 lines (53 loc) · 1.61 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
export type FillType = 'flat' | 'noise' | 'gradient_v' | 'checker';
export interface TrimStrip {
id: string;
name: string;
height: number; // Represents the size along the main axis of the Zone
fillType: FillType;
baseColor: string;
subdivisions: number;
subdivisionColors: string[];
}
export type GlobalRenderStyle = 'solid' | 'gradient' | 'outline';
export type LayoutPresetType = 'single' | 'quad' | 'split_v' | 'split_h' | 'six_pack' | 'grid_9';
export interface TrimZone {
id: string;
name: string;
x: number; // Normalized 0-1 position
y: number; // Normalized 0-1 position
width: number; // Normalized 0-1 width
height: number; // Normalized 0-1 height
layoutMode: 'horizontal' | 'vertical'; // Orientation specific to this zone
strips: TrimStrip[];
}
export interface SheetConfig {
width: number;
height: number;
name: string;
renderStyle: GlobalRenderStyle;
// layoutMode is now deprecated in global config, moved to Zone
outlineThickness: number;
outlineFillStyle: 'solid' | 'transparent';
showTexelDensity: boolean;
texelDensityTarget: number;
stripGridColor: string;
// Post Processing
globalSaturation: number; // 0.0 to 2.0 (default 1.0)
globalBrightness: number; // 0.0 to 2.0 (default 1.0)
exportPostProcessing: boolean;
}
export interface ValidationResult {
isValid: boolean;
zoneResults: Record<string, {
currentSize: number;
targetSize: number;
remaining: number;
isValid: boolean;
}>;
}
export interface Preset {
id: string;
label: string;
config: SheetConfig;
zones: TrimZone[]; // Updated from strips[] to zones[]
}