@spotpatch/runtime 1.15.4 → 1.15.5

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/dist/motion.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import {
2
2
  BRAND_MARK_CONTENT,
3
+ THEME_MOTION_COLORS,
3
4
  createBrandMark,
4
5
  getFloatingSurfaceMotionExtension,
5
6
  registerFloatingSurfaceMotionExtension
6
- } from "./chunk-P7W3F4UA.js";
7
+ } from "./chunk-N4TPX3YF.js";
7
8
  import {
8
9
  createButton,
9
10
  createMarkedElement
@@ -20,12 +21,22 @@ var MOTION = Object.freeze({
20
21
  expandSeconds: 0.54,
21
22
  morphSeconds: 0.48,
22
23
  pressSeconds: 0.12,
23
- revealSeconds: 0.26,
24
- sceneRevealDelaySeconds: 0.06,
24
+ revealSeconds: 0.36,
25
+ revealStaggerSeconds: 0.05,
26
+ sceneRevealDelaySeconds: 0.12,
25
27
  sweepSeconds: 0.68,
26
28
  targetFeedbackDelaySeconds: 0.08,
27
29
  targetFeedbackSeconds: 0.22
28
30
  });
31
+ var PLANNER_SECTION_COUNT = 3;
32
+ function milliseconds(seconds) {
33
+ return `${String(Math.round(seconds * 1e3))}ms`;
34
+ }
35
+ function sectionRevealDelay(index) {
36
+ return milliseconds(
37
+ MOTION.sceneRevealDelaySeconds + MOTION.revealStaggerSeconds * index
38
+ );
39
+ }
29
40
  var ISLAND_SIZE = Object.freeze({
30
41
  checkingWidth: 440,
31
42
  compactHeight: 62,
@@ -85,52 +96,23 @@ function createFloatingSurfaceMotionStyles(document) {
85
96
  const style = document.createElement("style");
86
97
  style.textContent = `
87
98
  .spotpatch-floating-surface {
88
- --spotpatch-island-surface: #050608;
89
- --spotpatch-island-primary: #f7f7fb;
90
- --spotpatch-island-subtle: #5f646e;
91
- --spotpatch-island-line: rgb(255 255 255 / 10%);
92
- --spotpatch-island-violet: #8b67ff;
93
- --spotpatch-island-cyan: #4dc8ff;
94
- --spotpatch-island-mint: #59dcb6;
95
- --spotpatch-island-error: #ef6f88;
96
99
  --spotpatch-island-compact-height: ${String(ISLAND_SIZE.compactHeight)}px;
97
100
  --spotpatch-island-compact-width: ${String(ISLAND_SIZE.runningWidth)}px;
98
101
  --spotpatch-island-expanded-height: ${String(ISLAND_SIZE.expandedHeight)}px;
99
102
  --spotpatch-island-expanded-width: ${String(ISLAND_SIZE.expandedWidth)}px;
100
- --spotpatch-island-ease: cubic-bezier(.22, 1, .36, 1);
101
- position: fixed;
102
- box-sizing: border-box;
103
- color-scheme: dark;
104
- -webkit-font-smoothing: antialiased;
105
- overflow: hidden;
106
- border: 1px solid var(--spotpatch-island-line);
107
- background:
108
- linear-gradient(180deg, rgb(255 255 255 / 2.8%), transparent 24%),
109
- rgb(5 6 8 / 98.8%);
110
- box-shadow:
111
- 0 24px 60px rgb(13 17 28 / 18%),
112
- 0 3px 10px rgb(13 17 28 / 10%),
113
- inset 0 1px rgb(255 255 255 / 6.5%),
114
- inset 0 0 0 1px rgb(255 255 255 / 1.2%);
115
- transform-origin: 100% 100%;
116
103
  }
117
104
  .spotpatch-floating-surface::before {
118
105
  position: absolute;
119
106
  z-index: 0;
120
107
  inset: 0;
121
108
  background:
122
- radial-gradient(180px 70px at 0% 50%, rgb(139 103 255 / 7%), transparent 72%),
123
- radial-gradient(180px 70px at 100% 50%, rgb(77 200 255 / 4.5%), transparent 72%);
109
+ radial-gradient(160px 70px at 0% 50%, var(--spotpatch-accent-tint), transparent 72%),
110
+ radial-gradient(160px 70px at 100% 50%, var(--spotpatch-cyan-tint), transparent 72%);
124
111
  content: "";
125
112
  opacity: 0;
126
113
  pointer-events: none;
114
+ transition: opacity var(--spotpatch-duration-slow) ease;
127
115
  }
128
- .spotpatch-floating-surface[data-scene="pill"],
129
- .spotpatch-floating-surface[data-scene="capturing"] {
130
- width: max-content;
131
- border-radius: 999px;
132
- }
133
- .spotpatch-floating-surface[data-scene="planner"] { border-radius: 18px; }
134
116
  .spotpatch-floating-surface[data-scene="agent-charging"],
135
117
  .spotpatch-floating-surface[data-scene="handoff"],
136
118
  .spotpatch-floating-surface[data-scene="running"],
@@ -139,17 +121,17 @@ function createFloatingSurfaceMotionStyles(document) {
139
121
  width: min(var(--spotpatch-island-compact-width), calc(100vw - 32px));
140
122
  height: var(--spotpatch-island-compact-height);
141
123
  max-width: calc(100vw - 32px);
142
- border-radius: 31px;
124
+ border-radius: var(--spotpatch-radius-pill);
143
125
  }
144
126
  .spotpatch-floating-surface[data-scene="agent-charging"]::before,
145
127
  .spotpatch-floating-surface[data-scene="handoff"]::before,
146
- .spotpatch-floating-surface[data-scene="running"]::before,
147
- .spotpatch-floating-surface[data-scene="success"]::before,
148
- .spotpatch-floating-surface[data-scene="failed"]::before { opacity: .82; }
128
+ .spotpatch-floating-surface[data-scene="running"]::before { opacity: 1; }
129
+ .spotpatch-floating-surface[data-scene="success"] { border-color: color-mix(in srgb, var(--spotpatch-success) 32%, transparent); }
130
+ .spotpatch-floating-surface[data-scene="failed"] { border-color: var(--spotpatch-danger-line); }
149
131
  .spotpatch-floating-surface:has(.spotpatch-execution-island[data-expanded="true"]) {
150
132
  width: min(var(--spotpatch-island-expanded-width), calc(100vw - 32px));
151
133
  height: min(var(--spotpatch-island-expanded-height), calc(100vh - 32px));
152
- border-radius: 30px;
134
+ border-radius: 28px;
153
135
  }
154
136
  .spotpatch-floating-surface > .spotpatch-trigger,
155
137
  .spotpatch-floating-surface > .spotpatch-dialog,
@@ -157,75 +139,8 @@ function createFloatingSurfaceMotionStyles(document) {
157
139
  position: relative;
158
140
  z-index: 1;
159
141
  }
160
- .spotpatch-floating-surface > .spotpatch-trigger {
161
- display: inline-flex;
162
- min-height: 44px;
163
- align-items: center;
164
- gap: 10px;
165
- border: 0;
166
- border-radius: 999px;
167
- padding: 10px 17px;
168
- color: #f8fafc;
169
- background: transparent;
170
- box-shadow: none;
171
- cursor: pointer;
172
- font-size: 14px;
173
- font-weight: 650;
174
- touch-action: none;
175
- user-select: none;
176
- }
177
- .spotpatch-trigger::before {
178
- width: 9px;
179
- height: 9px;
180
- border-radius: 999px;
181
- background: var(--spotpatch-accent);
182
- box-shadow: 0 0 0 4px rgb(99 102 241 / 10%);
183
- content: "";
184
- }
185
- .spotpatch-trigger:hover { transform: translateY(-1px); }
186
- .spotpatch-trigger[aria-pressed="true"] { background: rgb(139 123 255 / 14%); }
187
- .spotpatch-trigger[aria-pressed="true"]::before {
188
- animation: spotpatch-motion-pill-pulse 1.8s ease-in-out infinite;
189
- }
190
- .spotpatch-trigger[data-dragging="true"] {
191
- cursor: grabbing;
192
- transform: scale(.98);
193
- }
194
- .spotpatch-floating-surface .spotpatch-dialog { filter: none; }
195
- .spotpatch-floating-surface .spotpatch-shell {
196
- border: 0;
197
- border-radius: 0;
198
- background: transparent;
199
- box-shadow: none;
200
- }
201
- .spotpatch-brand-name {
202
- color: #fff;
203
- font-size: 13.5px;
204
- font-weight: 680;
205
- letter-spacing: -.01em;
206
- }
207
- .spotpatch-brand-context {
208
- color: #8e98aa;
209
- font-size: 10.5px;
210
- font-weight: 560;
211
- letter-spacing: .02em;
212
- }
213
- .spotpatch-title {
214
- margin: 0;
215
- color: #fff;
216
- font-size: 18px;
217
- font-weight: 680;
218
- letter-spacing: -.015em;
219
- }
220
- .spotpatch-subtitle {
221
- max-width: 390px;
222
- margin: 4px 0 0;
223
- color: var(--spotpatch-text-secondary);
224
- font-size: 12.5px;
225
- line-height: 1.5;
226
- }
142
+
227
143
  .spotpatch-execution-island {
228
- position: relative;
229
144
  display: grid;
230
145
  box-sizing: border-box;
231
146
  width: 100%;
@@ -237,7 +152,7 @@ function createFloatingSurfaceMotionStyles(document) {
237
152
  border: 0;
238
153
  border-radius: inherit;
239
154
  padding: 0 18px;
240
- color: var(--spotpatch-island-primary);
155
+ color: var(--spotpatch-text);
241
156
  background: transparent;
242
157
  cursor: pointer;
243
158
  text-align: left;
@@ -245,17 +160,15 @@ function createFloatingSurfaceMotionStyles(document) {
245
160
  }
246
161
  .spotpatch-execution-island[data-expanded="true"] {
247
162
  min-height: var(--spotpatch-island-expanded-height);
248
- grid-template-columns: auto minmax(0, 1fr) auto;
249
163
  grid-template-rows: auto 1fr;
250
164
  align-items: start;
251
165
  row-gap: 16px;
252
- border-radius: 30px;
253
166
  padding: 18px 20px 16px;
254
167
  }
255
168
  .spotpatch-execution-mark {
256
169
  display: grid;
257
- width: 23px;
258
- height: 23px;
170
+ width: 24px;
171
+ height: 24px;
259
172
  flex: none;
260
173
  place-items: center;
261
174
  }
@@ -263,7 +176,11 @@ function createFloatingSurfaceMotionStyles(document) {
263
176
  width: 22px;
264
177
  height: 22px;
265
178
  overflow: visible;
266
- filter: drop-shadow(0 0 7px rgb(139 103 255 / 16%));
179
+ }
180
+ [data-execution-scene="agent-charging"] .spotpatch-execution-logo,
181
+ [data-execution-scene="handoff"] .spotpatch-execution-logo,
182
+ [data-execution-scene="running"] .spotpatch-execution-logo {
183
+ animation: spotpatch-motion-logo-glow 2.4s ease-in-out infinite;
267
184
  }
268
185
  .spotpatch-execution-content {
269
186
  display: flex;
@@ -292,17 +209,15 @@ function createFloatingSurfaceMotionStyles(document) {
292
209
  }
293
210
  .spotpatch-execution-headline,
294
211
  .spotpatch-execution-headline-outgoing {
295
- color: var(--spotpatch-island-primary);
296
- font-size: 15px;
297
- font-weight: 690;
298
- letter-spacing: -.018em;
212
+ font-size: 14.5px;
213
+ font-weight: 650;
214
+ letter-spacing: -.015em;
299
215
  line-height: 1.35;
300
216
  }
301
217
  .spotpatch-execution-action,
302
218
  .spotpatch-execution-action-outgoing {
303
- color: #696f79;
304
- font-size: 11px;
305
- font-weight: 400;
219
+ color: var(--spotpatch-text-muted);
220
+ font-size: 11.5px;
306
221
  line-height: 1.35;
307
222
  }
308
223
  .spotpatch-execution-headline-outgoing,
@@ -314,7 +229,7 @@ function createFloatingSurfaceMotionStyles(document) {
314
229
  }
315
230
  .spotpatch-execution-copy-changing .spotpatch-execution-headline,
316
231
  .spotpatch-execution-copy-changing .spotpatch-execution-action {
317
- animation: spotpatch-motion-copy-in ${String(MOTION.contentMilliseconds)}ms var(--spotpatch-island-ease) both;
232
+ animation: spotpatch-motion-copy-in ${String(MOTION.contentMilliseconds)}ms var(--spotpatch-ease-out) both;
318
233
  }
319
234
  .spotpatch-execution-copy-changing .spotpatch-execution-headline-outgoing,
320
235
  .spotpatch-execution-copy-changing .spotpatch-execution-action-outgoing {
@@ -322,13 +237,13 @@ function createFloatingSurfaceMotionStyles(document) {
322
237
  }
323
238
  .spotpatch-execution-meta {
324
239
  display: inline-flex;
240
+ flex: none;
325
241
  align-items: center;
326
242
  justify-content: flex-end;
327
243
  gap: 10px;
328
- flex: none;
329
- color: #989da8;
330
- font-size: 11px;
331
- font-weight: 620;
244
+ color: var(--spotpatch-text-secondary);
245
+ font-size: 11.5px;
246
+ font-weight: 600;
332
247
  white-space: nowrap;
333
248
  }
334
249
  .spotpatch-execution-meta-dot {
@@ -336,49 +251,53 @@ function createFloatingSurfaceMotionStyles(document) {
336
251
  height: 6px;
337
252
  flex: none;
338
253
  border-radius: 50%;
339
- background: var(--spotpatch-island-violet);
340
- box-shadow: 0 0 8px rgb(139 103 255 / 38%);
254
+ background: var(--spotpatch-accent);
255
+ box-shadow: 0 0 10px var(--spotpatch-accent-line);
341
256
  }
342
257
  [data-execution-scene="agent-charging"] .spotpatch-execution-meta-dot,
343
258
  [data-execution-scene="handoff"] .spotpatch-execution-meta-dot,
344
259
  [data-execution-scene="running"] .spotpatch-execution-meta-dot {
345
260
  animation: spotpatch-motion-status-breathe 1.8s ease-in-out infinite;
346
261
  }
262
+ .spotpatch-execution-meta[data-tone="success"] { color: var(--spotpatch-success-text); }
347
263
  .spotpatch-execution-meta[data-tone="success"] .spotpatch-execution-meta-dot {
348
- background: var(--spotpatch-island-mint);
349
- box-shadow: 0 0 8px rgb(89 220 182 / 24%);
264
+ background: var(--spotpatch-success);
265
+ box-shadow: 0 0 10px color-mix(in srgb, var(--spotpatch-success) 45%, transparent);
350
266
  }
267
+ .spotpatch-execution-meta[data-tone="danger"] { color: var(--spotpatch-danger-text); }
351
268
  .spotpatch-execution-meta[data-tone="danger"] .spotpatch-execution-meta-dot {
352
- background: var(--spotpatch-island-error);
353
- box-shadow: 0 0 8px rgb(239 111 136 / 22%);
269
+ background: var(--spotpatch-danger);
270
+ box-shadow: 0 0 10px var(--spotpatch-danger-line);
354
271
  }
355
272
  .spotpatch-execution-timer {
356
- width: 34px;
357
- color: #737985;
358
- font: 400 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
273
+ width: 36px;
274
+ color: var(--spotpatch-text-muted);
275
+ font: 500 11px/1 var(--spotpatch-font-mono);
276
+ font-variant-numeric: tabular-nums;
359
277
  text-align: right;
360
278
  }
361
279
  .spotpatch-execution-more {
362
280
  display: grid;
363
281
  width: 24px;
364
282
  height: 24px;
365
- padding: 0;
283
+ place-items: center;
366
284
  border: 0;
285
+ border-radius: 50%;
286
+ padding: 0;
287
+ color: var(--spotpatch-text-muted);
367
288
  background: transparent;
368
- color: #686e78;
369
289
  font-size: 15px;
370
290
  line-height: 1;
371
- place-items: center;
291
+ transition: background var(--spotpatch-duration-fast) ease;
372
292
  }
293
+ .spotpatch-execution-island:hover .spotpatch-execution-more { background: var(--spotpatch-hover); }
373
294
  [data-expanded="true"] .spotpatch-execution-meta-dot,
374
295
  [data-expanded="true"] .spotpatch-execution-meta-label,
375
296
  [data-expanded="true"] .spotpatch-execution-timer { display: none; }
376
297
  [data-expanded="true"] .spotpatch-execution-more {
377
298
  width: 28px;
378
299
  height: 28px;
379
- border-radius: 50%;
380
- background: rgb(255 255 255 / 4.5%);
381
- color: #828894;
300
+ background: var(--spotpatch-hover);
382
301
  }
383
302
  .spotpatch-execution-recent {
384
303
  position: absolute;
@@ -386,82 +305,75 @@ function createFloatingSurfaceMotionStyles(document) {
386
305
  right: 20px;
387
306
  left: 20px;
388
307
  display: grid;
389
- margin-top: 0;
390
308
  }
391
- .spotpatch-execution-recent[hidden] { display: none; }
392
309
  .spotpatch-execution-recent-item {
393
310
  display: grid;
394
311
  min-height: 28px;
395
- grid-template-columns: 52px minmax(0, 1fr) auto;
312
+ grid-template-columns: 56px minmax(0, 1fr) auto;
396
313
  align-items: center;
397
- border-top: 1px solid rgb(255 255 255 / 5.5%);
314
+ border-top: 1px solid var(--spotpatch-border-subtle);
398
315
  }
399
316
  .spotpatch-execution-recent-item:first-child { border-top: 0; }
400
- .spotpatch-execution-recent-kind {
401
- color: #666c76;
402
- font: 600 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
403
- text-transform: uppercase;
317
+ .spotpatch-execution-recent-kind,
318
+ .spotpatch-execution-recent-state {
319
+ color: var(--spotpatch-text-muted);
320
+ font: 500 10.5px/1 var(--spotpatch-font-mono);
404
321
  }
322
+ .spotpatch-execution-recent-kind { text-transform: uppercase; }
405
323
  .spotpatch-execution-recent-detail {
406
324
  overflow: hidden;
407
- color: #b2b6bf;
408
- font-size: 11px;
325
+ color: var(--spotpatch-text-secondary);
326
+ font-size: 11.5px;
409
327
  text-overflow: ellipsis;
410
328
  white-space: nowrap;
411
329
  }
412
- .spotpatch-execution-recent-state {
413
- color: #626974;
414
- font: 500 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
415
- }
416
- .spotpatch-execution-recent-item[data-state="active"] .spotpatch-execution-recent-kind {
417
- color: var(--spotpatch-island-violet);
418
- }
419
- .spotpatch-execution-recent-item[data-state="active"] .spotpatch-execution-recent-detail {
420
- color: #f2f3f7;
421
- }
422
- .spotpatch-execution-recent-item[data-state="failure"] .spotpatch-execution-recent-kind {
423
- color: var(--spotpatch-island-error);
424
- }
330
+ .spotpatch-execution-recent-item[data-state="active"] .spotpatch-execution-recent-kind { color: var(--spotpatch-accent-soft); }
331
+ .spotpatch-execution-recent-item[data-state="active"] .spotpatch-execution-recent-detail { color: var(--spotpatch-text); }
332
+ .spotpatch-execution-recent-item[data-state="failure"] .spotpatch-execution-recent-kind { color: var(--spotpatch-danger-text); }
425
333
  .spotpatch-island-sweep {
426
334
  position: absolute;
427
335
  z-index: 2;
428
336
  bottom: 0;
429
337
  left: 44px;
430
- width: 20%;
338
+ width: 22%;
431
339
  height: 1px;
432
- border-radius: 999px;
433
- background: linear-gradient(90deg, transparent, var(--spotpatch-island-violet), var(--spotpatch-island-cyan), transparent);
434
- box-shadow: 0 0 7px rgb(139 103 255 / 18%);
340
+ border-radius: var(--spotpatch-radius-pill);
341
+ background: linear-gradient(90deg, transparent, var(--spotpatch-accent), var(--spotpatch-accent-cyan), transparent);
342
+ box-shadow: 0 0 8px var(--spotpatch-accent-line);
435
343
  opacity: 0;
436
344
  pointer-events: none;
437
345
  transform: translate3d(-160%, 0, 0);
438
346
  }
347
+ [data-motion-reveal="true"] .spotpatch-shell > * {
348
+ animation: spotpatch-motion-section-in ${milliseconds(MOTION.revealSeconds)} var(--spotpatch-ease-out) both;
349
+ animation-delay: ${sectionRevealDelay(0)};
350
+ }
351
+ [data-motion-reveal="true"] .spotpatch-shell > :nth-child(2) { animation-delay: ${sectionRevealDelay(1)}; }
352
+ [data-motion-reveal="true"] .spotpatch-shell > :nth-child(3) { animation-delay: ${sectionRevealDelay(2)}; }
353
+ @keyframes spotpatch-motion-section-in {
354
+ from { opacity: 0; transform: translate3d(0, 8px, 0); }
355
+ }
439
356
  @keyframes spotpatch-motion-copy-in {
440
- from { opacity: 0; filter: blur(2px); transform: translate3d(0, 3px, 0); }
441
- to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0); }
357
+ from { opacity: 0; filter: blur(2px); transform: translate3d(0, 4px, 0); }
442
358
  }
443
359
  @keyframes spotpatch-motion-copy-out {
444
- from { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0); }
445
- to { opacity: 0; filter: blur(2px); transform: translate3d(0, -3px, 0); }
360
+ to { opacity: 0; filter: blur(2px); transform: translate3d(0, -4px, 0); }
446
361
  }
447
362
  @keyframes spotpatch-motion-status-breathe {
448
- 50% { opacity: .42; transform: scale(.82); }
363
+ 50% { opacity: .4; transform: scale(.8); }
449
364
  }
450
- @keyframes spotpatch-motion-pill-pulse {
451
- 50% { box-shadow: 0 0 0 6px rgb(99 102 241 / 5%); opacity: .72; }
365
+ @keyframes spotpatch-motion-logo-glow {
366
+ 50% { filter: drop-shadow(0 0 7px var(--spotpatch-accent-line)); }
452
367
  }
453
- .spotpatch-floating-surface[data-motion-paused="true"] .spotpatch-execution-meta-dot,
454
- .spotpatch-floating-surface[data-motion-paused="true"] .spotpatch-trigger::before {
368
+ .spotpatch-floating-surface[data-motion-paused="true"] *,
369
+ .spotpatch-floating-surface[data-motion-paused="true"] *::before {
455
370
  animation-play-state: paused;
456
371
  }
457
372
  @media (prefers-reduced-motion: reduce) {
458
- .spotpatch-trigger::before,
459
- .spotpatch-execution-meta-dot,
460
373
  .spotpatch-execution-headline,
461
374
  .spotpatch-execution-headline-outgoing,
462
375
  .spotpatch-execution-action,
463
376
  .spotpatch-execution-action-outgoing {
464
- animation: none !important;
465
377
  filter: none !important;
466
378
  transform: none !important;
467
379
  }
@@ -469,7 +381,6 @@ function createFloatingSurfaceMotionStyles(document) {
469
381
  }
470
382
  @media (max-width: 520px) {
471
383
  .spotpatch-execution-island {
472
- grid-template-columns: auto minmax(0, 1fr) auto;
473
384
  gap: 10px;
474
385
  padding-right: 14px;
475
386
  padding-left: 14px;
@@ -543,6 +454,7 @@ function createFloatingSurfaceMotionController(document, elements, reconcile) {
543
454
  clearProps: "borderRadius,filter,height,opacity,transform,visibility,width,willChange"
544
455
  });
545
456
  delete elements.surface.dataset.motionMorphing;
457
+ delete elements.planner.dataset.motionReveal;
546
458
  syncRecentVisibility();
547
459
  }
548
460
  function clearMorph() {
@@ -695,15 +607,22 @@ function createFloatingSurfaceMotionController(document, elements, reconcile) {
695
607
  0
696
608
  );
697
609
  }
698
- if (reveal) {
610
+ if (reveal && activeScene === elements.planner) {
611
+ elements.planner.dataset.motionReveal = "true";
612
+ morphTimeline.call(
613
+ () => void 0,
614
+ [],
615
+ MOTION.sceneRevealDelaySeconds + MOTION.revealSeconds + MOTION.revealStaggerSeconds * (PLANNER_SECTION_COUNT - 1)
616
+ );
617
+ } else if (reveal) {
699
618
  morphTimeline.fromTo(
700
619
  activeScene,
701
- { autoAlpha: 0, y: 4 },
620
+ { autoAlpha: 0, y: 8 },
702
621
  {
703
622
  autoAlpha: 1,
704
623
  y: 0,
705
624
  duration: MOTION.revealSeconds,
706
- ease: "power2.out",
625
+ ease: "power3.out",
707
626
  clearProps: "transform,opacity,visibility"
708
627
  },
709
628
  MOTION.sceneRevealDelaySeconds
@@ -827,9 +746,9 @@ function createFloatingSurfaceMotionController(document, elements, reconcile) {
827
746
  );
828
747
  dispatchTimeline.fromTo(
829
748
  target,
830
- { boxShadow: "0 0 0 rgb(100 120 255 / 0%)" },
749
+ { boxShadow: THEME_MOTION_COLORS.dispatchGlowRest },
831
750
  {
832
- boxShadow: "0 0 18px rgb(100 120 255 / 14%)",
751
+ boxShadow: THEME_MOTION_COLORS.dispatchGlow,
833
752
  duration: MOTION.targetFeedbackSeconds,
834
753
  yoyo: true,
835
754
  repeat: 1,
@@ -855,8 +774,8 @@ function createFloatingSurfaceMotionController(document, elements, reconcile) {
855
774
 
856
775
  // src/ui/execution-island.ts
857
776
  var TIMER_INTERVAL_MS = 1e3;
858
- function formatElapsed(milliseconds) {
859
- const totalSeconds = Math.max(0, Math.floor(milliseconds / TIMER_INTERVAL_MS));
777
+ function formatElapsed(milliseconds2) {
778
+ const totalSeconds = Math.max(0, Math.floor(milliseconds2 / TIMER_INTERVAL_MS));
860
779
  const seconds = totalSeconds % 60;
861
780
  const totalMinutes = Math.floor(totalSeconds / 60);
862
781
  const minutes = totalMinutes % 60;