refactor(core): simplify packages/core — dead code, dedup, type safety (#1413)

- Delete unused mediaPreloader module, 5 dead RuntimeState fields,
  emitPerformanceMetric, lintScriptUrls, 5 variable type guards
- Consolidate compiler utilities: unify CSS URL regex, relative URL
  predicate, MIME map, @import regex, bulk asset rewrite delegation
- Cache extractGsapWindows per script (eliminates 2 redundant recast
  parses per lint run), share stripJsComments and script extraction
- Deduplicate GSAP parser: share serializeValue/safeJsKey, centralize
  converted-id fallback (6 sites), keyframe codegen (3 sites),
  waypoint extraction, insert-after-anchor, script hoisting
- Replace 88 bare any annotations with typed AstNode/AstPath interfaces
- Derive RuntimeBridgeControlAction from HyperframeControlAction,
  alias RuntimePickerElementInfo, share macOS font profiler
- Gate generateHyperframesStyles on includeStyles, collapse 4 GSAP
  property mutation cases into 2
- Extract magic numbers into named constants, replace 5 double casts
  with type guards and typed accessors (runtime/globals.ts),
  reduce function complexity in htmlParser and files route
This commit is contained in:
Miguel Ángel
2026-06-13 18:23:36 -04:00
committed by GitHub
parent fbc3cdf2fd
commit 6f677292ae
29 changed files with 551 additions and 1399 deletions
-10
View File
@@ -5,10 +5,8 @@ import type { TransportClock } from "./clock";
export type RuntimeState = {
capturedTimeline: RuntimeTimelineLike | null;
isPlaying: boolean;
rafId: number | null;
currentTime: number;
deterministicAdapters: RuntimeDeterministicAdapter[];
parityModeEnabled: boolean;
canonicalFps: number;
bridgeMuted: boolean;
bridgeVolume: number;
@@ -62,9 +60,7 @@ export type RuntimeState = {
*/
bridgeMaxPostIntervalMs: number;
controlBridgeHandler: ((event: MessageEvent) => void) | null;
clampDurationLoggedRaw: number | null;
beforeUnloadHandler: (() => void) | null;
domReadyHandler: (() => void) | null;
injectedCompStyles: HTMLStyleElement[];
injectedCompScripts: HTMLScriptElement[];
cachedTimedMediaEls: Array<HTMLVideoElement | HTMLAudioElement>;
@@ -72,7 +68,6 @@ export type RuntimeState = {
cachedVideoClips: RuntimeMediaClip[];
cachedMediaTimelineDurationSeconds: number;
tornDown: boolean;
nativeVisualWatchdogTick: number;
/**
* Single-clock transport. The sole time authority — GSAP is always
* paused and seeked to `clock.now()` on each rAF tick. Eliminates
@@ -87,10 +82,8 @@ export function createRuntimeState(): RuntimeState {
return {
capturedTimeline: null,
isPlaying: false,
rafId: null,
currentTime: 0,
deterministicAdapters: [],
parityModeEnabled: true,
canonicalFps: 30,
bridgeMuted: false,
bridgeVolume: 1,
@@ -104,9 +97,7 @@ export function createRuntimeState(): RuntimeState {
bridgeLastPostedMuted: false,
bridgeMaxPostIntervalMs: 80,
controlBridgeHandler: null,
clampDurationLoggedRaw: null,
beforeUnloadHandler: null,
domReadyHandler: null,
injectedCompStyles: [],
injectedCompScripts: [],
cachedTimedMediaEls: [],
@@ -114,7 +105,6 @@ export function createRuntimeState(): RuntimeState {
cachedVideoClips: [],
cachedMediaTimelineDurationSeconds: 0,
tornDown: false,
nativeVisualWatchdogTick: 0,
transportClock: null,
transportRafId: null,
};