-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcfg.ts
More file actions
36 lines (36 loc) · 1.45 KB
/
cfg.ts
File metadata and controls
36 lines (36 loc) · 1.45 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
/** Centralized tuning parameters for graphical feel.
* Adjust values here rather than scattering magic numbers across components. */
export const cfg = {
marchingAnts: {
/** Target segment length (dash + gap) in px. Smaller = more, tinier dashes. */
segLen: 10,
/** Fraction of each segment that is a visible dash (remainder is gap). */
dashFraction: 0.6,
/** Seconds for one full dash-gap cycle. */
cycleDuration: 0.4,
/** Stroke width in px. */
strokeWidth: 2,
/** When true, animation is frozen at T=0 (for deterministic Chromatic snapshots). */
paused: false,
},
alarm: {
/** ms — enough elapsed time to treat ongoing output as a possible busy transition. */
busyCandidateGap: 1_500,
/** ms — additional evidence window before calling the Session BUSY. */
busyConfirmGap: 500,
/** ms — silence after BUSY before suspecting completion. */
mightNeedAttention: 2_000,
/** ms — additional silence before confirming NEEDS_ATTENTION. */
needsAttentionConfirm: 3_000,
/** ms — ignore resize redraw noise. */
resizeDebounce: 500,
/** ms — attention idle expiry. How long before "looking at this pane" wears off. */
userAttention: 15_000,
},
todoBucket: {
/** Seconds for a fully-drained soft-TODO bucket to refill to full when idle. */
timeToFullSeconds: 3,
/** Number of printable keypresses to drain a full bucket to zero. */
keypressesToEmpty: 5,
},
};