Files
Miguel Ángel 8e1ea7adc2 feat(studio): marquee selection, AE presets, per-keyframe ease + velocity fitting
Marquee selection: click+drag on empty canvas draws a dashed selection
rectangle. All elements whose OBB intersects are group-selected via
SAT. Shift+marquee adds to selection. Click on empty deselects.

Per-keyframe easing: each keyframe segment has its own ease, editable
via expandable bezier curve editor in the Animation panel. Parser
preserves per-keyframe ease through round-trips (ease-only updates
preserve existing properties).

AE Easy Ease presets: correct After Effects bezier values (0.333, 0,
0.667, 1) in the preset grid.

Velocity-based curve fitting: gesture recordings analyze velocity
profile and assign per-keyframe custom eases automatically.

Gesture smoothing: Gaussian-weighted moving average (from PR #1658)
+ easeEach support for keyframed tweens + fetch-cancellation race
fix in useGsapAnimationsForElement.
2026-06-24 00:42:14 -04:00

65 lines
1.6 KiB
JSON

{
"name": "@hyperframes/engine",
"version": "0.7.4",
"description": "Seekable web page to video rendering engine (Puppeteer + FFmpeg)",
"repository": {
"type": "git",
"url": "https://github.com/heygen-com/hyperframes",
"directory": "packages/engine"
},
"files": [
"dist",
"README.md"
],
"type": "module",
"main": "./src/index.ts",
"types": "./src/index.ts",
"exports": {
".": "./src/index.ts",
"./alpha-blit": "./src/utils/alphaBlit.ts",
"./shader-transitions": "./src/utils/shaderTransitions.ts"
},
"publishConfig": {
"access": "public",
"exports": {
".": {
"import": "./dist/index.js",
"types": "./dist/index.d.ts"
},
"./alpha-blit": {
"import": "./dist/utils/alphaBlit.js",
"types": "./dist/utils/alphaBlit.d.ts"
},
"./shader-transitions": {
"import": "./dist/utils/shaderTransitions.js",
"types": "./dist/utils/shaderTransitions.d.ts"
},
"./package.json": "./package.json"
},
"main": "./dist/index.js",
"types": "./dist/index.d.ts"
},
"scripts": {
"build": "tsc",
"test": "vitest run",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@hono/node-server": "^1.13.0",
"@hyperframes/core": "workspace:^",
"hono": "^4.6.0",
"linkedom": "^0.18.12",
"puppeteer": "^24.0.0",
"puppeteer-core": "^24.39.1"
},
"devDependencies": {
"@types/node": "^25.0.10",
"@webgpu/types": "^0.1.69",
"typescript": "^5.7.2",
"vitest": "^3.2.4"
},
"engines": {
"node": ">=22"
}
}