| Field | Value |
|---|---|
| Wire version | 1 |
| Source | src/hikari/src/scene/replication.zig wire_version (NetId map / changedSince also in scene/world/world_replication.zig) |
| Maturity | Scaffolding / hooks only — not a production netcode layer |
Contract
This axis is independent of:
abi_version_currentworld_api_version_current/host_api_version_current- Scene descriptor
version - SDK
VERSION/CONTENT_HASH
Field identity on the wire is net_id (stable u16 ordinals declared on
replicated component properties). Component runtime ids are generation-local
and never serialized.
What exists today
- Per-component single baseline column + precise dirty bit (one stream / save consumer, not per-connection ack points).
changedSince(index, since)requires precise dirty and version tick strictly aftersince.- Full/delta codecs over native POD field slices (host endian/layout).
NetId→ handle slot + generation (cleared on handle invalidate/release).- Authority helpers for debug panics / release drop.
Explicit non-goals / not production-ready
- No multi-client independent baselines.
- No endian-neutral / padding-free schema compiler for pointers or slices.
- No transport, prediction, interpolation, or rollback.
- No production consumers outside tests and experimental hooks.
Treat this document as the version pin for the hook API, not as a claim that networked multiplayer is done.
Bump wire_version only when the binary layout or net_id assignment rules
change incompatibly.