framefields 2.0.6 → 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-D6enPyAG.mjs → audio--hi7MiZt.mjs} +3 -3
- package/dist/{audio-D6enPyAG.mjs.map → audio--hi7MiZt.mjs.map} +1 -1
- package/dist/{dist-sHqWCB9M.mjs → dist-BQFap0wr.mjs} +9 -6
- package/dist/dist-BQFap0wr.mjs.map +1 -0
- package/dist/{dist-JkiL-qy7.mjs → dist-ZVlYkuR4.mjs} +6 -5
- package/dist/dist-ZVlYkuR4.mjs.map +1 -0
- package/dist/effects/index.mjs +22 -22
- package/dist/{effects-l0T61DPU.mjs → effects-axfL_C3a.mjs} +2 -2
- package/dist/{effects-l0T61DPU.mjs.map → effects-axfL_C3a.mjs.map} +1 -1
- package/dist/fonts/index.mjs +1 -1
- package/dist/{fonts-CuG-05-_.mjs → fonts-Cy26mbrO.mjs} +2 -2
- package/dist/{fonts-CuG-05-_.mjs.map → fonts-Cy26mbrO.mjs.map} +1 -1
- package/dist/index-Bi2nRZ_g.d.mts.map +1 -1
- package/dist/index.d.mts +59 -59
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +37 -37
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-CcooLR2s.mjs → preview-BUPB38Kk.mjs} +2 -2
- package/dist/{preview-CcooLR2s.mjs.map → preview-BUPB38Kk.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-45JOFIHE.mjs → chunk-5PPSCISJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-5NYKHIQN.mjs → chunk-BUWK5RJ4.mjs} +9 -9
- package/dist/preview-engine/{chunk-OZVCWK27.mjs → chunk-JNEVSC4I.mjs} +1 -1
- package/dist/preview-engine/{chunk-RJJRPL42.mjs → chunk-VWLR2AZR.mjs} +1 -1
- package/dist/preview-engine/{chunk-KNZU3Z2F.mjs → chunk-WQ7BFSKF.mjs} +1 -1
- package/dist/preview-engine/{chunk-YK4XHUP4.mjs → chunk-ZJFAGIOM.mjs} +6 -6
- package/dist/preview-engine/{chunk-EJTGJVUA.mjs → chunk-ZSIJB76A.mjs} +2 -2
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/{renderers-GYJTBVV2.mjs → renderers-27Q5X3U6.mjs} +1 -1
- package/dist/preview-engine/{renderers-R5WSHETG.mjs → renderers-MZBR3MSR.mjs} +1 -1
- package/dist/{program-DPFDbeL9.mjs → program-Jt07Tx1J.mjs} +2 -2
- package/dist/{program-DPFDbeL9.mjs.map → program-Jt07Tx1J.mjs.map} +1 -1
- package/dist/renderer/index.mjs +2 -2
- package/dist/{renderer-DVj8jfmO.mjs → renderer-0uccAKQe.mjs} +2 -2
- package/dist/{renderer-DVj8jfmO.mjs.map → renderer-0uccAKQe.mjs.map} +1 -1
- package/dist/renderer-1mNREW16.mjs +3 -0
- package/dist/renderer-4tKI3p9c.mjs +3 -0
- package/dist/renderer-B3XeKN-e.mjs +3 -0
- package/dist/{renderer-BXWu8aHU.mjs → renderer-B6Q5e9CU.mjs} +2 -2
- package/dist/{renderer-BXWu8aHU.mjs.map → renderer-B6Q5e9CU.mjs.map} +1 -1
- package/dist/renderer-B7_6SHd8.mjs +3 -0
- package/dist/renderer-BENF6Wts.mjs +3 -0
- package/dist/{renderer-Bl9C9lIo.mjs → renderer-BENX0vRC.mjs} +1 -1
- package/dist/{renderer-Cn-p1SyO.mjs → renderer-BPbNLPcz.mjs} +2 -2
- package/dist/{renderer-Cn-p1SyO.mjs.map → renderer-BPbNLPcz.mjs.map} +1 -1
- package/dist/renderer-BPiLdwI1.mjs +3 -0
- package/dist/{renderer-BpTwFaja.mjs → renderer-BQZniXw0.mjs} +2 -2
- package/dist/{renderer-BpTwFaja.mjs.map → renderer-BQZniXw0.mjs.map} +1 -1
- package/dist/{renderer-D3FsnptO.mjs → renderer-BTFPC3UJ.mjs} +1 -1
- package/dist/{renderer-BShK_xMJ.mjs → renderer-BdSHGzHj.mjs} +1 -1
- package/dist/renderer-BdyMrzUX.mjs +3 -0
- package/dist/renderer-BfpdekRn.mjs +3 -0
- package/dist/{renderer-CLWAbaCS.mjs → renderer-BjROyv5F.mjs} +2 -2
- package/dist/{renderer-CLWAbaCS.mjs.map → renderer-BjROyv5F.mjs.map} +1 -1
- package/dist/{renderer-C-F91lPu.mjs → renderer-BkOXe6o6.mjs} +2 -2
- package/dist/{renderer-C-F91lPu.mjs.map → renderer-BkOXe6o6.mjs.map} +1 -1
- package/dist/{renderer-B52Y2SDC.mjs → renderer-Bq3Geqe3.mjs} +1 -1
- package/dist/renderer-BtdnLjKZ.mjs +3 -0
- package/dist/{renderer-C5lJvf-h.mjs → renderer-Bu0xOP_v.mjs} +2 -2
- package/dist/{renderer-C5lJvf-h.mjs.map → renderer-Bu0xOP_v.mjs.map} +1 -1
- package/dist/{renderer-CM5c8a7B.mjs → renderer-Bv-ljXHc.mjs} +7 -7
- package/dist/{renderer-CM5c8a7B.mjs.map → renderer-Bv-ljXHc.mjs.map} +1 -1
- package/dist/{renderer-CsE9ztUa.mjs → renderer-C-Bv9nVB.mjs} +2 -2
- package/dist/{renderer-CsE9ztUa.mjs.map → renderer-C-Bv9nVB.mjs.map} +1 -1
- package/dist/renderer-C0q5UUY7.mjs +3 -0
- package/dist/{renderer-DvHpzsUV.mjs → renderer-C5RhNQdr.mjs} +2 -2
- package/dist/{renderer-DvHpzsUV.mjs.map → renderer-C5RhNQdr.mjs.map} +1 -1
- package/dist/{renderer-doPt4zQZ.mjs → renderer-CIMjMFGm.mjs} +2 -2
- package/dist/{renderer-doPt4zQZ.mjs.map → renderer-CIMjMFGm.mjs.map} +1 -1
- package/dist/{renderer-L72D1mwv.mjs → renderer-CIQYTiT9.mjs} +2 -2
- package/dist/{renderer-L72D1mwv.mjs.map → renderer-CIQYTiT9.mjs.map} +1 -1
- package/dist/{renderer-BhfFVqCx.mjs → renderer-CXJxK7HP.mjs} +2 -2
- package/dist/{renderer-BhfFVqCx.mjs.map → renderer-CXJxK7HP.mjs.map} +1 -1
- package/dist/{renderer-Dntxca07.mjs → renderer-CXZe0lfI.mjs} +2 -2
- package/dist/{renderer-Dntxca07.mjs.map → renderer-CXZe0lfI.mjs.map} +1 -1
- package/dist/{renderer-Cgy1H0Ql.mjs → renderer-CboM4tba.mjs} +2 -2
- package/dist/{renderer-Cgy1H0Ql.mjs.map → renderer-CboM4tba.mjs.map} +1 -1
- package/dist/{renderer-BbwOEawB.mjs → renderer-CceiI6P7.mjs} +2 -2
- package/dist/{renderer-BbwOEawB.mjs.map → renderer-CceiI6P7.mjs.map} +1 -1
- package/dist/renderer-Cg-rJgwM.mjs +3 -0
- package/dist/renderer-CkgQArsi.mjs +3 -0
- package/dist/{renderer--akPySto.mjs → renderer-CmIySXSN.mjs} +2 -2
- package/dist/{renderer--akPySto.mjs.map → renderer-CmIySXSN.mjs.map} +1 -1
- package/dist/renderer-CnO9KcmP.mjs +3 -0
- package/dist/renderer-Cnp5JCwi.mjs +3 -0
- package/dist/renderer-CwiCQzjW.mjs +4 -0
- package/dist/renderer-D2LCMZ0l.mjs +3 -0
- package/dist/{renderer-CLUPc9do.mjs → renderer-D49-PYDo.mjs} +2 -2
- package/dist/{renderer-CLUPc9do.mjs.map → renderer-D49-PYDo.mjs.map} +1 -1
- package/dist/{renderer-BNBh4omF.mjs → renderer-D5GsF1LT.mjs} +2 -2
- package/dist/{renderer-BNBh4omF.mjs.map → renderer-D5GsF1LT.mjs.map} +1 -1
- package/dist/{renderer-Bpf8EGY1.mjs → renderer-D5xelwpw.mjs} +2 -2
- package/dist/{renderer-Bpf8EGY1.mjs.map → renderer-D5xelwpw.mjs.map} +1 -1
- package/dist/renderer-DBGy4qIh.mjs +3 -0
- package/dist/renderer-DBRnvHBV.mjs +3 -0
- package/dist/{renderer-BHsEOp1I.mjs → renderer-DDd3cjaz.mjs} +2 -2
- package/dist/{renderer-BHsEOp1I.mjs.map → renderer-DDd3cjaz.mjs.map} +1 -1
- package/dist/{renderer-7v-ZNKEJ.mjs → renderer-DIfk6m2O.mjs} +2 -2
- package/dist/{renderer-7v-ZNKEJ.mjs.map → renderer-DIfk6m2O.mjs.map} +1 -1
- package/dist/renderer-DJgrcu3v.mjs +3 -0
- package/dist/{renderer-E5D4H5dK.mjs → renderer-DP-xNaYX.mjs} +2 -2
- package/dist/{renderer-E5D4H5dK.mjs.map → renderer-DP-xNaYX.mjs.map} +1 -1
- package/dist/{renderer-XRGwrdg8.mjs → renderer-DP948J9X.mjs} +2 -2
- package/dist/{renderer-XRGwrdg8.mjs.map → renderer-DP948J9X.mjs.map} +1 -1
- package/dist/renderer-DTpBOlDA.mjs +3 -0
- package/dist/{renderer-DnXQXk-8.mjs → renderer-DVQp5fLG.mjs} +2 -2
- package/dist/{renderer-DnXQXk-8.mjs.map → renderer-DVQp5fLG.mjs.map} +1 -1
- package/dist/renderer-DWwIX4Mr.mjs +3 -0
- package/dist/{renderer-BgrDGRNW.mjs → renderer-DXyaswab.mjs} +2 -2
- package/dist/{renderer-BgrDGRNW.mjs.map → renderer-DXyaswab.mjs.map} +1 -1
- package/dist/{renderer-0ty5QtXg.mjs → renderer-DbaSgadp.mjs} +2 -2
- package/dist/{renderer-0ty5QtXg.mjs.map → renderer-DbaSgadp.mjs.map} +1 -1
- package/dist/renderer-DfnacE0H.mjs +3 -0
- package/dist/{renderer-B1IXTeF2.mjs → renderer-Dgg6pQGI.mjs} +2 -2
- package/dist/{renderer-B1IXTeF2.mjs.map → renderer-Dgg6pQGI.mjs.map} +1 -1
- package/dist/{renderer-DJPuwTbS.mjs → renderer-DrgNyCSx.mjs} +2 -2
- package/dist/{renderer-DJPuwTbS.mjs.map → renderer-DrgNyCSx.mjs.map} +1 -1
- package/dist/{renderer-DM79djHG.mjs → renderer-DxBUppHf.mjs} +38 -38
- package/dist/{renderer-DM79djHG.mjs.map → renderer-DxBUppHf.mjs.map} +1 -1
- package/dist/renderer-RA8pee2T.mjs +3 -0
- package/dist/{renderer-BV_d3D_3.mjs → renderer-U0LJuM9D.mjs} +2 -2
- package/dist/{renderer-BV_d3D_3.mjs.map → renderer-U0LJuM9D.mjs.map} +1 -1
- package/dist/{renderer-BUJ6uaJE.mjs → renderer-VPK8JnSw.mjs} +2 -2
- package/dist/{renderer-BUJ6uaJE.mjs.map → renderer-VPK8JnSw.mjs.map} +1 -1
- package/dist/renderer-eH4u4-2c.mjs +3 -0
- package/dist/renderer-eWOqFUz9.mjs +3 -0
- package/dist/{renderer-CmMNU1-P.mjs → renderer-o4wOvjEC.mjs} +4 -4
- package/dist/{renderer-CmMNU1-P.mjs.map → renderer-o4wOvjEC.mjs.map} +1 -1
- package/dist/{renderer-DRf4FLSq.mjs → renderer-zwxwjWqa.mjs} +2 -2
- package/dist/{renderer-DRf4FLSq.mjs.map → renderer-zwxwjWqa.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-CAs5DgWj.mjs → renderers-CP8CFWDs-BQBjaV9O.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-CAs5DgWj.mjs.map → renderers-CP8CFWDs-BQBjaV9O.mjs.map} +1 -1
- package/dist/signals/index.mjs +4 -4
- package/package.json +54 -54
- package/dist/dist-JkiL-qy7.mjs.map +0 -1
- package/dist/dist-sHqWCB9M.mjs.map +0 -1
- package/dist/renderer-145WIXyW.mjs +0 -3
- package/dist/renderer-9W8q4Y8D.mjs +0 -3
- package/dist/renderer-B5HBViEG.mjs +0 -3
- package/dist/renderer-B7naoaVH.mjs +0 -3
- package/dist/renderer-BHYmRBem.mjs +0 -3
- package/dist/renderer-BL51bhvQ.mjs +0 -3
- package/dist/renderer-ByxrzTRg.mjs +0 -3
- package/dist/renderer-CDirzReW.mjs +0 -3
- package/dist/renderer-CGCmbeJ2.mjs +0 -3
- package/dist/renderer-CO0KsnEg.mjs +0 -3
- package/dist/renderer-COO44HDO.mjs +0 -3
- package/dist/renderer-C_9SIgZX.mjs +0 -3
- package/dist/renderer-CntaTaNq.mjs +0 -3
- package/dist/renderer-Cv9JLpL6.mjs +0 -3
- package/dist/renderer-D0FWIsWn.mjs +0 -3
- package/dist/renderer-D3jUYUDU.mjs +0 -3
- package/dist/renderer-D5Je-AeQ.mjs +0 -3
- package/dist/renderer-DNPwpmYS.mjs +0 -3
- package/dist/renderer-DawVsNLw.mjs +0 -3
- package/dist/renderer-Dl_6Kn87.mjs +0 -3
- package/dist/renderer-DlrJSfaw.mjs +0 -3
- package/dist/renderer-DpScOWGG.mjs +0 -4
- package/dist/renderer-DxYOA1MM.mjs +0 -3
- package/dist/renderer-S7jOr_jF.mjs +0 -3
- package/dist/renderer-kN2TeWks.mjs +0 -3
package/dist/audio/index.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { C as WebGPUAudioProcessor } from "../dist-
|
|
2
|
-
import { t as renderers_default$1 } from "../renderers-CP8CFWDs-
|
|
3
|
-
import { i as mixAudioTracks } from "../dist-
|
|
4
|
-
import { t as renderers_default$2 } from "../renderer-
|
|
5
|
-
import { t as renderers_default$3 } from "../renderer-
|
|
6
|
-
import { t as renderers_default } from "../renderer-
|
|
7
|
-
import { t as renderers_default$4 } from "../renderer-
|
|
8
|
-
import { t as renderers_default$5 } from "../renderer-
|
|
9
|
-
import { t as renderers_default$6 } from "../renderer-
|
|
1
|
+
import { C as WebGPUAudioProcessor } from "../dist-BQFap0wr.mjs";
|
|
2
|
+
import { t as renderers_default$1 } from "../renderers-CP8CFWDs-BQBjaV9O.mjs";
|
|
3
|
+
import { i as mixAudioTracks } from "../dist-ZVlYkuR4.mjs";
|
|
4
|
+
import { t as renderers_default$2 } from "../renderer-zwxwjWqa.mjs";
|
|
5
|
+
import { t as renderers_default$3 } from "../renderer-BjROyv5F.mjs";
|
|
6
|
+
import { t as renderers_default } from "../renderer-Bv-ljXHc.mjs";
|
|
7
|
+
import { t as renderers_default$4 } from "../renderer-DbaSgadp.mjs";
|
|
8
|
+
import { t as renderers_default$5 } from "../renderer-DrgNyCSx.mjs";
|
|
9
|
+
import { t as renderers_default$6 } from "../renderer-0uccAKQe.mjs";
|
|
10
10
|
import "../renderer-C2n-EHxg.mjs";
|
|
11
|
-
import { t as renderers_default$7 } from "../renderer-
|
|
11
|
+
import { t as renderers_default$7 } from "../renderer-BPbNLPcz.mjs";
|
|
12
12
|
import { i as softLimit, n as mixSfxInto, r as renderSfx, t as encodeStereoWav } from "../audio-TAvPwzLR.mjs";
|
|
13
13
|
|
|
14
14
|
export { WebGPUAudioProcessor, renderers_default as audioFadeRenderer, renderers_default$1 as audioSignalExtractorRenderer, renderers_default$2 as compressorRenderer, renderers_default$3 as delayRenderer, encodeStereoWav, mixAudioTracks, mixSfxInto, renderers_default$4 as noiseGateRenderer, renderers_default$5 as parametricEqRenderer, renderSfx, renderers_default$6 as reverbRenderer, softLimit, renderers_default$7 as stereoPanningRenderer };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _t as frameArraySignal } from "./dist-B9Afsv83.mjs";
|
|
2
|
-
import { F as ensureDevice, i as AudioSignalComputePipeline } from "./dist-
|
|
3
|
-
import { n as decodeAudioSource } from "./dist-
|
|
2
|
+
import { F as ensureDevice, i as AudioSignalComputePipeline } from "./dist-BQFap0wr.mjs";
|
|
3
|
+
import { n as decodeAudioSource } from "./dist-ZVlYkuR4.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/signals/audio.ts
|
|
6
6
|
const AudioSignal = {
|
|
@@ -82,4 +82,4 @@ const AudioSignal = {
|
|
|
82
82
|
|
|
83
83
|
//#endregion
|
|
84
84
|
export { AudioSignal as t };
|
|
85
|
-
//# sourceMappingURL=audio
|
|
85
|
+
//# sourceMappingURL=audio--hi7MiZt.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio
|
|
1
|
+
{"version":3,"file":"audio--hi7MiZt.mjs","names":[],"sources":["../src/signals/audio.ts"],"sourcesContent":["import { decodeAudioSource } from \"@framefields/compositions\";\nimport {\n\ttype FrameSignal,\n\tframeArraySignal,\n\ttype GPUTextureBinding,\n} from \"@framefields/core\";\nimport {\n\ttype AudioSignalComputeConfig,\n\tAudioSignalComputePipeline,\n\tensureDevice,\n} from \"@framefields/webgpu-renderers\";\n\nexport interface AudioSignalOptions extends AudioSignalComputeConfig {\n\tfps?: number;\n\ttargetWidth?: number;\n\tpreviewMode?: \"waveform\" | \"envelope\" | \"beat_markers\" | \"spectrum\";\n}\n\nexport interface ExtractedAudioSignalsBundle {\n\tprimary: FrameSignal<number>;\n\tbeat: FrameSignal<number>;\n\tbass: FrameSignal<number>;\n\tenergy: FrameSignal<number>;\n\tdurationSec: number;\n\tnumFrames: number;\n\tsampleRate: number;\n\ttextureView: unknown;\n\ttexture: unknown;\n\tprimaryBuffer: unknown;\n\tbeatBuffer: unknown;\n\tbassBuffer: unknown;\n\tenergyBuffer: unknown;\n\tseekFrame(frame: number): void;\n}\n\nexport const AudioSignal = {\n\tasync extractFromChannels(\n\t\tchannels: Float32Array[],\n\t\tsampleRate: number,\n\t\toptions: AudioSignalOptions = {},\n\t): Promise<ExtractedAudioSignalsBundle> {\n\t\tconst device = await ensureDevice();\n\t\tconst fps = options.fps ?? 24;\n\t\tconst targetWidth = options.targetWidth ?? 512;\n\n\t\tconst extracted = await AudioSignalComputePipeline.extractFeatures(\n\t\t\tdevice,\n\t\t\tchannels,\n\t\t\tsampleRate,\n\t\t\tfps,\n\t\t\toptions,\n\t\t\ttargetWidth,\n\t\t);\n\n\t\tconst samples = extracted.channelSamples ?? {\n\t\t\tprimary: new Float32Array(extracted.numFrames),\n\t\t\tbeat: new Float32Array(extracted.numFrames),\n\t\t\tbass: new Float32Array(extracted.numFrames),\n\t\t\tenergy: new Float32Array(extracted.numFrames),\n\t\t};\n\n\t\tconst primaryBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_primary\",\n\t\t\tchannel: \"primary\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.primaryBuffer,\n\t\t\tstats: extracted.stats.primary,\n\t\t};\n\t\tconst beatBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_beat\",\n\t\t\tchannel: \"beat\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.beatBuffer,\n\t\t\tstats: extracted.stats.beat,\n\t\t};\n\t\tconst bassBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_bass\",\n\t\t\tchannel: \"bass\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.bassBuffer,\n\t\t\tstats: extracted.stats.bass,\n\t\t};\n\t\tconst energyBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_energy\",\n\t\t\tchannel: \"energy\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.energyBuffer,\n\t\t\tstats: extracted.stats.energy,\n\t\t};\n\n\t\tconst primary = frameArraySignal(samples.primary, fps, primaryBinding);\n\t\tconst beat = frameArraySignal(samples.beat, fps, beatBinding);\n\t\tconst bass = frameArraySignal(samples.bass, fps, bassBinding);\n\t\tconst energy = frameArraySignal(samples.energy, fps, energyBinding);\n\n\t\treturn {\n\t\t\tprimary,\n\t\t\tbeat,\n\t\t\tbass,\n\t\t\tenergy,\n\t\t\tdurationSec: extracted.durationSec,\n\t\t\tnumFrames: extracted.numFrames,\n\t\t\tsampleRate,\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tprimaryBuffer: extracted.primaryBuffer,\n\t\t\tbeatBuffer: extracted.beatBuffer,\n\t\t\tbassBuffer: extracted.bassBuffer,\n\t\t\tenergyBuffer: extracted.energyBuffer,\n\t\t\tseekFrame(frame: number) {\n\t\t\t\tprimary.seekFrame?.(frame);\n\t\t\t\tbeat.seekFrame?.(frame);\n\t\t\t\tbass.seekFrame?.(frame);\n\t\t\t\tenergy.seekFrame?.(frame);\n\t\t\t},\n\t\t};\n\t},\n\n\tasync extract(\n\t\tsource: string,\n\t\toptions: AudioSignalOptions = {},\n\t): Promise<ExtractedAudioSignalsBundle> {\n\t\tconst decoded = await decodeAudioSource(source);\n\t\tif (!decoded || decoded.channels.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to decode audio source for feature extraction: ${source}`,\n\t\t\t);\n\t\t}\n\t\treturn AudioSignal.extractFromChannels(\n\t\t\tdecoded.channels,\n\t\t\tdecoded.sampleRate,\n\t\t\toptions,\n\t\t);\n\t},\n};\n"],"mappings":";;;;;AAmCA,MAAa,cAAc;CAC1B,MAAM,oBACL,UACA,YACA,UAA8B,EAAE,EACO;EACvC,MAAM,SAAS,MAAM,cAAc;EACnC,MAAM,MAAM,QAAQ,OAAO;EAC3B,MAAM,cAAc,QAAQ,eAAe;EAE3C,MAAM,YAAY,MAAM,2BAA2B,gBAClD,QACA,UACA,YACA,KACA,SACA,YACA;EAED,MAAM,UAAU,UAAU,kBAAkB;GAC3C,SAAS,IAAI,aAAa,UAAU,UAAU;GAC9C,MAAM,IAAI,aAAa,UAAU,UAAU;GAC3C,MAAM,IAAI,aAAa,UAAU,UAAU;GAC3C,QAAQ,IAAI,aAAa,UAAU,UAAU;GAC7C;EAED,MAAM,iBAAoC;GACzC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,cAAiC;GACtC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,cAAiC;GACtC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,gBAAmC;GACxC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EAED,MAAM,UAAU,iBAAiB,QAAQ,SAAS,KAAK,eAAe;EACtE,MAAM,OAAO,iBAAiB,QAAQ,MAAM,KAAK,YAAY;EAC7D,MAAM,OAAO,iBAAiB,QAAQ,MAAM,KAAK,YAAY;EAC7D,MAAM,SAAS,iBAAiB,QAAQ,QAAQ,KAAK,cAAc;AAEnE,SAAO;GACN;GACA;GACA;GACA;GACA,aAAa,UAAU;GACvB,WAAW,UAAU;GACrB;GACA,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,eAAe,UAAU;GACzB,YAAY,UAAU;GACtB,YAAY,UAAU;GACtB,cAAc,UAAU;GACxB,UAAU,OAAe;AACxB,YAAQ,YAAY,MAAM;AAC1B,SAAK,YAAY,MAAM;AACvB,SAAK,YAAY,MAAM;AACvB,WAAO,YAAY,MAAM;;GAE1B;;CAGF,MAAM,QACL,QACA,UAA8B,EAAE,EACO;EACvC,MAAM,UAAU,MAAM,kBAAkB,OAAO;AAC/C,MAAI,CAAC,WAAW,QAAQ,SAAS,WAAW,EAC3C,OAAM,IAAI,MACT,yDAAyD,SACzD;AAEF,SAAO,YAAY,oBAClB,QAAQ,UACR,QAAQ,YACR,QACA;;CAEF"}
|
|
@@ -6789,7 +6789,8 @@ var SlugGeometry = class SlugGeometry$1 {
|
|
|
6789
6789
|
}
|
|
6790
6790
|
currentLineWidth += tokenWidth;
|
|
6791
6791
|
} else {
|
|
6792
|
-
|
|
6792
|
+
const tokenVisualWidth = tokenGlyphs.length > 0 && letterSpacing > 0 ? tokenWidth - letterSpacing : tokenWidth;
|
|
6793
|
+
if (currentLineWidth > 0 && currentLineWidth + tokenVisualWidth > maxWidth) {
|
|
6793
6794
|
lines.push({
|
|
6794
6795
|
glyphs: currentLineGlyphs,
|
|
6795
6796
|
width: currentLineWidth
|
|
@@ -6917,10 +6918,9 @@ var SlugGeometry = class SlugGeometry$1 {
|
|
|
6917
6918
|
if (emojiRight > (lineWidths.get(emoji$1.lineIndex) ?? 0)) lineWidths.set(emoji$1.lineIndex, emojiRight);
|
|
6918
6919
|
}
|
|
6919
6920
|
for (const w of lineWidths.values()) if (w > contentWidth) contentWidth = w;
|
|
6920
|
-
if (letterSpacing > 0) contentWidth += letterSpacing;
|
|
6921
6921
|
return {
|
|
6922
|
-
width: Math.ceil(contentWidth)
|
|
6923
|
-
height: Math.ceil(layout.totalHeight)
|
|
6922
|
+
width: Math.ceil(contentWidth),
|
|
6923
|
+
height: Math.ceil(layout.totalHeight),
|
|
6924
6924
|
layout
|
|
6925
6925
|
};
|
|
6926
6926
|
}
|
|
@@ -7057,7 +7057,10 @@ var SlugGeometry = class SlugGeometry$1 {
|
|
|
7057
7057
|
currentLineWidth += g$1.advance + g$1.letterSpacing;
|
|
7058
7058
|
}
|
|
7059
7059
|
} else {
|
|
7060
|
-
|
|
7060
|
+
const lastG = token.glyphs[token.glyphs.length - 1];
|
|
7061
|
+
const trailingLs = lastG && lastG.letterSpacing > 0 ? lastG.letterSpacing : 0;
|
|
7062
|
+
const tokenVisualWidth = token.width - trailingLs;
|
|
7063
|
+
if (currentLineWidth > 0 && currentLineWidth + tokenVisualWidth > maxWidth) {
|
|
7061
7064
|
lines.push({
|
|
7062
7065
|
glyphs: currentLineGlyphs,
|
|
7063
7066
|
width: currentLineWidth
|
|
@@ -27578,4 +27581,4 @@ var ScreenSpaceRelightPipeline = class {
|
|
|
27578
27581
|
|
|
27579
27582
|
//#endregion
|
|
27580
27583
|
export { registerHeadlessFont as $, drawLottieNode as A, inputStore as B, WebGPUAudioProcessor as C, drawCaptionNode as D, colorMatrixWgsl as E, ensureDevice as F, lutStore as G, loadFBX as H, generateExtrudedTextGeometry as I, parseColor as J, measureMaxCaptionHeight as K, getHeadlessFontPath as L, drawSignalNode as M, drawSvgNode as N, drawGifNode as O, drawVideoNode as P, poseNodes as Q, getRenderer2D as R, Vector3Math as S, clearAllVideoCache as T, loadModel3D as U, jointMatrices as V, loadOBJ as W, parseMTL as X, parseFBX as Y, parseOBJ as Z, ShadowPipeline as _, Camera3D as a, getEnv as at, SlugGeometry as b, Light3D as c, NodeSurfaceProvider as d, shaderStore as et, Path3D as f, ScreenSpaceRelightPipeline as g, SSAOPipeline as h, AudioSignalComputePipeline as i, GetFontAssetUrl as it, drawParagraphNode as j, drawImageNode as k, Matrix4Math as l, Renderer3D as m, AudioLatentTrackCache as n, srtLoader as nt, EffectPipeline as o, resolveMediaSourceUrl as ot, Renderer2D as p, mediaDecoderCache as q, AudioMeshDeformPipeline as r, textureCache as rt, GlassPipeline as s, AudioLatentEngine as t, signalRegistry as tt, MotionBlurPipeline as u, SignalRegistry as v, buildWGSLSignalFn as w, SlugPipeline as x, SlugFontCache as y, initHeadlessWebGPU as z };
|
|
27581
|
-
//# sourceMappingURL=dist-
|
|
27584
|
+
//# sourceMappingURL=dist-BQFap0wr.mjs.map
|