d24fe3a963
- PlaybackController (§12.5): Play/Pause/Stop/Retrigger, Loop/Once/ Ping-Pong mit In/Out-Fenstern, variable Geschwindigkeit ±4x (§16.6), Ende-Ereignis genau einmal je Pass, monotone Ereignis-Zeitbasis (§12.2) - PreloadSlot (§12.2): atomarer Clipwechsel preload->ready->commit; nicht bereites Medium wechselt nie (Policy beim Aufrufer) - MediaLibrary (§13.2/§13.3): Import mit SHA-256-Duplikaterkennung, Bank-Slots als explizite Show-Metadaten, fehlende Dateien markiert, Relink; Import laeuft im Control-Core-Worker, nie im Renderthread - ContentManifest (§6.4/§10.1): SHA-256 je Datei + resumierbare Chunk-Hashes, Verifikation gegen Veraenderung, Diff fuer Sync-Plan, deterministische Serialisierung mit Revision - 35 neue Unit-Tests; Gesamtsuite 258 gruen, Ruff gruen
18 lines
322 B
Python
18 lines
322 B
Python
"""hms_content_sync – Content-Manifest und Sync-Basis (§6.4, §10.1)."""
|
||
|
||
from hms_content_sync.manifest import (
|
||
CHUNK_SIZE,
|
||
ContentManifest,
|
||
ManifestDiff,
|
||
ManifestEntry,
|
||
hash_file,
|
||
)
|
||
|
||
__all__ = [
|
||
"CHUNK_SIZE",
|
||
"ContentManifest",
|
||
"ManifestDiff",
|
||
"ManifestEntry",
|
||
"hash_file",
|
||
]
|