@hyperframes/studio 0.8.34 → 0.8.36
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-D4aSRr_M.js → hyperframes-player-BIpJmC69.js} +1 -1
- package/dist/assets/index-BmPeyP0k.js +441 -0
- package/dist/assets/{index-aNyQBoJv.js → index-Df3VgdgL.js} +1 -1
- package/dist/assets/{index-hch4ktcC.js → index-z2_QKypm.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/index.js +76 -209
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/App.tsx +0 -7
- package/src/components/StudioRightPanel.tsx +0 -7
- package/src/components/StudioRightPanel.types.ts +0 -2
- package/src/components/editor/SnapToolbar.test.tsx +0 -2
- package/src/components/editor/manualEdits.test.ts +3 -3
- package/src/components/editor/manualEdits.ts +1 -1
- package/src/components/editor/manualEditsParsing.ts +12 -21
- package/src/components/panels/VariablesOtherCompositions.tsx +1 -4
- package/src/components/panels/VariablesPanel.tsx +1 -5
- package/src/components/studioColorGradingScope.ts +0 -4
- package/src/hooks/elementLifecycleOpsTestUtils.ts +0 -1
- package/src/hooks/externalFileChangeOwnership.test.ts +40 -1
- package/src/hooks/gsapScriptCommitTypes.ts +0 -1
- package/src/hooks/sdkSelfWriteRegistry.ts +1 -1
- package/src/hooks/timelineAudioGroupCreate.ts +0 -7
- package/src/hooks/timelineAudioGroupVolume.test.ts +0 -1
- package/src/hooks/timelineAudioGroupVolume.ts +0 -6
- package/src/hooks/timelineEditingHelpers.test.ts +0 -3
- package/src/hooks/timelineEditingHelpers.ts +0 -10
- package/src/hooks/timelineElementFxAttribute.ts +0 -6
- package/src/hooks/timelineTrackVisibility.test.ts +0 -17
- package/src/hooks/timelineTrackVisibility.ts +0 -15
- package/src/hooks/useAppHotkeys.previewForwarding.test.tsx +0 -1
- package/src/hooks/useAppHotkeys.textEditing.test.tsx +0 -2
- package/src/hooks/useAppHotkeys.ts +1 -7
- package/src/hooks/useAudioGroupCarveAssignment.test.tsx +0 -1
- package/src/hooks/useClipboard.ts +1 -11
- package/src/hooks/useDomEditCommits.test.tsx +0 -2
- package/src/hooks/useDomEditCommits.ts +2 -21
- package/src/hooks/useDomEditSession.test.tsx +0 -1
- package/src/hooks/useDomEditSession.ts +0 -7
- package/src/hooks/useEditorSave.test.tsx +0 -1
- package/src/hooks/useEditorSave.ts +2 -6
- package/src/hooks/useElementLifecycleOps.ts +0 -3
- package/src/hooks/useExternalFileChangeCoordinator.test.tsx +54 -0
- package/src/hooks/useExternalFileChangeCoordinator.ts +38 -22
- package/src/hooks/useFileManager.projectOwnership.test.tsx +0 -1
- package/src/hooks/useFileManager.ts +0 -3
- package/src/hooks/useGroupCommits.ts +0 -2
- package/src/hooks/useGsapScriptCommits.test.tsx +0 -2
- package/src/hooks/useGsapScriptCommits.ts +2 -5
- package/src/hooks/usePreviewInteraction.test.ts +14 -5
- package/src/hooks/usePreviewInteraction.ts +3 -3
- package/src/hooks/useProjectCompositionVariables.ts +3 -6
- package/src/hooks/useRazorSplit.history.test.tsx +0 -2
- package/src/hooks/useRazorSplit.test.ts +0 -2
- package/src/hooks/useRazorSplit.test.tsx +0 -1
- package/src/hooks/useRazorSplit.ts +0 -6
- package/src/hooks/useSdkSession.ts +3 -11
- package/src/hooks/useSlideshowPersist.ts +1 -5
- package/src/hooks/useTimelineAssetDropOps.ts +0 -6
- package/src/hooks/useTimelineDeleteOps.ts +0 -4
- package/src/hooks/useTimelineEditing.test.tsx +0 -3
- package/src/hooks/useTimelineEditing.ts +0 -16
- package/src/hooks/useTimelineEditingTypes.ts +0 -1
- package/src/hooks/useTimelineGroupEditing.ts +0 -6
- package/src/hooks/useVariablesPersist.ts +0 -3
- package/src/player/components/Player.tsx +18 -5
- package/src/player/components/playerModuleRetry.test.ts +41 -0
- package/src/player/lib/playbackTypes.ts +7 -0
- package/src/player/lib/timelineIframeHelpers.test.ts +30 -0
- package/src/player/lib/timelineIframeHelpers.ts +16 -0
- package/src/utils/sdkCutover.familyGate.test.ts +0 -1
- package/src/utils/sdkCutover.gate.test.ts +0 -1
- package/src/utils/sdkCutover.test.ts +0 -27
- package/src/utils/sdkEditTransaction.ts +0 -4
- package/src/utils/setSlideshowManifest.test.ts +0 -1
- package/src/utils/studioFileHistory.ts +0 -1
- package/src/webmcp/types.ts +5 -1
- package/src/webmcp/useStudioAgentTools.polyfill.test.tsx +219 -0
- package/src/webmcp/useStudioAgentTools.test.tsx +81 -67
- package/src/webmcp/useStudioAgentTools.ts +49 -28
- package/src/webmcp/webmcpTestUtils.ts +56 -0
- package/dist/assets/index-CkxPQxLJ.js +0 -441
- package/src/hooks/useSdkSession.test.ts +0 -32
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var ve=Object.defineProperty;var be=(n,i,e)=>i in n?ve(n,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[i]=e;var u=(n,i,e)=>be(n,typeof i!="symbol"?i+"":i,e);import{r as le,i as we,a as Ae}from"./index-
|
|
1
|
+
var ve=Object.defineProperty;var be=(n,i,e)=>i in n?ve(n,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[i]=e;var u=(n,i,e)=>be(n,typeof i!="symbol"?i+"":i,e);import{r as le,i as we,a as Ae}from"./index-BmPeyP0k.js";function Ee(n){return n.hasRuntime||n.runtimeInjected?!1:!!(n.hasNestedCompositions||n.hasTimelines&&n.attempts>=5)}function V(n){return typeof n=="object"&&n!==null}function Ce(n){return V(n)&&typeof n.getDuration=="function"}function Te(n){return V(n)&&typeof n.duration=="function"&&typeof n.time=="function"&&typeof n.seek=="function"&&typeof n.play=="function"&&typeof n.pause=="function"}function Se(n){if(!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(n))throw new Error(`Invalid HyperFrames runtime version: ${n}`);return`https://cdn.jsdelivr.net/npm/@hyperframes/core@${n}/dist/hyperframe.runtime.iife.js`}const H=typeof __HYPERFRAMES_RUNTIME_CDN_URL__=="string"?__HYPERFRAMES_RUNTIME_CDN_URL__:Se("0.0.0-dev");function $(n){if(n===null)return null;const i=Number.parseInt(n,10);return Number.isFinite(i)&&i>0?i:null}function Re(n){const i=(n==null?void 0:n.querySelector("[data-composition-id][data-width][data-height]"))??(n==null?void 0:n.querySelector("[data-width][data-height]"));if(!i)return null;const e=$(i.getAttribute("data-width")),t=$(i.getAttribute("data-height"));return e!==null&&t!==null?{width:e,height:t}:null}class xe{constructor(i,e){u(this,"_interval",null);u(this,"_runtimeInjected",!1);this._iframe=i,this._callbacks=e}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._runtimeInjected=!1;let i=0;this._interval=setInterval(()=>{var e;i++;try{const t=this._iframe.contentWindow;if(!t)return;const r=!!(t.__hf||t.__player),s=!!(t.__timelines&&Object.keys(t.__timelines).length>0),o=!!((e=this._iframe.contentDocument)!=null&&e.querySelector("[data-composition-src]"));if(Ee({hasRuntime:r,hasTimelines:s,hasNestedCompositions:o,runtimeInjected:this._runtimeInjected,attempts:i})){this._injectRuntime();return}if(this._runtimeInjected&&!r)return;const d=this._resolvePlaybackDurationAdapter(t);if(d&&d.getDuration()>0){this.stop();const p=Re(this._iframe.contentDocument);this._callbacks.onReady({duration:d.getDuration(),adapter:d,compositionSize:p});return}}catch{}i>=40&&(this.stop(),this._callbacks.onError("Composition timeline not found after 8s"))},200)}stop(){this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{const i=this._iframe.contentWindow;return i?this._resolveDirectTimelineAdapterFromWindow(i):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(i){return this._resolveDirectTimelineAdapterFromWindow(i)}hasRuntimeBridge(i){return Reflect.get(i,"__hf")!==void 0||V(Reflect.get(i,"__player"))}_injectRuntime(){var i,e;this._runtimeInjected=!0;try{const t=this._iframe.contentDocument;if(!t)return;const r=t.createElement("script");r.src=H,(t.head||t.documentElement).appendChild(r),(e=(i=this._callbacks).onRuntimeInjected)==null||e.call(i)}catch{}}_resolveDirectTimelineAdapterFromWindow(i){var d,p;if(this.hasRuntimeBridge(i))return null;const e=Reflect.get(i,"__timelines");if(!V(e))return null;const t=Object.keys(e);if(t.length===0)return null;const r=(p=(d=this._iframe.contentDocument)==null?void 0:d.querySelector("[data-composition-id]"))==null?void 0:p.getAttribute("data-composition-id"),s=r&&r in e?r:t[t.length-1],o=e[s];return Te(o)?o:null}_resolvePlaybackDurationAdapter(i){const e=Reflect.get(i,"__player");if(Ce(e))return{kind:"runtime",getDuration:()=>e.getDuration()};const t=this._resolveDirectTimelineAdapterFromWindow(i);return t?{kind:"direct-timeline",timeline:t,getDuration:()=>t.duration()}:null}}const Me=`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|