mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-01 19:42:03 +00:00
refactor(producer): migrate test imports to render/shared.ts, drop re-export
Three small follow-ups on the shared.ts extraction, addressing review feedback on #720: - Hoist `BROWSER_MEDIA_EPSILON` from `probeStage.ts` into `shared.ts` so any future stage that reconciles browser media (chunked rendering re-probe, for instance) doesn't have to redeclare it. - Migrate `renderOrchestrator.test.ts` to import the five moved symbols (`applyRenderModeHints`, `projectBrowserEndToCompositionTimeline`, `resolveDeviceScaleFactor`, `writeCompiledArtifacts`, `CompositionMetadata`) directly from `./render/shared.js`. This is the clean end state — the back-compat re-export through `renderOrchestrator.ts` was a stepping-stone. - Drop the back-compat re-export block from `renderOrchestrator.ts`. No remaining importers go through it (verified via grep across `packages/`). The five symbols now have exactly one path: `./render/shared.js`. No behavior change. Renderer smoke-tested inside `Dockerfile.test` against `font-variant-numeric`, `many-cuts`, and `variables-prod` — audio correlations 1.000 / 0.994 / 0.975, matching every prior PR in the stack. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -27,6 +27,14 @@ export interface CompositionMetadata {
|
||||
height: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Floating-point tolerance for reconciling browser-discovered media timing
|
||||
* against statically-parsed metadata. Used when the browser reports a
|
||||
* slightly different `end` / `mediaStart` / `volume` than the compiled
|
||||
* HTML and we want to ignore sub-millisecond float noise.
|
||||
*/
|
||||
export const BROWSER_MEDIA_EPSILON = 0.0001;
|
||||
|
||||
/**
|
||||
* Browser-discovered media inside inlined sub-compositions can still report
|
||||
* scene-local timing from the merged DOM (e.g. start=0, end=85.52) while the
|
||||
|
||||
@@ -44,14 +44,13 @@ import {
|
||||
import { createFileServer, type FileServerHandle, VIRTUAL_TIME_SHIM } from "../../fileServer.js";
|
||||
import type { ProducerLogger } from "../../../logger.js";
|
||||
import {
|
||||
BROWSER_MEDIA_EPSILON,
|
||||
projectBrowserEndToCompositionTimeline,
|
||||
writeCompiledArtifacts,
|
||||
type CompositionMetadata,
|
||||
} from "../shared.js";
|
||||
import type { RenderJob } from "../../renderOrchestrator.js";
|
||||
|
||||
const BROWSER_MEDIA_EPSILON = 0.0001;
|
||||
|
||||
export interface ProbeStageInput {
|
||||
projectDir: string;
|
||||
workDir: string;
|
||||
|
||||
@@ -6,7 +6,6 @@ import type { EngineConfig, ExtractedFrames } from "@hyperframes/engine";
|
||||
import type { CompiledComposition } from "./htmlCompiler.js";
|
||||
|
||||
import {
|
||||
applyRenderModeHints,
|
||||
buildMissingFrameRetryBatches,
|
||||
collectVideoMetadataHints,
|
||||
collectVideoReadinessSkipIds,
|
||||
@@ -19,16 +18,19 @@ import {
|
||||
getNextRetryWorkerCount,
|
||||
isRecoverableParallelCaptureError,
|
||||
materializeExtractedFramesForCompiledDir,
|
||||
projectBrowserEndToCompositionTimeline,
|
||||
resolveDeviceScaleFactor,
|
||||
resolveRenderWorkerCount,
|
||||
resolveCompositeTransfer,
|
||||
selectCaptureCalibrationFrames,
|
||||
shouldFallbackToScreenshotAfterCalibrationError,
|
||||
shouldUseLayeredComposite,
|
||||
shouldUseStreamingEncode,
|
||||
writeCompiledArtifacts,
|
||||
} from "./renderOrchestrator.js";
|
||||
import {
|
||||
applyRenderModeHints,
|
||||
projectBrowserEndToCompositionTimeline,
|
||||
resolveDeviceScaleFactor,
|
||||
writeCompiledArtifacts,
|
||||
} from "./render/shared.js";
|
||||
import { toExternalAssetKey } from "../utils/paths.js";
|
||||
|
||||
describe("extractStandaloneEntryFromIndex", () => {
|
||||
|
||||
@@ -546,14 +546,6 @@ export class RenderCancelledError extends Error {
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
type CompositionMetadata,
|
||||
applyRenderModeHints,
|
||||
projectBrowserEndToCompositionTimeline,
|
||||
resolveDeviceScaleFactor,
|
||||
writeCompiledArtifacts,
|
||||
} from "./render/shared.js";
|
||||
|
||||
function updateJobStatus(
|
||||
job: RenderJob,
|
||||
status: RenderStatus,
|
||||
|
||||
Reference in New Issue
Block a user