CultLib/packages
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens f7c58ce5bc Add the media FEC codec, video parity v3 and audio parity records to cultnet-rs
The codec owns the erasure math for both ends: protect_video_frame and
protect_audio_block on the producer, recover_video_block and
recover_audio_block on the consumer. Each block is systematic Reed-Solomon
over GF(2^8) (reed-solomon-erasure 6, default features), named on every
parity record by the scheme id rs-gf256-v1. Any <= m erasures recover
exactly; more report BeyondRepair. Video frames split into ceil(n/16)
near-equal blocks with m = max(2, ceil(k/4)); audio is 4+2. A frame's
records come back in send order, rotating one record from each block so a
burst lands as one loss per block.

Deleted first: gamecult.media_video_parity_shard.v2 and its XOR-stripe
validator, and the reliable "audio" channel (profile entry, send-options
arm, constant, tests). Audio now rides "media" with parity.

Added: gamecult.media_video_parity_shard.v3 (block geometry, scheme id,
shard length), gamecult.media_audio_parity_shard.v1, the AudioParity wire
variant with validation, and the parity record key now names the block.
Every shard is bounded at MEDIA_FEC_MAX_SHARD_PAYLOAD_BYTES (720) so its
wrapped record fits MEDIA_FEC_MAX_WIRE_BYTES (1431), measured with
identifiers of up to 32 bytes.

Tests pin: exhaustive recovery for every shipped (k, m) and 4+2, m+1
refusal, known-answer parity bytes for both paths, the datagram bound on
every record kind, send order, deadline carriage and decoder validation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:08:54 +02:00
..
cultcache-py Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultcache-rs Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultcache-ts Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultmath Merge the snoise seam fix (Asura Q-N1 a): upstream kernel r2=0.5, scale 105, permute +10 2026-09-29 13:55:08 +02:00
cultmesh-browser Raise the TypeScript packages' Node floor to 20 2026-09-29 01:21:18 +02:00
cultmesh-kotlin Consolidate CultNet schema contracts into CultLib/contracts/cultnet 2026-09-13 17:27:41 +02:00
cultmesh-py CultNet selection cut1, commit 2 fix batch: R-2, Python refuses v1 selection messages 2026-09-22 06:13:16 +02:00
cultmesh-rs Land R-N in Rust: cultnet.error.v0 code/details, matched byte-for-byte 2026-09-22 20:00:37 +02:00
cultmesh-ts Raise the TypeScript packages' Node floor to 20 2026-09-29 01:21:18 +02:00
cultnet-py CultNet selection cut1 fix batch: R-L (contract, Python, mutate-dotnet.ps1) 2026-09-22 09:39:53 +02:00
cultnet-rs Add the media FEC codec, video parity v3 and audio parity records to cultnet-rs 2026-09-29 20:08:54 +02:00
cultnet-ts Idunn runtime fixture generator takes its specification as input 2026-09-29 04:30:40 +02:00