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.
@@ -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 */