@hyperframes/studio 0.8.18 → 0.8.19
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/assets/{hyperframes-player-DzRNJZAz.js → hyperframes-player-BA-QO9CQ.js} +1 -1
- package/dist/assets/{index-F-PUkOVc.js → index-Bjd2hioj.js} +93 -93
- package/dist/assets/{index-B4qse6wy.js → index-Dd0fsIIL.js} +1 -1
- package/dist/assets/{index-SGl0bb71.js → index-DxccOrkZ.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/index.js +5 -13
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/App.tsx +1 -1
- package/src/components/renders/RenderQueuePanel.tsx +3 -10
- package/src/components/renders/renderQueueTestHarness.tsx +27 -1
- package/src/components/renders/useRenderQueue.ts +20 -4
- package/src/components/renders/useRenderQueueComposition.test.tsx +55 -0
- package/src/components/renders/useRenderQueueTelemetry.test.tsx +6 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as P}from"./index-
|
|
1
|
+
import{g as P}from"./index-Bjd2hioj.js";function j(c,d){for(var s=0;s<d.length;s++){const a=d[s];if(typeof a!="string"&&!Array.isArray(a)){for(const i in a)if(i!=="default"&&!(i in c)){const l=Object.getOwnPropertyDescriptor(a,i);l&&Object.defineProperty(c,i,l.get?l:{enumerable:!0,get:()=>a[i]})}}}return Object.freeze(Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}))}var v={},w;function k(){if(w)return v;w=1,Object.defineProperty(v,"__esModule",{value:!0}),v.default=d;var c=window.OfflineAudioContext||window.webkitOfflineAudioContext;function d(e){var r=a(e);return r.start(0),[i,y,O(e.sampleRate),s].reduce(function(t,o){return o(t)},r.buffer.getChannelData(0))}function s(e){return e.sort(function(r,t){return t.count-r.count}).splice(0,5)[0].tempo}function a(e){var r=e.length,t=e.numberOfChannels,o=e.sampleRate,n=new c(t,r,o),u=n.createBufferSource();u.buffer=e;var f=n.createBiquadFilter();return f.type="lowpass",u.connect(f),f.connect(n.destination),u}function i(e){for(var r=[],t=.9,o=.3,n=15;r.length<n&&t>=o;)r=l(e,t),t-=.05;if(r.length<n)throw new Error("Could not find enough samples for a reliable detection.");return r}function l(e,r){for(var t=[],o=0,n=e.length;o<n;o+=1)e[o]>r&&(t.push(o),o+=1e4);return t}function y(e){var r=[];return e.forEach(function(t,o){for(var n=function(x){var g=e[o+x]-t,_=r.some(function(h){if(h.interval===g)return h.count+=1});_||r.push({interval:g,count:1})},u=0;u<10;u+=1)n(u)}),r}function O(e){return function(r){var t=[];return r.forEach(function(o){if(o.interval!==0){for(var n=60/(o.interval/e);n<90;)n*=2;for(;n>180;)n/=2;n=Math.round(n);var u=t.some(function(f){if(f.tempo===n)return f.count+=o.count});u||t.push({tempo:n,count:o.count})}}),t}}return v}var p,b;function q(){return b||(b=1,p=k().default),p}var m=q();const A=P(m),D=j({__proto__:null,default:A},[m]);export{D as i};
|
package/dist/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
7
7
|
<title>HyperFrames Studio</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-Bjd2hioj.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-yGhfxxoL.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/dist/index.js
CHANGED
|
@@ -60693,7 +60693,7 @@ function writeHiddenIds(projectId, ids) {
|
|
|
60693
60693
|
} catch {
|
|
60694
60694
|
}
|
|
60695
60695
|
}
|
|
60696
|
-
function useRenderQueue(projectId) {
|
|
60696
|
+
function useRenderQueue(projectId, activeCompPathRef) {
|
|
60697
60697
|
const [jobs, setJobs] = useState94([]);
|
|
60698
60698
|
const [loadError, setLoadError] = useState94(null);
|
|
60699
60699
|
const [actionError, setActionError] = useState94(null);
|
|
@@ -60769,7 +60769,7 @@ function useRenderQueue(projectId) {
|
|
|
60769
60769
|
const quality = opts.quality ?? "standard";
|
|
60770
60770
|
const format = opts.format ?? "mp4";
|
|
60771
60771
|
const resolution = opts.resolution;
|
|
60772
|
-
const composition = opts.composition;
|
|
60772
|
+
const composition = opts.composition ?? activeCompPathRef.current ?? void 0;
|
|
60773
60773
|
trackStudioRenderStart({
|
|
60774
60774
|
fps,
|
|
60775
60775
|
quality,
|
|
@@ -60884,7 +60884,7 @@ function useRenderQueue(projectId) {
|
|
|
60884
60884
|
};
|
|
60885
60885
|
return jobId;
|
|
60886
60886
|
},
|
|
60887
|
-
[projectId, closeActiveEventSource, addSessionJob, ffmpeg, ffmpegMissing]
|
|
60887
|
+
[projectId, activeCompPathRef, closeActiveEventSource, addSessionJob, ffmpeg, ffmpegMissing]
|
|
60888
60888
|
);
|
|
60889
60889
|
const cancelRender = useCallback80(
|
|
60890
60890
|
async (jobId) => {
|
|
@@ -81852,13 +81852,7 @@ var RenderQueue = memo49(function RenderQueue2({
|
|
|
81852
81852
|
// src/components/renders/RenderQueuePanel.tsx
|
|
81853
81853
|
import { jsx as jsx194 } from "react/jsx-runtime";
|
|
81854
81854
|
var RenderQueuePanel = memo50(function RenderQueuePanel2() {
|
|
81855
|
-
const {
|
|
81856
|
-
projectId,
|
|
81857
|
-
activeCompPath,
|
|
81858
|
-
compositionDimensions,
|
|
81859
|
-
waitForPendingDomEditSaves,
|
|
81860
|
-
renderQueue
|
|
81861
|
-
} = useStudioShellContext();
|
|
81855
|
+
const { projectId, compositionDimensions, waitForPendingDomEditSaves, renderQueue } = useStudioShellContext();
|
|
81862
81856
|
return /* @__PURE__ */ jsx194(
|
|
81863
81857
|
RenderQueue,
|
|
81864
81858
|
{
|
|
@@ -81876,13 +81870,11 @@ var RenderQueuePanel = memo50(function RenderQueuePanel2() {
|
|
|
81876
81870
|
onRecheckFfmpeg: renderQueue.recheckFfmpeg,
|
|
81877
81871
|
onStartRender: async (format, quality, resolution, fps) => {
|
|
81878
81872
|
await waitForPendingDomEditSaves();
|
|
81879
|
-
const composition = activeCompPath && activeCompPath !== "index.html" ? activeCompPath : void 0;
|
|
81880
81873
|
await renderQueue.startRender({
|
|
81881
81874
|
fps,
|
|
81882
81875
|
quality,
|
|
81883
81876
|
format,
|
|
81884
81877
|
resolution,
|
|
81885
|
-
composition,
|
|
81886
81878
|
// Render what the user is previewing: active variable overrides
|
|
81887
81879
|
// from the Variables panel ride along (undefined = defaults).
|
|
81888
81880
|
variables: usePreviewVariablesStore.getState().values ?? void 0
|
|
@@ -87215,7 +87207,7 @@ function StudioApp() {
|
|
|
87215
87207
|
const activeCompPathRef = useRef170(activeCompPath);
|
|
87216
87208
|
activeCompPathRef.current = activeCompPath;
|
|
87217
87209
|
const leftSidebarRef = useRef170(null);
|
|
87218
|
-
const renderQueue = useRenderQueue(projectId);
|
|
87210
|
+
const renderQueue = useRenderQueue(projectId, activeCompPathRef);
|
|
87219
87211
|
const captionEditMode = useCaptionStore((s) => s.isEditMode);
|
|
87220
87212
|
const captionHasSelection = useCaptionStore((s) => s.selectedSegmentIds.size > 0);
|
|
87221
87213
|
const captionSync = useCaptionSync(projectId);
|