π¬ Demo File InternalsΒΆ
Deadlock demos use the PBDEMS2 Source 2 container and entity format. pbdems2 implements these shared functions. Its docs.rs guide contains this information:
Boon supplies the Deadlock protobuf adapter, entity and property selections, events, datasets, and catalog lookups. Read the pbdems2 guide when you change the shared parser. Read Name lookups for Deadlock token tables.
Code structureΒΆ
crates/boon/src/hero_stats/: Read catalog definitions and resolve stat inputs.inputs/tests.rscontains the resolver tests.crates/boon/src/rulesets/: Keep equations different of catalog balance values.percentage.rssupplies the shared remaining-factor equation.crates/boon/src/replay_inputs.rs: Read upgrade tokens withUpgradeReaderand enemy minimap icons withEnemyMinimap. Resolve field keys from the replay serializers. Recreate readers if the schema changes. CallEnemyMinimap::update(ctx, emit)at every completed tick; setemit=falsebetween selected ticks to preserve last-seen history.crates/boon-python/src/: Build Polars columns and cache datasets.DatasetCacheuses the dataset enum for direct lookups.crates/boon-python/python/boon/: Supply public queries and typed result tables._selection.pyrejects incorrect ticks, catalog versions, and Steam IDs before native calls.
Keep observed replay values in different fields from calculated values. Read balance values and effect bindings from boon-data. Keep assumptions in result diagnostics and Known Issues.