a08af99b6f
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
71 lines
2.2 KiB
Markdown
71 lines
2.2 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
dart pub get
|
|
```
|
|
|
|
## Development Commands
|
|
|
|
From this directory:
|
|
|
|
```bash
|
|
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.
|
|
|
|
## Related Modules
|
|
|
|
- Flutter integration layer: [`../wolf_3d_flutter/README.md`](../wolf_3d_flutter/README.md)
|
|
- Shared packaged assets: [`../wolf_3d_assets/README.md`](../wolf_3d_assets/README.md)
|
|
- CLI host app: [`../../apps/wolf_3d_cli/README.md`](../../apps/wolf_3d_cli/README.md)
|
|
- GUI host app: [`../../apps/wolf_3d_gui/README.md`](../../apps/wolf_3d_gui/README.md)
|
|
- Workspace overview: [`../../README.md`](../../README.md)
|