@hyperframes/engine 0.8.179 → 0.8.180

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.
@@ -428,10 +428,6 @@ export declare function recordSubTimelineWarning(session: CaptureSession, timeou
428
428
  * PRINFRA-300 (blank hook scene, zero diagnostics, "fixed" by re-render).
429
429
  */
430
430
  export declare function buildLiveMapWarning(libraries: readonly string[]): CaptureWarning;
431
- /** Out-of-band videos a poster now sizes, so dropping their media cannot move layout. */
432
- export declare function releasableVideoIds(options: CaptureOptions): string[];
433
- /** FFmpeg supplies these videos' frames, so their own players would only hold decoders and buffers in every worker. */
434
- export declare function releaseInjectedVideoMedia(page: Page, videoIds: readonly string[]): Promise<void>;
435
431
  export declare function applyVideoMetadataHints(page: Page, hints: readonly CaptureVideoMetadataHint[] | undefined): Promise<void>;
436
432
  /** Thrown once a VFX chain fails: the frames it paints would render without the effect. */
437
433
  export declare class VfxFailureError extends Error {
@@ -1529,28 +1529,6 @@ async function decodeAllImages(page) {
1529
1529
  }));
1530
1530
  });
1531
1531
  }
1532
- /** Out-of-band videos a poster now sizes, so dropping their media cannot move layout. */
1533
- export function releasableVideoIds(options) {
1534
- const hinted = new Set((options.videoMetadataHints ?? []).map((hint) => hint.id));
1535
- return (options.skipReadinessVideoIds ?? []).filter((id) => hinted.has(id));
1536
- }
1537
- /** FFmpeg supplies these videos' frames, so their own players would only hold decoders and buffers in every worker. */
1538
- export async function releaseInjectedVideoMedia(page, videoIds) {
1539
- if (videoIds.length === 0)
1540
- return;
1541
- await page.evaluate((ids) => {
1542
- for (const id of ids) {
1543
- const video = window.__hfMediaEl?.(id) ?? document.getElementById(id);
1544
- if (!(video instanceof HTMLVideoElement))
1545
- continue;
1546
- video.pause();
1547
- for (const source of video.querySelectorAll("source"))
1548
- source.remove();
1549
- video.removeAttribute("src");
1550
- video.load();
1551
- }
1552
- }, [...videoIds]);
1553
- }
1554
1532
  export async function applyVideoMetadataHints(page, hints) {
1555
1533
  if (!hints || hints.length === 0)
1556
1534
  return;
@@ -1785,7 +1763,6 @@ export async function initializeSession(session) {
1785
1763
  assertVfxIntact(session);
1786
1764
  recordSubTimelineWarning(session, pageReadyTimeout);
1787
1765
  await applyVideoMetadataHints(page, session.options.videoMetadataHints);
1788
- await releaseInjectedVideoMedia(page, releasableVideoIds(session.options));
1789
1766
  logInitPhase("applyVideoMetadataHints complete");
1790
1767
  // Run independent readiness checks in parallel — videos, images, fonts,
1791
1768
  // and Tailwind don't depend on each other's completion.
@@ -1916,7 +1893,6 @@ export async function initializeSession(session) {
1916
1893
  assertVfxIntact(session);
1917
1894
  recordSubTimelineWarning(session, pageReadyTimeout);
1918
1895
  await applyVideoMetadataHints(page, session.options.videoMetadataHints);
1919
- await releaseInjectedVideoMedia(page, releasableVideoIds(session.options));
1920
1896
  logInitPhase("applyVideoMetadataHints complete");
1921
1897
  // Run independent readiness checks in parallel — videos, images, fonts,
1922
1898
  // and Tailwind don't depend on each other's completion.
@@ -2522,7 +2498,6 @@ export async function createStaticVerificationPage(session) {
2522
2498
  knownUnregisteredIds: session.subTimelineWaitMemo.unregisteredIds,
2523
2499
  });
2524
2500
  await applyVideoMetadataHints(page, session.options.videoMetadataHints);
2525
- await releaseInjectedVideoMedia(page, releasableVideoIds(session.options));
2526
2501
  const skipVideoIds = session.options.skipReadinessVideoIds ?? [];
2527
2502
  await Promise.all([
2528
2503
  pollVideosReady(page, skipVideoIds, pageReadyTimeout),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperframes/engine",
3
- "version": "0.8.179",
3
+ "version": "0.8.180",
4
4
  "description": "Seekable web page to video rendering engine (Puppeteer + FFmpeg)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -50,8 +50,8 @@
50
50
  "linkedom": "^0.18.12",
51
51
  "puppeteer": "^25.8.0",
52
52
  "puppeteer-core": "^25.8.0",
53
- "@hyperframes/core": "^0.8.179",
54
- "@hyperframes/parsers": "^0.8.179"
53
+ "@hyperframes/core": "^0.8.180",
54
+ "@hyperframes/parsers": "^0.8.180"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/node": "^25.0.10",