Files
Commonwealth-Online-Public/.cursor/rules/testing-rules.mdc
T
andrew 8c09e91534 Add basic movement state to transform packets
Add optional movement-state fields (isMoving, isSprinting, isSneaking, isJumping, weaponDrawn, movementSpeed) to transform packets and wire them end-to-end. Plugin changes: extend F4TNetworking API and RemotePlayerState, derive movement speed/jump state on the game-thread, validate values, include fields when formatting transform JSON, and add throttled remote movement-state logging. main.cpp adds sampling, speed/vertical calculations, jump hold logic, and change-detection to avoid extra sends. Networking parsing (F4TNetworking.cpp) reads optional booleans/floats safely, preserves backwards compatibility, and clears movement-state logs on disconnect. Proxy controller includes a TODO note for future animation use. Server and docs: update protocol and packet docs, dev-log, server README, and fake_client.py to parse/display optional fields safely. Also add several .cursor rule files for coding, documentation, protocol, project overview, and testing guidance. This milestone prepares the data model for later animation/behavior work while keeping existing relay behavior unchanged.
2026-06-02 13:27:40 +12:00

31 lines
1.1 KiB
Plaintext

---
description: Practical manual testing guidance for Fallout 4 Together changes
alwaysApply: true
---
# Testing Rules
When making changes, suggest practical tests the developer can run. Match the testing depth to the risk and scope of the change.
Useful project tests include:
- Running the Python server.
- Connecting one Fallout 4 instance.
- Connecting two Fallout 4 instances.
- Running `server/fake_client.py`.
- Checking `Fallout4Together.log`.
- Verifying transform packets are sent.
- Verifying remote player state is received.
- Verifying proxy actor movement in `F4TTestCell01`.
- Checking that movement state fields appear in logs.
- Checking that server output receives and relays packet fields correctly.
When a change touches multiplayer sync, include a short manual testing checklist covering:
- Server startup and client connection.
- Outgoing plugin packet fields.
- Server receive and relay behaviour.
- Remote state parsing.
- Proxy actor movement or visible in-game result.
- Relevant log output.
If a test cannot be run locally, say so clearly and explain the remaining risk.