@@ -21,47 +21,47 @@ import {Side} from './Shadow.js';
2121
2222// Enhanced configuration for dynamic sizing and visual design
2323const CONFIG = {
24- // Dynamic sizing - slightly bigger
25- MIN_TOUCH_AREA : 0.05 , // minimum touch area
26- BASE_RADIUS : 0.15 , // base radius
27- LINE_WIDTH : 0.02 , // line width
28- SEGMENTS : 16 , // segments for smoother curves
29- DELTA_PHI : Math . PI / ( 2 * 16 ) ,
30-
24+ // Dynamic sizing - slightly bigger
25+ MIN_TOUCH_AREA : 0.05 , // minimum touch area
26+ BASE_RADIUS : 0.15 , // base radius
27+ LINE_WIDTH : 0.02 , // line width
28+ SEGMENTS : 16 , // segments for smoother curves
29+ DELTA_PHI : Math . PI / ( 2 * 16 ) ,
30+
3131 // Enhanced visual design with more vibrant colors
32- COLORS : {
33- EDGE_FALLOFF : new Color ( 0.98 , 0.98 , 0.98 ) , // Brighter light gray
34- EDGE_CUTOFF : new Color ( 0.8 , 0.8 , 0.8 ) , // Brighter medium gray
35- FILL_FALLOFF : new Color ( 0.4 , 0.4 , 0.4 ) , // Brighter dark gray
36- FILL_CUTOFF : new Color ( 0.4 , 0.4 , 0.4 ) , // Brighter dark gray
37- ACTIVE_EDGE : new Color ( 1.0 , 1.0 , 1.0 ) , // Pure white when active
38- ACTIVE_FILL : new Color ( 0.6 , 0.6 , 0.6 ) , // Brighter fill when active
39- } ,
40-
32+ COLORS : {
33+ EDGE_FALLOFF : new Color ( 0.98 , 0.98 , 0.98 ) , // Brighter light gray
34+ EDGE_CUTOFF : new Color ( 0.8 , 0.8 , 0.8 ) , // Brighter medium gray
35+ FILL_FALLOFF : new Color ( 0.4 , 0.4 , 0.4 ) , // Brighter dark gray
36+ FILL_CUTOFF : new Color ( 0.4 , 0.4 , 0.4 ) , // Brighter dark gray
37+ ACTIVE_EDGE : new Color ( 1.0 , 1.0 , 1.0 ) , // Pure white when active
38+ ACTIVE_FILL : new Color ( 0.6 , 0.6 , 0.6 ) , // Brighter fill when active
39+ } ,
40+
4141 // Opacity settings - now configurable
42- MAX_OPACITY : 0.75 ,
43- ACTIVE_OPACITY : 0.9 ,
44- FILL_OPACITY_MULTIPLIER : 0.5 , // Fill opacity relative to edge opacity
45- INTERACTIVE_OPACITY_MULTIPLIER : 1.2 , // Edge opacity multiplier when interactive
46-
42+ MAX_OPACITY : 0.75 ,
43+ ACTIVE_OPACITY : 0.9 ,
44+ FILL_OPACITY_MULTIPLIER : 0.5 , // Fill opacity relative to edge opacity
45+ INTERACTIVE_OPACITY_MULTIPLIER : 1.2 , // Edge opacity multiplier when interactive
46+
4747 // Distance-based scaling (similar to Footprint)
48- MIN_DISTANCE : 0.5 ,
49- MAX_DISTANCE : 10.0 ,
50- BASE_SCALE : 1.0 ,
51- DISTANCE_SCALE_FACTOR : 0.3 ,
52-
48+ MIN_DISTANCE : 0.5 ,
49+ MAX_DISTANCE : 10.0 ,
50+ BASE_SCALE : 1.0 ,
51+ DISTANCE_SCALE_FACTOR : 0.3 ,
52+
5353 // Animation timing - optimized for performance
54- FADE_IN_DURATION : 0.12 ,
55- FADE_OUT_DURATION : 0.12 ,
56- SIZE_UPDATE_DURATION : 0.05 ,
57- COLOR_LERP_FACTOR : 0.15 , // Color transition speed
58-
54+ FADE_IN_DURATION : 0.12 ,
55+ FADE_OUT_DURATION : 0.12 ,
56+ SIZE_UPDATE_DURATION : 0.05 ,
57+ COLOR_LERP_FACTOR : 0.15 , // Color transition speed
58+
5959 // Screen space scaling - now configurable
60- SCREEN_SPACE_SCALE : 1.2 , // Scale factor for screen space mode
61-
60+ SCREEN_SPACE_SCALE : 1.2 , // Scale factor for screen space mode
61+
6262 // Performance optimization thresholds
63- SIZE_UPDATE_THRESHOLD : 0.001 , // Minimum size change to trigger geometry update
64- GEOMETRY_UPDATE_DEBOUNCE : 100 , // ms to debounce geometry updates
63+ SIZE_UPDATE_THRESHOLD : 0.001 , // Minimum size change to trigger geometry update
64+ GEOMETRY_UPDATE_DEBOUNCE : 100 , // ms to debounce geometry updates
6565} as const ;
6666
6767const vector2 = new Vector2 ( ) ;
0 commit comments