Skip to content

2025‑04‑20 Report

Overview

Today we reorganized the codebase by moving and rewriting core game and tool modules, introduced a composite effects pipeline, revamped the play‑choose logic, and pushed our test coverage to 95.7%.

Key Accomplishments

  1. Project Structure & Module Reorganization

  2. Moved game/choose into play/choose to align naming with gameplay flow.

  3. Relocated game/tracker and game/logger into core/tools for clearer separation of cross‑cutting utilities.

  4. Core State & Logging Rewrite

  5. Completely rewrote game/state, game/tracker, and game/logger:

    • Standardized state fields and ordering.
    • Streamlined tracker events and logger output formats.
  6. Ensured all tool modules follow the “module‑prefix” naming convention and export only their public API.

  7. Play‑Choose Logic Overhaul

  8. Rewrote play/choose to simplify choice resolution and strategy loading.

  9. Introduced dynamic strategy discovery in the loader, decoupling strategy files from hard‑coded registration.

  10. Effects Pipeline

  11. Added effects/pipeline as a composite effects runner:

    • Chains multiple effect functions in sequence.
    • Supports early termination and branching based on effect results.
  12. Updated individual effects to emit standardized output for pipeline consumption.

  13. Testing & Coverage

  14. Expanded unit tests: now 22/23 tests passing across 8 units (95.65% coverage).

  15. Added new tests for the composite pipeline and the reordered modules.

Next Steps

  • Complete Pipeline Logic
    Finalize branching, rollback, and conditional execution within effects/pipeline.
  • Enhance Core Effects
    Refactor effects/core for DRYness and better default parameters.
  • Grow Strategy Suite
    Implement additional choose‑strategies to cover edge cases.
  • Finish Base Set Cards
    Add remaining card definitions and associated effects for the base set.
  • Refactor Tools
    Rewrite tools/tracker and tools/logger to use the new pipeline abstractions.
  • Implement Game Loop
    Begin a full game/loop module: turn phases, supply management, and trash handling.

Conclusion

Significant progress today on restructuring and the new effects pipeline. Tomorrow we’ll finalize the pipeline logic and start wiring up the full game loop.