Files
wolf_dart/packages/wolf_3d_dart

wolf_3d_dart

Core non-Flutter Wolfenstein 3D runtime package used by both CLI and Flutter hosts.

What This Package Provides

wolf_3d_dart contains the platform-neutral simulation/runtime surface:

  • engine and session lifecycle,
  • game-data loading and data types,
  • renderer backends and frame-buffer abstractions,
  • menu state/navigation models,
  • input/audio host abstractions,
  • entity and gameplay logic.

Public Library Surfaces

Primary entry libraries in lib/:

  • wolf_3d_engine.dart — engine exports and runtime contracts.
  • wolf_3d_data.dart / wolf_3d_data_types.dart — game-data discovery and DTOs.
  • wolf_3d_renderer.dart — rendering/backends integration points.
  • wolf_3d_audio.dart — audio interfaces and host backends.
  • wolf_3d_input.dart — input abstractions.
  • wolf_3d_menu.dart — menu models/managers.
  • wolf_3d_host.dart — host-level glue contracts.

Implementation details live under lib/src/.

Setup

From this directory:

dart pub get

Development Commands

From this directory:

dart analyze
dart test

Architecture Notes

  • Hosts own platform concerns (windowing, lifecycle, platform input wiring).
  • This package owns deterministic engine/frame progression and shared game logic.
  • Frame-buffer sizing is controlled by hosts through engine APIs.
  • Rendering code is maintained under lib/src/rendering/.

Non-Goals

  • Flutter widgets/screens are not part of this package.
  • Bundled app assets are handled by wolf_3d_assets.

Troubleshooting

  • Parity regressions: run targeted tests under test/engine/ and test/entities/.
  • Host integration issues: verify host packages/apps are using exported surfaces from lib/ rather than private src/ paths.