hyperframes 0.7.8 → 0.7.10

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.
@@ -1,4 +1,4 @@
1
- import{n as Qi}from"./index-BSyZKYmH.js";/*!
1
+ import{n as Qi}from"./index-CWTSv_j9.js";/*!
2
2
  * Copyright (c) 2026-present, Vanilagy and contributors
3
3
  *
4
4
  * This Source Code Form is subject to the terms of the Mozilla Public
@@ -1 +1 @@
1
- import{g as P}from"./index-BSyZKYmH.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};
1
+ import{g as P}from"./index-CWTSv_j9.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};
@@ -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-BSyZKYmH.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-CWTSv_j9.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-svYFaNuq.css">
10
10
  </head>
11
11
  <body>
@@ -36277,15 +36277,11 @@ function getOffsetDragGsap(element) {
36277
36277
  const gsap = win?.gsap;
36278
36278
  return gsap?.set && gsap.getProperty ? gsap : null;
36279
36279
  }
36280
- function applyOffsetDragDraftViaGsap(element, offset) {
36280
+ function applyOffsetDragDraftViaGsap(element, offset, baseGsap) {
36281
36281
  const gsap = getOffsetDragGsap(element);
36282
36282
  if (!gsap) return false;
36283
36283
  element.style.setProperty("translate", "none");
36284
- const fallbackBase = {
36285
- x: Number(gsap.getProperty(element, "x")) || 0,
36286
- y: Number(gsap.getProperty(element, "y")) || 0
36287
- };
36288
- const { newX, newY } = computeDraggedGsapPosition(element, offset, fallbackBase);
36284
+ const { newX, newY } = computeDraggedGsapPosition(element, offset, baseGsap);
36289
36285
  gsap.set(element, { x: newX, y: newY });
36290
36286
  return true;
36291
36287
  }
@@ -36473,6 +36469,7 @@ function createManualOffsetDragMember(input) {
36473
36469
  scaleX: input.rect.editScaleX,
36474
36470
  scaleY: input.rect.editScaleY
36475
36471
  });
36472
+ const baseGsap = { x: gsapX, y: gsapY };
36476
36473
  if (!measured.ok) {
36477
36474
  const scaleX = input.rect.editScaleX || 1;
36478
36475
  const scaleY = input.rect.editScaleY || 1;
@@ -36483,6 +36480,7 @@ function createManualOffsetDragMember(input) {
36483
36480
  selection: input.selection,
36484
36481
  element: input.element,
36485
36482
  initialOffset,
36483
+ baseGsap,
36486
36484
  initialPathOffset,
36487
36485
  gestureToken,
36488
36486
  screenToOffset: { a: 1 / scaleX, b: 0, c: 0, d: 1 / scaleY },
@@ -36497,6 +36495,7 @@ function createManualOffsetDragMember(input) {
36497
36495
  selection: input.selection,
36498
36496
  element: input.element,
36499
36497
  initialOffset,
36498
+ baseGsap,
36500
36499
  initialPathOffset,
36501
36500
  gestureToken,
36502
36501
  screenToOffset: measured.matrix,
@@ -36514,14 +36513,18 @@ function resolveManualOffsetDragMemberOffset(member, dx, dy) {
36514
36513
  }
36515
36514
  function applyManualOffsetDragDraft(member, dx, dy) {
36516
36515
  const offset = resolveManualOffsetDragMemberOffset(member, dx, dy);
36517
- if (!applyOffsetDragDraftViaGsap(member.element, offset)) {
36516
+ if (!applyOffsetDragDraftViaGsap(member.element, offset, member.baseGsap)) {
36518
36517
  applyStudioPathOffsetDraft(member.element, offset);
36519
36518
  }
36520
36519
  return offset;
36521
36520
  }
36522
36521
  function applyManualOffsetDragCommit(member, dx, dy) {
36522
+ member.element.setAttribute("data-hf-drag-gsap-base-x", String(member.baseGsap.x));
36523
+ member.element.setAttribute("data-hf-drag-gsap-base-y", String(member.baseGsap.y));
36524
+ member.element.setAttribute("data-hf-drag-initial-offset-x", String(member.initialOffset.x));
36525
+ member.element.setAttribute("data-hf-drag-initial-offset-y", String(member.initialOffset.y));
36523
36526
  const offset = resolveManualOffsetDragMemberOffset(member, dx, dy);
36524
- if (!applyOffsetDragDraftViaGsap(member.element, offset)) {
36527
+ if (!applyOffsetDragDraftViaGsap(member.element, offset, member.baseGsap)) {
36525
36528
  applyStudioPathOffset(member.element, offset);
36526
36529
  }
36527
36530
  return offset;
@@ -36546,6 +36549,9 @@ function endManualOffsetDragMembers(members) {
36546
36549
  if (member.element.style.getPropertyValue("translate") === "none") {
36547
36550
  member.element.style.removeProperty("translate");
36548
36551
  }
36552
+ if (getOffsetDragGsap(member.element)) {
36553
+ clearStudioPathOffset(member.element);
36554
+ }
36549
36555
  resumeGsapTimelines(member.element);
36550
36556
  }
36551
36557
  }
@@ -42721,7 +42727,8 @@ async function promoteSetToKeyframes(session, sel, setAnim, t, iframe) {
42721
42727
  keyframes: [
42722
42728
  {
42723
42729
  percentage: 0,
42724
- properties: Object.keys(startPosition).length > 0 ? startPosition : endPosition
42730
+ properties: Object.keys(startPosition).length > 0 ? startPosition : endPosition,
42731
+ auto: true
42725
42732
  },
42726
42733
  { percentage: 100, properties: endPosition }
42727
42734
  ],