docs: update documentation for PRs #59-63 refactors

- architecture.md: add chat system modules (src/ui/chat/), world map
  modules (src/rendering/world_map/), CatmullRomSpline (src/math/),
  transport decomposition, and updated namespace list
- status.md: update timestamp to 2026-04-14, add recent refactors
  section and world map known gaps
- CHANGELOG.md: add detailed entries for PRs #58-63 covering
  architecture, features, bug fixes, and 19 new test files
- TESTING.md: expand test suite layout from 8 to 27 files organized
  by category (core, animation, transport, world map, chat)
- CONTRIBUTING.md: update namespace table, testing section, and key
  files list to reflect new module directories
- README.md: update status timestamp to 2026-04-14
This commit is contained in:
Kelsi 2026-04-14 03:42:46 -07:00
parent 3be40c3b69
commit 2f3a973444
6 changed files with 161 additions and 34 deletions

View file

@ -83,15 +83,44 @@ pacman -S --needed mingw-w64-x86_64-clang-tools-extra
```
tests/
CMakeLists.txt — CMake test configuration
test_packet.cpp — Network packet encode/decode
test_srp.cpp — SRP-6a authentication math (requires OpenSSL)
test_opcode_table.cpp — Opcode registry lookup
test_entity.cpp — ECS entity basics
test_dbc_loader.cpp — DBC binary file parsing
test_m2_structs.cpp — M2 model struct layout / alignment
test_blp_loader.cpp — BLP texture file parsing
test_frustum.cpp — View-frustum culling math
CMakeLists.txt — CMake test configuration
# Core
test_packet.cpp — Network packet encode/decode
test_srp.cpp — SRP-6a authentication math (requires OpenSSL)
test_opcode_table.cpp — Opcode registry lookup
test_entity.cpp — ECS entity basics
test_dbc_loader.cpp — DBC binary file parsing
test_m2_structs.cpp — M2 model struct layout / alignment
test_blp_loader.cpp — BLP texture file parsing
test_frustum.cpp — View-frustum culling math
# Animation
test_animation_ids.cpp — Animation ID constants
test_locomotion_fsm.cpp — Locomotion state machine transitions
test_combat_fsm.cpp — Combat animation state machine
test_activity_fsm.cpp — Activity state machine
test_anim_capability.cpp — Animation capability queries
test_indoor_shadows.cpp — Indoor shadow rendering
# Transport & Spline
test_spline.cpp — CatmullRomSpline math (interpolation, binary search, looping)
test_transport_components.cpp — Transport clock sync and animator
test_transport_path_repo.cpp — TransportPathRepository (DBC loading, path inference)
# World Map
test_world_map.cpp — World map integration tests
test_world_map_coordinate_projection.cpp — UV projection, zone/continent spatial lookups
test_world_map_exploration_state.cpp — Server exploration mask, local tracking
test_world_map_map_resolver.cpp — Cross-map navigation (Outland, Northrend)
test_world_map_view_state_machine.cpp — COSMIC→WORLD→CONTINENT→ZONE transitions
test_world_map_zone_metadata.cpp — Zone level ranges and faction labels
# Chat
test_chat_markup_parser.cpp — Item link and markup parsing
test_chat_tab_completer.cpp — Tab-completion for names and commands
test_gm_commands.cpp — GM command data table and dispatch
test_macro_evaluator.cpp — Macro conditional evaluation
```
The Catch2 v3 amalgamated source lives at:
@ -116,10 +145,11 @@ Tests are _not_ built by default. Enable them with `-DWOWEE_BUILD_TESTS=ON`.
# Configure (only needed once)
cmake -B build -DCMAKE_BUILD_TYPE=Release -DWOWEE_BUILD_TESTS=ON
# Build test targets (fast — only compiles tests and Catch2)
cmake --build build --target \
test_packet test_srp test_opcode_table test_entity \
test_dbc_loader test_m2_structs test_blp_loader test_frustum
# Build all test targets
cmake --build build --parallel $(nproc)
# Or build specific test targets
cmake --build build --target test_packet test_spline test_world_map
```
Or simply run a full rebuild (builds everything including the main binary):
@ -138,9 +168,7 @@ cmake -B build_asan \
-DWOWEE_ENABLE_ASAN=ON \
-DWOWEE_BUILD_TESTS=ON
cmake --build build_asan --target \
test_packet test_srp test_opcode_table test_entity \
test_dbc_loader test_m2_structs test_blp_loader test_frustum
cmake --build build_asan --parallel $(nproc)
```
CMake will print: `Test targets: ASAN + UBSan ENABLED` when configured correctly.
@ -378,10 +406,7 @@ The following commands map to typical CI jobs:
-DWOWEE_BUILD_TESTS=ON
- name: Build test targets
run: |
cmake --build build_asan --target \
test_packet test_srp test_opcode_table test_entity \
test_dbc_loader test_m2_structs test_blp_loader test_frustum
run: cmake --build build_asan --parallel $(nproc)
- name: Run ASAN tests
run: ./test.sh --asan