@hyperframes/core 0.8.145 → 0.8.146

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 (774) hide show
  1. package/dist/adapters/gsap.d.ts +0 -1
  2. package/dist/adapters/gsap.js +0 -1
  3. package/dist/adapters/index.d.ts +0 -1
  4. package/dist/adapters/index.js +0 -1
  5. package/dist/adapters/types.d.ts +0 -1
  6. package/dist/adapters/types.js +0 -1
  7. package/dist/atomicFile.d.ts +0 -1
  8. package/dist/atomicFile.js +0 -1
  9. package/dist/audibleVideo.d.ts +0 -1
  10. package/dist/audibleVideo.js +0 -1
  11. package/dist/audio/audioFxAutomation.d.ts +0 -1
  12. package/dist/audio/audioFxAutomation.js +0 -1
  13. package/dist/audio/audioFxGraph.d.ts +4 -1
  14. package/dist/audio/audioFxGraph.js +9 -3
  15. package/dist/audio/audioFxTail.d.ts +2 -1
  16. package/dist/audio/audioFxTail.js +11 -2
  17. package/dist/audio/audioFxTruePeak.d.ts +7 -0
  18. package/dist/audio/audioFxTruePeak.js +164 -0
  19. package/dist/audio/audioFxWorklets.d.ts +0 -1
  20. package/dist/audio/audioFxWorklets.js +9 -9
  21. package/dist/audioAutomation.d.ts +0 -1
  22. package/dist/audioAutomation.js +0 -1
  23. package/dist/audioCarve.d.ts +0 -1
  24. package/dist/audioCarve.js +0 -1
  25. package/dist/audioFade.d.ts +0 -1
  26. package/dist/audioFade.js +0 -1
  27. package/dist/audioFx.d.ts +0 -1
  28. package/dist/audioFx.js +47 -6
  29. package/dist/audioFxCopy.d.ts +0 -1
  30. package/dist/audioFxCopy.js +22 -6
  31. package/dist/audioFxEq.d.ts +0 -1
  32. package/dist/audioFxEq.js +1 -2
  33. package/dist/audioFxJobs.d.ts +0 -1
  34. package/dist/audioFxJobs.js +2 -3
  35. package/dist/audioFxPresets.d.ts +0 -1
  36. package/dist/audioFxPresets.js +6 -7
  37. package/dist/audioFxProfiles.d.ts +0 -1
  38. package/dist/audioFxProfiles.js +0 -1
  39. package/dist/audioGain.d.ts +0 -1
  40. package/dist/audioGain.js +0 -1
  41. package/dist/audioGroups.d.ts +0 -1
  42. package/dist/audioGroups.js +0 -1
  43. package/dist/audioLeveller.d.ts +0 -1
  44. package/dist/audioLeveller.js +1 -2
  45. package/dist/beats/beatDetection.d.ts +0 -1
  46. package/dist/beats/beatDetection.js +0 -1
  47. package/dist/beats/beatFile.d.ts +0 -1
  48. package/dist/beats/beatFile.js +0 -1
  49. package/dist/beats/index.d.ts +0 -1
  50. package/dist/beats/index.js +0 -1
  51. package/dist/canary.d.ts +0 -1
  52. package/dist/canary.js +0 -1
  53. package/dist/canaryRegistry.d.ts +0 -1
  54. package/dist/canaryRegistry.js +0 -1
  55. package/dist/clipFacts.d.ts +0 -1
  56. package/dist/clipFacts.js +0 -1
  57. package/dist/colorGrading.d.ts +0 -1
  58. package/dist/colorGrading.js +0 -1
  59. package/dist/colorGradingCurves.d.ts +0 -1
  60. package/dist/colorGradingCurves.js +0 -1
  61. package/dist/colorLuts.d.ts +0 -1
  62. package/dist/colorLuts.js +0 -1
  63. package/dist/compiler/assetPaths.d.ts +0 -1
  64. package/dist/compiler/assetPaths.js +0 -1
  65. package/dist/compiler/compositionAssembly.d.ts +0 -1
  66. package/dist/compiler/compositionAssembly.js +0 -1
  67. package/dist/compiler/compositionScoping.d.ts +0 -1
  68. package/dist/compiler/compositionScoping.js +0 -1
  69. package/dist/compiler/externalScripts.d.ts +0 -1
  70. package/dist/compiler/externalScripts.js +0 -1
  71. package/dist/compiler/htmlBundler.d.ts +0 -1
  72. package/dist/compiler/htmlBundler.js +0 -1
  73. package/dist/compiler/htmlCompiler.d.ts +0 -1
  74. package/dist/compiler/htmlCompiler.js +0 -1
  75. package/dist/compiler/htmlDocument.d.ts +0 -1
  76. package/dist/compiler/htmlDocument.js +0 -1
  77. package/dist/compiler/htmlParityContract.d.ts +0 -1
  78. package/dist/compiler/htmlParityContract.js +0 -1
  79. package/dist/compiler/importMaps.d.ts +0 -1
  80. package/dist/compiler/importMaps.js +0 -1
  81. package/dist/compiler/index.d.ts +0 -1
  82. package/dist/compiler/index.js +0 -1
  83. package/dist/compiler/inlineSubCompositions.d.ts +0 -1
  84. package/dist/compiler/inlineSubCompositions.js +0 -1
  85. package/dist/compiler/mediaRenderIds.d.ts +0 -1
  86. package/dist/compiler/mediaRenderIds.js +0 -1
  87. package/dist/compiler/rewriteSubCompPaths.d.ts +0 -1
  88. package/dist/compiler/rewriteSubCompPaths.js +0 -1
  89. package/dist/compiler/scenePartsManifest.d.ts +0 -1
  90. package/dist/compiler/scenePartsManifest.js +0 -1
  91. package/dist/compiler/scriptRuns.d.ts +0 -1
  92. package/dist/compiler/scriptRuns.js +0 -1
  93. package/dist/compiler/selectorIdTokens.d.ts +0 -1
  94. package/dist/compiler/selectorIdTokens.js +0 -1
  95. package/dist/compiler/standaloneEntry.d.ts +0 -1
  96. package/dist/compiler/standaloneEntry.js +0 -1
  97. package/dist/compiler/staticGuard.d.ts +0 -1
  98. package/dist/compiler/staticGuard.js +0 -1
  99. package/dist/compiler/subCompositionValidity.d.ts +0 -1
  100. package/dist/compiler/subCompositionValidity.js +0 -1
  101. package/dist/compiler/svgIdNamespacing.d.ts +0 -1
  102. package/dist/compiler/svgIdNamespacing.js +0 -1
  103. package/dist/compiler/svgSelectorAliases.d.ts +0 -1
  104. package/dist/compiler/svgSelectorAliases.js +0 -1
  105. package/dist/compiler/timingCompiler.d.ts +0 -1
  106. package/dist/compiler/timingCompiler.js +0 -1
  107. package/dist/compiler/timingResolver.d.ts +0 -1
  108. package/dist/compiler/timingResolver.js +0 -1
  109. package/dist/compositionContract.d.ts +0 -1
  110. package/dist/compositionContract.js +0 -1
  111. package/dist/compositionReadiness.d.ts +0 -1
  112. package/dist/compositionReadiness.js +0 -1
  113. package/dist/core.types.d.ts +0 -1
  114. package/dist/core.types.js +0 -1
  115. package/dist/editing/affordances.d.ts +0 -1
  116. package/dist/editing/affordances.js +0 -1
  117. package/dist/editing/draftMarkers.d.ts +0 -1
  118. package/dist/editing/draftMarkers.js +0 -1
  119. package/dist/figma/assetSnippet.d.ts +0 -1
  120. package/dist/figma/assetSnippet.js +0 -1
  121. package/dist/figma/bindings.d.ts +0 -1
  122. package/dist/figma/bindings.js +0 -1
  123. package/dist/figma/client.d.ts +0 -1
  124. package/dist/figma/client.js +9 -10
  125. package/dist/figma/color.d.ts +0 -1
  126. package/dist/figma/color.js +0 -1
  127. package/dist/figma/emitTimelineScript.d.ts +0 -1
  128. package/dist/figma/emitTimelineScript.js +1 -2
  129. package/dist/figma/freeze.d.ts +0 -1
  130. package/dist/figma/freeze.js +0 -1
  131. package/dist/figma/index.d.ts +0 -1
  132. package/dist/figma/index.js +0 -1
  133. package/dist/figma/jsonl.d.ts +0 -1
  134. package/dist/figma/jsonl.js +0 -1
  135. package/dist/figma/manifest.d.ts +0 -1
  136. package/dist/figma/manifest.js +0 -1
  137. package/dist/figma/mediaIndex.d.ts +0 -1
  138. package/dist/figma/mediaIndex.js +0 -1
  139. package/dist/figma/motionContextToDocs.d.ts +0 -1
  140. package/dist/figma/motionContextToDocs.js +0 -1
  141. package/dist/figma/motionEase.d.ts +0 -1
  142. package/dist/figma/motionEase.js +0 -1
  143. package/dist/figma/motionToGsap.d.ts +0 -1
  144. package/dist/figma/motionToGsap.js +0 -1
  145. package/dist/figma/nodeDocument.d.ts +0 -1
  146. package/dist/figma/nodeDocument.js +0 -1
  147. package/dist/figma/nodeToHtml.d.ts +0 -1
  148. package/dist/figma/nodeToHtml.js +0 -1
  149. package/dist/figma/parseFigmaRef.d.ts +0 -1
  150. package/dist/figma/parseFigmaRef.js +0 -1
  151. package/dist/figma/resolveBindings.d.ts +0 -1
  152. package/dist/figma/resolveBindings.js +0 -1
  153. package/dist/figma/sanitizeSvg.d.ts +0 -1
  154. package/dist/figma/sanitizeSvg.js +0 -1
  155. package/dist/figma/tokensToVariables.d.ts +0 -1
  156. package/dist/figma/tokensToVariables.js +0 -1
  157. package/dist/figma/types.d.ts +0 -1
  158. package/dist/figma/types.js +0 -1
  159. package/dist/fonts/aliases.d.ts +0 -1
  160. package/dist/fonts/aliases.js +0 -1
  161. package/dist/fonts/authoredGoogleFonts.d.ts +0 -1
  162. package/dist/fonts/authoredGoogleFonts.js +0 -1
  163. package/dist/fonts/deterministicFonts.d.ts +0 -1
  164. package/dist/fonts/deterministicFonts.js +3 -4
  165. package/dist/fonts/fontCompression.d.ts +0 -1
  166. package/dist/fonts/fontCompression.js +0 -1
  167. package/dist/fonts/fontData.generated.d.ts +0 -1
  168. package/dist/fonts/fontData.generated.js +0 -1
  169. package/dist/fonts/fontDiagnostics.d.ts +0 -1
  170. package/dist/fonts/fontDiagnostics.js +0 -1
  171. package/dist/fonts/systemFontLocator.d.ts +0 -1
  172. package/dist/fonts/systemFontLocator.js +0 -1
  173. package/dist/generated/audio-fx-runtime-inline.d.ts +0 -1
  174. package/dist/generated/audio-fx-runtime-inline.js +1 -2
  175. package/dist/generated/position-edits-render-inline.d.ts +0 -1
  176. package/dist/generated/position-edits-render-inline.js +1 -2
  177. package/dist/generated/runtime-inline.d.ts +0 -1
  178. package/dist/generated/runtime-inline.js +1 -2
  179. package/dist/generated/svg-selector-aliases-inline.d.ts +0 -1
  180. package/dist/generated/svg-selector-aliases-inline.js +0 -1
  181. package/dist/generators/hyperframes.d.ts +0 -1
  182. package/dist/generators/hyperframes.js +0 -1
  183. package/dist/generators/richTextHtml.d.ts +0 -1
  184. package/dist/generators/richTextHtml.js +0 -1
  185. package/dist/gsapCdn.d.ts +0 -1
  186. package/dist/gsapCdn.js +0 -1
  187. package/dist/hdrToneMap.d.ts +0 -1
  188. package/dist/hdrToneMap.js +0 -1
  189. package/dist/hyperframe.runtime.iife.js +214 -68
  190. package/dist/index.d.ts +0 -1
  191. package/dist/index.js +0 -1
  192. package/dist/inline-scripts/hyperframe.d.ts +0 -1
  193. package/dist/inline-scripts/hyperframe.js +0 -1
  194. package/dist/inline-scripts/hyperframesRuntime.engine.d.ts +0 -1
  195. package/dist/inline-scripts/hyperframesRuntime.engine.js +0 -1
  196. package/dist/inline-scripts/parityContract.d.ts +1 -2
  197. package/dist/inline-scripts/parityContract.js +3 -1
  198. package/dist/inline-scripts/pickerApi.d.ts +0 -1
  199. package/dist/inline-scripts/pickerApi.js +0 -1
  200. package/dist/inline-scripts/runtimeContract.d.ts +0 -1
  201. package/dist/inline-scripts/runtimeContract.js +0 -1
  202. package/dist/lint/index.d.ts +0 -1
  203. package/dist/lint/index.js +0 -1
  204. package/dist/lottieReadiness.d.ts +0 -1
  205. package/dist/lottieReadiness.js +0 -1
  206. package/dist/media/gif.d.ts +0 -1
  207. package/dist/media/gif.js +0 -1
  208. package/dist/mediaGradeAnalyzer.d.ts +0 -1
  209. package/dist/mediaGradeAnalyzer.js +0 -1
  210. package/dist/mediaLink.d.ts +0 -1
  211. package/dist/mediaLink.js +0 -1
  212. package/dist/mediaTiming.d.ts +18 -3
  213. package/dist/mediaTiming.js +19 -4
  214. package/dist/parsers/gsapConstants.d.ts +0 -1
  215. package/dist/parsers/gsapConstants.js +0 -1
  216. package/dist/parsers/gsapParserAcorn.d.ts +0 -1
  217. package/dist/parsers/gsapParserAcorn.js +0 -1
  218. package/dist/parsers/gsapParserExports.d.ts +0 -1
  219. package/dist/parsers/gsapParserExports.js +0 -1
  220. package/dist/parsers/gsapWriterAcorn.d.ts +0 -1
  221. package/dist/parsers/gsapWriterAcorn.js +0 -1
  222. package/dist/parsers/hfIds.d.ts +0 -1
  223. package/dist/parsers/hfIds.js +0 -1
  224. package/dist/parsers/springEase.d.ts +0 -1
  225. package/dist/parsers/springEase.js +0 -1
  226. package/dist/playbackRateBounds.d.ts +0 -1
  227. package/dist/playbackRateBounds.js +0 -1
  228. package/dist/previewProxyBox.d.ts +0 -1
  229. package/dist/previewProxyBox.js +0 -1
  230. package/dist/projectRule.d.ts +0 -1
  231. package/dist/projectRule.js +0 -1
  232. package/dist/projects.d.ts +0 -1
  233. package/dist/projects.js +0 -1
  234. package/dist/registry/index.d.ts +0 -1
  235. package/dist/registry/index.js +0 -1
  236. package/dist/registry/types.d.ts +0 -1
  237. package/dist/registry/types.js +0 -1
  238. package/dist/runtime/adapters/seek-dispatch.d.ts +0 -1
  239. package/dist/runtime/adapters/seek-dispatch.js +0 -1
  240. package/dist/runtime/analytics.d.ts +0 -1
  241. package/dist/runtime/analytics.js +0 -1
  242. package/dist/runtime/applyVariableBindings.d.ts +0 -1
  243. package/dist/runtime/applyVariableBindings.js +0 -1
  244. package/dist/runtime/audioAutomationVolume.d.ts +0 -1
  245. package/dist/runtime/audioAutomationVolume.js +0 -1
  246. package/dist/runtime/authoredTiming.d.ts +0 -1
  247. package/dist/runtime/authoredTiming.js +0 -1
  248. package/dist/runtime/bridge.d.ts +0 -1
  249. package/dist/runtime/bridge.js +0 -1
  250. package/dist/runtime/clipTree.d.ts +0 -1
  251. package/dist/runtime/clipTree.js +3 -3
  252. package/dist/runtime/clipWindow.d.ts +0 -1
  253. package/dist/runtime/clipWindow.js +0 -1
  254. package/dist/runtime/clock.d.ts +0 -1
  255. package/dist/runtime/clock.js +0 -1
  256. package/dist/runtime/compositionDimension.d.ts +0 -1
  257. package/dist/runtime/compositionDimension.js +0 -1
  258. package/dist/runtime/compositionLength.d.ts +0 -1
  259. package/dist/runtime/compositionLength.js +0 -1
  260. package/dist/runtime/customEase.d.ts +0 -1
  261. package/dist/runtime/customEase.js +0 -1
  262. package/dist/runtime/diagnostics.d.ts +2 -1
  263. package/dist/runtime/diagnostics.js +13 -1
  264. package/dist/runtime/domRealm.d.ts +0 -1
  265. package/dist/runtime/domRealm.js +0 -1
  266. package/dist/runtime/flattenedRoot.d.ts +0 -1
  267. package/dist/runtime/flattenedRoot.js +0 -1
  268. package/dist/runtime/getVariables.d.ts +0 -1
  269. package/dist/runtime/getVariables.js +1 -2
  270. package/dist/runtime/globals.d.ts +0 -1
  271. package/dist/runtime/globals.js +0 -1
  272. package/dist/runtime/levelTap.d.ts +0 -1
  273. package/dist/runtime/levelTap.js +0 -1
  274. package/dist/runtime/media.d.ts +4 -1
  275. package/dist/runtime/media.js +29 -16
  276. package/dist/runtime/mediaVolumeEnvelope.d.ts +0 -1
  277. package/dist/runtime/mediaVolumeEnvelope.js +0 -1
  278. package/dist/runtime/playbackRate.d.ts +0 -1
  279. package/dist/runtime/playbackRate.js +0 -1
  280. package/dist/runtime/positionEdits.d.ts +0 -1
  281. package/dist/runtime/positionEdits.js +0 -1
  282. package/dist/runtime/protocol.d.ts +0 -1
  283. package/dist/runtime/protocol.js +0 -1
  284. package/dist/runtime/proxySrc.d.ts +0 -1
  285. package/dist/runtime/proxySrc.js +0 -1
  286. package/dist/runtime/renderFrameSibling.d.ts +0 -1
  287. package/dist/runtime/renderFrameSibling.js +0 -1
  288. package/dist/runtime/stackingContext.d.ts +0 -1
  289. package/dist/runtime/stackingContext.js +0 -1
  290. package/dist/runtime/startExpression.d.ts +0 -1
  291. package/dist/runtime/startExpression.js +0 -1
  292. package/dist/runtime/startResolver.d.ts +2 -1
  293. package/dist/runtime/startResolver.js +82 -111
  294. package/dist/runtime/state.d.ts +0 -1
  295. package/dist/runtime/state.js +0 -1
  296. package/dist/runtime/timeline.d.ts +0 -1
  297. package/dist/runtime/timeline.js +17 -17
  298. package/dist/runtime/timelineDuration.d.ts +3 -0
  299. package/dist/runtime/timelineDuration.js +14 -0
  300. package/dist/runtime/types.d.ts +0 -1
  301. package/dist/runtime/types.js +0 -1
  302. package/dist/runtime/validateVariables.d.ts +0 -1
  303. package/dist/runtime/validateVariables.js +0 -1
  304. package/dist/runtime/variableScope.d.ts +0 -1
  305. package/dist/runtime/variableScope.js +0 -1
  306. package/dist/runtime/webAudioRoute.d.ts +0 -1
  307. package/dist/runtime/webAudioRoute.js +1 -2
  308. package/dist/runtime/wiggleEase.d.ts +0 -1
  309. package/dist/runtime/wiggleEase.js +0 -1
  310. package/dist/safePath.d.ts +0 -1
  311. package/dist/safePath.js +0 -1
  312. package/dist/sceneParts.d.ts +0 -1
  313. package/dist/sceneParts.js +0 -1
  314. package/dist/slideshow/index.d.ts +0 -1
  315. package/dist/slideshow/index.js +0 -1
  316. package/dist/speedRamp.d.ts +0 -1
  317. package/dist/speedRamp.js +0 -1
  318. package/dist/storyboard/editStoryboard.d.ts +0 -1
  319. package/dist/storyboard/editStoryboard.js +0 -1
  320. package/dist/storyboard/index.d.ts +0 -1
  321. package/dist/storyboard/index.js +0 -1
  322. package/dist/storyboard/parseStoryboard.d.ts +0 -1
  323. package/dist/storyboard/parseStoryboard.js +0 -1
  324. package/dist/storyboard/types.d.ts +0 -1
  325. package/dist/storyboard/types.js +0 -1
  326. package/dist/studio-api/helpers/draftMarkers.d.ts +0 -1
  327. package/dist/studio-api/helpers/draftMarkers.js +0 -1
  328. package/dist/studio-api/helpers/finiteMutation.d.ts +0 -1
  329. package/dist/studio-api/helpers/finiteMutation.js +0 -1
  330. package/dist/studio-api/helpers/manualEditsRenderScript.d.ts +0 -1
  331. package/dist/studio-api/helpers/manualEditsRenderScript.js +0 -1
  332. package/dist/studio-api/helpers/screenshotClip.d.ts +0 -1
  333. package/dist/studio-api/helpers/screenshotClip.js +0 -1
  334. package/dist/studio-api/helpers/studioMotionRenderScript.d.ts +0 -1
  335. package/dist/studio-api/helpers/studioMotionRenderScript.js +0 -1
  336. package/dist/studio-api/index.d.ts +0 -1
  337. package/dist/studio-api/index.js +0 -1
  338. package/dist/studioPreviewMark.d.ts +0 -1
  339. package/dist/studioPreviewMark.js +0 -1
  340. package/dist/telemetryRedaction.d.ts +0 -1
  341. package/dist/telemetryRedaction.js +0 -1
  342. package/dist/templates/base.d.ts +0 -1
  343. package/dist/templates/base.js +0 -1
  344. package/dist/templates/constants.d.ts +0 -1
  345. package/dist/templates/constants.js +0 -1
  346. package/dist/text/fitTextFontSize.d.ts +0 -1
  347. package/dist/text/fitTextFontSize.js +0 -1
  348. package/dist/text/index.d.ts +0 -1
  349. package/dist/text/index.js +0 -1
  350. package/dist/text/pretext.d.ts +0 -1
  351. package/dist/text/pretext.js +0 -1
  352. package/dist/timelineAssetId.d.ts +0 -1
  353. package/dist/timelineAssetId.js +0 -1
  354. package/dist/tokenSlug.d.ts +0 -1
  355. package/dist/tokenSlug.js +0 -1
  356. package/dist/utils/cssSelector.d.ts +0 -1
  357. package/dist/utils/cssSelector.js +0 -1
  358. package/dist/utils/htmlAttrSafety.d.ts +0 -1
  359. package/dist/utils/htmlAttrSafety.js +0 -1
  360. package/dist/utils/renderOutputTimestamp.d.ts +0 -1
  361. package/dist/utils/renderOutputTimestamp.js +0 -1
  362. package/dist/utils/richTextSanitize.d.ts +0 -1
  363. package/dist/utils/richTextSanitize.js +0 -1
  364. package/dist/utils/urlPath.d.ts +0 -1
  365. package/dist/utils/urlPath.js +0 -1
  366. package/dist/variables.d.ts +0 -1
  367. package/dist/variables.js +0 -1
  368. package/dist/vfx/displacementMap.frag.d.ts +0 -1
  369. package/dist/vfx/displacementMap.frag.js +0 -1
  370. package/dist/vfx/fractalNoise.frag.d.ts +0 -1
  371. package/dist/vfx/fractalNoise.frag.js +0 -1
  372. package/dist/vfx/lumaMatte.frag.d.ts +0 -1
  373. package/dist/vfx/lumaMatte.frag.js +1 -2
  374. package/dist/vfx/noise.frag.d.ts +0 -1
  375. package/dist/vfx/noise.frag.js +1 -2
  376. package/dist/vfx/refs/displacementMap.d.ts +0 -1
  377. package/dist/vfx/refs/displacementMap.js +0 -1
  378. package/dist/vfx/refs/fractalNoise.d.ts +0 -1
  379. package/dist/vfx/refs/fractalNoise.js +0 -1
  380. package/dist/vfx/refs/lumaMatte.d.ts +0 -1
  381. package/dist/vfx/refs/lumaMatte.js +0 -1
  382. package/dist/vfx/refs/noise.d.ts +0 -1
  383. package/dist/vfx/refs/noise.js +0 -1
  384. package/dist/vfx/refs/waveWarp.d.ts +0 -1
  385. package/dist/vfx/refs/waveWarp.js +0 -1
  386. package/dist/vfx/waveWarp.frag.d.ts +0 -1
  387. package/dist/vfx/waveWarp.frag.js +0 -1
  388. package/dist/vfx.d.ts +0 -1
  389. package/dist/vfx.js +0 -1
  390. package/package.json +4 -6
  391. package/dist/adapters/gsap.d.ts.map +0 -1
  392. package/dist/adapters/gsap.js.map +0 -1
  393. package/dist/adapters/index.d.ts.map +0 -1
  394. package/dist/adapters/index.js.map +0 -1
  395. package/dist/adapters/types.d.ts.map +0 -1
  396. package/dist/adapters/types.js.map +0 -1
  397. package/dist/atomicFile.d.ts.map +0 -1
  398. package/dist/atomicFile.js.map +0 -1
  399. package/dist/audibleVideo.d.ts.map +0 -1
  400. package/dist/audibleVideo.js.map +0 -1
  401. package/dist/audio/audioFxAutomation.d.ts.map +0 -1
  402. package/dist/audio/audioFxAutomation.js.map +0 -1
  403. package/dist/audio/audioFxGraph.d.ts.map +0 -1
  404. package/dist/audio/audioFxGraph.js.map +0 -1
  405. package/dist/audio/audioFxTail.d.ts.map +0 -1
  406. package/dist/audio/audioFxTail.js.map +0 -1
  407. package/dist/audio/audioFxWorklets.d.ts.map +0 -1
  408. package/dist/audio/audioFxWorklets.js.map +0 -1
  409. package/dist/audioAutomation.d.ts.map +0 -1
  410. package/dist/audioAutomation.js.map +0 -1
  411. package/dist/audioCarve.d.ts.map +0 -1
  412. package/dist/audioCarve.js.map +0 -1
  413. package/dist/audioFade.d.ts.map +0 -1
  414. package/dist/audioFade.js.map +0 -1
  415. package/dist/audioFx.d.ts.map +0 -1
  416. package/dist/audioFx.js.map +0 -1
  417. package/dist/audioFxCopy.d.ts.map +0 -1
  418. package/dist/audioFxCopy.js.map +0 -1
  419. package/dist/audioFxEq.d.ts.map +0 -1
  420. package/dist/audioFxEq.js.map +0 -1
  421. package/dist/audioFxJobs.d.ts.map +0 -1
  422. package/dist/audioFxJobs.js.map +0 -1
  423. package/dist/audioFxPresets.d.ts.map +0 -1
  424. package/dist/audioFxPresets.js.map +0 -1
  425. package/dist/audioFxProfiles.d.ts.map +0 -1
  426. package/dist/audioFxProfiles.js.map +0 -1
  427. package/dist/audioGain.d.ts.map +0 -1
  428. package/dist/audioGain.js.map +0 -1
  429. package/dist/audioGroups.d.ts.map +0 -1
  430. package/dist/audioGroups.js.map +0 -1
  431. package/dist/audioLeveller.d.ts.map +0 -1
  432. package/dist/audioLeveller.js.map +0 -1
  433. package/dist/beats/beatDetection.d.ts.map +0 -1
  434. package/dist/beats/beatDetection.js.map +0 -1
  435. package/dist/beats/beatFile.d.ts.map +0 -1
  436. package/dist/beats/beatFile.js.map +0 -1
  437. package/dist/beats/index.d.ts.map +0 -1
  438. package/dist/beats/index.js.map +0 -1
  439. package/dist/canary.d.ts.map +0 -1
  440. package/dist/canary.js.map +0 -1
  441. package/dist/canaryRegistry.d.ts.map +0 -1
  442. package/dist/canaryRegistry.js.map +0 -1
  443. package/dist/clipFacts.d.ts.map +0 -1
  444. package/dist/clipFacts.js.map +0 -1
  445. package/dist/colorGrading.d.ts.map +0 -1
  446. package/dist/colorGrading.js.map +0 -1
  447. package/dist/colorGradingCurves.d.ts.map +0 -1
  448. package/dist/colorGradingCurves.js.map +0 -1
  449. package/dist/colorLuts.d.ts.map +0 -1
  450. package/dist/colorLuts.js.map +0 -1
  451. package/dist/compiler/assetPaths.d.ts.map +0 -1
  452. package/dist/compiler/assetPaths.js.map +0 -1
  453. package/dist/compiler/compositionAssembly.d.ts.map +0 -1
  454. package/dist/compiler/compositionAssembly.js.map +0 -1
  455. package/dist/compiler/compositionScoping.d.ts.map +0 -1
  456. package/dist/compiler/compositionScoping.js.map +0 -1
  457. package/dist/compiler/externalScripts.d.ts.map +0 -1
  458. package/dist/compiler/externalScripts.js.map +0 -1
  459. package/dist/compiler/htmlBundler.d.ts.map +0 -1
  460. package/dist/compiler/htmlBundler.js.map +0 -1
  461. package/dist/compiler/htmlCompiler.d.ts.map +0 -1
  462. package/dist/compiler/htmlCompiler.js.map +0 -1
  463. package/dist/compiler/htmlDocument.d.ts.map +0 -1
  464. package/dist/compiler/htmlDocument.js.map +0 -1
  465. package/dist/compiler/htmlParityContract.d.ts.map +0 -1
  466. package/dist/compiler/htmlParityContract.js.map +0 -1
  467. package/dist/compiler/importMaps.d.ts.map +0 -1
  468. package/dist/compiler/importMaps.js.map +0 -1
  469. package/dist/compiler/index.d.ts.map +0 -1
  470. package/dist/compiler/index.js.map +0 -1
  471. package/dist/compiler/inlineSubCompositions.d.ts.map +0 -1
  472. package/dist/compiler/inlineSubCompositions.js.map +0 -1
  473. package/dist/compiler/mediaRenderIds.d.ts.map +0 -1
  474. package/dist/compiler/mediaRenderIds.js.map +0 -1
  475. package/dist/compiler/rewriteSubCompPaths.d.ts.map +0 -1
  476. package/dist/compiler/rewriteSubCompPaths.js.map +0 -1
  477. package/dist/compiler/scenePartsManifest.d.ts.map +0 -1
  478. package/dist/compiler/scenePartsManifest.js.map +0 -1
  479. package/dist/compiler/scriptRuns.d.ts.map +0 -1
  480. package/dist/compiler/scriptRuns.js.map +0 -1
  481. package/dist/compiler/selectorIdTokens.d.ts.map +0 -1
  482. package/dist/compiler/selectorIdTokens.js.map +0 -1
  483. package/dist/compiler/standaloneEntry.d.ts.map +0 -1
  484. package/dist/compiler/standaloneEntry.js.map +0 -1
  485. package/dist/compiler/staticGuard.d.ts.map +0 -1
  486. package/dist/compiler/staticGuard.js.map +0 -1
  487. package/dist/compiler/subCompositionValidity.d.ts.map +0 -1
  488. package/dist/compiler/subCompositionValidity.js.map +0 -1
  489. package/dist/compiler/svgIdNamespacing.d.ts.map +0 -1
  490. package/dist/compiler/svgIdNamespacing.js.map +0 -1
  491. package/dist/compiler/svgSelectorAliases.d.ts.map +0 -1
  492. package/dist/compiler/svgSelectorAliases.js.map +0 -1
  493. package/dist/compiler/timingCompiler.d.ts.map +0 -1
  494. package/dist/compiler/timingCompiler.js.map +0 -1
  495. package/dist/compiler/timingResolver.d.ts.map +0 -1
  496. package/dist/compiler/timingResolver.js.map +0 -1
  497. package/dist/compositionContract.d.ts.map +0 -1
  498. package/dist/compositionContract.js.map +0 -1
  499. package/dist/compositionReadiness.d.ts.map +0 -1
  500. package/dist/compositionReadiness.js.map +0 -1
  501. package/dist/core.types.d.ts.map +0 -1
  502. package/dist/core.types.js.map +0 -1
  503. package/dist/editing/affordances.d.ts.map +0 -1
  504. package/dist/editing/affordances.js.map +0 -1
  505. package/dist/editing/draftMarkers.d.ts.map +0 -1
  506. package/dist/editing/draftMarkers.js.map +0 -1
  507. package/dist/figma/assetSnippet.d.ts.map +0 -1
  508. package/dist/figma/assetSnippet.js.map +0 -1
  509. package/dist/figma/bindings.d.ts.map +0 -1
  510. package/dist/figma/bindings.js.map +0 -1
  511. package/dist/figma/client.d.ts.map +0 -1
  512. package/dist/figma/client.js.map +0 -1
  513. package/dist/figma/color.d.ts.map +0 -1
  514. package/dist/figma/color.js.map +0 -1
  515. package/dist/figma/emitTimelineScript.d.ts.map +0 -1
  516. package/dist/figma/emitTimelineScript.js.map +0 -1
  517. package/dist/figma/freeze.d.ts.map +0 -1
  518. package/dist/figma/freeze.js.map +0 -1
  519. package/dist/figma/index.d.ts.map +0 -1
  520. package/dist/figma/index.js.map +0 -1
  521. package/dist/figma/jsonl.d.ts.map +0 -1
  522. package/dist/figma/jsonl.js.map +0 -1
  523. package/dist/figma/manifest.d.ts.map +0 -1
  524. package/dist/figma/manifest.js.map +0 -1
  525. package/dist/figma/mediaIndex.d.ts.map +0 -1
  526. package/dist/figma/mediaIndex.js.map +0 -1
  527. package/dist/figma/motionContextToDocs.d.ts.map +0 -1
  528. package/dist/figma/motionContextToDocs.js.map +0 -1
  529. package/dist/figma/motionEase.d.ts.map +0 -1
  530. package/dist/figma/motionEase.js.map +0 -1
  531. package/dist/figma/motionToGsap.d.ts.map +0 -1
  532. package/dist/figma/motionToGsap.js.map +0 -1
  533. package/dist/figma/nodeDocument.d.ts.map +0 -1
  534. package/dist/figma/nodeDocument.js.map +0 -1
  535. package/dist/figma/nodeToHtml.d.ts.map +0 -1
  536. package/dist/figma/nodeToHtml.js.map +0 -1
  537. package/dist/figma/parseFigmaRef.d.ts.map +0 -1
  538. package/dist/figma/parseFigmaRef.js.map +0 -1
  539. package/dist/figma/resolveBindings.d.ts.map +0 -1
  540. package/dist/figma/resolveBindings.js.map +0 -1
  541. package/dist/figma/sanitizeSvg.d.ts.map +0 -1
  542. package/dist/figma/sanitizeSvg.js.map +0 -1
  543. package/dist/figma/tokensToVariables.d.ts.map +0 -1
  544. package/dist/figma/tokensToVariables.js.map +0 -1
  545. package/dist/figma/types.d.ts.map +0 -1
  546. package/dist/figma/types.js.map +0 -1
  547. package/dist/fonts/aliases.d.ts.map +0 -1
  548. package/dist/fonts/aliases.js.map +0 -1
  549. package/dist/fonts/authoredGoogleFonts.d.ts.map +0 -1
  550. package/dist/fonts/authoredGoogleFonts.js.map +0 -1
  551. package/dist/fonts/deterministicFonts.d.ts.map +0 -1
  552. package/dist/fonts/deterministicFonts.js.map +0 -1
  553. package/dist/fonts/fontCompression.d.ts.map +0 -1
  554. package/dist/fonts/fontCompression.js.map +0 -1
  555. package/dist/fonts/fontData.generated.d.ts.map +0 -1
  556. package/dist/fonts/fontData.generated.js.map +0 -1
  557. package/dist/fonts/fontDiagnostics.d.ts.map +0 -1
  558. package/dist/fonts/fontDiagnostics.js.map +0 -1
  559. package/dist/fonts/systemFontLocator.d.ts.map +0 -1
  560. package/dist/fonts/systemFontLocator.js.map +0 -1
  561. package/dist/generated/audio-fx-runtime-inline.d.ts.map +0 -1
  562. package/dist/generated/audio-fx-runtime-inline.js.map +0 -1
  563. package/dist/generated/position-edits-render-inline.d.ts.map +0 -1
  564. package/dist/generated/position-edits-render-inline.js.map +0 -1
  565. package/dist/generated/runtime-inline.d.ts.map +0 -1
  566. package/dist/generated/runtime-inline.js.map +0 -1
  567. package/dist/generated/svg-selector-aliases-inline.d.ts.map +0 -1
  568. package/dist/generated/svg-selector-aliases-inline.js.map +0 -1
  569. package/dist/generators/hyperframes.d.ts.map +0 -1
  570. package/dist/generators/hyperframes.js.map +0 -1
  571. package/dist/generators/richTextHtml.d.ts.map +0 -1
  572. package/dist/generators/richTextHtml.js.map +0 -1
  573. package/dist/gsapCdn.d.ts.map +0 -1
  574. package/dist/gsapCdn.js.map +0 -1
  575. package/dist/hdrToneMap.d.ts.map +0 -1
  576. package/dist/hdrToneMap.js.map +0 -1
  577. package/dist/index.d.ts.map +0 -1
  578. package/dist/index.js.map +0 -1
  579. package/dist/inline-scripts/hyperframe.d.ts.map +0 -1
  580. package/dist/inline-scripts/hyperframe.js.map +0 -1
  581. package/dist/inline-scripts/hyperframesRuntime.engine.d.ts.map +0 -1
  582. package/dist/inline-scripts/hyperframesRuntime.engine.js.map +0 -1
  583. package/dist/inline-scripts/parityContract.d.ts.map +0 -1
  584. package/dist/inline-scripts/parityContract.js.map +0 -1
  585. package/dist/inline-scripts/pickerApi.d.ts.map +0 -1
  586. package/dist/inline-scripts/pickerApi.js.map +0 -1
  587. package/dist/inline-scripts/runtimeContract.d.ts.map +0 -1
  588. package/dist/inline-scripts/runtimeContract.js.map +0 -1
  589. package/dist/lint/index.d.ts.map +0 -1
  590. package/dist/lint/index.js.map +0 -1
  591. package/dist/lottieReadiness.d.ts.map +0 -1
  592. package/dist/lottieReadiness.js.map +0 -1
  593. package/dist/media/gif.d.ts.map +0 -1
  594. package/dist/media/gif.js.map +0 -1
  595. package/dist/mediaGradeAnalyzer.d.ts.map +0 -1
  596. package/dist/mediaGradeAnalyzer.js.map +0 -1
  597. package/dist/mediaLink.d.ts.map +0 -1
  598. package/dist/mediaLink.js.map +0 -1
  599. package/dist/mediaTiming.d.ts.map +0 -1
  600. package/dist/mediaTiming.js.map +0 -1
  601. package/dist/parsers/gsapConstants.d.ts.map +0 -1
  602. package/dist/parsers/gsapConstants.js.map +0 -1
  603. package/dist/parsers/gsapParserAcorn.d.ts.map +0 -1
  604. package/dist/parsers/gsapParserAcorn.js.map +0 -1
  605. package/dist/parsers/gsapParserExports.d.ts.map +0 -1
  606. package/dist/parsers/gsapParserExports.js.map +0 -1
  607. package/dist/parsers/gsapWriterAcorn.d.ts.map +0 -1
  608. package/dist/parsers/gsapWriterAcorn.js.map +0 -1
  609. package/dist/parsers/hfIds.d.ts.map +0 -1
  610. package/dist/parsers/hfIds.js.map +0 -1
  611. package/dist/parsers/springEase.d.ts.map +0 -1
  612. package/dist/parsers/springEase.js.map +0 -1
  613. package/dist/playbackRateBounds.d.ts.map +0 -1
  614. package/dist/playbackRateBounds.js.map +0 -1
  615. package/dist/previewProxyBox.d.ts.map +0 -1
  616. package/dist/previewProxyBox.js.map +0 -1
  617. package/dist/projectRule.d.ts.map +0 -1
  618. package/dist/projectRule.js.map +0 -1
  619. package/dist/projects.d.ts.map +0 -1
  620. package/dist/projects.js.map +0 -1
  621. package/dist/registry/index.d.ts.map +0 -1
  622. package/dist/registry/index.js.map +0 -1
  623. package/dist/registry/types.d.ts.map +0 -1
  624. package/dist/registry/types.js.map +0 -1
  625. package/dist/runtime/adapters/seek-dispatch.d.ts.map +0 -1
  626. package/dist/runtime/adapters/seek-dispatch.js.map +0 -1
  627. package/dist/runtime/analytics.d.ts.map +0 -1
  628. package/dist/runtime/analytics.js.map +0 -1
  629. package/dist/runtime/applyVariableBindings.d.ts.map +0 -1
  630. package/dist/runtime/applyVariableBindings.js.map +0 -1
  631. package/dist/runtime/audioAutomationVolume.d.ts.map +0 -1
  632. package/dist/runtime/audioAutomationVolume.js.map +0 -1
  633. package/dist/runtime/authoredTiming.d.ts.map +0 -1
  634. package/dist/runtime/authoredTiming.js.map +0 -1
  635. package/dist/runtime/bridge.d.ts.map +0 -1
  636. package/dist/runtime/bridge.js.map +0 -1
  637. package/dist/runtime/clipTree.d.ts.map +0 -1
  638. package/dist/runtime/clipTree.js.map +0 -1
  639. package/dist/runtime/clipWindow.d.ts.map +0 -1
  640. package/dist/runtime/clipWindow.js.map +0 -1
  641. package/dist/runtime/clock.d.ts.map +0 -1
  642. package/dist/runtime/clock.js.map +0 -1
  643. package/dist/runtime/compositionDimension.d.ts.map +0 -1
  644. package/dist/runtime/compositionDimension.js.map +0 -1
  645. package/dist/runtime/compositionLength.d.ts.map +0 -1
  646. package/dist/runtime/compositionLength.js.map +0 -1
  647. package/dist/runtime/customEase.d.ts.map +0 -1
  648. package/dist/runtime/customEase.js.map +0 -1
  649. package/dist/runtime/diagnostics.d.ts.map +0 -1
  650. package/dist/runtime/diagnostics.js.map +0 -1
  651. package/dist/runtime/domRealm.d.ts.map +0 -1
  652. package/dist/runtime/domRealm.js.map +0 -1
  653. package/dist/runtime/flattenedRoot.d.ts.map +0 -1
  654. package/dist/runtime/flattenedRoot.js.map +0 -1
  655. package/dist/runtime/getVariables.d.ts.map +0 -1
  656. package/dist/runtime/getVariables.js.map +0 -1
  657. package/dist/runtime/globals.d.ts.map +0 -1
  658. package/dist/runtime/globals.js.map +0 -1
  659. package/dist/runtime/levelTap.d.ts.map +0 -1
  660. package/dist/runtime/levelTap.js.map +0 -1
  661. package/dist/runtime/media.d.ts.map +0 -1
  662. package/dist/runtime/media.js.map +0 -1
  663. package/dist/runtime/mediaVolumeEnvelope.d.ts.map +0 -1
  664. package/dist/runtime/mediaVolumeEnvelope.js.map +0 -1
  665. package/dist/runtime/playbackRate.d.ts.map +0 -1
  666. package/dist/runtime/playbackRate.js.map +0 -1
  667. package/dist/runtime/positionEdits.d.ts.map +0 -1
  668. package/dist/runtime/positionEdits.js.map +0 -1
  669. package/dist/runtime/protocol.d.ts.map +0 -1
  670. package/dist/runtime/protocol.js.map +0 -1
  671. package/dist/runtime/proxySrc.d.ts.map +0 -1
  672. package/dist/runtime/proxySrc.js.map +0 -1
  673. package/dist/runtime/renderFrameSibling.d.ts.map +0 -1
  674. package/dist/runtime/renderFrameSibling.js.map +0 -1
  675. package/dist/runtime/stackingContext.d.ts.map +0 -1
  676. package/dist/runtime/stackingContext.js.map +0 -1
  677. package/dist/runtime/startExpression.d.ts.map +0 -1
  678. package/dist/runtime/startExpression.js.map +0 -1
  679. package/dist/runtime/startResolver.d.ts.map +0 -1
  680. package/dist/runtime/startResolver.js.map +0 -1
  681. package/dist/runtime/state.d.ts.map +0 -1
  682. package/dist/runtime/state.js.map +0 -1
  683. package/dist/runtime/timeline.d.ts.map +0 -1
  684. package/dist/runtime/timeline.js.map +0 -1
  685. package/dist/runtime/types.d.ts.map +0 -1
  686. package/dist/runtime/types.js.map +0 -1
  687. package/dist/runtime/validateVariables.d.ts.map +0 -1
  688. package/dist/runtime/validateVariables.js.map +0 -1
  689. package/dist/runtime/variableScope.d.ts.map +0 -1
  690. package/dist/runtime/variableScope.js.map +0 -1
  691. package/dist/runtime/webAudioRoute.d.ts.map +0 -1
  692. package/dist/runtime/webAudioRoute.js.map +0 -1
  693. package/dist/runtime/wiggleEase.d.ts.map +0 -1
  694. package/dist/runtime/wiggleEase.js.map +0 -1
  695. package/dist/safePath.d.ts.map +0 -1
  696. package/dist/safePath.js.map +0 -1
  697. package/dist/sceneParts.d.ts.map +0 -1
  698. package/dist/sceneParts.js.map +0 -1
  699. package/dist/slideshow/index.d.ts.map +0 -1
  700. package/dist/slideshow/index.js.map +0 -1
  701. package/dist/speedRamp.d.ts.map +0 -1
  702. package/dist/speedRamp.js.map +0 -1
  703. package/dist/storyboard/editStoryboard.d.ts.map +0 -1
  704. package/dist/storyboard/editStoryboard.js.map +0 -1
  705. package/dist/storyboard/index.d.ts.map +0 -1
  706. package/dist/storyboard/index.js.map +0 -1
  707. package/dist/storyboard/parseStoryboard.d.ts.map +0 -1
  708. package/dist/storyboard/parseStoryboard.js.map +0 -1
  709. package/dist/storyboard/types.d.ts.map +0 -1
  710. package/dist/storyboard/types.js.map +0 -1
  711. package/dist/studio-api/helpers/draftMarkers.d.ts.map +0 -1
  712. package/dist/studio-api/helpers/draftMarkers.js.map +0 -1
  713. package/dist/studio-api/helpers/finiteMutation.d.ts.map +0 -1
  714. package/dist/studio-api/helpers/finiteMutation.js.map +0 -1
  715. package/dist/studio-api/helpers/manualEditsRenderScript.d.ts.map +0 -1
  716. package/dist/studio-api/helpers/manualEditsRenderScript.js.map +0 -1
  717. package/dist/studio-api/helpers/screenshotClip.d.ts.map +0 -1
  718. package/dist/studio-api/helpers/screenshotClip.js.map +0 -1
  719. package/dist/studio-api/helpers/studioMotionRenderScript.d.ts.map +0 -1
  720. package/dist/studio-api/helpers/studioMotionRenderScript.js.map +0 -1
  721. package/dist/studio-api/index.d.ts.map +0 -1
  722. package/dist/studio-api/index.js.map +0 -1
  723. package/dist/studioPreviewMark.d.ts.map +0 -1
  724. package/dist/studioPreviewMark.js.map +0 -1
  725. package/dist/telemetryRedaction.d.ts.map +0 -1
  726. package/dist/telemetryRedaction.js.map +0 -1
  727. package/dist/templates/base.d.ts.map +0 -1
  728. package/dist/templates/base.js.map +0 -1
  729. package/dist/templates/constants.d.ts.map +0 -1
  730. package/dist/templates/constants.js.map +0 -1
  731. package/dist/text/fitTextFontSize.d.ts.map +0 -1
  732. package/dist/text/fitTextFontSize.js.map +0 -1
  733. package/dist/text/index.d.ts.map +0 -1
  734. package/dist/text/index.js.map +0 -1
  735. package/dist/text/pretext.d.ts.map +0 -1
  736. package/dist/text/pretext.js.map +0 -1
  737. package/dist/timelineAssetId.d.ts.map +0 -1
  738. package/dist/timelineAssetId.js.map +0 -1
  739. package/dist/tokenSlug.d.ts.map +0 -1
  740. package/dist/tokenSlug.js.map +0 -1
  741. package/dist/utils/cssSelector.d.ts.map +0 -1
  742. package/dist/utils/cssSelector.js.map +0 -1
  743. package/dist/utils/htmlAttrSafety.d.ts.map +0 -1
  744. package/dist/utils/htmlAttrSafety.js.map +0 -1
  745. package/dist/utils/renderOutputTimestamp.d.ts.map +0 -1
  746. package/dist/utils/renderOutputTimestamp.js.map +0 -1
  747. package/dist/utils/richTextSanitize.d.ts.map +0 -1
  748. package/dist/utils/richTextSanitize.js.map +0 -1
  749. package/dist/utils/urlPath.d.ts.map +0 -1
  750. package/dist/utils/urlPath.js.map +0 -1
  751. package/dist/variables.d.ts.map +0 -1
  752. package/dist/variables.js.map +0 -1
  753. package/dist/vfx/displacementMap.frag.d.ts.map +0 -1
  754. package/dist/vfx/displacementMap.frag.js.map +0 -1
  755. package/dist/vfx/fractalNoise.frag.d.ts.map +0 -1
  756. package/dist/vfx/fractalNoise.frag.js.map +0 -1
  757. package/dist/vfx/lumaMatte.frag.d.ts.map +0 -1
  758. package/dist/vfx/lumaMatte.frag.js.map +0 -1
  759. package/dist/vfx/noise.frag.d.ts.map +0 -1
  760. package/dist/vfx/noise.frag.js.map +0 -1
  761. package/dist/vfx/refs/displacementMap.d.ts.map +0 -1
  762. package/dist/vfx/refs/displacementMap.js.map +0 -1
  763. package/dist/vfx/refs/fractalNoise.d.ts.map +0 -1
  764. package/dist/vfx/refs/fractalNoise.js.map +0 -1
  765. package/dist/vfx/refs/lumaMatte.d.ts.map +0 -1
  766. package/dist/vfx/refs/lumaMatte.js.map +0 -1
  767. package/dist/vfx/refs/noise.d.ts.map +0 -1
  768. package/dist/vfx/refs/noise.js.map +0 -1
  769. package/dist/vfx/refs/waveWarp.d.ts.map +0 -1
  770. package/dist/vfx/refs/waveWarp.js.map +0 -1
  771. package/dist/vfx/waveWarp.frag.d.ts.map +0 -1
  772. package/dist/vfx/waveWarp.frag.js.map +0 -1
  773. package/dist/vfx.d.ts.map +0 -1
  774. package/dist/vfx.js.map +0 -1
@@ -11,4 +11,3 @@ export interface CreateGSAPFrameAdapterOptions {
11
11
  timeline: GSAPTimelineLike;
12
12
  }
13
13
  export declare function createGSAPFrameAdapter(options: CreateGSAPFrameAdapterOptions): FrameAdapter;
14
- //# sourceMappingURL=gsap.d.ts.map
@@ -22,4 +22,3 @@ export function createGSAPFrameAdapter(options) {
22
22
  },
23
23
  };
24
24
  }
25
- //# sourceMappingURL=gsap.js.map
@@ -1,4 +1,3 @@
1
1
  export type { FrameAdapter, FrameAdapterContext } from "./types";
2
2
  export type { GSAPTimelineLike, CreateGSAPFrameAdapterOptions } from "./gsap";
3
3
  export { createGSAPFrameAdapter } from "./gsap";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1 @@
1
1
  export { createGSAPFrameAdapter } from "./gsap.js";
2
- //# sourceMappingURL=index.js.map
@@ -12,4 +12,3 @@ export interface FrameAdapter {
12
12
  seekFrame: (frame: number) => Promise<void> | void;
13
13
  destroy?: () => Promise<void> | void;
14
14
  }
15
- //# sourceMappingURL=types.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
@@ -11,4 +11,3 @@ export declare function createFileAtomically(filePath: string, content: string |
11
11
  /** The file a write to `filePath` lands on: folder links and file links followed as the system does. */
12
12
  export declare function resolveWritePath(filePath: string): string;
13
13
  export {};
14
- //# sourceMappingURL=atomicFile.d.ts.map
@@ -150,4 +150,3 @@ function renameWithRetry(operations, from, to) {
150
150
  function errorCode(error) {
151
151
  return String(error?.code);
152
152
  }
153
- //# sourceMappingURL=atomicFile.js.map
@@ -11,4 +11,3 @@ export declare function audibleVideoNeedsWebAudio(fields: {
11
11
  automation?: string | null;
12
12
  audioGroup?: string | null;
13
13
  }): boolean;
14
- //# sourceMappingURL=audibleVideo.d.ts.map
@@ -9,4 +9,3 @@ export function isAudibleVideoElement(el) {
9
9
  export function audibleVideoNeedsWebAudio(fields) {
10
10
  return ((fields.volume ?? 1) > 1 || Boolean(fields.fxChain || fields.automation || fields.audioGroup));
11
11
  }
12
- //# sourceMappingURL=audibleVideo.js.map
@@ -60,4 +60,3 @@ export declare function scheduleChainAutomation(automation: HfAutomation, chain:
60
60
  presets?: Record<string, FxParamTarget[]>): FxParamTarget[];
61
61
  /** The track's volume lane, if it has one. */
62
62
  export declare function volumeLane(automation: HfAutomation): HfAutomationLane | null;
63
- //# sourceMappingURL=audioFxAutomation.d.ts.map
@@ -216,4 +216,3 @@ presets) {
216
216
  export function volumeLane(automation) {
217
217
  return automation.lanes.find((lane) => lane.target === VOLUME_TARGET) ?? null;
218
218
  }
219
- //# sourceMappingURL=audioFxAutomation.js.map
@@ -36,6 +36,8 @@ export interface FxNodeHandle {
36
36
  * parameter key. Absent for a node whose values cannot be scheduled.
37
37
  */
38
38
  automation?: Record<string, FxParamTarget[]>;
39
+ /** Drop internal state (delay lines, held gain) when the signal jumps, as on a seek. */
40
+ reset?(): void;
39
41
  dispose(): void;
40
42
  }
41
43
  /** Effect ids whose Web Audio node needs a worklet module registered first. */
@@ -58,6 +60,8 @@ export interface FxChainHandle {
58
60
  presets: Record<string, FxParamTarget[]>;
59
61
  /** Re-parameterise in place when the shape is unchanged; false if a rebuild is needed. */
60
62
  update(chain: HfAudioFxChain): boolean;
63
+ /** Clear the state of every effect that carries signal history. */
64
+ reset(): void;
61
65
  dispose(): void;
62
66
  }
63
67
  /**
@@ -70,4 +74,3 @@ export interface FxChainHandle {
70
74
  */
71
75
  export declare function buildFxChain(ctx: BaseAudioContext, chain: HfAudioFxChain, elapsed?: number): FxChainHandle;
72
76
  export { audioFxWorkletsReady, ensureAudioFxWorklets };
73
- //# sourceMappingURL=audioFxGraph.d.ts.map
@@ -183,13 +183,14 @@ function onePoleBuilder(kind) {
183
183
  return simple(node, () => { });
184
184
  };
185
185
  }
186
- function workletBuilder(processor) {
186
+ function workletBuilder(processor, resettable = false) {
187
187
  return (ctx, p) => {
188
188
  const node = new AudioWorkletNode(ctx, processor, { processorOptions: { ...p } });
189
189
  return {
190
190
  input: node,
191
191
  output: node,
192
192
  update: (v) => node.port.postMessage({ ...v }),
193
+ ...(resettable ? { reset: () => node.port.postMessage({ __hfReset: true }) } : {}),
193
194
  dispose: () => {
194
195
  // Disconnecting is not enough to retire an AudioWorkletProcessor: it
195
196
  // lives until its `process()` returns false, and these all returned
@@ -429,6 +430,7 @@ const BUILDERS = {
429
430
  "biquad-lowpass": biquad("lowpass", false),
430
431
  "worklet-compressor": workletBuilder("hf-compressor"),
431
432
  "worklet-limiter": workletBuilder("hf-limiter"),
433
+ "worklet-truepeak": workletBuilder("hf-truepeak", true),
432
434
  "worklet-gate": workletBuilder("hf-gate"),
433
435
  "worklet-bitcrush": workletBuilder("hf-bitcrush"),
434
436
  "worklet-pitchshift": workletBuilder("hf-pitchshift"),
@@ -511,7 +513,8 @@ function shapeOf(chain) {
511
513
  // author's own node while the render, which rebuilds, blended out the
512
514
  // preset's.
513
515
  const run = node.fromPreset ? `%${node.fromPreset}` : "";
514
- return `${node.type}${poles}${fixedFreq}${wave}${run}`;
516
+ const lookahead = node.type === "truepeak" ? `^${p.lookahead}` : "";
517
+ return `${node.type}${poles}${fixedFreq}${wave}${lookahead}${run}`;
515
518
  })
516
519
  .join("|");
517
520
  }
@@ -629,6 +632,10 @@ export function buildFxChain(ctx, chain, elapsed = 0) {
629
632
  // join per observer tick to write back the string that was already there.
630
633
  return true;
631
634
  },
635
+ reset() {
636
+ for (const { handle } of handles)
637
+ handle.reset?.();
638
+ },
632
639
  dispose() {
633
640
  for (const { handle } of handles)
634
641
  handle.dispose();
@@ -647,4 +654,3 @@ export function buildFxChain(ctx, chain, elapsed = 0) {
647
654
  };
648
655
  }
649
656
  export { audioFxWorkletsReady, ensureAudioFxWorklets };
650
- //# sourceMappingURL=audioFxGraph.js.map
@@ -25,4 +25,5 @@ export declare const MAX_FX_TAIL_SECONDS = 5;
25
25
  * each of its repeats to the room and the last one still gets a full tail.
26
26
  */
27
27
  export declare function chainTailSeconds(chain: HfAudioFxChain, automation?: HfAutomation): number;
28
- //# sourceMappingURL=audioFxTail.d.ts.map
28
+ /** Samples the offline render trims so a lookahead limiter does not shift a clip. */
29
+ export declare function chainLatencySamples(chain: HfAudioFxChain, sampleRate: number): number;
@@ -8,7 +8,8 @@
8
8
  * the room it needs.
9
9
  */
10
10
  import { fxAutomationTarget } from "../audioAutomation.js";
11
- import { normalizeAudioFxParams } from "../audioFx.js";
11
+ import { enabledAudioFxNodes, normalizeAudioFxParams, } from "../audioFx.js";
12
+ import { truePeakLatencySamples } from "./audioFxTruePeak.js";
12
13
  /**
13
14
  * Ceiling on the extension, in seconds.
14
15
  *
@@ -107,4 +108,12 @@ export function chainTailSeconds(chain, automation) {
107
108
  const total = chain.nodes.reduce((sum, node) => sum + nodeTail(node, automation), 0);
108
109
  return Math.min(MAX_FX_TAIL_SECONDS, total);
109
110
  }
110
- //# sourceMappingURL=audioFxTail.js.map
111
+ /** Samples the offline render trims so a lookahead limiter does not shift a clip. */
112
+ export function chainLatencySamples(chain, sampleRate) {
113
+ return enabledAudioFxNodes(chain)
114
+ .filter((node) => node.type === "truepeak")
115
+ .reduce((sum, node) => {
116
+ const { lookahead } = normalizeAudioFxParams(node.type, node.params);
117
+ return sum + truePeakLatencySamples(Number(lookahead), sampleRate);
118
+ }, 0);
119
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The `hf-truepeak` worklet: a lookahead limiter that holds a 4x estimate of the
3
+ * true peak at a ceiling in dBTP; full-band noise can end up to 1.7 dB over.
4
+ */
5
+ /** Samples between a sample entering the limiter and leaving it. */
6
+ export declare function truePeakLatencySamples(lookaheadMs: number, sampleRate: number): number;
7
+ export declare const TRUE_PEAK_WORKLET_SOURCE = "\nconst TP_OS = 4;\nconst TP_HALF = 64;\nconst TP_BRANCH = 33;\nconst TP_DELAY = 16;\n\nfunction besselI0(x) {\n let sum = 1, term = 1;\n for (let k = 1; k < 40; k++) {\n term *= (x / (2 * k)) * (x / (2 * k));\n sum += term;\n }\n return sum;\n}\n\n/** Kaiser-windowed sinc, one array per polyphase branch, newest tap first. */\nfunction tpBranches() {\n const beta = 6;\n const norm = besselI0(beta);\n const branches = [];\n for (let p = 0; p < TP_OS; p++) {\n const taps = new Float64Array(TP_BRANCH);\n let sum = 0;\n for (let j = 0; j < TP_BRANCH; j++) {\n const k = p + TP_OS * j;\n if (k > 2 * TP_HALF) continue;\n const t = (k - TP_HALF) / TP_OS;\n const sinc = t === 0 ? 1 : Math.sin(Math.PI * t) / (Math.PI * t);\n const r = (k - TP_HALF) / TP_HALF;\n taps[j] = sinc * (besselI0(beta * Math.sqrt(Math.max(0, 1 - r * r))) / norm);\n sum += taps[j];\n }\n // Unity gain at DC on every branch, so a steady level reads as itself.\n for (let j = 0; j < TP_BRANCH; j++) taps[j] /= sum;\n branches.push(taps);\n }\n return branches;\n}\n\nclass HfTruePeak extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.look = Math.max(1, Math.round((this.p.lookahead ?? 3) * sampleRate / 1000));\n this.delayLen = this.look + TP_DELAY;\n this.branches = tpBranches();\n this.setLevels();\n this.clear();\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n if (e.data && e.data.__hfReset) { this.clear(); return; }\n this.p = { ...this.p, ...e.data };\n this.setLevels();\n };\n }\n /** Back to the state of a fresh processor: no audio in the delay line, no gain reduction. */\n clear() {\n this.ch = [];\n this.rel = 1;\n this.dqIdx = new Int32Array(this.look + 2);\n this.dqVal = new Float64Array(this.look + 2);\n this.dqHead = 0;\n this.dqTail = 0;\n this.t = 0;\n this.avgRing = new Float64Array(this.look + 1).fill(1);\n this.avgPos = 0;\n this.avgSum = this.look + 1;\n }\n setLevels() {\n this.ceiling = Math.pow(10, (this.p.ceiling ?? -1) / 20);\n this.relCoef = 1 - Math.exp(-1 / (sampleRate * Math.max(1e-4, (this.p.release ?? 80) / 1000)));\n }\n channel(c) {\n if (!this.ch[c]) {\n this.ch[c] = {\n delay: new Float32Array(this.delayLen),\n w: 0,\n hist: new Float32Array(TP_BRANCH * 2),\n pos: 0,\n };\n }\n return this.ch[c];\n }\n /** Largest interpolated magnitude across channels for the newest sample. */\n peak(chans, inputs, n) {\n let peak = 0;\n for (let c = 0; c < chans; c++) {\n const s = this.channel(c);\n const x = inputs[c][n];\n s.pos = (s.pos + 1) % TP_BRANCH;\n s.hist[s.pos] = x;\n s.hist[s.pos + TP_BRANCH] = x;\n const base = s.pos + TP_BRANCH;\n for (let p = 0; p < TP_OS; p++) {\n const taps = this.branches[p];\n let acc = 0;\n for (let j = 0; j < TP_BRANCH; j++) acc += taps[j] * s.hist[base - j];\n const a = acc < 0 ? -acc : acc;\n if (a > peak) peak = a;\n }\n }\n return peak;\n }\n /** Windowed minimum of the required gain over the last look + 1 values. */\n windowMin(v) {\n const cap = this.dqIdx.length;\n while (this.dqTail !== this.dqHead && this.dqVal[(this.dqTail + cap - 1) % cap] >= v) {\n this.dqTail = (this.dqTail + cap - 1) % cap;\n }\n this.dqIdx[this.dqTail] = this.t;\n this.dqVal[this.dqTail] = v;\n this.dqTail = (this.dqTail + 1) % cap;\n while (this.dqIdx[this.dqHead] <= this.t - (this.look + 1)) {\n this.dqHead = (this.dqHead + 1) % cap;\n }\n this.t++;\n return this.dqVal[this.dqHead];\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const chans = i.length;\n const frames = i[0].length;\n for (let n = 0; n < frames; n++) {\n const peak = this.peak(chans, i, n);\n const need = peak > this.ceiling ? this.ceiling / peak : 1;\n const m = this.windowMin(need);\n this.avgSum += m - this.avgRing[this.avgPos];\n this.avgRing[this.avgPos] = m;\n this.avgPos = (this.avgPos + 1) % this.avgRing.length;\n const target = Math.min(1, this.avgSum / this.avgRing.length);\n const released = this.rel + (1 - this.rel) * this.relCoef;\n this.rel = released < target ? released : target;\n if (target >= 1 && this.rel > 0.9999999) this.rel = 1;\n for (let c = 0; c < chans; c++) {\n const s = this.channel(c);\n o[c][n] = s.delay[s.w] * this.rel;\n s.delay[s.w] = i[c][n];\n s.w = (s.w + 1) % this.delayLen;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-truepeak\", HfTruePeak);\n";
@@ -0,0 +1,164 @@
1
+ /**
2
+ * The `hf-truepeak` worklet: a lookahead limiter that holds a 4x estimate of the
3
+ * true peak at a ceiling in dBTP; full-band noise can end up to 1.7 dB over.
4
+ */
5
+ const TRUE_PEAK_OVERSAMPLE = 4;
6
+ /** Group delay of the interpolator, in input samples. */
7
+ const TRUE_PEAK_DETECTOR_DELAY = 16;
8
+ const KERNEL_HALF = TRUE_PEAK_OVERSAMPLE * TRUE_PEAK_DETECTOR_DELAY;
9
+ /** Taps per polyphase branch: the longest branch of a 2 * KERNEL_HALF + 1 kernel. */
10
+ const BRANCH_TAPS = 2 * TRUE_PEAK_DETECTOR_DELAY + 1;
11
+ function truePeakLookaheadSamples(lookaheadMs, sampleRate) {
12
+ return Math.max(1, Math.round((lookaheadMs * sampleRate) / 1000));
13
+ }
14
+ /** Samples between a sample entering the limiter and leaving it. */
15
+ export function truePeakLatencySamples(lookaheadMs, sampleRate) {
16
+ return truePeakLookaheadSamples(lookaheadMs, sampleRate) + TRUE_PEAK_DETECTOR_DELAY;
17
+ }
18
+ export const TRUE_PEAK_WORKLET_SOURCE = `
19
+ const TP_OS = ${TRUE_PEAK_OVERSAMPLE};
20
+ const TP_HALF = ${KERNEL_HALF};
21
+ const TP_BRANCH = ${BRANCH_TAPS};
22
+ const TP_DELAY = ${TRUE_PEAK_DETECTOR_DELAY};
23
+
24
+ function besselI0(x) {
25
+ let sum = 1, term = 1;
26
+ for (let k = 1; k < 40; k++) {
27
+ term *= (x / (2 * k)) * (x / (2 * k));
28
+ sum += term;
29
+ }
30
+ return sum;
31
+ }
32
+
33
+ /** Kaiser-windowed sinc, one array per polyphase branch, newest tap first. */
34
+ function tpBranches() {
35
+ const beta = 6;
36
+ const norm = besselI0(beta);
37
+ const branches = [];
38
+ for (let p = 0; p < TP_OS; p++) {
39
+ const taps = new Float64Array(TP_BRANCH);
40
+ let sum = 0;
41
+ for (let j = 0; j < TP_BRANCH; j++) {
42
+ const k = p + TP_OS * j;
43
+ if (k > 2 * TP_HALF) continue;
44
+ const t = (k - TP_HALF) / TP_OS;
45
+ const sinc = t === 0 ? 1 : Math.sin(Math.PI * t) / (Math.PI * t);
46
+ const r = (k - TP_HALF) / TP_HALF;
47
+ taps[j] = sinc * (besselI0(beta * Math.sqrt(Math.max(0, 1 - r * r))) / norm);
48
+ sum += taps[j];
49
+ }
50
+ // Unity gain at DC on every branch, so a steady level reads as itself.
51
+ for (let j = 0; j < TP_BRANCH; j++) taps[j] /= sum;
52
+ branches.push(taps);
53
+ }
54
+ return branches;
55
+ }
56
+
57
+ class HfTruePeak extends AudioWorkletProcessor {
58
+ constructor(o) {
59
+ super();
60
+ this.p = o.processorOptions || {};
61
+ this.look = Math.max(1, Math.round((this.p.lookahead ?? 3) * sampleRate / 1000));
62
+ this.delayLen = this.look + TP_DELAY;
63
+ this.branches = tpBranches();
64
+ this.setLevels();
65
+ this.clear();
66
+ this.port.onmessage = (e) => {
67
+ if (e.data && e.data.__hfDispose) { this.dead = true; return; }
68
+ if (e.data && e.data.__hfReset) { this.clear(); return; }
69
+ this.p = { ...this.p, ...e.data };
70
+ this.setLevels();
71
+ };
72
+ }
73
+ /** Back to the state of a fresh processor: no audio in the delay line, no gain reduction. */
74
+ clear() {
75
+ this.ch = [];
76
+ this.rel = 1;
77
+ this.dqIdx = new Int32Array(this.look + 2);
78
+ this.dqVal = new Float64Array(this.look + 2);
79
+ this.dqHead = 0;
80
+ this.dqTail = 0;
81
+ this.t = 0;
82
+ this.avgRing = new Float64Array(this.look + 1).fill(1);
83
+ this.avgPos = 0;
84
+ this.avgSum = this.look + 1;
85
+ }
86
+ setLevels() {
87
+ this.ceiling = Math.pow(10, (this.p.ceiling ?? -1) / 20);
88
+ this.relCoef = 1 - Math.exp(-1 / (sampleRate * Math.max(1e-4, (this.p.release ?? 80) / 1000)));
89
+ }
90
+ channel(c) {
91
+ if (!this.ch[c]) {
92
+ this.ch[c] = {
93
+ delay: new Float32Array(this.delayLen),
94
+ w: 0,
95
+ hist: new Float32Array(TP_BRANCH * 2),
96
+ pos: 0,
97
+ };
98
+ }
99
+ return this.ch[c];
100
+ }
101
+ /** Largest interpolated magnitude across channels for the newest sample. */
102
+ peak(chans, inputs, n) {
103
+ let peak = 0;
104
+ for (let c = 0; c < chans; c++) {
105
+ const s = this.channel(c);
106
+ const x = inputs[c][n];
107
+ s.pos = (s.pos + 1) % TP_BRANCH;
108
+ s.hist[s.pos] = x;
109
+ s.hist[s.pos + TP_BRANCH] = x;
110
+ const base = s.pos + TP_BRANCH;
111
+ for (let p = 0; p < TP_OS; p++) {
112
+ const taps = this.branches[p];
113
+ let acc = 0;
114
+ for (let j = 0; j < TP_BRANCH; j++) acc += taps[j] * s.hist[base - j];
115
+ const a = acc < 0 ? -acc : acc;
116
+ if (a > peak) peak = a;
117
+ }
118
+ }
119
+ return peak;
120
+ }
121
+ /** Windowed minimum of the required gain over the last look + 1 values. */
122
+ windowMin(v) {
123
+ const cap = this.dqIdx.length;
124
+ while (this.dqTail !== this.dqHead && this.dqVal[(this.dqTail + cap - 1) % cap] >= v) {
125
+ this.dqTail = (this.dqTail + cap - 1) % cap;
126
+ }
127
+ this.dqIdx[this.dqTail] = this.t;
128
+ this.dqVal[this.dqTail] = v;
129
+ this.dqTail = (this.dqTail + 1) % cap;
130
+ while (this.dqIdx[this.dqHead] <= this.t - (this.look + 1)) {
131
+ this.dqHead = (this.dqHead + 1) % cap;
132
+ }
133
+ this.t++;
134
+ return this.dqVal[this.dqHead];
135
+ }
136
+ process(inputs, outputs) {
137
+ if (this.dead) return false;
138
+ const i = inputs[0], o = outputs[0];
139
+ if (!i || !i.length) return true;
140
+ const chans = i.length;
141
+ const frames = i[0].length;
142
+ for (let n = 0; n < frames; n++) {
143
+ const peak = this.peak(chans, i, n);
144
+ const need = peak > this.ceiling ? this.ceiling / peak : 1;
145
+ const m = this.windowMin(need);
146
+ this.avgSum += m - this.avgRing[this.avgPos];
147
+ this.avgRing[this.avgPos] = m;
148
+ this.avgPos = (this.avgPos + 1) % this.avgRing.length;
149
+ const target = Math.min(1, this.avgSum / this.avgRing.length);
150
+ const released = this.rel + (1 - this.rel) * this.relCoef;
151
+ this.rel = released < target ? released : target;
152
+ if (target >= 1 && this.rel > 0.9999999) this.rel = 1;
153
+ for (let c = 0; c < chans; c++) {
154
+ const s = this.channel(c);
155
+ o[c][n] = s.delay[s.w] * this.rel;
156
+ s.delay[s.w] = i[c][n];
157
+ s.w = (s.w + 1) % this.delayLen;
158
+ }
159
+ }
160
+ return true;
161
+ }
162
+ }
163
+ registerProcessor("hf-truepeak", HfTruePeak);
164
+ `;
@@ -5,4 +5,3 @@ export declare function audioFxWorkletsReady(ctx: BaseAudioContext): boolean;
5
5
  * addModule throws if the same processor name is registered twice.
6
6
  */
7
7
  export declare function ensureAudioFxWorklets(ctx: BaseAudioContext): Promise<void>;
8
- //# sourceMappingURL=audioFxWorklets.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { TRUE_PEAK_WORKLET_SOURCE } from "./audioFxTruePeak.js";
1
2
  /**
2
3
  * AudioWorklet processors for the effects Web Audio has no native node for.
3
4
  *
@@ -18,7 +19,7 @@ const dbToLin = (db) => Math.pow(10, db / 20);
18
19
  * Per channel matters: the followers advance once per sample, so a single shared
19
20
  * follower stepped once per channel per sample. On stereo that ran a 20 ms attack
20
21
  * as 10 ms, and gave the right channel a gain computed from an envelope that had
21
- * already traversed the left — so the two channels ducked by different amounts
22
+ * already traversed the left, so the two channels ducked by different amounts
22
23
  * from the same input and the image pumped.
23
24
  */
24
25
  class EnvBank {
@@ -230,7 +231,7 @@ function readTap(ring, write, delaySamples) {
230
231
  return ring[i0] * (1 - frac) + ring[i1] * frac;
231
232
  }
232
233
 
233
- /** Equal-power-ish crossfade, zero at a tap's reset point — hides the splice. */
234
+ /** Equal-power-ish crossfade, zero at a tap's reset point, which hides the splice. */
234
235
  function xfade(phase) {
235
236
  return Math.sin(Math.PI * phase);
236
237
  }
@@ -242,7 +243,7 @@ function xfade(phase) {
242
243
  * out, which hides the splice each tap makes when it wraps.
243
244
  *
244
245
  * write/phase are block-level state, advanced once per SAMPLE across all
245
- * channels together (not once per channel) — advancing them inside the
246
+ * channels together (not once per channel). Advancing them inside the
246
247
  * per-channel loop would move the tap 2x/4x too fast on a stereo/quad input.
247
248
  */
248
249
  class HfPitchshift extends AudioWorkletProcessor {
@@ -255,13 +256,13 @@ class HfPitchshift extends AudioWorkletProcessor {
255
256
  this.phase = 0;
256
257
  // Samples written so far, capped at one grain. The taps read up to a grain
257
258
  // behind the write head, so until this fills they would read the ring's
258
- // zeros — the head of every clip came out attenuated or silent.
259
+ // zeros, so the head of every clip came out attenuated or silent.
259
260
  this.filled = 0;
260
261
  // How much of the wet (pitch-shifted) path is currently in the output, and
261
262
  // where it is heading. Crossing between dry and wet is a ~50 ms jump in the
262
263
  // signal, so it is RAMPED rather than switched: a hard swap either way is a
263
264
  // click. Ramping in both directions is also what lets a node return to true
264
- // bypass at semitones 0 — a one-way latch left preview stuck with the delay
265
+ // bypass at semitones 0. A one-way latch left preview stuck with the delay
265
266
  // that the render, building a fresh node from the attribute, does not have.
266
267
  this.wet = 0;
267
268
  this.wetTarget = 0;
@@ -289,7 +290,7 @@ class HfPitchshift extends AudioWorkletProcessor {
289
290
 
290
291
  // Nothing to shift, or mixed fully out. The grain delay is ~grain/2
291
292
  // whatever the ratio, so at semitones=0 this degenerated into a pure 50 ms
292
- // delay of the signal — while the copy for that exact setting reads
293
+ // delay of the signal, while the copy for that exact setting reads
293
294
  // "Unchanged pitch".
294
295
  this.wetTarget = semitones === 0 ? 0 : mix;
295
296
 
@@ -345,7 +346,7 @@ class HfPitchshift extends AudioWorkletProcessor {
345
346
  }
346
347
  }
347
348
  registerProcessor("hf-pitchshift", HfPitchshift);
348
- `;
349
+ ` + TRUE_PEAK_WORKLET_SOURCE;
349
350
  // Registration is per context, not per module: a processor registered on one
350
351
  // AudioContext does not exist on another, so caching a single promise made
351
352
  // every context after the first believe it was ready when it was not.
@@ -364,7 +365,7 @@ export function ensureAudioFxWorklets(ctx) {
364
365
  if (!modulePromise) {
365
366
  modulePromise = (async () => {
366
367
  if (!ctx.audioWorklet) {
367
- throw new Error("AudioWorklet is unavailable — the page needs a secure context (https, localhost or file://)");
368
+ throw new Error("AudioWorklet is unavailable: the page needs a secure context (https, localhost or file://)");
368
369
  }
369
370
  // A data: URL rather than a blob:, because a blob inherits the page origin
370
371
  // and is treated as opaque on a file:// page, where the module then fails
@@ -386,4 +387,3 @@ export function ensureAudioFxWorklets(ctx) {
386
387
  }
387
388
  return modulePromise;
388
389
  }
389
- //# sourceMappingURL=audioFxWorklets.js.map
@@ -200,4 +200,3 @@ export declare function isConstantLane(lane: HfAutomationLane): boolean;
200
200
  * volume envelope, and the lane's own drawing code.
201
201
  */
202
202
  export declare function sampleAutomationCurve(lane: HfAutomationLane, from: number, to: number, count: number, scale?: "linear" | "log"): Float32Array;
203
- //# sourceMappingURL=audioAutomation.d.ts.map
@@ -512,4 +512,3 @@ export function sampleAutomationCurve(lane, from, to, count, scale = "linear") {
512
512
  }
513
513
  return out;
514
514
  }
515
- //# sourceMappingURL=audioAutomation.js.map
@@ -240,4 +240,3 @@ export declare function analyseCarveDuck(voice: Float32Array, bed: Float32Array,
240
240
  }[];
241
241
  /** Carve bands as an ordinary FX chain of peaking filters. */
242
242
  export declare function carveBandsToChain(bands: HfCarveBand[]): HfAudioFxChain;
243
- //# sourceMappingURL=audioCarve.d.ts.map
@@ -638,4 +638,3 @@ export function carveBandsToChain(bands) {
638
638
  }));
639
639
  return { version: HF_AUDIO_FX_CHAIN_VERSION, nodes };
640
640
  }
641
- //# sourceMappingURL=audioCarve.js.map
@@ -21,4 +21,3 @@ export declare function clampFadesToDuration(fades: AudioFades, duration: number
21
21
  export declare function fadeGain(elapsed: number, duration: number, fades: AudioFades): number;
22
22
  /** Attribute text Studio writes: up to 2 decimals, no trailing zeros. */
23
23
  export declare function formatFadeSeconds(seconds: number): string;
24
- //# sourceMappingURL=audioFade.d.ts.map
package/dist/audioFade.js CHANGED
@@ -53,4 +53,3 @@ function clamp01(value) {
53
53
  return 0;
54
54
  return value > 1 ? 1 : value;
55
55
  }
56
- //# sourceMappingURL=audioFade.js.map
package/dist/audioFx.d.ts CHANGED
@@ -179,4 +179,3 @@ export declare function serializeAudioFxChain(chain: HfAudioFxChain): string;
179
179
  * compositions require.
180
180
  */
181
181
  export declare function mintAudioFxNodeId(chain: HfAudioFxChain): string;
182
- //# sourceMappingURL=audioFx.d.ts.map
package/dist/audioFx.js CHANGED
@@ -37,7 +37,7 @@ const freq = (key = "frequency", label = "Frequency", def = 1000, min = 20, max
37
37
  scale: "log",
38
38
  automatable: true,
39
39
  });
40
- const qParam = (def = 0.707, hint = "Bandwidth — higher is narrower.") => ({
40
+ const qParam = (def = 0.707, hint = "Bandwidth: higher is narrower.") => ({
41
41
  kind: "number",
42
42
  key: "q",
43
43
  label: "Q",
@@ -118,7 +118,7 @@ export const HF_AUDIO_FX = [
118
118
  id: "highpass",
119
119
  label: "High-pass",
120
120
  group: "filter",
121
- description: "Remove low frequencies — the usual fix for rumble on a voice.",
121
+ description: "Remove low frequencies: the usual fix for rumble on a voice.",
122
122
  params: [freq("frequency", "Cutoff", 300, 20, 20000), qParam(0.707), poles],
123
123
  web: "biquad-highpass",
124
124
  },
@@ -126,7 +126,7 @@ export const HF_AUDIO_FX = [
126
126
  id: "lowpass",
127
127
  label: "Low-pass",
128
128
  group: "filter",
129
- description: "Remove high frequencies — darkens or muffles a track.",
129
+ description: "Remove high frequencies, which darkens or muffles a track.",
130
130
  params: [freq("frequency", "Cutoff", 8000, 100, 20000), qParam(0.707), poles],
131
131
  web: "biquad-lowpass",
132
132
  },
@@ -218,7 +218,7 @@ export const HF_AUDIO_FX = [
218
218
  id: "limiter",
219
219
  label: "Limiter",
220
220
  group: "dynamics",
221
- description: "Hard ceiling — nothing gets past the limit.",
221
+ description: "Hard ceiling: nothing gets past the limit.",
222
222
  params: [
223
223
  {
224
224
  kind: "number",
@@ -264,6 +264,48 @@ export const HF_AUDIO_FX = [
264
264
  ],
265
265
  web: "worklet-limiter",
266
266
  },
267
+ {
268
+ id: "truepeak",
269
+ label: "True-peak limiter",
270
+ group: "dynamics",
271
+ description: "Lookahead limiter that holds a 4x estimate of the inter-sample peak at a dBTP ceiling; full-band noise can land up to about 1.7 dB above it. Adds lookahead plus about 0.3 ms of latency.",
272
+ params: [
273
+ {
274
+ kind: "number",
275
+ key: "ceiling",
276
+ label: "Ceiling",
277
+ unit: "dBTP",
278
+ min: -24,
279
+ max: 0,
280
+ step: 0.1,
281
+ default: -1,
282
+ hint: "Target true peak, measured on a 4x oversampled signal. Dense full-band sound can end up to about 1.7 dB above it.",
283
+ },
284
+ {
285
+ kind: "number",
286
+ key: "lookahead",
287
+ label: "Lookahead",
288
+ unit: "ms",
289
+ min: 0.5,
290
+ max: 10,
291
+ step: 0.1,
292
+ default: 3,
293
+ hint: "How far ahead the gain starts falling. Longer is smoother and adds the same latency.",
294
+ },
295
+ {
296
+ kind: "number",
297
+ key: "release",
298
+ label: "Release",
299
+ unit: "ms",
300
+ min: 10,
301
+ max: 2000,
302
+ step: 1,
303
+ default: 80,
304
+ scale: "log",
305
+ },
306
+ ],
307
+ web: "worklet-truepeak",
308
+ },
267
309
  {
268
310
  id: "gate",
269
311
  label: "Noise Gate",
@@ -419,7 +461,7 @@ export const HF_AUDIO_FX = [
419
461
  max: 250,
420
462
  step: 1,
421
463
  default: 1,
422
- hint: "Repeats each sample N times — a crude downsample.",
464
+ hint: "Repeats each sample N times, a crude downsample.",
423
465
  },
424
466
  {
425
467
  kind: "number",
@@ -878,4 +920,3 @@ function withoutUndefined(obj) {
878
920
  }
879
921
  return obj;
880
922
  }
881
- //# sourceMappingURL=audioFx.js.map
@@ -86,4 +86,3 @@ export declare const PRESET_PROBLEM: Record<string, string>;
86
86
  type P = Record<string, unknown>;
87
87
  export declare const SUMMARY: Record<string, (p: P) => string>;
88
88
  export {};
89
- //# sourceMappingURL=audioFxCopy.d.ts.map