# @suaveplan/bitpacker-game - Bitpacker game plugin ## Summary Game state utilities: quantization, prediction, interpolation, and client-server reconciliation. ## Documentation tree - [bitpacker](./src/bitpacker/bitpacker.md) — _(no submodules)_ - [bitpacker](./src/bitpacker/bitpacker.md) — _(no submodules)_ - [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_ - [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_ - [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_ - [index](./src/interpolation/index.md) — **Path:** `src/interpolation/interpolation.ts` **Export:** `GameInterpolator` - [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_ - [otel](./src/otel/instruments.md) — _(no submodules)_ - [instruments](./src/otel/instruments.md) — _(no submodules)_ - [prediction](./src/prediction/prediction.md) — _(no submodules)_ - rotation-predictor — **Path:** `bitpacker-game/src/… - [index](./src/prediction/index.md) — **Path:** `src/prediction/` **Exports:** `PositionPredictor`, `RotationPredictor`, motion math, Kalman filter, predicti… - [kalman-filter](./src/prediction/kalman-filter.md) — **Path:** `bitpacker-game/src/prediction/kalman-filter.ts` **Export:** See source for details. - [motion-math](./src/prediction/motion-math.md) — **Path:** `bitpacker-game/src/prediction/motion-math.ts` **Export:** See source for details. - [position-predictor](./src/prediction/position-predictor.md) — **Path:** `bitpacker-game/src/prediction/position-predictor.ts` **Export:** See source for details. - [prediction-algorithms](./src/prediction/prediction-algorithms.md) — **Path:** `bitpacker-game/src/prediction/prediction-algorithms.ts` **Export:** See source for details. - [prediction](./src/prediction/prediction.md) — _(no submodules)_ - rotation-predictor — **Path:** `bitpacker-game/src/… - [rotation-predictor](./src/prediction/rotation-predictor.md) — **Path:** `bitpacker-game/src/prediction/rotation-predictor.ts` **Export:** See source for details. - [quantization](./src/quantization/quantization.md) — _(no submodules)_ - [quantization](./src/quantization/quantization.md) — _(no submodules)_ - [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_ - [index](./src/reconciliation/index.md) — **Path:** `src/reconciliation/reconciliation.ts` **Export:** `StateReconciliation` - [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_ - [register-schemas](./src/register-schemas/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-game` package. Exposes `register… - [register-schemas](./src/register-schemas/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-game` package. Exposes `register… - [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_ - [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_ - [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_ - [types.schema](./src/types.schema/types.schema.md) — Zod schemas for the public configuration types of `@suaveplan/bitpacker-game`: the three sub-options bundles (`Predicti… - [types.schema](./src/types.schema/types.schema.md) — Zod schemas for the public configuration types of `@suaveplan/bitpacker-game`: the three sub-options bundles (`Predicti… - [index](./src/index.md) — **Path:** `bitpacker-game/src/index.ts` **Export:** See source for details. - [types](./src/types.md) — **Path:** `src/types.ts` **Export:** All game-related type definitions and enums - [bitpacker](./src/bitpacker/bitpacker.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [index](./src/interpolation/index.md) — **Path:** `src/interpolation/interpolation.ts` **Export:** `GameInterpolator` - [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… - [index](./src/prediction/index.md) — **Path:** `src/prediction/` **Exports:** `PositionPredictor`, `RotationPredictor`, motion math, Kalman filter, predicti… - [kalman-filter](./src/prediction/kalman-filter.md) — **Path:** `bitpacker-game/src/prediction/kalman-filter.ts` **Export:** See source for details. - [motion-math](./src/prediction/motion-math.md) — **Path:** `bitpacker-game/src/prediction/motion-math.ts` **Export:** See source for details. - [position-predictor](./src/prediction/position-predictor.md) — **Path:** `bitpacker-game/src/prediction/position-predictor.ts` **Export:** See source for details. - [prediction-algorithms](./src/prediction/prediction-algorithms.md) — **Path:** `bitpacker-game/src/prediction/prediction-algorithms.ts` **Export:** See source for details. - [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… - [rotation-predictor](./src/prediction/rotation-predictor.md) — **Path:** `bitpacker-game/src/prediction/rotation-predictor.ts` **Export:** See source for details. - [quantization](./src/quantization/quantization.md) — _(no submodules)_- [quantization](./src/quantization/quantization.md) — _(no submodules)_- [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [index](./src/reconciliation/index.md) — **Path:** `src/reconciliation/reconciliation.ts` **Export:** `StateReconciliation` - [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-game/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-game` package. Exposes `register… - [types](./src/types.md) — **Path:** `src/types.ts` **Export:** All game-related type definitions and enums - [types.schema](./src/types.schema.md) — Zod schemas for the public configuration types of `@suaveplan/bitpacker-game`: the three sub-options bundles (`Predicti… - [bitpacker](./src/bitpacker/bitpacker.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [index](./src/interpolation/index.md) — **Path:** `src/interpolation/interpolation.ts` **Export:** `GameInterpolator` - [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… - [index](./src/prediction/index.md) — **Path:** `src/prediction/` **Exports:** `PositionPredictor`, `RotationPredictor`, motion math, Kalman filter, predicti… - [kalman-filter](./src/prediction/kalman-filter.md) — **Path:** `bitpacker-game/src/prediction/kalman-filter.ts` **Export:** See source for details. - [motion-math](./src/prediction/motion-math.md) — **Path:** `bitpacker-game/src/prediction/motion-math.ts` **Export:** See source for details. - [position-predictor](./src/prediction/position-predictor.md) — **Path:** `bitpacker-game/src/prediction/position-predictor.ts` **Export:** See source for details. - [prediction-algorithms](./src/prediction/prediction-algorithms.md) — **Path:** `bitpacker-game/src/prediction/prediction-algorithms.ts` **Export:** See source for details. - [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… - [rotation-predictor](./src/prediction/rotation-predictor.md) — **Path:** `bitpacker-game/src/prediction/rotation-predictor.ts` **Export:** See source for details. - [quantization](./src/quantization/quantization.md) — _(no submodules)_- [quantization](./src/quantization/quantization.md) — _(no submodules)_- [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [index](./src/reconciliation/index.md) — **Path:** `src/reconciliation/reconciliation.ts` **Export:** `StateReconciliation` - [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-game/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-game` package. Exposes `register… - [types](./src/types.md) — **Path:** `src/types.ts` **Export:** All game-related type definitions and enums - [types.schema](./src/types.schema.md) — Zod schemas for the public configuration types of `@suaveplan/bitpacker-game`: the three sub-options bundles (`Predicti… - [bitpacker](./src/bitpacker/bitpacker.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [index](./src/interpolation/index.md) — **Path:** `src/interpolation/interpolation.ts` **Export:** `GameInterpolator` - [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… - [index](./src/prediction/index.md) — **Path:** `src/prediction/` **Exports:** `PositionPredictor`, `RotationPredictor`, motion math, Kalman filter, predicti… - [kalman-filter](./src/prediction/kalman-filter.md) — **Path:** `bitpacker-game/src/prediction/kalman-filter.ts` **Export:** See source for details. - [motion-math](./src/prediction/motion-math.md) — **Path:** `bitpacker-game/src/prediction/motion-math.ts` **Export:** See source for details. - [position-predictor](./src/prediction/position-predictor.md) — **Path:** `bitpacker-game/src/prediction/position-predictor.ts` **Export:** See source for details. - [prediction-algorithms](./src/prediction/prediction-algorithms.md) — **Path:** `bitpacker-game/src/prediction/prediction-algorithms.ts` **Export:** See source for details. - [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… - [rotation-predictor](./src/prediction/rotation-predictor.md) — **Path:** `bitpacker-game/src/prediction/rotation-predictor.ts` **Export:** See source for details. - [quantization](./src/quantization/quantization.md) — _(no submodules)_- [quantization](./src/quantization/quantization.md) — _(no submodules)_- [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [index](./src/reconciliation/index.md) — **Path:** `src/reconciliation/reconciliation.ts` **Export:** `StateReconciliation` - [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-game/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-game` package. Exposes `register… - [types](./src/types.md) — **Path:** `src/types.ts` **Export:** All game-related type definitions and enums - [types.schema](./src/types.schema.md) — Zod schemas for the public configuration types of `@suaveplan/bitpacker-game`: the three sub-options bundles (`Predicti… - [bitpacker](./src/bitpacker/bitpacker.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_ - [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_ - [index](./src/interpolation/index.md) — **Path:** `src/interpolation/interpolation.ts` **Export:** `GameInterpolator` - [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_ - [instruments](./src/otel/instruments.md) — _(no submodules)_- [prediction](./src/prediction/prediction.md) — _(no submodules)_ - [index](./src/prediction/index.md) — **Path:** `src/prediction/` **Exports:** `PositionPredictor`, `RotationPredictor`, motion math, Kalman filter, predicti… - [kalman-filter](./src/prediction/kalman-filter.md) — **Path:** `bitpacker-game/src/prediction/kalman-filter.ts` **Export:** See source for details. - [motion-math](./src/prediction/motion-math.md) — **Path:** `bitpacker-game/src/prediction/motion-math.ts` **Export:** See source for details. - [position-predictor](./src/prediction/position-predictor.md) — **Path:** `bitpacker-game/src/prediction/position-predictor.ts` **Export:** See source for details. - [prediction-algorithms](./src/prediction/prediction-algorithms.md) — **Path:** `bitpacker-game/src/prediction/prediction-algorithms.ts` **Export:** See source for details. - [prediction](./src/prediction/prediction.md) — _(no submodules)_ - [rotation-predictor](./src/prediction/rotation-predictor.md) — **Path:** `bitpacker-game/src/prediction/rotation-predictor.ts` **Export:** See source for details. - [quantization](./src/quantization/quantization.md) — _(no submodules)_ - [quantization](./src/quantization/quantization.md) — _(no submodules)_- [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_ - [index](./src/reconciliation/index.md) — **Path:** `src/reconciliation/reconciliation.ts` **Export:** `StateReconciliation` - [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_ - [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_ - [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-game/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-game` package. Exposes `register… - [types](./src/types.md) — **Path:** `src/types.ts` **Export:** All game-related type definitions and enums - [types.schema](./src/types.schema.md) — Zod schemas for the public configuration types of `@suaveplan/bitpacker-game`: the three sub-options bundles (`Predicti… ## Install ```bash bun add @suaveplan/bitpacker-game ``` ## Usage ```typescript import { GameStateManager, quantizeVector, dequantizeVector, PositionPredictor, RotationPredictor, GameInterpolator, StateReconciliation, PredictionAlgorithm, InterpolationMethod, } from "@suaveplan/bitpacker-game"; // Quantization for network compression const quantized = quantizeVector({ x: 0.5, y: -0.25, z: 0.75 }, 16); const restored = dequantizeVector(quantized, 16); // Position prediction const predictor = new PositionPredictor({ algorithm: PredictionAlgorithm.ADAPTIVE }); predictor.addPosition({ x: 0, y: 0, z: 0 }, 0); predictor.addPosition({ x: 10, y: 0, z: 0 }, 1000); const futurePos = predictor.predictPosition(100); // predicted position at t=100ms // Interpolation const interp = new GameInterpolator({ method: InterpolationMethod.HERMITE }); const midPos = interp.interpolatePosition({ x: 0, y: 0, z: 0 }, { x: 10, y: 0, z: 0 }, 0.5); // Client-server reconciliation const reconciliation = new StateReconciliation(); const seq = reconciliation.processInput({ moveX: 1, moveY: 0, rotateYaw: 0, rotatePitch: 0, actions: [] }, Date.now()); ``` ## Modules - `src/index.ts` — `GameStateManager`, `quantizeVector`, `dequantizeVector` - `src/types.ts` — `Vector3`, `Rotation`, `PlayerState`, `PredictionAlgorithm`, `InterpolationMethod`, etc. - `src/prediction/` — `PositionPredictor`, `RotationPredictor`, motion math, Kalman filter, prediction algorithms - `src/interpolation/` — `GameInterpolator` with 9 interpolation methods - `src/reconciliation/` — `StateReconciliation` for client prediction + server reconciliation