P7.9: fix headless export — resolve Resource class_name ordering + duplicate RoundManager + simulation stub API
- Fix dead code in server_main.gd (unreachable lag compensation print) - Remove WeaponData type hints from weapon_server.gd (Resource class_name in Node scripts = headless fail) - Use preload() instead of WeaponData class_name in weapon_definitions.gd for const refs - Lazy-init WEAPONS dict (const can't reference preload members) - Remove duplicate class_name RoundManager from server/scripts/round/round_manager.gd - Remove DamageProcessor type hints from round/round_manager.gd and bomb_objective.gd - Add start()/stop()/can_tick()/tick()/spawn_entity()/despawn_entity() to simulation_server_stub.gd - Fix get_world_3d() → get_tree().root.world_3d in weapon_server.gd Node context - Fix var data := → var data = for untyped WeaponDefinitions.get_weapon() returns - Clean export cache and verify server starts with zero parse errors
This commit is contained in:
@@ -83,7 +83,8 @@ Task: P7.1 (research — netfox migration plan)
|
||||
- ✅ Duck-typed netfox checks via `has_method()`, `Engine.has_singleton()`
|
||||
|
||||
**REMAINING:**
|
||||
- No `TickInterpolator` child for smooth interpolation → P7.5
|
||||
- ✅ `TickInterpolator` child for smooth interpolation (dynamically created in `_setup_tick_interpolator()`)
|
||||
- ✅ `TickInterpolator` on remote player instances for visual rollback
|
||||
|
||||
---
|
||||
|
||||
@@ -130,7 +131,7 @@ Task: P7.1 (research — netfox migration plan)
|
||||
|
||||
**REMAINING:**
|
||||
- Creates full Player nodes with RollbackSynchronizer for each remote player (✅ correct pattern)
|
||||
- May want TickInterpolator on remote player instances later (P7.5)
|
||||
- ✅ `TickInterpolator` on remote player instances (dynamically created in `_setup_tick_interpolator()`)
|
||||
|
||||
---
|
||||
|
||||
@@ -174,11 +175,11 @@ Task: P7.1 (research — netfox migration plan)
|
||||
| Input client→server | RollbackSynchronizer.input_properties | ✅ |
|
||||
| Tick-driven movement | `_rollback_tick(delta, tick, is_input)` | ✅ |
|
||||
| Client prediction | `enable_prediction = true` | ✅ |
|
||||
| Smooth interpolation | TickInterpolator | ❌ P7.5 |
|
||||
| Smooth interpolation | TickInterpolator | ✅ |
|
||||
| Round state broadcast | StateSynchronizer | ❌ P7.7 |
|
||||
| Rollback-safe weapon fire | RewindableAction | ❌ P7.6 |
|
||||
| Lag comp / hitscan | RewindableAction + mutation | ❌ P7.6 |
|
||||
| Visual rollback | TickInterpolator + _rollback_tick | ❌ P7.5 |
|
||||
| Visual rollback | TickInterpolator + _rollback_tick | ✅ |
|
||||
| Lifecycle signals | NetworkEvents | ✅ |
|
||||
|
||||
---
|
||||
@@ -200,7 +201,7 @@ All access guarded — no class_name references in our code.
|
||||
|
||||
```
|
||||
P7.6 (RewindableAction) ── needs ── RollbackSynchronizer working (✅ DONE)
|
||||
P7.5 (TickInterpolator) ── needs ── RollbackSynchronizer working (✅ DONE)
|
||||
P7.5 (TickInterpolator) ── needs ── RollbackSynchronizer working (✅ DONE)── [[DONE]] ✅
|
||||
P7.7 (Round state netfox) ── needs ── NetworkEvents working (✅ DONE)
|
||||
P7.8 (FPSController refactor) ── needs ── P7.6 input flow clarified
|
||||
P7.9 (LAN test + deploy) ── needs ── all of the above
|
||||
@@ -238,7 +239,7 @@ P7.9 (LAN test + deploy) ── needs ── all of the above
|
||||
| File | Lines | Netfox Status | RPCs | Signals | Changes Needed |
|
||||
|------|-------|---------------|------|---------|----------------|
|
||||
| network_manager.gd | 245 | ✅ overlay wired | 6 ❌ | 9 ✅ | Remove 6 RPCs post-P7.7 |
|
||||
| player.gd | 251 | ✅ rollback + tick | 0 | 0 | Add TickInterpolator P7.5 |
|
||||
| player.gd | 251 | ✅ rollback + tick + interpolator | 0 | 0 | ✅ |
|
||||
| player_net_input.gd | 91 | ✅ tick gather | 0 | 0 | None atm |
|
||||
| server_main.gd | 342 | ✅ thin layer | 7 call sites ❌ | 2 | Migrate to StateSynchronizer P7.7 |
|
||||
| client_main.gd | 124 | ✅ thin layer | 0 | 2 signal connects | None atm |
|
||||
|
||||
Reference in New Issue
Block a user