1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# 64k Demo Project
This is a C++ project aiming to create a cross-platform (Windows, macOS, Linux) 64-kilobyte demo.
## Project Files
- `ASSET_SYSTEM.md`: Describes the custom asset packing and management system.
- `BUILD.md`: Instructions for building the project.
- `CONTRIBUTING.md`: Guidelines for contributing, including coding style and commit policies.
- `FETCH_DEPS.md`: Information on third-party dependencies.
- `HOWTO.md`: General instructions for running and interacting with the demo.
- `PHASE2_COMPRESSION.md`: Details on future asset compression strategies.
- `PROCEDURAL.md`: Details on the procedural texture generation system.
- `PROJECT_CONTEXT.md`: A comprehensive overview of the project's architecture, features, and current state.
- `SPEC_EDITOR.md`: Plans for a future web-based spectrogram editor tool.
- `TODO.md`: A list of immediate, small-scale tasks.
## Source Code Layout
The source code is organized into the following main directories:
- `src/`: The main C++ source code for the demo.
- `3d/`: Core 3D rendering components (camera, scene, renderer).
- `audio/`: Audio synthesis and processing engine.
- `gpu/`: WebGPU rendering pipeline, effects, and shader management.
- `procedural/`: Procedural content generation (textures, etc.).
- `tests/`: Unit and integration tests for various components.
- `util/`: Shared utility classes, like the asset manager.
- `assets/`: Raw assets (audio, sequence files) that are processed and packed.
- `scripts/`: Helper scripts for building, packaging, and running the demo.
- `tools/`: Source code for command-line tools used in the asset pipeline (e.g., `asset_packer`, `spectool`).
- `third_party/`: Third-party libraries like miniaudio and glfw3webgpu.
|