removed bincode for rkyv

Signed-off-by: Sienna Meridian Satterwhite <sienna@r3t.io>
This commit is contained in:
2025-12-17 19:20:34 +00:00
parent 56f0f0d40b
commit 99e31b1157
47 changed files with 2728 additions and 1697 deletions

View File

@@ -94,7 +94,7 @@ pub fn generate_delta_system(world: &mut World) {
// Phase 1: Check and update clocks, collect data
let mut system_state: bevy::ecs::system::SystemState<(
Res<GossipBridge>,
Res<AppTypeRegistry>,
Res<crate::persistence::ComponentTypeRegistryResource>,
ResMut<NodeVectorClock>,
ResMut<LastSyncVersions>,
Option<ResMut<crate::networking::OperationLog>>,
@@ -120,17 +120,16 @@ pub fn generate_delta_system(world: &mut World) {
// Phase 2: Build operations (needs world access without holding other borrows)
let operations = {
let type_registry = world.resource::<AppTypeRegistry>().read();
let ops = build_entity_operations(
let type_registry_res = world.resource::<crate::persistence::ComponentTypeRegistryResource>();
let type_registry = type_registry_res.0;
build_entity_operations(
entity,
world,
node_id,
vector_clock.clone(),
&type_registry,
type_registry,
None, // blob_store - will be added in later phases
);
drop(type_registry);
ops
)
};
if operations.is_empty() {
@@ -175,25 +174,34 @@ pub fn generate_delta_system(world: &mut World) {
// Phase 4: Update component vector clocks for local modifications
{
// Get type registry first before mutable borrow
let type_registry = {
let type_registry_res = world.resource::<crate::persistence::ComponentTypeRegistryResource>();
type_registry_res.0
};
if let Some(mut component_clocks) =
world.get_resource_mut::<crate::networking::ComponentVectorClocks>()
{
for op in &delta.operations {
if let crate::networking::ComponentOp::Set {
component_type,
discriminant,
vector_clock: op_clock,
..
} = op
{
let component_type_name = type_registry.get_type_name(*discriminant)
.unwrap_or("unknown");
component_clocks.set(
network_id,
component_type.clone(),
component_type_name.to_string(),
op_clock.clone(),
node_id,
);
debug!(
"Updated local vector clock for {} on entity {:?} (node_id: {:?})",
component_type, network_id, node_id
component_type_name, network_id, node_id
);
}
}