feat(spf): export ./live-hls + sandbox live-engine harness

Add the ./live-hls subpath export (build entry + package export) and a
LiveHlsEngineSignals type. Add a bare sandbox template (live-hls-engine) that
wires createLiveHlsEngine to a raw <video> — no player/skin — and logs playback
state, for end-to-end live-playback verification.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Christian Pillsbury
2026-06-25 09:59:21 -07:00
co-authored by Claude Opus 4.8
parent bbaeb52ed8
commit 4a58e85015
6 changed files with 111 additions and 2 deletions
+5
View File
@@ -33,6 +33,11 @@
"development": "./dist/dev/hls.js",
"default": "./dist/default/hls.js"
},
"./live-hls": {
"types": "./dist/dev/live-hls.d.ts",
"development": "./dist/dev/live-hls.js",
"default": "./dist/default/live-hls.js"
},
"./background-video": {
"types": "./dist/dev/background-video.d.ts",
"development": "./dist/dev/background-video.js",
@@ -31,7 +31,12 @@ import { resolvePresentation } from '../../behaviors/resolve-presentation';
import { setupFailoverMonitor } from '../../behaviors/setup-failover-monitor';
import { syncPreload } from '../../behaviors/sync-preload';
import { switchAudioTrack, switchVideoTrack } from '../../behaviors/track-switching';
import type { SimpleHlsEngineConfig, SimpleHlsEngineContext, SimpleHlsEngineState } from '../hls/engine';
import type {
SimpleHlsEngineConfig,
SimpleHlsEngineContext,
SimpleHlsEngineSignals,
SimpleHlsEngineState,
} from '../hls/engine';
/** Config for the live HLS engine: the VoD config plus live-only options. */
export interface LiveHlsEngineConfig extends SimpleHlsEngineConfig {
@@ -44,6 +49,7 @@ export interface LiveHlsEngineConfig extends SimpleHlsEngineConfig {
export type LiveHlsEngineState = SimpleHlsEngineState;
export type LiveHlsEngineContext = SimpleHlsEngineContext;
export type LiveHlsEngineSignals = SimpleHlsEngineSignals;
const shareSignals = makeShareSignals<LiveHlsEngineState, LiveHlsEngineContext>([
'userVideoTrackSelection',
@@ -1,2 +1,7 @@
export type { LiveHlsEngineConfig, LiveHlsEngineContext, LiveHlsEngineState } from './engine';
export type {
LiveHlsEngineConfig,
LiveHlsEngineContext,
LiveHlsEngineSignals,
LiveHlsEngineState,
} from './engine';
export { createLiveHlsEngine } from './engine';
+1
View File
@@ -8,6 +8,7 @@ const createConfig = (mode: PackageBuildMode): UserConfig => ({
index: 'src/index.ts',
dom: 'src/dom.ts',
hls: 'src/playback/engines/hls/index.ts',
'live-hls': 'src/playback/engines/live-hls/index.ts',
'background-video': 'src/playback/engines/background-video/index.ts',
},
});