@remotion/cli 4.0.0-alpha4 → 4.0.0-alpha5

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 (471) hide show
  1. package/dist/ansi/ansi-diff.d.ts +2 -1
  2. package/dist/ansi/ansi-diff.js +14 -20
  3. package/dist/ansi/ansi-split.d.ts +1 -0
  4. package/dist/ansi/ansi-split.js +16 -3
  5. package/dist/benchmark.js +64 -23
  6. package/dist/codemods/update-default-props.d.ts +5 -0
  7. package/dist/codemods/update-default-props.js +143 -0
  8. package/dist/color-math.d.ts +2 -0
  9. package/dist/color-math.js +11 -0
  10. package/dist/composition-prompts.d.ts +3 -4
  11. package/dist/composition-prompts.js +0 -1
  12. package/dist/compositions.js +10 -4
  13. package/dist/config/bitrate.d.ts +2 -2
  14. package/dist/config/bitrate.js +2 -2
  15. package/dist/config/browser.d.ts +1 -3
  16. package/dist/config/browser.js +2 -12
  17. package/dist/config/codec.d.ts +0 -4
  18. package/dist/config/codec.js +1 -21
  19. package/dist/config/image-format.d.ts +5 -3
  20. package/dist/config/image-format.js +32 -10
  21. package/dist/config/index.d.ts +255 -14
  22. package/dist/config/index.js +16 -49
  23. package/dist/config/jpeg-quality.d.ts +2 -0
  24. package/dist/config/jpeg-quality.js +17 -0
  25. package/dist/config/public-dir.d.ts +1 -1
  26. package/dist/config/scale.d.ts +2 -1
  27. package/dist/convert-entry-point-to-serve-url.d.ts +1 -0
  28. package/dist/convert-entry-point-to-serve-url.js +15 -0
  29. package/dist/determine-image-format.d.ts +5 -4
  30. package/dist/determine-image-format.js +17 -4
  31. package/dist/download-progress.d.ts +2 -2
  32. package/dist/download-progress.js +12 -3
  33. package/dist/editor/components/Canvas.js +3 -0
  34. package/dist/editor/components/Checkbox.d.ts +6 -0
  35. package/dist/editor/components/Checkbox.js +42 -0
  36. package/dist/editor/components/CheckerboardProvider.d.ts +4 -0
  37. package/dist/editor/components/CheckerboardProvider.js +24 -0
  38. package/dist/editor/components/CompositionSelector.js +2 -4
  39. package/dist/editor/components/CompositionSelectorItem.d.ts +3 -3
  40. package/dist/editor/components/CompositionSelectorItem.js +24 -6
  41. package/dist/editor/components/CurrentComposition.js +4 -19
  42. package/dist/editor/components/CurrentCompositionSideEffects.d.ts +3 -0
  43. package/dist/editor/components/CurrentCompositionSideEffects.js +51 -0
  44. package/dist/editor/components/Editor.js +2 -11
  45. package/dist/editor/components/EditorContent.js +1 -1
  46. package/dist/editor/components/EditorContexts.js +10 -86
  47. package/dist/editor/components/GlobalKeybindings.js +4 -0
  48. package/dist/editor/components/InitialCompositionLoader.d.ts +2 -2
  49. package/dist/editor/components/InlineAction.d.ts +7 -0
  50. package/dist/editor/components/InlineAction.js +31 -0
  51. package/dist/editor/components/KeyboardShortcutsExplainer.js +5 -4
  52. package/dist/editor/components/MediaVolumeProvider.d.ts +4 -0
  53. package/dist/editor/components/MediaVolumeProvider.js +25 -0
  54. package/dist/editor/components/Menu/MenuSubItem.d.ts +0 -1
  55. package/dist/editor/components/Menu/MenuSubItem.js +15 -3
  56. package/dist/editor/components/Menu/is-menu-item.d.ts +2 -0
  57. package/dist/editor/components/Menu/is-menu-item.js +3 -1
  58. package/dist/editor/components/Menu/styles.d.ts +4 -0
  59. package/dist/editor/components/Menu/styles.js +13 -4
  60. package/dist/editor/components/MenuToolbar.js +2 -1
  61. package/dist/editor/components/ModalContainer.d.ts +2 -0
  62. package/dist/editor/components/ModalContainer.js +12 -3
  63. package/dist/editor/components/ModalHeader.js +6 -2
  64. package/dist/editor/components/Modals.d.ts +2 -0
  65. package/dist/editor/components/Modals.js +23 -0
  66. package/dist/editor/components/ModalsProvider.d.ts +4 -0
  67. package/dist/editor/components/ModalsProvider.js +17 -0
  68. package/dist/editor/components/NewComposition/CancelButton.js +3 -0
  69. package/dist/editor/components/NewComposition/ComboBox.js +23 -15
  70. package/dist/editor/components/NewComposition/InputDragger.d.ts +4 -0
  71. package/dist/editor/components/NewComposition/InputDragger.js +12 -7
  72. package/dist/editor/components/NewComposition/MenuContent.js +14 -1
  73. package/dist/editor/components/NewComposition/NewCompDuration.js +2 -2
  74. package/dist/editor/components/NewComposition/NewComposition.js +8 -5
  75. package/dist/editor/components/NewComposition/RemInput.d.ts +14 -2
  76. package/dist/editor/components/NewComposition/RemInput.js +24 -9
  77. package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +7 -0
  78. package/dist/editor/components/NewComposition/RemInputTypeColor.js +53 -0
  79. package/dist/editor/components/NewComposition/RemTextarea.d.ts +7 -0
  80. package/dist/editor/components/NewComposition/RemTextarea.js +92 -0
  81. package/dist/editor/components/NewComposition/ValidationMessage.d.ts +2 -0
  82. package/dist/editor/components/NewComposition/ValidationMessage.js +18 -8
  83. package/dist/editor/components/Notifications/NotificationCenter.d.ts +1 -0
  84. package/dist/editor/components/Notifications/NotificationCenter.js +11 -1
  85. package/dist/editor/components/Notifications/ServerDisconnected.d.ts +0 -4
  86. package/dist/editor/components/Notifications/ServerDisconnected.js +4 -14
  87. package/dist/editor/components/PlayPause.js +6 -0
  88. package/dist/editor/components/PlaybackKeyboardShortcutsManager.js +3 -0
  89. package/dist/editor/components/PlaybackRateSelector.d.ts +0 -2
  90. package/dist/editor/components/PlaybackRateSelector.js +5 -6
  91. package/dist/editor/components/PlayerEmitterContext.d.ts +4 -0
  92. package/dist/editor/components/PlayerEmitterContext.js +11 -0
  93. package/dist/editor/components/Preview.d.ts +0 -1
  94. package/dist/editor/components/Preview.js +4 -4
  95. package/dist/editor/components/PreviewToolbar.js +2 -2
  96. package/dist/editor/components/QuickSwitcher/QuickSwitcherContent.js +8 -3
  97. package/dist/editor/components/QuickSwitcher/QuickSwitcherResult.js +4 -2
  98. package/dist/editor/components/QuickSwitcher/algolia-search.d.ts +0 -27
  99. package/dist/editor/components/QuickSwitcher/algolia-search.js +2 -3
  100. package/dist/editor/components/RenderButton.d.ts +2 -0
  101. package/dist/editor/components/RenderButton.js +103 -0
  102. package/dist/editor/components/RenderModal/CliCopyButton.d.ts +4 -0
  103. package/dist/editor/components/RenderModal/CliCopyButton.js +22 -0
  104. package/dist/editor/components/RenderModal/CrfSetting.d.ts +15 -0
  105. package/dist/editor/components/RenderModal/CrfSetting.js +42 -0
  106. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +8 -0
  107. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +16 -0
  108. package/dist/editor/components/RenderModal/EnvInput.d.ts +11 -0
  109. package/dist/editor/components/RenderModal/EnvInput.js +74 -0
  110. package/dist/editor/components/RenderModal/FrameRangeSetting.d.ts +8 -0
  111. package/dist/editor/components/RenderModal/FrameRangeSetting.js +42 -0
  112. package/dist/editor/components/RenderModal/GuiRenderStatus.d.ts +5 -0
  113. package/dist/editor/components/RenderModal/GuiRenderStatus.js +78 -0
  114. package/dist/editor/components/RenderModal/InfoBubble.d.ts +5 -0
  115. package/dist/editor/components/RenderModal/InfoBubble.js +115 -0
  116. package/dist/editor/components/RenderModal/InfoTooltip.d.ts +5 -0
  117. package/dist/editor/components/RenderModal/InfoTooltip.js +40 -0
  118. package/dist/editor/components/RenderModal/InlineEyeIcon.d.ts +5 -0
  119. package/dist/editor/components/RenderModal/InlineEyeIcon.js +17 -0
  120. package/dist/editor/components/RenderModal/InlineRemoveButton.d.ts +4 -0
  121. package/dist/editor/components/RenderModal/InlineRemoveButton.js +17 -0
  122. package/dist/editor/components/RenderModal/JpegQualitySetting.d.ts +5 -0
  123. package/dist/editor/components/RenderModal/JpegQualitySetting.js +12 -0
  124. package/dist/editor/components/RenderModal/MutedSetting.d.ts +8 -0
  125. package/dist/editor/components/RenderModal/MutedSetting.js +16 -0
  126. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +5 -0
  127. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +26 -0
  128. package/dist/editor/components/RenderModal/NumberSetting.d.ts +12 -0
  129. package/dist/editor/components/RenderModal/NumberSetting.js +29 -0
  130. package/dist/editor/components/RenderModal/OptionExplainer.d.ts +5 -0
  131. package/dist/editor/components/RenderModal/OptionExplainer.js +45 -0
  132. package/dist/editor/components/RenderModal/RenderModal.d.ts +35 -0
  133. package/dist/editor/components/RenderModal/RenderModal.js +597 -0
  134. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +26 -0
  135. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +61 -0
  136. package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +17 -0
  137. package/dist/editor/components/RenderModal/RenderModalAudio.js +46 -0
  138. package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +23 -0
  139. package/dist/editor/components/RenderModal/RenderModalBasic.js +79 -0
  140. package/dist/editor/components/RenderModal/RenderModalData.d.ts +20 -0
  141. package/dist/editor/components/RenderModal/RenderModalData.js +249 -0
  142. package/dist/editor/components/RenderModal/RenderModalEnvironmentVariables.d.ts +5 -0
  143. package/dist/editor/components/RenderModal/RenderModalEnvironmentVariables.js +55 -0
  144. package/dist/editor/components/RenderModal/RenderModalGif.d.ts +9 -0
  145. package/dist/editor/components/RenderModal/RenderModalGif.js +19 -0
  146. package/dist/editor/components/RenderModal/RenderModalHr.d.ts +2 -0
  147. package/dist/editor/components/RenderModal/RenderModalHr.js +18 -0
  148. package/dist/editor/components/RenderModal/RenderModalInput.d.ts +10 -0
  149. package/dist/editor/components/RenderModal/RenderModalInput.js +13 -0
  150. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.d.ts +15 -0
  151. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.js +109 -0
  152. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +28 -0
  153. package/dist/editor/components/RenderModal/RenderModalPicture.js +54 -0
  154. package/dist/editor/components/RenderModal/RenderStatusModal.d.ts +4 -0
  155. package/dist/editor/components/RenderModal/RenderStatusModal.js +72 -0
  156. package/dist/editor/components/RenderModal/ScaleSetting.d.ts +5 -0
  157. package/dist/editor/components/RenderModal/ScaleSetting.js +17 -0
  158. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +13 -0
  159. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.js +39 -0
  160. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEmptyStateGraphic.d.ts +2 -0
  161. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEmptyStateGraphic.js +15 -0
  162. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +12 -0
  163. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +59 -0
  164. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.d.ts +16 -0
  165. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.js +40 -0
  166. package/dist/editor/components/RenderModal/SchemaEditor/SchemaResetButton.d.ts +4 -0
  167. package/dist/editor/components/RenderModal/SchemaEditor/SchemaResetButton.js +17 -0
  168. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSaveButton.d.ts +5 -0
  169. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSaveButton.js +17 -0
  170. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +15 -0
  171. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.js +84 -0
  172. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.d.ts +14 -0
  173. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +28 -0
  174. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +13 -0
  175. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +27 -0
  176. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +15 -0
  177. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.js +116 -0
  178. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +15 -0
  179. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +76 -0
  180. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +15 -0
  181. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.js +55 -0
  182. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +15 -0
  183. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.js +72 -0
  184. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.d.ts +5 -0
  185. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.js +23 -0
  186. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.d.ts +9 -0
  187. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +27 -0
  188. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.d.ts +15 -0
  189. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.js +10 -0
  190. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +15 -0
  191. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +88 -0
  192. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +15 -0
  193. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.js +64 -0
  194. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +15 -0
  195. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +10 -0
  196. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.d.ts +16 -0
  197. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +52 -0
  198. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +15 -0
  199. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +48 -0
  200. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.d.ts +15 -0
  201. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.js +84 -0
  202. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.d.ts +15 -0
  203. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.js +49 -0
  204. package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.d.ts +2 -0
  205. package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.js +158 -0
  206. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.d.ts +6 -0
  207. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.js +24 -0
  208. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.d.ts +2 -0
  209. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.js +15 -0
  210. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.d.ts +1 -0
  211. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.js +2 -0
  212. package/dist/editor/components/RenderModal/WarningIndicatorButton.d.ts +6 -0
  213. package/dist/editor/components/RenderModal/WarningIndicatorButton.js +49 -0
  214. package/dist/editor/components/RenderModal/get-render-modal-warnings.d.ts +15 -0
  215. package/dist/editor/components/RenderModal/get-render-modal-warnings.js +34 -0
  216. package/dist/editor/components/RenderModal/human-readable-audio-codecs.d.ts +2 -0
  217. package/dist/editor/components/RenderModal/human-readable-audio-codecs.js +18 -0
  218. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +2 -0
  219. package/dist/editor/components/RenderModal/human-readable-codec.js +36 -0
  220. package/dist/editor/components/RenderModal/layout.d.ts +7 -0
  221. package/dist/editor/components/RenderModal/layout.js +45 -0
  222. package/dist/editor/components/RenderModal/out-name-checker.d.ts +14 -0
  223. package/dist/editor/components/RenderModal/out-name-checker.js +80 -0
  224. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +5 -0
  225. package/dist/editor/components/RenderQueue/CircularProgress.js +18 -0
  226. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +5 -0
  227. package/dist/editor/components/RenderQueue/RenderQueueError.js +26 -0
  228. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +5 -0
  229. package/dist/editor/components/RenderQueue/RenderQueueItem.js +40 -0
  230. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.d.ts +5 -0
  231. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.js +26 -0
  232. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +5 -0
  233. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +43 -0
  234. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.d.ts +5 -0
  235. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.js +26 -0
  236. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +5 -0
  237. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +26 -0
  238. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +5 -0
  239. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +26 -0
  240. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +5 -0
  241. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +37 -0
  242. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +5 -0
  243. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +26 -0
  244. package/dist/editor/components/RenderQueue/SuccessIcon.d.ts +2 -0
  245. package/dist/editor/components/RenderQueue/SuccessIcon.js +14 -0
  246. package/dist/editor/components/RenderQueue/actions.d.ts +58 -0
  247. package/dist/editor/components/RenderQueue/actions.js +120 -0
  248. package/dist/editor/components/RenderQueue/context.d.ts +18 -0
  249. package/dist/editor/components/RenderQueue/context.js +49 -0
  250. package/dist/editor/components/RenderQueue/index.d.ts +2 -0
  251. package/dist/editor/components/RenderQueue/index.js +43 -0
  252. package/dist/editor/components/RenderQueue/item-style.d.ts +2 -0
  253. package/dist/editor/components/RenderQueue/item-style.js +21 -0
  254. package/dist/editor/components/RendersTab.d.ts +6 -0
  255. package/dist/editor/components/RendersTab.js +43 -0
  256. package/dist/editor/components/RightPanel.d.ts +8 -0
  257. package/dist/editor/components/RightPanel.js +76 -0
  258. package/dist/editor/components/SegmentedControl.d.ts +11 -0
  259. package/dist/editor/components/SegmentedControl.js +62 -0
  260. package/dist/editor/components/SetTimelineInOutProvider.d.ts +4 -0
  261. package/dist/editor/components/SetTimelineInOutProvider.js +19 -0
  262. package/dist/editor/components/SidebarCollapserControls.d.ts +2 -0
  263. package/dist/editor/components/SidebarCollapserControls.js +129 -0
  264. package/dist/editor/components/SidebarRenderButton.d.ts +6 -0
  265. package/dist/editor/components/SidebarRenderButton.js +85 -0
  266. package/dist/editor/components/SizeSelector.d.ts +0 -1
  267. package/dist/editor/components/SizeSelector.js +3 -3
  268. package/dist/editor/components/Splitter/SplitterHandle.d.ts +1 -2
  269. package/dist/editor/components/Splitter/SplitterHandle.js +15 -7
  270. package/dist/editor/components/Tabs/index.d.ts +11 -0
  271. package/dist/editor/components/Tabs/index.js +58 -0
  272. package/dist/editor/components/Tabs/vertical.d.ts +7 -0
  273. package/dist/editor/components/Tabs/vertical.js +43 -0
  274. package/dist/editor/components/Timeline/MaxTimelineTracks.js +1 -1
  275. package/dist/editor/components/Timeline/Timeline.js +1 -1
  276. package/dist/editor/components/Timeline/TimelineCollapseToggle.d.ts +1 -0
  277. package/dist/editor/components/Timeline/TimelineCollapseToggle.js +4 -5
  278. package/dist/editor/components/Timeline/TimelineListItem.js +2 -1
  279. package/dist/editor/components/Timeline/TimelineScrollable.js +2 -1
  280. package/dist/editor/components/Timeline/TimelineSequence.js +2 -14
  281. package/dist/editor/components/Timeline/TimelineSequenceFrame.js +2 -1
  282. package/dist/editor/components/Timeline/TimelineZoomControls.js +2 -5
  283. package/dist/editor/components/Timeline/imperative-state.d.ts +0 -4
  284. package/dist/editor/components/Timeline/imperative-state.js +13 -13
  285. package/dist/editor/components/Timeline/is-collapsed.js +2 -3
  286. package/dist/editor/components/Timeline/timeline-scroll-logic.d.ts +0 -1
  287. package/dist/editor/components/Timeline/timeline-scroll-logic.js +5 -6
  288. package/dist/editor/components/TimelineInOutToggle.js +3 -0
  289. package/dist/editor/components/TopPanel.d.ts +1 -0
  290. package/dist/editor/components/TopPanel.js +30 -16
  291. package/dist/editor/components/ZoomGesturesProvider.d.ts +4 -0
  292. package/dist/editor/components/ZoomGesturesProvider.js +24 -0
  293. package/dist/editor/components/ZoomPersistor.d.ts +0 -1
  294. package/dist/editor/components/ZoomPersistor.js +2 -3
  295. package/dist/editor/components/get-zod-if-possible.d.ts +10 -0
  296. package/dist/editor/components/get-zod-if-possible.js +79 -0
  297. package/dist/editor/components/layout.d.ts +3 -1
  298. package/dist/editor/components/layout.js +9 -7
  299. package/dist/editor/helpers/calculate-timeline.d.ts +0 -4
  300. package/dist/editor/helpers/client-id.d.ts +17 -0
  301. package/dist/editor/helpers/client-id.js +46 -0
  302. package/dist/editor/helpers/colors.d.ts +3 -1
  303. package/dist/editor/helpers/colors.js +6 -3
  304. package/dist/editor/helpers/convert-env-variables.d.ts +2 -0
  305. package/dist/editor/helpers/convert-env-variables.js +20 -0
  306. package/dist/editor/helpers/create-folder-tree.d.ts +2 -3
  307. package/dist/editor/helpers/create-folder-tree.js +3 -4
  308. package/dist/editor/helpers/get-timeline-sequence-layout.d.ts +2 -2
  309. package/dist/editor/helpers/get-timeline-sequence-sort-key.d.ts +2 -1
  310. package/dist/editor/helpers/is-composition-still.d.ts +2 -2
  311. package/dist/editor/helpers/is-composition-still.js +3 -0
  312. package/dist/editor/helpers/prores-labels.d.ts +2 -0
  313. package/dist/editor/helpers/prores-labels.js +25 -0
  314. package/dist/editor/helpers/render-modal-sections.d.ts +10 -0
  315. package/dist/editor/helpers/render-modal-sections.js +32 -0
  316. package/dist/editor/helpers/use-breakpoint.d.ts +1 -0
  317. package/dist/editor/helpers/use-breakpoint.js +17 -0
  318. package/dist/editor/helpers/use-file-existence.d.ts +1 -0
  319. package/dist/editor/helpers/use-file-existence.js +66 -0
  320. package/dist/editor/helpers/use-keybinding.d.ts +1 -0
  321. package/dist/editor/helpers/use-keybinding.js +9 -0
  322. package/dist/editor/helpers/use-menu-structure.js +99 -51
  323. package/dist/editor/helpers/validate-new-comp-data.d.ts +2 -2
  324. package/dist/editor/icons/Checkmark.js +1 -1
  325. package/dist/editor/icons/audio.d.ts +2 -0
  326. package/dist/editor/icons/audio.js +6 -0
  327. package/dist/editor/icons/caret.d.ts +4 -1
  328. package/dist/editor/icons/caret.js +17 -1
  329. package/dist/editor/icons/data.d.ts +2 -0
  330. package/dist/editor/icons/data.js +8 -0
  331. package/dist/editor/icons/file.d.ts +2 -0
  332. package/dist/editor/icons/file.js +6 -0
  333. package/dist/editor/icons/folder.d.ts +6 -2
  334. package/dist/editor/icons/folder.js +4 -4
  335. package/dist/editor/icons/frame.d.ts +2 -0
  336. package/dist/editor/icons/frame.js +6 -0
  337. package/dist/editor/icons/gear.d.ts +2 -0
  338. package/dist/editor/icons/gear.js +6 -0
  339. package/dist/editor/icons/gif.d.ts +2 -0
  340. package/dist/editor/icons/gif.js +6 -0
  341. package/dist/editor/icons/render.d.ts +9 -0
  342. package/dist/editor/icons/render.js +12 -0
  343. package/dist/editor/icons/still.d.ts +3 -1
  344. package/dist/editor/icons/still.js +2 -2
  345. package/dist/editor/icons/video.d.ts +5 -0
  346. package/dist/editor/icons/video.js +8 -0
  347. package/dist/editor/state/keybindings.d.ts +2 -1
  348. package/dist/editor/state/modals.d.ts +38 -0
  349. package/dist/editor/state/preview-size.d.ts +0 -1
  350. package/dist/editor/state/preview-size.js +3 -4
  351. package/dist/editor/state/sidebar.d.ts +7 -3
  352. package/dist/editor/state/sidebar.js +42 -13
  353. package/dist/editor/state/timeline-ref.d.ts +2 -1
  354. package/dist/editor/state/z-index.d.ts +0 -5
  355. package/dist/editor/state/z-index.js +16 -6
  356. package/dist/event-source-events.d.ts +15 -0
  357. package/dist/event-source.d.ts +2 -0
  358. package/dist/event-source.js +31 -5
  359. package/dist/ffmpeg.d.ts +2 -0
  360. package/dist/ffmpeg.js +21 -0
  361. package/dist/file-watcher.d.ts +9 -0
  362. package/dist/file-watcher.js +35 -0
  363. package/dist/get-cli-options.d.ts +3 -12
  364. package/dist/get-cli-options.js +7 -60
  365. package/dist/get-composition-id.d.ts +7 -3
  366. package/dist/get-composition-id.js +17 -3
  367. package/dist/get-composition-with-dimension-override.d.ts +5 -4
  368. package/dist/get-composition-with-dimension-override.js +6 -2
  369. package/dist/get-config-file-name.d.ts +0 -2
  370. package/dist/get-config-file-name.js +7 -7
  371. package/dist/get-default-out-name.d.ts +5 -0
  372. package/dist/get-default-out-name.js +10 -0
  373. package/dist/get-env.d.ts +1 -1
  374. package/dist/get-env.js +39 -48
  375. package/dist/get-filename.d.ts +5 -1
  376. package/dist/get-filename.js +6 -4
  377. package/dist/get-final-output-codec.d.ts +2 -1
  378. package/dist/get-final-output-codec.js +4 -1
  379. package/dist/get-input-props.d.ts +1 -5
  380. package/dist/get-input-props.js +11 -13
  381. package/dist/image-formats.d.ts +5 -2
  382. package/dist/image-formats.js +16 -6
  383. package/dist/index.d.ts +91 -22
  384. package/dist/index.js +12 -13
  385. package/dist/list-of-remotion-packages.js +1 -0
  386. package/dist/load-config.js +1 -1
  387. package/dist/log.d.ts +14 -0
  388. package/dist/log.js +24 -8
  389. package/dist/parse-command-line.d.ts +5 -5
  390. package/dist/parse-command-line.js +6 -14
  391. package/dist/preview-server/api-routes.d.ts +4 -0
  392. package/dist/preview-server/api-routes.js +21 -0
  393. package/dist/preview-server/api-types.d.ts +25 -0
  394. package/dist/preview-server/api-types.js +2 -0
  395. package/dist/preview-server/dev-middleware/middleware.d.ts +0 -1
  396. package/dist/preview-server/dev-middleware/middleware.js +1 -2
  397. package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.js +1 -0
  398. package/dist/preview-server/error-overlay/remotion-overlay/Button.d.ts +8 -4
  399. package/dist/preview-server/error-overlay/remotion-overlay/Button.js +12 -8
  400. package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.js +2 -1
  401. package/dist/preview-server/error-overlay/remotion-overlay/HelpLink.js +1 -0
  402. package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.js +1 -0
  403. package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.js +1 -0
  404. package/dist/preview-server/error-overlay/remotion-overlay/ShortcutHint.js +16 -1
  405. package/dist/preview-server/file-existence-watchers.d.ts +13 -0
  406. package/dist/preview-server/file-existence-watchers.js +62 -0
  407. package/dist/preview-server/handler.d.ts +9 -0
  408. package/dist/preview-server/handler.js +34 -0
  409. package/dist/preview-server/hot-middleware/client.js +2 -2
  410. package/dist/preview-server/live-events.d.ts +2 -0
  411. package/dist/preview-server/live-events.js +22 -2
  412. package/dist/preview-server/parse-body.d.ts +2 -0
  413. package/dist/preview-server/parse-body.js +16 -0
  414. package/dist/preview-server/public-folder.d.ts +0 -5
  415. package/dist/preview-server/public-folder.js +3 -4
  416. package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +10 -0
  417. package/dist/preview-server/render-queue/get-default-video-contexts.js +13 -0
  418. package/dist/preview-server/render-queue/job.d.ts +138 -0
  419. package/dist/preview-server/render-queue/job.js +2 -0
  420. package/dist/preview-server/render-queue/make-retry-payload.d.ts +3 -0
  421. package/dist/preview-server/render-queue/make-retry-payload.js +91 -0
  422. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +1 -0
  423. package/dist/preview-server/render-queue/open-directory-in-finder.js +43 -0
  424. package/dist/preview-server/render-queue/process-still.d.ts +8 -0
  425. package/dist/preview-server/render-queue/process-still.js +46 -0
  426. package/dist/preview-server/render-queue/process-video.d.ts +8 -0
  427. package/dist/preview-server/render-queue/process-video.js +63 -0
  428. package/dist/preview-server/render-queue/queue.d.ts +9 -0
  429. package/dist/preview-server/render-queue/queue.js +212 -0
  430. package/dist/preview-server/routes/add-render.d.ts +3 -0
  431. package/dist/preview-server/routes/add-render.js +76 -0
  432. package/dist/preview-server/routes/can-update-default-props.d.ts +4 -0
  433. package/dist/preview-server/routes/can-update-default-props.js +39 -0
  434. package/dist/preview-server/routes/cancel-render.d.ts +3 -0
  435. package/dist/preview-server/routes/cancel-render.js +9 -0
  436. package/dist/preview-server/routes/open-in-file-explorer.d.ts +3 -0
  437. package/dist/preview-server/routes/open-in-file-explorer.js +8 -0
  438. package/dist/preview-server/routes/remove-render.d.ts +3 -0
  439. package/dist/preview-server/routes/remove-render.js +9 -0
  440. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +3 -0
  441. package/dist/preview-server/routes/subscribe-to-file-existence.js +13 -0
  442. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +3 -0
  443. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +13 -0
  444. package/dist/preview-server/routes/update-default-props.d.ts +3 -0
  445. package/dist/preview-server/routes/update-default-props.js +24 -0
  446. package/dist/preview-server/routes.d.ts +2 -1
  447. package/dist/preview-server/routes.js +71 -13
  448. package/dist/preview-server/start-server.js +1 -0
  449. package/dist/preview.js +8 -21
  450. package/dist/previewEntry.js +2 -3
  451. package/dist/print-compositions.d.ts +2 -2
  452. package/dist/print-error.js +4 -2
  453. package/dist/print-help.js +4 -8
  454. package/dist/progress-bar.d.ts +17 -37
  455. package/dist/progress-bar.js +102 -41
  456. package/dist/progress-types.d.ts +32 -0
  457. package/dist/progress-types.js +17 -0
  458. package/dist/render-flows/render.d.ts +47 -0
  459. package/dist/render-flows/render.js +293 -0
  460. package/dist/render-flows/still.d.ts +29 -0
  461. package/dist/render-flows/still.js +174 -0
  462. package/dist/render.js +42 -232
  463. package/dist/required-chromium-options.d.ts +3 -0
  464. package/dist/required-chromium-options.js +2 -0
  465. package/dist/select-composition.d.ts +2 -1
  466. package/dist/setup-cache.d.ts +12 -9
  467. package/dist/setup-cache.js +29 -20
  468. package/dist/still.js +25 -130
  469. package/dist/user-passed-output-location.js +2 -7
  470. package/package.json +22 -7
  471. package/styles/styles.css +13 -3
@@ -1,18 +1,18 @@
1
- import type { Codec, StitchingState } from '@remotion/renderer';
2
- import type { RenderStep } from './step';
3
- export declare const createProgressBar: (quiet: boolean) => {
4
- update: (str: string) => boolean;
5
- };
6
- export declare const createOverwriteableCliOutput: (quiet: boolean) => {
1
+ import type { CancelSignal } from '@remotion/renderer';
2
+ import type { AggregateRenderProgress } from './progress-types';
3
+ export declare type OverwriteableCliOutput = {
7
4
  update: (up: string) => boolean;
8
5
  };
6
+ export declare const createOverwriteableCliOutput: (options: {
7
+ quiet: boolean;
8
+ cancelSignal: CancelSignal | null;
9
+ }) => OverwriteableCliOutput;
9
10
  export declare type CopyingState = {
10
11
  bytes: number;
11
12
  doneIn: number | null;
12
13
  };
13
14
  export declare type BundlingState = {
14
15
  progress: number;
15
- steps: RenderStep[];
16
16
  doneIn: number | null;
17
17
  };
18
18
  export declare type SymbolicLinksState = {
@@ -22,34 +22,14 @@ export declare const makeBundlingAndCopyProgress: ({ bundling, copying, symLinks
22
22
  bundling: BundlingState;
23
23
  copying: CopyingState;
24
24
  symLinks: SymbolicLinksState;
25
- }) => string;
26
- declare type RenderingProgressInput = {
27
- frames: number;
28
- totalFrames: number;
29
- steps: RenderStep[];
30
- concurrency: number;
31
- doneIn: number | null;
32
- };
33
- export declare const makeRenderingProgress: ({ frames, totalFrames, steps, concurrency, doneIn, }: RenderingProgressInput) => string;
34
- declare type StitchingProgressInput = {
35
- frames: number;
36
- totalFrames: number;
37
- steps: RenderStep[];
38
- doneIn: number | null;
39
- stage: StitchingState;
40
- codec: Codec;
41
- };
42
- export declare const makeStitchingProgress: ({ frames, totalFrames, steps, doneIn, stage, codec, }: StitchingProgressInput) => string;
43
- export declare type DownloadProgress = {
44
- name: string;
45
- id: number;
46
- progress: number | null;
47
- totalBytes: number | null;
48
- downloaded: number;
25
+ }, indent: boolean, bundlingStep: number, steps: number) => string;
26
+ export declare const makeRenderingAndStitchingProgress: ({ prog, indent, steps, stitchingStep, }: {
27
+ prog: AggregateRenderProgress;
28
+ indent: boolean;
29
+ steps: number;
30
+ stitchingStep: number;
31
+ }) => {
32
+ output: string;
33
+ progress: number;
34
+ message: string;
49
35
  };
50
- export declare const makeRenderingAndStitchingProgress: ({ rendering, stitching, downloads, }: {
51
- rendering: RenderingProgressInput;
52
- stitching: StitchingProgressInput | null;
53
- downloads: DownloadProgress[];
54
- }) => string;
55
- export {};
@@ -1,48 +1,50 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRenderingAndStitchingProgress = exports.makeStitchingProgress = exports.makeRenderingProgress = exports.makeBundlingAndCopyProgress = exports.createOverwriteableCliOutput = exports.createProgressBar = void 0;
3
+ exports.makeRenderingAndStitchingProgress = exports.makeBundlingAndCopyProgress = exports.createOverwriteableCliOutput = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const ansi_diff_1 = require("./ansi/ansi-diff");
6
6
  const chalk_1 = require("./chalk");
7
- const config_1 = require("./config");
8
7
  const download_progress_1 = require("./download-progress");
8
+ const log_1 = require("./log");
9
9
  const make_progress_bar_1 = require("./make-progress-bar");
10
10
  const truthy_1 = require("./truthy");
11
- const createProgressBar = (quiet) => {
12
- if (!renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'info')) {
13
- return { update: () => false };
14
- }
15
- return (0, exports.createOverwriteableCliOutput)(quiet);
16
- };
17
- exports.createProgressBar = createProgressBar;
18
- const createOverwriteableCliOutput = (quiet) => {
19
- if (quiet) {
11
+ const createOverwriteableCliOutput = (options) => {
12
+ var _a;
13
+ if (options.quiet) {
20
14
  return {
21
15
  update: () => false,
22
16
  };
23
17
  }
24
18
  const diff = new ansi_diff_1.AnsiDiff();
19
+ (_a = options.cancelSignal) === null || _a === void 0 ? void 0 : _a.call(options, () => {
20
+ process.stdout.write(diff.finish());
21
+ });
25
22
  return {
26
23
  update: (up) => process.stdout.write(diff.update(up)),
27
24
  };
28
25
  };
29
26
  exports.createOverwriteableCliOutput = createOverwriteableCliOutput;
30
- const makeBundlingProgress = ({ progress, steps, doneIn, }) => [
31
- `(${steps.indexOf('bundling') + 1}/${steps.length})`,
32
- (0, make_progress_bar_1.makeProgressBar)(progress),
33
- `${doneIn ? 'Bundled' : 'Bundling'} code`,
34
- doneIn === null
35
- ? (progress * 100).toFixed(0) + '%'
36
- : chalk_1.chalk.gray(`${doneIn}ms`),
37
- ]
38
- .filter(truthy_1.truthy)
39
- .join(' ');
40
- const makeCopyingProgress = (options) => {
27
+ const makeBundlingProgress = ({ bundlingState, indent, bundlingStep, steps, }) => {
28
+ const { doneIn, progress } = bundlingState;
29
+ return [
30
+ indent ? log_1.INDENT_TOKEN : null,
31
+ `(${bundlingStep + 1}/${steps})`,
32
+ (0, make_progress_bar_1.makeProgressBar)(progress),
33
+ `${doneIn ? 'Bundled' : 'Bundling'} code`,
34
+ doneIn === null
35
+ ? (progress * 100).toFixed(0) + '%'
36
+ : chalk_1.chalk.gray(`${doneIn}ms`),
37
+ ]
38
+ .filter(truthy_1.truthy)
39
+ .join(' ');
40
+ };
41
+ const makeCopyingProgress = (options, indent) => {
41
42
  // Don't show copy progress lower than 200MB
42
43
  if (options.bytes < 1000 * 1000 * 200) {
43
44
  return null;
44
45
  }
45
46
  return [
47
+ indent ? log_1.INDENT_TOKEN : null,
46
48
  ' +',
47
49
  options.doneIn ? (0, make_progress_bar_1.makeProgressBar)(1) : (0, download_progress_1.getFileSizeDownloadBar)(options.bytes),
48
50
  'Copying public dir',
@@ -51,7 +53,7 @@ const makeCopyingProgress = (options) => {
51
53
  .filter(truthy_1.truthy)
52
54
  .join(' ');
53
55
  };
54
- const makeSymlinkProgress = (options) => {
56
+ const makeSymlinkProgress = (options, indent) => {
55
57
  if (options.symlinks.length === 0) {
56
58
  return null;
57
59
  }
@@ -60,36 +62,52 @@ const makeSymlinkProgress = (options) => {
60
62
  chalk_1.chalk.gray(` Found a symbolic link in the public folder:`),
61
63
  chalk_1.chalk.gray(' ' + options.symlinks[0]),
62
64
  chalk_1.chalk.gray(' The symlink will be forwarded in to the bundle.'),
63
- ].join('\n');
65
+ ]
66
+ .map((l) => {
67
+ return indent ? `${log_1.INDENT_TOKEN} ${l}` : null;
68
+ })
69
+ .join('\n');
64
70
  }
65
71
  return [
66
72
  chalk_1.chalk.gray(` Found ${options.symlinks.length} symbolic links in the public folder.`),
67
73
  chalk_1.chalk.gray(' The symlinks will be forwarded in to the bundle.'),
68
- ].join('\n');
74
+ ]
75
+ .map((l) => {
76
+ return indent ? `${log_1.INDENT_TOKEN} ${l}` : null;
77
+ })
78
+ .join('\n');
69
79
  };
70
- const makeBundlingAndCopyProgress = ({ bundling, copying, symLinks, }) => {
80
+ const makeBundlingAndCopyProgress = ({ bundling, copying, symLinks, }, indent, bundlingStep, steps) => {
71
81
  return [
72
- makeBundlingProgress(bundling),
73
- makeCopyingProgress(copying),
74
- makeSymlinkProgress(symLinks),
82
+ makeBundlingProgress({
83
+ bundlingState: bundling,
84
+ indent,
85
+ bundlingStep,
86
+ steps,
87
+ }),
88
+ makeCopyingProgress(copying, indent),
89
+ makeSymlinkProgress(symLinks, indent),
75
90
  ]
76
91
  .filter(truthy_1.truthy)
77
92
  .join('\n');
78
93
  };
79
94
  exports.makeBundlingAndCopyProgress = makeBundlingAndCopyProgress;
80
- const makeRenderingProgress = ({ frames, totalFrames, steps, concurrency, doneIn, }) => {
95
+ const makeRenderingProgress = ({ frames, totalFrames, steps, concurrency, doneIn }, indent) => {
81
96
  const progress = frames / totalFrames;
82
97
  return [
98
+ indent ? log_1.INDENT_TOKEN : null,
83
99
  `(${steps.indexOf('rendering') + 1}/${steps.length})`,
84
100
  (0, make_progress_bar_1.makeProgressBar)(progress),
85
101
  [doneIn ? 'Rendered' : 'Rendering', `frames (${concurrency}x)`]
86
102
  .filter(truthy_1.truthy)
87
103
  .join(' '),
88
104
  doneIn === null ? `${frames}/${totalFrames}` : chalk_1.chalk.gray(`${doneIn}ms`),
89
- ].join(' ');
105
+ ]
106
+ .filter(truthy_1.truthy)
107
+ .join(' ');
90
108
  };
91
- exports.makeRenderingProgress = makeRenderingProgress;
92
- const makeStitchingProgress = ({ frames, totalFrames, steps, doneIn, stage, codec, }) => {
109
+ const makeStitchingProgress = ({ stitchingProgress, indent, steps, stitchingStep, }) => {
110
+ const { frames, totalFrames, doneIn, stage, codec } = stitchingProgress;
93
111
  const progress = frames / totalFrames;
94
112
  const mediaType = codec === 'gif'
95
113
  ? 'GIF'
@@ -97,22 +115,65 @@ const makeStitchingProgress = ({ frames, totalFrames, steps, doneIn, stage, code
97
115
  ? 'audio'
98
116
  : 'video';
99
117
  return [
100
- `(${steps.indexOf('stitching') + 1}/${steps.length})`,
118
+ indent ? log_1.INDENT_TOKEN : null,
119
+ `(${stitchingStep + 1}/${steps})`,
101
120
  (0, make_progress_bar_1.makeProgressBar)(progress),
102
121
  stage === 'muxing' && renderer_1.RenderInternals.canUseParallelEncoding(codec)
103
122
  ? `${doneIn ? 'Muxed' : 'Muxing'} ${mediaType}`
104
123
  : `${doneIn ? 'Encoded' : 'Encoding'} ${mediaType}`,
105
124
  doneIn === null ? `${frames}/${totalFrames}` : chalk_1.chalk.gray(`${doneIn}ms`),
106
- ].join(' ');
125
+ ]
126
+ .filter(truthy_1.truthy)
127
+ .join(' ');
107
128
  };
108
- exports.makeStitchingProgress = makeStitchingProgress;
109
- const makeRenderingAndStitchingProgress = ({ rendering, stitching, downloads, }) => {
110
- return [
111
- (0, exports.makeRenderingProgress)(rendering),
112
- (0, download_progress_1.makeMultiDownloadProgress)(downloads),
113
- stitching === null ? null : (0, exports.makeStitchingProgress)(stitching),
129
+ const makeRenderingAndStitchingProgress = ({ prog, indent, steps, stitchingStep, }) => {
130
+ const { rendering, stitching, downloads, bundling } = prog;
131
+ const output = [
132
+ rendering ? makeRenderingProgress(rendering, indent) : null,
133
+ (0, download_progress_1.makeMultiDownloadProgress)(downloads, indent),
134
+ stitching === null
135
+ ? null
136
+ : makeStitchingProgress({
137
+ stitchingProgress: stitching,
138
+ indent,
139
+ steps,
140
+ stitchingStep,
141
+ }),
114
142
  ]
115
143
  .filter(truthy_1.truthy)
116
144
  .join('\n');
145
+ const renderProgress = rendering
146
+ ? rendering.frames / rendering.totalFrames
147
+ : 0;
148
+ const stitchingProgress = stitching
149
+ ? stitching.frames / stitching.totalFrames
150
+ : 0;
151
+ const progress = bundling.progress * 0.3 + renderProgress * 0.6 + stitchingProgress * 0.1;
152
+ return { output, progress, message: getGuiProgressSubtitle(prog) };
117
153
  };
118
154
  exports.makeRenderingAndStitchingProgress = makeRenderingAndStitchingProgress;
155
+ const getGuiProgressSubtitle = (progress) => {
156
+ if (progress.bundling.progress < 1) {
157
+ return `Bundling ${Math.round(progress.bundling.progress * 100)}%`;
158
+ }
159
+ if (!progress.copyingState.doneIn) {
160
+ if (progress.copyingState.bytes < 100000000) {
161
+ return 'Bundling 100%';
162
+ }
163
+ const bytes = new Intl.NumberFormat('en', {
164
+ notation: 'compact',
165
+ style: 'unit',
166
+ unit: 'byte',
167
+ unitDisplay: 'narrow',
168
+ });
169
+ return `Copying ${bytes.format(progress.copyingState.bytes)}`;
170
+ }
171
+ if (!progress.rendering) {
172
+ return `Getting compositions`;
173
+ }
174
+ const allRendered = progress.rendering.frames === progress.rendering.totalFrames;
175
+ if (!allRendered || !progress.stitching || progress.stitching.frames === 0) {
176
+ return `Rendering ${progress.rendering.frames}/${progress.rendering.totalFrames}`;
177
+ }
178
+ return `Stitching ${progress.stitching.frames}/${progress.stitching.totalFrames}`;
179
+ };
@@ -0,0 +1,32 @@
1
+ import type { Codec, StitchingState } from '@remotion/renderer';
2
+ import type { BundlingState, CopyingState } from './progress-bar';
3
+ import type { RenderStep } from './step';
4
+ export declare type DownloadProgress = {
5
+ name: string;
6
+ id: number;
7
+ progress: number | null;
8
+ totalBytes: number | null;
9
+ downloaded: number;
10
+ };
11
+ export declare type RenderingProgressInput = {
12
+ frames: number;
13
+ totalFrames: number;
14
+ steps: RenderStep[];
15
+ concurrency: number;
16
+ doneIn: number | null;
17
+ };
18
+ export declare type StitchingProgressInput = {
19
+ frames: number;
20
+ totalFrames: number;
21
+ doneIn: number | null;
22
+ stage: StitchingState;
23
+ codec: Codec;
24
+ };
25
+ export declare type AggregateRenderProgress = {
26
+ rendering: RenderingProgressInput | null;
27
+ stitching: StitchingProgressInput | null;
28
+ downloads: DownloadProgress[];
29
+ bundling: BundlingState;
30
+ copyingState: CopyingState;
31
+ };
32
+ export declare const initialAggregateRenderProgress: () => AggregateRenderProgress;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialAggregateRenderProgress = void 0;
4
+ const initialAggregateRenderProgress = () => ({
5
+ rendering: null,
6
+ downloads: [],
7
+ stitching: null,
8
+ bundling: {
9
+ progress: 0,
10
+ doneIn: null,
11
+ },
12
+ copyingState: {
13
+ bytes: 0,
14
+ doneIn: null,
15
+ },
16
+ });
17
+ exports.initialAggregateRenderProgress = initialAggregateRenderProgress;
@@ -0,0 +1,47 @@
1
+ import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromiumOptions, Codec, Crf, FfmpegOverrideFn, FrameRange, LogLevel, PixelFormat, ProResProfile, VideoImageFormat } from '@remotion/renderer';
2
+ import type { Loop } from '../config/number-of-gif-loops';
3
+ import type { JobProgressCallback } from '../preview-server/render-queue/job';
4
+ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, inputProps, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, pixelFormat, videoBitrate, numberOfGifLoops, audioCodec, disallowParallelEncoding, }: {
5
+ remotionRoot: string;
6
+ fullEntryPoint: string;
7
+ entryPointReason: string;
8
+ browserExecutable: BrowserExecutable;
9
+ chromiumOptions: ChromiumOptions;
10
+ logLevel: LogLevel;
11
+ browser: Browser;
12
+ scale: number;
13
+ indent: boolean;
14
+ shouldOutputImageSequence: boolean;
15
+ publicDir: string | null;
16
+ inputProps: object;
17
+ envVariables: Record<string, string>;
18
+ puppeteerTimeout: number;
19
+ port: number | null;
20
+ height: number | null;
21
+ width: number | null;
22
+ remainingArgs: string[];
23
+ compositionIdFromUi: string | null;
24
+ outputLocationFromUI: string | null;
25
+ overwrite: boolean;
26
+ quiet: boolean;
27
+ concurrency: number | string | null;
28
+ frameRange: FrameRange | null;
29
+ everyNthFrame: number;
30
+ jpegQuality: number | undefined;
31
+ onProgress: JobProgressCallback;
32
+ addCleanupCallback: (cb: () => void) => void;
33
+ crf: Crf | null;
34
+ cancelSignal: CancelSignal | null;
35
+ uiCodec: Codec | null;
36
+ uiImageFormat: VideoImageFormat | null;
37
+ ffmpegOverride: FfmpegOverrideFn;
38
+ audioBitrate: string | null;
39
+ videoBitrate: string | null;
40
+ muted: boolean;
41
+ enforceAudioTrack: boolean;
42
+ proResProfile: ProResProfile | undefined;
43
+ pixelFormat: PixelFormat;
44
+ numberOfGifLoops: Loop;
45
+ audioCodec: AudioCodec | null;
46
+ disallowParallelEncoding: boolean;
47
+ }) => Promise<void>;
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.renderVideoFlow = void 0;
7
+ const renderer_1 = require("@remotion/renderer");
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const os_1 = __importDefault(require("os"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const chalk_1 = require("../chalk");
12
+ const config_1 = require("../config");
13
+ const get_cli_options_1 = require("../get-cli-options");
14
+ const get_composition_with_dimension_override_1 = require("../get-composition-with-dimension-override");
15
+ const get_filename_1 = require("../get-filename");
16
+ const get_final_output_codec_1 = require("../get-final-output-codec");
17
+ const image_formats_1 = require("../image-formats");
18
+ const log_1 = require("../log");
19
+ const parse_command_line_1 = require("../parse-command-line");
20
+ const progress_bar_1 = require("../progress-bar");
21
+ const setup_cache_1 = require("../setup-cache");
22
+ const truthy_1 = require("../truthy");
23
+ const user_passed_output_location_1 = require("../user-passed-output-location");
24
+ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, inputProps, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, pixelFormat, videoBitrate, numberOfGifLoops, audioCodec, disallowParallelEncoding, }) => {
25
+ var _a;
26
+ const downloads = [];
27
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
28
+ addCleanupCallback(() => renderer_1.RenderInternals.cleanDownloadMap(downloadMap));
29
+ log_1.Log.verboseAdvanced({ indent, logLevel }, 'Browser executable: ', browserExecutable);
30
+ log_1.Log.verboseAdvanced({ indent, logLevel }, 'Asset dirs', downloadMap.assetDir);
31
+ const browserInstance = (0, renderer_1.openBrowser)(browser, {
32
+ browserExecutable,
33
+ shouldDumpIo: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
34
+ chromiumOptions,
35
+ forceDeviceScaleFactor: scale,
36
+ indentationString: indent ? log_1.INDENT_TOKEN + ' ' : '',
37
+ });
38
+ const renderProgress = (0, progress_bar_1.createOverwriteableCliOutput)({
39
+ quiet,
40
+ cancelSignal,
41
+ });
42
+ const steps = [
43
+ renderer_1.RenderInternals.isServeUrl(fullEntryPoint) ? null : 'bundling',
44
+ 'rendering',
45
+ shouldOutputImageSequence ? null : 'stitching',
46
+ ].filter(truthy_1.truthy);
47
+ let bundlingProgress = {
48
+ doneIn: null,
49
+ progress: 0,
50
+ };
51
+ let renderingProgress = null;
52
+ let stitchingProgress = null;
53
+ let copyingState = {
54
+ bytes: 0,
55
+ doneIn: null,
56
+ };
57
+ const updateRenderProgress = () => {
58
+ const aggregateRenderProgress = {
59
+ rendering: renderingProgress,
60
+ stitching: shouldOutputImageSequence ? null : stitchingProgress,
61
+ downloads,
62
+ bundling: bundlingProgress,
63
+ copyingState,
64
+ };
65
+ const { output, message, progress } = (0, progress_bar_1.makeRenderingAndStitchingProgress)({
66
+ prog: aggregateRenderProgress,
67
+ indent,
68
+ steps: steps.length,
69
+ stitchingStep: steps.indexOf('bundling'),
70
+ });
71
+ onProgress({ message, value: progress, ...aggregateRenderProgress });
72
+ return renderProgress.update(output);
73
+ };
74
+ const { urlOrBundle, cleanup: cleanupBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
75
+ fullPath: fullEntryPoint,
76
+ remotionRoot,
77
+ publicDir,
78
+ onProgress: ({ bundling, copying }) => {
79
+ bundlingProgress = bundling;
80
+ copyingState = copying;
81
+ updateRenderProgress();
82
+ },
83
+ indentOutput: indent,
84
+ logLevel,
85
+ bundlingStep: steps.indexOf('bundling'),
86
+ steps: steps.length,
87
+ onDirectoryCreated: (dir) => {
88
+ addCleanupCallback(() => renderer_1.RenderInternals.deleteDirectory(dir));
89
+ },
90
+ });
91
+ addCleanupCallback(() => cleanupBundle());
92
+ const onDownload = (src) => {
93
+ const id = Math.random();
94
+ const download = {
95
+ id,
96
+ name: src,
97
+ progress: 0,
98
+ downloaded: 0,
99
+ totalBytes: null,
100
+ };
101
+ downloads.push(download);
102
+ updateRenderProgress();
103
+ return ({ percent, downloaded, totalSize }) => {
104
+ download.progress = percent;
105
+ download.totalBytes = totalSize;
106
+ download.downloaded = downloaded;
107
+ updateRenderProgress();
108
+ };
109
+ };
110
+ const puppeteerInstance = await browserInstance;
111
+ addCleanupCallback(() => puppeteerInstance.close(false));
112
+ const comps = await (0, renderer_1.getCompositions)(urlOrBundle, {
113
+ inputProps,
114
+ puppeteerInstance,
115
+ envVariables,
116
+ timeoutInMilliseconds: puppeteerTimeout,
117
+ chromiumOptions,
118
+ browserExecutable,
119
+ downloadMap,
120
+ port,
121
+ });
122
+ const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
123
+ validCompositions: comps,
124
+ height,
125
+ width,
126
+ args: remainingArgs,
127
+ compositionIdFromUi,
128
+ });
129
+ const { codec, reason: codecReason } = (0, get_final_output_codec_1.getFinalOutputCodec)({
130
+ cliFlag: parse_command_line_1.parsedCli.codec,
131
+ configFile: (_a = config_1.ConfigInternals.getOutputCodecOrUndefined()) !== null && _a !== void 0 ? _a : null,
132
+ downloadName: null,
133
+ outName: (0, user_passed_output_location_1.getUserPassedOutputLocation)(argsAfterComposition),
134
+ uiCodec,
135
+ });
136
+ renderer_1.RenderInternals.validateEvenDimensionsWithCodec({
137
+ width: config.width,
138
+ height: config.height,
139
+ codec,
140
+ scale,
141
+ });
142
+ const relativeOutputLocation = (0, get_filename_1.getOutputFilename)({
143
+ imageSequence: shouldOutputImageSequence,
144
+ compositionName: compositionId,
145
+ defaultExtension: renderer_1.RenderInternals.getFileExtensionFromCodec(codec, audioCodec),
146
+ args: argsAfterComposition,
147
+ indent,
148
+ fromUi: outputLocationFromUI,
149
+ logLevel,
150
+ });
151
+ log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason}), Composition = ${compositionId} (${reason}), Codec = ${codec} (${codecReason}), Output = ${relativeOutputLocation}`));
152
+ const absoluteOutputFile = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
153
+ const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(config.durationInFrames, frameRange);
154
+ const totalFrames = renderer_1.RenderInternals.getFramesToRender(realFrameRange, everyNthFrame);
155
+ const actualConcurrency = renderer_1.RenderInternals.getActualConcurrency(concurrency);
156
+ renderingProgress = {
157
+ frames: 0,
158
+ totalFrames: totalFrames.length,
159
+ concurrency: actualConcurrency,
160
+ doneIn: null,
161
+ steps,
162
+ };
163
+ const imageFormat = (0, image_formats_1.getVideoImageFormat)({
164
+ codec: shouldOutputImageSequence ? undefined : codec,
165
+ uiImageFormat,
166
+ });
167
+ if (shouldOutputImageSequence) {
168
+ fs_1.default.mkdirSync(absoluteOutputFile, {
169
+ recursive: true,
170
+ });
171
+ if (imageFormat === 'none') {
172
+ throw new Error(`Cannot render an image sequence with a codec that renders no images. codec = ${codec}, imageFormat = ${imageFormat}`);
173
+ }
174
+ const outputDir = shouldOutputImageSequence
175
+ ? absoluteOutputFile
176
+ : await fs_1.default.promises.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'react-motion-render'));
177
+ log_1.Log.verboseAdvanced({ indent, logLevel }, 'Output dir', outputDir);
178
+ await (0, renderer_1.renderFrames)({
179
+ imageFormat,
180
+ inputProps,
181
+ onFrameUpdate: (rendered) => {
182
+ renderingProgress.frames = rendered;
183
+ updateRenderProgress();
184
+ },
185
+ onStart: () => undefined,
186
+ onDownload: (src) => {
187
+ if (src.startsWith('data:')) {
188
+ log_1.Log.infoAdvanced({ indent, logLevel }, '\nWriting Data URL to file: ', src.substring(0, 30) + '...');
189
+ }
190
+ else {
191
+ log_1.Log.infoAdvanced({ indent, logLevel }, '\nDownloading asset... ', src);
192
+ }
193
+ },
194
+ cancelSignal: cancelSignal !== null && cancelSignal !== void 0 ? cancelSignal : undefined,
195
+ outputDir,
196
+ serveUrl: urlOrBundle,
197
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
198
+ everyNthFrame,
199
+ envVariables,
200
+ frameRange,
201
+ concurrency: actualConcurrency,
202
+ puppeteerInstance,
203
+ jpegQuality,
204
+ timeoutInMilliseconds: puppeteerTimeout,
205
+ chromiumOptions,
206
+ scale,
207
+ browserExecutable,
208
+ port,
209
+ downloadMap,
210
+ composition: config,
211
+ });
212
+ updateRenderProgress();
213
+ process.stdout.write('\n');
214
+ log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
215
+ return;
216
+ }
217
+ stitchingProgress = {
218
+ doneIn: null,
219
+ frames: 0,
220
+ stage: 'encoding',
221
+ totalFrames: totalFrames.length,
222
+ codec,
223
+ };
224
+ const { slowestFrames } = await (0, renderer_1.renderMedia)({
225
+ outputLocation: absoluteOutputFile,
226
+ composition: {
227
+ ...config,
228
+ width: width !== null && width !== void 0 ? width : config.width,
229
+ height: height !== null && height !== void 0 ? height : config.height,
230
+ },
231
+ crf,
232
+ envVariables,
233
+ frameRange,
234
+ inputProps,
235
+ overwrite,
236
+ pixelFormat,
237
+ proResProfile,
238
+ jpegQuality,
239
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
240
+ chromiumOptions,
241
+ timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
242
+ scale,
243
+ port,
244
+ numberOfGifLoops,
245
+ everyNthFrame,
246
+ verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
247
+ muted,
248
+ enforceAudioTrack,
249
+ browserExecutable,
250
+ ffmpegOverride,
251
+ concurrency,
252
+ serveUrl: urlOrBundle,
253
+ codec,
254
+ audioBitrate,
255
+ videoBitrate,
256
+ onProgress: (update) => {
257
+ stitchingProgress.doneIn =
258
+ update.encodedDoneIn;
259
+ stitchingProgress.frames =
260
+ update.encodedFrames;
261
+ stitchingProgress.stage = update.stitchStage;
262
+ renderingProgress.doneIn =
263
+ update.renderedDoneIn;
264
+ renderingProgress.frames =
265
+ update.renderedFrames;
266
+ updateRenderProgress();
267
+ },
268
+ puppeteerInstance,
269
+ onDownload,
270
+ internal: {
271
+ onCtrlCExit: addCleanupCallback,
272
+ downloadMap,
273
+ },
274
+ cancelSignal: cancelSignal !== null && cancelSignal !== void 0 ? cancelSignal : undefined,
275
+ printLog: (...str) => log_1.Log.verboseAdvanced({ indent, logLevel }, ...str),
276
+ audioCodec,
277
+ preferLossless: false,
278
+ imageFormat,
279
+ disallowParallelEncoding,
280
+ });
281
+ log_1.Log.verboseAdvanced({ indent, logLevel });
282
+ log_1.Log.verboseAdvanced({ indent, logLevel }, `Slowest frames:`);
283
+ slowestFrames.forEach(({ frame, time }) => {
284
+ log_1.Log.verboseAdvanced({ indent, logLevel }, `Frame ${frame} (${time.toFixed(3)}ms)`);
285
+ });
286
+ updateRenderProgress();
287
+ process.stdout.write('\n');
288
+ log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
289
+ for (const line of renderer_1.RenderInternals.perf.getPerf()) {
290
+ log_1.Log.verboseAdvanced({ indent, logLevel }, line);
291
+ }
292
+ };
293
+ exports.renderVideoFlow = renderVideoFlow;