visualfries 0.1.10115 → 0.3.2

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.
Files changed (139) hide show
  1. package/README.md +122 -0
  2. package/bin/visualfries.js +1570 -0
  3. package/dist/DIContainer.d.ts +2 -1
  4. package/dist/DIContainer.js +16 -5
  5. package/dist/SceneBuilder.svelte.d.ts +70 -1
  6. package/dist/SceneBuilder.svelte.js +96 -29
  7. package/dist/agent/audioMixer.d.ts +34 -0
  8. package/dist/agent/audioMixer.js +308 -0
  9. package/dist/agent/broll.d.ts +35 -0
  10. package/dist/agent/broll.js +226 -0
  11. package/dist/agent/capabilities.d.ts +34 -0
  12. package/dist/agent/capabilities.js +246 -0
  13. package/dist/agent/captionScene.d.ts +23 -0
  14. package/dist/agent/captionScene.js +204 -0
  15. package/dist/agent/catalog.d.ts +24 -0
  16. package/dist/agent/catalog.js +67 -0
  17. package/dist/agent/cueFiles.d.ts +54 -0
  18. package/dist/agent/cueFiles.js +219 -0
  19. package/dist/agent/cuePresets.d.ts +7 -0
  20. package/dist/agent/cuePresets.js +50 -0
  21. package/dist/agent/deterministicMedia.d.ts +61 -0
  22. package/dist/agent/deterministicMedia.js +303 -0
  23. package/dist/agent/index.d.ts +18 -0
  24. package/dist/agent/index.js +18 -0
  25. package/dist/agent/inspectScene.d.ts +36 -0
  26. package/dist/agent/inspectScene.js +139 -0
  27. package/dist/agent/localRender.d.ts +82 -0
  28. package/dist/agent/localRender.js +702 -0
  29. package/dist/agent/overlays.d.ts +40 -0
  30. package/dist/agent/overlays.js +325 -0
  31. package/dist/agent/productionPlan.d.ts +131 -0
  32. package/dist/agent/productionPlan.js +322 -0
  33. package/dist/agent/renderPlan.d.ts +27 -0
  34. package/dist/agent/renderPlan.js +68 -0
  35. package/dist/agent/renderRanges.d.ts +24 -0
  36. package/dist/agent/renderRanges.js +73 -0
  37. package/dist/agent/runtimeSupport.d.ts +19 -0
  38. package/dist/agent/runtimeSupport.js +192 -0
  39. package/dist/agent/streamingEncoder.d.ts +31 -0
  40. package/dist/agent/streamingEncoder.js +208 -0
  41. package/dist/agent/transcripts.d.ts +29 -0
  42. package/dist/agent/transcripts.js +146 -0
  43. package/dist/agent/transitions.d.ts +20 -0
  44. package/dist/agent/transitions.js +169 -0
  45. package/dist/animations/PixiAnimationTarget.d.ts +29 -0
  46. package/dist/animations/PixiAnimationTarget.js +63 -0
  47. package/dist/animations/builders/LineHighlighterAnimationBuilder.js +20 -3
  48. package/dist/animations/builders/WordHighlighterAnimationBuilder.js +15 -2
  49. package/dist/browser/browserExport.d.ts +73 -0
  50. package/dist/browser/browserExport.js +180 -0
  51. package/dist/browser/glTransitions.d.ts +37 -0
  52. package/dist/browser/glTransitions.js +261 -0
  53. package/dist/browser/index.d.ts +3 -0
  54. package/dist/browser/index.js +3 -0
  55. package/dist/browser/mediaDecode.d.ts +31 -0
  56. package/dist/browser/mediaDecode.js +152 -0
  57. package/dist/builders/PixiComponentBuilder.d.ts +6 -0
  58. package/dist/builders/PixiComponentBuilder.js +12 -0
  59. package/dist/builders/_ComponentState.svelte.d.ts +7 -5
  60. package/dist/builders/_ComponentState.svelte.js +29 -15
  61. package/dist/builders/html/StyleBuilder.js +9 -8
  62. package/dist/builders/html/TextComponentHtmlBuilder.js +4 -2
  63. package/dist/builders/html/processors/AppearanceStyleProcessor.js +1 -1
  64. package/dist/builders/html/processors/TextAppearanceStyleProcessor.js +7 -0
  65. package/dist/builders/html/processors/TextEffectsStyleProcessor.js +32 -13
  66. package/dist/commands/ReplaceSourceOnTimeCommand.js +9 -1
  67. package/dist/commands/SeekCommand.js +19 -6
  68. package/dist/components/AnimatedGIF.d.ts +3 -0
  69. package/dist/components/AnimatedGIF.js +28 -1
  70. package/dist/components/Component.svelte.d.ts +5 -5
  71. package/dist/components/Component.svelte.js +29 -13
  72. package/dist/components/ComponentContext.svelte.js +68 -23
  73. package/dist/components/hooks/AnimationHook.js +1 -1
  74. package/dist/components/hooks/CanvasFillHook.d.ts +12 -0
  75. package/dist/components/hooks/CanvasFillHook.js +75 -0
  76. package/dist/components/hooks/DeterministicMediaFrameHook.js +3 -0
  77. package/dist/components/hooks/HtmlTextHook.js +11 -3
  78. package/dist/components/hooks/HtmlToCanvasHook.js +8 -25
  79. package/dist/components/hooks/MediaHook.js +172 -47
  80. package/dist/components/hooks/MediaSeekingHook.js +138 -88
  81. package/dist/components/hooks/PixiGifHook.js +4 -4
  82. package/dist/components/hooks/PixiSplitScreenDisplayObjectHook.d.ts +3 -0
  83. package/dist/components/hooks/PixiSplitScreenDisplayObjectHook.js +85 -8
  84. package/dist/components/hooks/PixiVideoTextureHook.js +10 -4
  85. package/dist/components/hooks/PixiVisualTransformHook.d.ts +16 -0
  86. package/dist/components/hooks/PixiVisualTransformHook.js +102 -0
  87. package/dist/components/hooks/SubtitlesHook.js +48 -24
  88. package/dist/components/hooks/VerifyMediaHook.js +2 -2
  89. package/dist/directors/ComponentDirector.d.ts +1 -0
  90. package/dist/directors/ComponentDirector.js +41 -8
  91. package/dist/factories/SceneBuilderFactory.d.ts +3 -0
  92. package/dist/factories/SceneBuilderFactory.js +6 -0
  93. package/dist/fonts/fontDiscovery.js +12 -1
  94. package/dist/layers/Layer.svelte.d.ts +54 -0
  95. package/dist/layers/Layer.svelte.js +2 -25
  96. package/dist/managers/AppManager.svelte.d.ts +12 -0
  97. package/dist/managers/AppManager.svelte.js +180 -8
  98. package/dist/managers/ComponentsManager.svelte.d.ts +7 -7
  99. package/dist/managers/ComponentsManager.svelte.js +29 -15
  100. package/dist/managers/DeterministicMediaManager.d.ts +6 -0
  101. package/dist/managers/DeterministicMediaManager.js +57 -3
  102. package/dist/managers/EventManager.js +3 -1
  103. package/dist/managers/LayersManager.svelte.d.ts +54 -0
  104. package/dist/managers/RenderManager.d.ts +5 -0
  105. package/dist/managers/RenderManager.js +67 -21
  106. package/dist/managers/StateManager.svelte.d.ts +56 -0
  107. package/dist/managers/StateManager.svelte.js +60 -58
  108. package/dist/managers/SubtitlesManager.svelte.js +1 -3
  109. package/dist/managers/TimeManager.svelte.d.ts +4 -0
  110. package/dist/managers/TimeManager.svelte.js +23 -7
  111. package/dist/schemas/runtime/deterministic.d.ts +3 -0
  112. package/dist/schemas/runtime/deterministic.js +5 -1
  113. package/dist/schemas/runtime/types.d.ts +36 -15
  114. package/dist/schemas/scene/components.d.ts +126 -0
  115. package/dist/schemas/scene/components.js +11 -0
  116. package/dist/schemas/scene/core.d.ts +109 -10
  117. package/dist/schemas/scene/core.js +1 -1
  118. package/dist/utils/mediaWindow.d.ts +13 -0
  119. package/dist/utils/mediaWindow.js +25 -0
  120. package/dist/utils/svgGenerator.js +1 -1
  121. package/dist/utils/timelineWindow.d.ts +2 -0
  122. package/dist/utils/timelineWindow.js +7 -0
  123. package/dist/utils/utils.js +2 -4
  124. package/docs/AGENT_PATTERNS.md +243 -0
  125. package/docs/AGENT_WORKFLOW.md +364 -0
  126. package/docs/AUTHORING_BEST_PRACTICES.md +188 -0
  127. package/docs/AUTHORING_SYSTEM_AUDIT.md +98 -0
  128. package/docs/BROWSER_EXPORT_SPIKE.md +55 -0
  129. package/docs/DETERMINISTIC_RENDERER.md +83 -0
  130. package/docs/NEXT_RELEASE.md +28 -0
  131. package/docs/PROPOSED_VISUALFRIES_SKILL.md +68 -0
  132. package/docs/examples/agent-cues.json +49 -0
  133. package/docs/examples/agent-transcript.json +23 -0
  134. package/docs/examples/agent-transcript.srt +7 -0
  135. package/docs/examples/agent-transcript.vtt +7 -0
  136. package/docs/examples/image-animation.json +87 -0
  137. package/docs/examples/native-text-metric-badge.json +109 -0
  138. package/package.json +133 -100
  139. package/skills/visualfries/SKILL.md +328 -0
@@ -133,6 +133,12 @@ export declare const TextAppearanceShape: z.ZodObject<{
133
133
  lowercase: "lowercase";
134
134
  capitalize: "capitalize";
135
135
  }>>;
136
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
137
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
138
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
139
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
140
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
141
+ }, z.core.$strip>]>>;
136
142
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
137
143
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
138
144
  preset: z.ZodOptional<z.ZodString>;
@@ -532,6 +538,12 @@ export declare const AppearanceShape: z.ZodObject<{
532
538
  lowercase: "lowercase";
533
539
  capitalize: "capitalize";
534
540
  }>>;
541
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
542
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
543
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
544
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
545
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
546
+ }, z.core.$strip>]>>;
535
547
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
536
548
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
537
549
  preset: z.ZodOptional<z.ZodString>;
@@ -2542,6 +2554,12 @@ export declare const ComponentBaseShape: z.ZodObject<{
2542
2554
  lowercase: "lowercase";
2543
2555
  capitalize: "capitalize";
2544
2556
  }>>;
2557
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
2558
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
2559
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
2560
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
2561
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
2562
+ }, z.core.$strip>]>>;
2545
2563
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2546
2564
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
2547
2565
  preset: z.ZodOptional<z.ZodString>;
@@ -3678,6 +3696,12 @@ export declare const TextComponentShape: z.ZodObject<{
3678
3696
  lowercase: "lowercase";
3679
3697
  capitalize: "capitalize";
3680
3698
  }>>;
3699
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
3700
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
3701
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
3702
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
3703
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
3704
+ }, z.core.$strip>]>>;
3681
3705
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3682
3706
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
3683
3707
  preset: z.ZodOptional<z.ZodString>;
@@ -4829,6 +4853,12 @@ export declare const ImageComponentShape: z.ZodObject<{
4829
4853
  lowercase: "lowercase";
4830
4854
  capitalize: "capitalize";
4831
4855
  }>>;
4856
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
4857
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
4858
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
4859
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
4860
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
4861
+ }, z.core.$strip>]>>;
4832
4862
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4833
4863
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
4834
4864
  preset: z.ZodOptional<z.ZodString>;
@@ -5987,6 +6017,12 @@ export declare const GifComponentShape: z.ZodObject<{
5987
6017
  lowercase: "lowercase";
5988
6018
  capitalize: "capitalize";
5989
6019
  }>>;
6020
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
6021
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
6022
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
6023
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
6024
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
6025
+ }, z.core.$strip>]>>;
5990
6026
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
5991
6027
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
5992
6028
  preset: z.ZodOptional<z.ZodString>;
@@ -7143,6 +7179,12 @@ export declare const VideoComponentShape: z.ZodObject<{
7143
7179
  lowercase: "lowercase";
7144
7180
  capitalize: "capitalize";
7145
7181
  }>>;
7182
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
7183
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
7184
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
7185
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
7186
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
7187
+ }, z.core.$strip>]>>;
7146
7188
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
7147
7189
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
7148
7190
  preset: z.ZodOptional<z.ZodString>;
@@ -8497,6 +8539,12 @@ export declare const ShapeComponentShape: z.ZodObject<{
8497
8539
  lowercase: "lowercase";
8498
8540
  capitalize: "capitalize";
8499
8541
  }>>;
8542
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
8543
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
8544
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
8545
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
8546
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
8547
+ }, z.core.$strip>]>>;
8500
8548
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
8501
8549
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
8502
8550
  preset: z.ZodOptional<z.ZodString>;
@@ -9663,6 +9711,12 @@ export declare const AudioComponentShape: z.ZodObject<{
9663
9711
  lowercase: "lowercase";
9664
9712
  capitalize: "capitalize";
9665
9713
  }>>;
9714
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
9715
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
9716
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
9717
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
9718
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
9719
+ }, z.core.$strip>]>>;
9666
9720
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
9667
9721
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
9668
9722
  preset: z.ZodOptional<z.ZodString>;
@@ -10720,6 +10774,12 @@ export declare const ColorComponentShape: z.ZodObject<{
10720
10774
  lowercase: "lowercase";
10721
10775
  capitalize: "capitalize";
10722
10776
  }>>;
10777
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
10778
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
10779
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
10780
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
10781
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
10782
+ }, z.core.$strip>]>>;
10723
10783
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
10724
10784
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
10725
10785
  preset: z.ZodOptional<z.ZodString>;
@@ -11776,6 +11836,12 @@ export declare const GradientComponentShape: z.ZodObject<{
11776
11836
  lowercase: "lowercase";
11777
11837
  capitalize: "capitalize";
11778
11838
  }>>;
11839
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
11840
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
11841
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
11842
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
11843
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
11844
+ }, z.core.$strip>]>>;
11779
11845
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
11780
11846
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
11781
11847
  preset: z.ZodOptional<z.ZodString>;
@@ -12954,6 +13020,12 @@ export declare const SubtitleComponentShape: z.ZodObject<{
12954
13020
  lowercase: "lowercase";
12955
13021
  capitalize: "capitalize";
12956
13022
  }>>;
13023
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
13024
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
13025
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
13026
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
13027
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
13028
+ }, z.core.$strip>]>>;
12957
13029
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
12958
13030
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
12959
13031
  preset: z.ZodOptional<z.ZodString>;
@@ -14144,6 +14216,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
14144
14216
  lowercase: "lowercase";
14145
14217
  capitalize: "capitalize";
14146
14218
  }>>;
14219
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
14220
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
14221
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
14222
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
14223
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
14224
+ }, z.core.$strip>]>>;
14147
14225
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
14148
14226
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
14149
14227
  preset: z.ZodOptional<z.ZodString>;
@@ -15291,6 +15369,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
15291
15369
  lowercase: "lowercase";
15292
15370
  capitalize: "capitalize";
15293
15371
  }>>;
15372
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
15373
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
15374
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
15375
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
15376
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
15377
+ }, z.core.$strip>]>>;
15294
15378
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
15295
15379
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
15296
15380
  preset: z.ZodOptional<z.ZodString>;
@@ -16445,6 +16529,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
16445
16529
  lowercase: "lowercase";
16446
16530
  capitalize: "capitalize";
16447
16531
  }>>;
16532
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
16533
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
16534
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
16535
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
16536
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
16537
+ }, z.core.$strip>]>>;
16448
16538
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
16449
16539
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
16450
16540
  preset: z.ZodOptional<z.ZodString>;
@@ -17597,6 +17687,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
17597
17687
  lowercase: "lowercase";
17598
17688
  capitalize: "capitalize";
17599
17689
  }>>;
17690
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
17691
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
17692
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
17693
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
17694
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
17695
+ }, z.core.$strip>]>>;
17600
17696
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
17601
17697
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
17602
17698
  preset: z.ZodOptional<z.ZodString>;
@@ -18819,6 +18915,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
18819
18915
  lowercase: "lowercase";
18820
18916
  capitalize: "capitalize";
18821
18917
  }>>;
18918
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
18919
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
18920
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
18921
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
18922
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
18923
+ }, z.core.$strip>]>>;
18822
18924
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
18823
18925
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
18824
18926
  preset: z.ZodOptional<z.ZodString>;
@@ -19981,6 +20083,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
19981
20083
  lowercase: "lowercase";
19982
20084
  capitalize: "capitalize";
19983
20085
  }>>;
20086
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
20087
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
20088
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
20089
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
20090
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
20091
+ }, z.core.$strip>]>>;
19984
20092
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
19985
20093
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
19986
20094
  preset: z.ZodOptional<z.ZodString>;
@@ -21034,6 +21142,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
21034
21142
  lowercase: "lowercase";
21035
21143
  capitalize: "capitalize";
21036
21144
  }>>;
21145
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
21146
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
21147
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
21148
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
21149
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
21150
+ }, z.core.$strip>]>>;
21037
21151
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
21038
21152
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
21039
21153
  preset: z.ZodOptional<z.ZodString>;
@@ -22086,6 +22200,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
22086
22200
  lowercase: "lowercase";
22087
22201
  capitalize: "capitalize";
22088
22202
  }>>;
22203
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
22204
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
22205
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
22206
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
22207
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
22208
+ }, z.core.$strip>]>>;
22089
22209
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
22090
22210
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
22091
22211
  preset: z.ZodOptional<z.ZodString>;
@@ -23260,6 +23380,12 @@ export declare const ComponentShape: z.ZodDiscriminatedUnion<[z.ZodObject<{
23260
23380
  lowercase: "lowercase";
23261
23381
  capitalize: "capitalize";
23262
23382
  }>>;
23383
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
23384
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
23385
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
23386
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
23387
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
23388
+ }, z.core.$strip>]>>;
23263
23389
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
23264
23390
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
23265
23391
  preset: z.ZodOptional<z.ZodString>;
@@ -67,6 +67,17 @@ export const TextAppearanceShape = z.object({
67
67
  color: ColorTypeShape,
68
68
  textAlign: z.enum(['left', 'center', 'right', 'justify']),
69
69
  textTransform: z.enum(['none', 'uppercase', 'lowercase', 'capitalize']).optional(),
70
+ padding: z
71
+ .union([
72
+ coerceNonNegativeNumber(),
73
+ z.object({
74
+ top: coerceNonNegativeNumber(),
75
+ right: coerceNonNegativeNumber(),
76
+ bottom: coerceNonNegativeNumber(),
77
+ left: coerceNonNegativeNumber()
78
+ })
79
+ ])
80
+ .optional(),
70
81
  shadow: StructuredShadowShape.nullable().optional(),
71
82
  outline: StructuredOutlineShape.nullable().optional(),
72
83
  activeLine: z
@@ -1347,6 +1347,12 @@ export declare const SceneLayerShape: z.ZodObject<{
1347
1347
  lowercase: "lowercase";
1348
1348
  capitalize: "capitalize";
1349
1349
  }>>;
1350
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
1351
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
1352
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
1353
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
1354
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
1355
+ }, z.core.$strip>]>>;
1350
1356
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1351
1357
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
1352
1358
  preset: z.ZodOptional<z.ZodString>;
@@ -2494,6 +2500,12 @@ export declare const SceneLayerShape: z.ZodObject<{
2494
2500
  lowercase: "lowercase";
2495
2501
  capitalize: "capitalize";
2496
2502
  }>>;
2503
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
2504
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
2505
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
2506
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
2507
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
2508
+ }, z.core.$strip>]>>;
2497
2509
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2498
2510
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
2499
2511
  preset: z.ZodOptional<z.ZodString>;
@@ -3648,6 +3660,12 @@ export declare const SceneLayerShape: z.ZodObject<{
3648
3660
  lowercase: "lowercase";
3649
3661
  capitalize: "capitalize";
3650
3662
  }>>;
3663
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
3664
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
3665
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
3666
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
3667
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
3668
+ }, z.core.$strip>]>>;
3651
3669
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3652
3670
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
3653
3671
  preset: z.ZodOptional<z.ZodString>;
@@ -4800,6 +4818,12 @@ export declare const SceneLayerShape: z.ZodObject<{
4800
4818
  lowercase: "lowercase";
4801
4819
  capitalize: "capitalize";
4802
4820
  }>>;
4821
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
4822
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
4823
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
4824
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
4825
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
4826
+ }, z.core.$strip>]>>;
4803
4827
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4804
4828
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
4805
4829
  preset: z.ZodOptional<z.ZodString>;
@@ -6022,6 +6046,12 @@ export declare const SceneLayerShape: z.ZodObject<{
6022
6046
  lowercase: "lowercase";
6023
6047
  capitalize: "capitalize";
6024
6048
  }>>;
6049
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
6050
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
6051
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
6052
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
6053
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
6054
+ }, z.core.$strip>]>>;
6025
6055
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
6026
6056
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
6027
6057
  preset: z.ZodOptional<z.ZodString>;
@@ -7184,6 +7214,12 @@ export declare const SceneLayerShape: z.ZodObject<{
7184
7214
  lowercase: "lowercase";
7185
7215
  capitalize: "capitalize";
7186
7216
  }>>;
7217
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
7218
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
7219
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
7220
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
7221
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
7222
+ }, z.core.$strip>]>>;
7187
7223
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
7188
7224
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
7189
7225
  preset: z.ZodOptional<z.ZodString>;
@@ -8237,6 +8273,12 @@ export declare const SceneLayerShape: z.ZodObject<{
8237
8273
  lowercase: "lowercase";
8238
8274
  capitalize: "capitalize";
8239
8275
  }>>;
8276
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
8277
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
8278
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
8279
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
8280
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
8281
+ }, z.core.$strip>]>>;
8240
8282
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
8241
8283
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
8242
8284
  preset: z.ZodOptional<z.ZodString>;
@@ -9289,6 +9331,12 @@ export declare const SceneLayerShape: z.ZodObject<{
9289
9331
  lowercase: "lowercase";
9290
9332
  capitalize: "capitalize";
9291
9333
  }>>;
9334
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
9335
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
9336
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
9337
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
9338
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
9339
+ }, z.core.$strip>]>>;
9292
9340
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
9293
9341
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
9294
9342
  preset: z.ZodOptional<z.ZodString>;
@@ -10463,6 +10511,12 @@ export declare const SceneLayerShape: z.ZodObject<{
10463
10511
  lowercase: "lowercase";
10464
10512
  capitalize: "capitalize";
10465
10513
  }>>;
10514
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
10515
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
10516
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
10517
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
10518
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
10519
+ }, z.core.$strip>]>>;
10466
10520
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
10467
10521
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
10468
10522
  preset: z.ZodOptional<z.ZodString>;
@@ -10698,13 +10752,9 @@ export declare const SceneTransitionShape: z.ZodObject<{
10698
10752
  * Schema for the main scene structure in v2.0
10699
10753
  */
10700
10754
  export declare const SceneShape: z.ZodObject<{
10701
- /** Unique identifier for the scene */
10702
10755
  id: z.ZodString;
10703
- /** Schema version */
10704
10756
  version: z.ZodOptional<z.ZodCoercedString<unknown>>;
10705
- /** Optional name for the scene */
10706
10757
  name: z.ZodOptional<z.ZodString>;
10707
- /** Scene settings */
10708
10758
  settings: z.ZodObject<{
10709
10759
  width: z.ZodNumber;
10710
10760
  height: z.ZodNumber;
@@ -10816,7 +10866,6 @@ export declare const SceneShape: z.ZodObject<{
10816
10866
  }, z.core.$strip>]>>>>>;
10817
10867
  }, z.core.$strip>>;
10818
10868
  }, z.core.$strip>;
10819
- /** Assets registry */
10820
10869
  assets: z.ZodPrefault<z.ZodArray<z.ZodObject<{
10821
10870
  id: z.ZodString;
10822
10871
  type: z.ZodEnum<{
@@ -10902,7 +10951,6 @@ export declare const SceneShape: z.ZodObject<{
10902
10951
  }, z.core.$strip>>>;
10903
10952
  }, z.core.$strip>>>;
10904
10953
  }, z.core.$strip>>>;
10905
- /** Layers in the scene */
10906
10954
  layers: z.ZodPrefault<z.ZodArray<z.ZodObject<{
10907
10955
  id: z.ZodString;
10908
10956
  name: z.ZodOptional<z.ZodString>;
@@ -11891,6 +11939,12 @@ export declare const SceneShape: z.ZodObject<{
11891
11939
  lowercase: "lowercase";
11892
11940
  capitalize: "capitalize";
11893
11941
  }>>;
11942
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
11943
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
11944
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
11945
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
11946
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
11947
+ }, z.core.$strip>]>>;
11894
11948
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
11895
11949
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
11896
11950
  preset: z.ZodOptional<z.ZodString>;
@@ -13038,6 +13092,12 @@ export declare const SceneShape: z.ZodObject<{
13038
13092
  lowercase: "lowercase";
13039
13093
  capitalize: "capitalize";
13040
13094
  }>>;
13095
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
13096
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
13097
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
13098
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
13099
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
13100
+ }, z.core.$strip>]>>;
13041
13101
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
13042
13102
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
13043
13103
  preset: z.ZodOptional<z.ZodString>;
@@ -14192,6 +14252,12 @@ export declare const SceneShape: z.ZodObject<{
14192
14252
  lowercase: "lowercase";
14193
14253
  capitalize: "capitalize";
14194
14254
  }>>;
14255
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
14256
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
14257
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
14258
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
14259
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
14260
+ }, z.core.$strip>]>>;
14195
14261
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
14196
14262
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
14197
14263
  preset: z.ZodOptional<z.ZodString>;
@@ -15344,6 +15410,12 @@ export declare const SceneShape: z.ZodObject<{
15344
15410
  lowercase: "lowercase";
15345
15411
  capitalize: "capitalize";
15346
15412
  }>>;
15413
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
15414
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
15415
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
15416
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
15417
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
15418
+ }, z.core.$strip>]>>;
15347
15419
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
15348
15420
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
15349
15421
  preset: z.ZodOptional<z.ZodString>;
@@ -16566,6 +16638,12 @@ export declare const SceneShape: z.ZodObject<{
16566
16638
  lowercase: "lowercase";
16567
16639
  capitalize: "capitalize";
16568
16640
  }>>;
16641
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
16642
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
16643
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
16644
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
16645
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
16646
+ }, z.core.$strip>]>>;
16569
16647
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
16570
16648
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
16571
16649
  preset: z.ZodOptional<z.ZodString>;
@@ -17728,6 +17806,12 @@ export declare const SceneShape: z.ZodObject<{
17728
17806
  lowercase: "lowercase";
17729
17807
  capitalize: "capitalize";
17730
17808
  }>>;
17809
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
17810
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
17811
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
17812
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
17813
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
17814
+ }, z.core.$strip>]>>;
17731
17815
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
17732
17816
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
17733
17817
  preset: z.ZodOptional<z.ZodString>;
@@ -18781,6 +18865,12 @@ export declare const SceneShape: z.ZodObject<{
18781
18865
  lowercase: "lowercase";
18782
18866
  capitalize: "capitalize";
18783
18867
  }>>;
18868
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
18869
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
18870
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
18871
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
18872
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
18873
+ }, z.core.$strip>]>>;
18784
18874
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
18785
18875
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
18786
18876
  preset: z.ZodOptional<z.ZodString>;
@@ -19833,6 +19923,12 @@ export declare const SceneShape: z.ZodObject<{
19833
19923
  lowercase: "lowercase";
19834
19924
  capitalize: "capitalize";
19835
19925
  }>>;
19926
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
19927
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
19928
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
19929
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
19930
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
19931
+ }, z.core.$strip>]>>;
19836
19932
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
19837
19933
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
19838
19934
  preset: z.ZodOptional<z.ZodString>;
@@ -21007,6 +21103,12 @@ export declare const SceneShape: z.ZodObject<{
21007
21103
  lowercase: "lowercase";
21008
21104
  capitalize: "capitalize";
21009
21105
  }>>;
21106
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>, z.ZodObject<{
21107
+ top: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
21108
+ right: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
21109
+ bottom: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
21110
+ left: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedNumber<unknown>>;
21111
+ }, z.core.$strip>]>>;
21010
21112
  shadow: z.ZodOptional<z.ZodNullable<z.ZodObject<{
21011
21113
  enabled: z.ZodOptional<z.ZodPrefault<z.ZodBoolean>>;
21012
21114
  preset: z.ZodOptional<z.ZodString>;
@@ -21213,7 +21315,6 @@ export declare const SceneShape: z.ZodObject<{
21213
21315
  }, z.core.$strip>;
21214
21316
  }, z.core.$strict>], "type">>>;
21215
21317
  }, z.core.$strip>>>;
21216
- /** Scene transitions */
21217
21318
  transitions: z.ZodPrefault<z.ZodArray<z.ZodObject<{
21218
21319
  id: z.ZodString;
21219
21320
  name: z.ZodOptional<z.ZodString>;
@@ -21224,7 +21325,6 @@ export declare const SceneShape: z.ZodObject<{
21224
21325
  duration: z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>;
21225
21326
  parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
21226
21327
  }, z.core.$strip>>>;
21227
- /** Audio tracks */
21228
21328
  audioTracks: z.ZodPrefault<z.ZodArray<z.ZodObject<{
21229
21329
  id: z.ZodString;
21230
21330
  name: z.ZodOptional<z.ZodString>;
@@ -21234,9 +21334,8 @@ export declare const SceneShape: z.ZodObject<{
21234
21334
  endAt: z.ZodPipe<z.ZodOptional<z.ZodNumber>, z.ZodTransform<number | undefined, number | undefined>>;
21235
21335
  muted: z.ZodPrefault<z.ZodBoolean>;
21236
21336
  }, z.core.$strip>>>;
21237
- /** Optional checksum */
21238
21337
  checksum: z.ZodOptional<z.ZodString>;
21239
- }, z.core.$strict>;
21338
+ }, z.core.$strip>;
21240
21339
  export type SceneAssetMetadata = z.infer<typeof SceneAssetMetadataShape>;
21241
21340
  export type SceneAsset = z.infer<typeof SceneAssetShape>;
21242
21341
  export type SceneSettings = z.infer<typeof SceneSettingsShape>;
@@ -140,7 +140,7 @@ export const SceneTransitionShape = z.object({
140
140
  /**
141
141
  * Schema for the main scene structure in v2.0
142
142
  */
143
- export const SceneShape = z.strictObject({
143
+ export const SceneShape = z.object({
144
144
  /** Unique identifier for the scene */
145
145
  id: z.string(),
146
146
  /** Schema version */
@@ -0,0 +1,13 @@
1
+ import type { ComponentData } from '..';
2
+ export declare const DEFAULT_MEDIA_PREROLL_SECONDS = 0.75;
3
+ export declare const STREAMING_MEDIA_PREROLL_SECONDS = 2;
4
+ export declare const DEFAULT_MEDIA_POSTROLL_SECONDS = 0.25;
5
+ type MediaWindowComponent = Pick<ComponentData, 'type' | 'visible' | 'timeline'> & {
6
+ source?: {
7
+ url?: string | null;
8
+ };
9
+ };
10
+ export declare function isMediaWindowComponent(data: MediaWindowComponent | undefined): data is MediaWindowComponent;
11
+ export declare function getMediaPrerollSeconds(data: MediaWindowComponent | undefined): number;
12
+ export declare function shouldPrepareMediaAtTime(data: MediaWindowComponent | undefined, currentTime: number): boolean;
13
+ export {};
@@ -0,0 +1,25 @@
1
+ export const DEFAULT_MEDIA_PREROLL_SECONDS = 0.75;
2
+ export const STREAMING_MEDIA_PREROLL_SECONDS = 2;
3
+ export const DEFAULT_MEDIA_POSTROLL_SECONDS = 0.25;
4
+ export function isMediaWindowComponent(data) {
5
+ return data?.type === 'VIDEO' || data?.type === 'AUDIO';
6
+ }
7
+ export function getMediaPrerollSeconds(data) {
8
+ if (!isMediaWindowComponent(data)) {
9
+ return 0;
10
+ }
11
+ const url = data.source?.url ?? '';
12
+ return /\.m3u8(?:$|[?#])/i.test(url)
13
+ ? STREAMING_MEDIA_PREROLL_SECONDS
14
+ : DEFAULT_MEDIA_PREROLL_SECONDS;
15
+ }
16
+ export function shouldPrepareMediaAtTime(data, currentTime) {
17
+ if (!isMediaWindowComponent(data) || data.visible === false) {
18
+ return false;
19
+ }
20
+ const startAt = data.timeline.startAt ?? 0;
21
+ const endAt = data.timeline.endAt ?? startAt;
22
+ const prerollSeconds = getMediaPrerollSeconds(data);
23
+ return (currentTime >= startAt - prerollSeconds &&
24
+ currentTime <= endAt + DEFAULT_MEDIA_POSTROLL_SECONDS);
25
+ }
@@ -26,7 +26,7 @@ export class SVGGenerator {
26
26
  const isEmoji = /^(\p{Emoji_Presentation}|\p{Emoji}\uFE0F|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\s)+$/u.test(el.textContent || '');
27
27
  const getFontText = isEmoji ? 'a' : fontText || el.textContent;
28
28
  let fontData = null;
29
- if (fontFamily && !isEmoji) {
29
+ if (fontFamily && !isEmoji && config.fontSource?.source === 'google') {
30
30
  const cacheKey = `${fontFamily + weightAppend}_${getFontText}`;
31
31
  if (cacheKey in this.fontDataBase64Cache) {
32
32
  fontData = this.fontDataBase64Cache[cacheKey];