handler-playable-sdk 0.3.34 → 0.3.36
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/AssetEditorModal-FTOKF3XD.js +1 -0
- package/dist/AssetTextures-HOSCQNZW.js +1 -0
- package/dist/{ConfigOverride-C26KK6X2.js → ConfigOverride-RARXNEZC.js} +1 -1
- package/dist/chunk-DSJ7EQPG.js +1626 -0
- package/dist/chunk-ZFQCFKYD.js +1 -0
- package/dist/cli/brand-dna.mjs +1 -1
- package/dist/cli/canva-import.mjs +1 -1
- package/dist/cli/cleanup-assets.mjs +1 -1
- package/dist/cli/fix-scales.mjs +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/screen-helper.mjs +1 -1
- package/dist/cli/setup-library.mjs +1 -1
- package/dist/cli/student-helper.mjs +1 -1
- package/dist/cli/sync-screens.mjs +1 -1
- package/dist/cli/validate-assets.mjs +1 -1
- package/dist/cli/validate.mjs +1 -1
- package/dist/{config-44AFSRES.js → config-4IWHAC43.js} +1 -1
- package/dist/index.cjs +290 -367
- package/dist/index.css +310 -0
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +1 -1
- package/dist/pixi/index.cjs +35 -36
- package/dist/pixi/index.css +310 -0
- package/dist/pixi/index.js +1 -1
- package/dist/three/index.cjs +76 -77
- package/dist/three/index.css +310 -0
- package/dist/three/index.js +1 -1
- package/package.json +2 -1
- package/dist/AssetEditorModal-DBAGQINC.js +0 -1
- package/dist/AssetTextures-CWUQXU5Q.js +0 -1
- package/dist/chunk-PHSE57CN.js +0 -1703
- package/dist/chunk-Q7FPWOA3.js +0 -1
package/dist/index.css
CHANGED
|
@@ -358,6 +358,316 @@
|
|
|
358
358
|
border-radius: 0 0 2px 0;
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
+
/* Corner Controls - HANDLER Style */
|
|
362
|
+
.preview-corner-controls {
|
|
363
|
+
position: absolute;
|
|
364
|
+
bottom: 24px;
|
|
365
|
+
right: 24px;
|
|
366
|
+
display: flex;
|
|
367
|
+
flex-direction: column;
|
|
368
|
+
gap: 8px;
|
|
369
|
+
z-index: 50;
|
|
370
|
+
pointer-events: auto;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.corner-control-btn {
|
|
374
|
+
width: 44px;
|
|
375
|
+
height: 44px;
|
|
376
|
+
background: var(--ui-surface);
|
|
377
|
+
border: 1px solid var(--ui-border);
|
|
378
|
+
border-radius: 12px;
|
|
379
|
+
display: flex;
|
|
380
|
+
align-items: center;
|
|
381
|
+
justify-content: center;
|
|
382
|
+
cursor: pointer;
|
|
383
|
+
transition: all var(--ui-duration-fast) var(--ui-ease);
|
|
384
|
+
box-shadow: var(--ui-shadow);
|
|
385
|
+
color: var(--ui-text);
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.corner-control-btn svg {
|
|
389
|
+
width: 20px;
|
|
390
|
+
height: 20px;
|
|
391
|
+
stroke-width: var(--ui-icon-stroke);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.corner-control-btn:hover {
|
|
395
|
+
background: var(--ui-terracotta);
|
|
396
|
+
border-color: var(--ui-terracotta);
|
|
397
|
+
color: var(--ui-text-white);
|
|
398
|
+
transform: translateY(-2px);
|
|
399
|
+
box-shadow: var(--ui-shadow-hover);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.corner-control-btn:active {
|
|
403
|
+
background: var(--ui-terracotta-active);
|
|
404
|
+
transform: translateY(0);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/* Hide corner controls in compare mode */
|
|
408
|
+
.preview-shell.compare-mode .preview-corner-controls {
|
|
409
|
+
display: none;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
/* Scene Tools Corner Panel - HANDLER Style */
|
|
413
|
+
.scene-tools-corner-panel {
|
|
414
|
+
position: absolute;
|
|
415
|
+
bottom: 200px;
|
|
416
|
+
right: 24px;
|
|
417
|
+
width: 280px;
|
|
418
|
+
background: var(--ui-surface);
|
|
419
|
+
border: 1px solid var(--ui-border);
|
|
420
|
+
border-radius: 14px;
|
|
421
|
+
box-shadow: var(--ui-shadow);
|
|
422
|
+
z-index: 60;
|
|
423
|
+
pointer-events: auto;
|
|
424
|
+
transition: all var(--ui-duration-normal) var(--ui-ease);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.scene-tools-header {
|
|
428
|
+
display: flex;
|
|
429
|
+
align-items: center;
|
|
430
|
+
justify-content: space-between;
|
|
431
|
+
padding: 12px 14px;
|
|
432
|
+
background: var(--ui-bg-2);
|
|
433
|
+
border-bottom: 1px solid var(--ui-border);
|
|
434
|
+
border-radius: 14px 14px 0 0;
|
|
435
|
+
cursor: move;
|
|
436
|
+
user-select: none;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.scene-tools-header-actions {
|
|
440
|
+
display: flex;
|
|
441
|
+
align-items: center;
|
|
442
|
+
gap: 8px;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
.scene-tools-status-icons {
|
|
446
|
+
display: flex;
|
|
447
|
+
align-items: center;
|
|
448
|
+
gap: 4px;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
.status-icon {
|
|
452
|
+
width: 24px;
|
|
453
|
+
height: 24px;
|
|
454
|
+
display: flex;
|
|
455
|
+
align-items: center;
|
|
456
|
+
justify-content: center;
|
|
457
|
+
border-radius: 6px;
|
|
458
|
+
color: var(--ui-muted);
|
|
459
|
+
transition: all var(--ui-duration-fast) var(--ui-ease);
|
|
460
|
+
cursor: help;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
.status-icon svg {
|
|
464
|
+
width: 14px;
|
|
465
|
+
height: 14px;
|
|
466
|
+
stroke-width: var(--ui-icon-stroke);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
.status-icon.active {
|
|
470
|
+
background: rgba(227, 138, 90, 0.15);
|
|
471
|
+
color: var(--ui-terracotta);
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
.status-icon:hover {
|
|
475
|
+
background: var(--ui-bg);
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/* Icon-only mode when collapsed */
|
|
479
|
+
.scene-tools-corner-panel.collapsed .scene-tools-title {
|
|
480
|
+
display: none;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.scene-tools-corner-panel.collapsed .scene-tools-header {
|
|
484
|
+
border-bottom: none;
|
|
485
|
+
border-radius: 14px;
|
|
486
|
+
padding: 8px 10px;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.scene-tools-corner-panel.collapsed .scene-tools-status-icons {
|
|
490
|
+
order: -1;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
.scene-tools-title {
|
|
494
|
+
font-size: 12px;
|
|
495
|
+
font-weight: var(--font-weight-semibold);
|
|
496
|
+
color: var(--ui-text);
|
|
497
|
+
letter-spacing: 0.4px;
|
|
498
|
+
text-transform: uppercase;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
.scene-tools-collapse-btn {
|
|
502
|
+
width: 24px;
|
|
503
|
+
height: 24px;
|
|
504
|
+
background: transparent;
|
|
505
|
+
border: none;
|
|
506
|
+
border-radius: 6px;
|
|
507
|
+
display: flex;
|
|
508
|
+
align-items: center;
|
|
509
|
+
justify-content: center;
|
|
510
|
+
cursor: pointer;
|
|
511
|
+
color: var(--ui-muted);
|
|
512
|
+
transition: all var(--ui-duration-fast) var(--ui-ease);
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
.scene-tools-collapse-btn svg {
|
|
516
|
+
width: 16px;
|
|
517
|
+
height: 16px;
|
|
518
|
+
transition: transform var(--ui-duration-normal) var(--ui-ease);
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
.scene-tools-collapse-btn:hover {
|
|
522
|
+
background: var(--ui-bg);
|
|
523
|
+
color: var(--ui-text);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
.scene-tools-body {
|
|
527
|
+
padding: 14px;
|
|
528
|
+
display: flex;
|
|
529
|
+
flex-direction: column;
|
|
530
|
+
gap: 10px;
|
|
531
|
+
max-height: 400px;
|
|
532
|
+
overflow-y: auto;
|
|
533
|
+
transition: max-height var(--ui-duration-normal) var(--ui-ease), opacity var(--ui-duration-normal) var(--ui-ease);
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
/* Collapsed state */
|
|
537
|
+
.scene-tools-corner-panel.collapsed .scene-tools-body {
|
|
538
|
+
max-height: 0;
|
|
539
|
+
opacity: 0;
|
|
540
|
+
padding-top: 0;
|
|
541
|
+
padding-bottom: 0;
|
|
542
|
+
overflow: hidden;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
.scene-tools-corner-panel.collapsed .scene-tools-collapse-btn svg {
|
|
546
|
+
transform: rotate(180deg);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
.scene-tools-corner-panel.collapsed {
|
|
550
|
+
border-radius: 14px;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
/* Debug field styles */
|
|
554
|
+
.scene-tools-body .debug-field {
|
|
555
|
+
display: flex;
|
|
556
|
+
flex-direction: column;
|
|
557
|
+
gap: 6px;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
.scene-tools-body .debug-field.checkbox-field {
|
|
561
|
+
flex-direction: row;
|
|
562
|
+
align-items: center;
|
|
563
|
+
gap: 8px;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
.scene-tools-body .debug-field label {
|
|
567
|
+
font-size: 12px;
|
|
568
|
+
color: var(--ui-text);
|
|
569
|
+
font-weight: var(--font-weight-medium);
|
|
570
|
+
cursor: pointer;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
.scene-tools-body .debug-field input[type="checkbox"] {
|
|
574
|
+
width: 16px;
|
|
575
|
+
height: 16px;
|
|
576
|
+
cursor: pointer;
|
|
577
|
+
accent-color: var(--ui-terracotta);
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
.scene-tools-body .debug-field input[type="number"] {
|
|
581
|
+
background: var(--ui-bg);
|
|
582
|
+
border: 1px solid var(--ui-border);
|
|
583
|
+
border-radius: 6px;
|
|
584
|
+
padding: 6px 8px;
|
|
585
|
+
font-size: 12px;
|
|
586
|
+
color: var(--ui-text);
|
|
587
|
+
font-family: var(--font-primary);
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
.scene-tools-body .debug-field input[type="number"]:focus {
|
|
591
|
+
outline: none;
|
|
592
|
+
border-color: var(--ui-terracotta);
|
|
593
|
+
box-shadow: 0 0 0 2px rgba(227, 138, 90, 0.2);
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
/* Debug nudge controls */
|
|
597
|
+
.debug-nudge {
|
|
598
|
+
display: flex;
|
|
599
|
+
flex-direction: column;
|
|
600
|
+
gap: 10px;
|
|
601
|
+
padding: 10px;
|
|
602
|
+
background: var(--ui-bg);
|
|
603
|
+
border-radius: 8px;
|
|
604
|
+
margin-top: 4px;
|
|
605
|
+
transition: all var(--ui-duration-normal) var(--ui-ease);
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
.debug-nudge.hidden {
|
|
609
|
+
display: none;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
.debug-arrow-pad {
|
|
613
|
+
display: grid;
|
|
614
|
+
grid-template-columns: repeat(3, 1fr);
|
|
615
|
+
grid-template-rows: repeat(2, 1fr);
|
|
616
|
+
gap: 6px;
|
|
617
|
+
max-width: 150px;
|
|
618
|
+
margin: 0 auto;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
.debug-arrow-btn {
|
|
622
|
+
background: var(--ui-surface);
|
|
623
|
+
border: 1px solid var(--ui-border);
|
|
624
|
+
border-radius: 8px;
|
|
625
|
+
padding: 10px;
|
|
626
|
+
font-size: 16px;
|
|
627
|
+
cursor: pointer;
|
|
628
|
+
transition: all var(--ui-duration-fast) var(--ui-ease);
|
|
629
|
+
color: var(--ui-text);
|
|
630
|
+
display: flex;
|
|
631
|
+
align-items: center;
|
|
632
|
+
justify-content: center;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
.debug-arrow-btn:hover {
|
|
636
|
+
background: var(--ui-terracotta);
|
|
637
|
+
border-color: var(--ui-terracotta);
|
|
638
|
+
color: var(--ui-text-white);
|
|
639
|
+
transform: translateY(-1px);
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.debug-arrow-btn:active {
|
|
643
|
+
transform: translateY(0);
|
|
644
|
+
background: var(--ui-terracotta-active);
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
.debug-arrow-btn[data-nudge="up"] {
|
|
648
|
+
grid-column: 2;
|
|
649
|
+
grid-row: 1;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
.debug-arrow-btn[data-nudge="left"] {
|
|
653
|
+
grid-column: 1;
|
|
654
|
+
grid-row: 2;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
.debug-arrow-btn[data-nudge="down"] {
|
|
658
|
+
grid-column: 2;
|
|
659
|
+
grid-row: 2;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
.debug-arrow-btn[data-nudge="right"] {
|
|
663
|
+
grid-column: 3;
|
|
664
|
+
grid-row: 2;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
/* Hide scene tools in compare mode */
|
|
668
|
+
.preview-shell.compare-mode .scene-tools-corner-panel {
|
|
669
|
+
display: none;
|
|
670
|
+
}
|
|
361
671
|
|
|
362
672
|
/* ========== 03-toolbar.css ========== */
|
|
363
673
|
/* 03 Toolbar */
|
package/dist/index.d.cts
CHANGED
|
@@ -101,6 +101,7 @@ declare class PreviewShell {
|
|
|
101
101
|
private frameDragStartY;
|
|
102
102
|
private frameDragOriginX;
|
|
103
103
|
private frameDragOriginY;
|
|
104
|
+
private isSpaceKeyPressed;
|
|
104
105
|
private consolePanel;
|
|
105
106
|
private consoleMessages;
|
|
106
107
|
private isConsoleOpen;
|
|
@@ -139,6 +140,9 @@ declare class PreviewShell {
|
|
|
139
140
|
private applyTransform;
|
|
140
141
|
private applyFrameDrag;
|
|
141
142
|
private setupFrameDragging;
|
|
143
|
+
private setupSpaceKeyListener;
|
|
144
|
+
private isInputFocused;
|
|
145
|
+
private updateDragCursor;
|
|
142
146
|
private onFrameDragMove;
|
|
143
147
|
private onFrameDragEnd;
|
|
144
148
|
private adjustUserZoom;
|
|
@@ -209,8 +213,8 @@ type SceneToolsPanelOptions = {
|
|
|
209
213
|
};
|
|
210
214
|
declare class SceneToolsPanel {
|
|
211
215
|
private root;
|
|
212
|
-
private infoEls;
|
|
213
216
|
private options;
|
|
217
|
+
private isCollapsed;
|
|
214
218
|
render(): string;
|
|
215
219
|
initialize(container: HTMLElement, options: SceneToolsPanelOptions): void;
|
|
216
220
|
getNudgeStep(): number;
|
package/dist/index.d.ts
CHANGED
|
@@ -101,6 +101,7 @@ declare class PreviewShell {
|
|
|
101
101
|
private frameDragStartY;
|
|
102
102
|
private frameDragOriginX;
|
|
103
103
|
private frameDragOriginY;
|
|
104
|
+
private isSpaceKeyPressed;
|
|
104
105
|
private consolePanel;
|
|
105
106
|
private consoleMessages;
|
|
106
107
|
private isConsoleOpen;
|
|
@@ -139,6 +140,9 @@ declare class PreviewShell {
|
|
|
139
140
|
private applyTransform;
|
|
140
141
|
private applyFrameDrag;
|
|
141
142
|
private setupFrameDragging;
|
|
143
|
+
private setupSpaceKeyListener;
|
|
144
|
+
private isInputFocused;
|
|
145
|
+
private updateDragCursor;
|
|
142
146
|
private onFrameDragMove;
|
|
143
147
|
private onFrameDragEnd;
|
|
144
148
|
private adjustUserZoom;
|
|
@@ -209,8 +213,8 @@ type SceneToolsPanelOptions = {
|
|
|
209
213
|
};
|
|
210
214
|
declare class SceneToolsPanel {
|
|
211
215
|
private root;
|
|
212
|
-
private infoEls;
|
|
213
216
|
private options;
|
|
217
|
+
private isCollapsed;
|
|
214
218
|
render(): string;
|
|
215
219
|
initialize(container: HTMLElement, options: SceneToolsPanelOptions): void;
|
|
216
220
|
getNudgeStep(): number;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as F,F as G,G as H,H as I,I as J,J as K,K as L,L as M,M as N,N as O,O as P,P as Q,Q as R,R as S,S as T,T as U,U as V,a}from"./chunk-
|
|
1
|
+
import{E as F,F as G,G as H,H as I,I as J,J as K,K as L,L as M,M as N,N as O,O as P,P as Q,Q as R,R as S,S as T,T as U,U as V,a}from"./chunk-DSJ7EQPG.js";import"./chunk-I5OOVR5U.js";import{a as q,b as r,c as s,d as t,e as u,f as v,g as w,h as x,i as y,j as z,k as A,l as B,m as C,n as D,o as E}from"./chunk-LV4HGC5G.js";import{a as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l,l as m,m as n,n as o,o as p}from"./chunk-ZLL42OOV.js";import"./chunk-E6WJCS24.js";import"./chunk-ZFQCFKYD.js";export{Q as COLORS,B as ConfigWatcher,K as DebugPanel,A as DefaultReloadStrategy,U as Handler,T as PlayableLoadingScreen,L as PreviewShell,R as STROKE_WIDTH,S as THEME,d as applyConfigOverride,e as applyConfigOverrides,n as applyConfigsToDisk,x as applyDefaults,a as baseLottie,P as bootstrap,f as clearConfigOverrides,g as clearConfigOverridesForObject,j as configOverrideManager,M as createPreviewShell,k as deepClone,V as default,H as defaultPreset,G as deviceGroups,F as devicePresets,C as diffConfigs,l as exportConfigsAsJSON,i as getConfigOverrides,m as getConfigStateSummary,b as getOverrideMode,I as getPresetById,J as getPresetsByCategory,s as loadAllObjectConfigs,q as loadComponentSchemas,t as loadEngineConfig,u as loadGamePromptConfig,y as loadObjectCentricConfig,r as loadObjectConfig,v as loadSceneConfig,D as rehydrateObject,h as removeConfigOverride,o as resetToApplied,p as resetToOriginal,O as setBootstrapDependencies,c as setOverrideMode,E as setupHotReload,N as setupLiveEditBridge,z as toLegacyFormat,w as validateObjectConfig};
|