feat(core): add Electron runtime, services, and app composition

This commit is contained in:
2026-02-22 21:43:43 -08:00
parent 448ce03fd4
commit d3fd47f0ec
562 changed files with 69719 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
import type { MpvSubtitleRenderMetrics } from '../../types';
export function createUpdateMpvSubtitleRenderMetricsHandler(deps: {
getCurrentMetrics: () => MpvSubtitleRenderMetrics;
setCurrentMetrics: (metrics: MpvSubtitleRenderMetrics) => void;
applyPatch: (
current: MpvSubtitleRenderMetrics,
patch: Partial<MpvSubtitleRenderMetrics>,
) => { next: MpvSubtitleRenderMetrics; changed: boolean };
broadcastMetrics: (metrics: MpvSubtitleRenderMetrics) => void;
}) {
return (patch: Partial<MpvSubtitleRenderMetrics>): void => {
const { next, changed } = deps.applyPatch(deps.getCurrentMetrics(), patch);
if (!changed) return;
deps.setCurrentMetrics(next);
deps.broadcastMetrics(next);
};
}