summaryrefslogtreecommitdiff
path: root/README.md
blob: bd11057ba8479d7e537d1b277810760295160faa (plain)
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
33
# 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.
- `3D.md`: Overview of the 3D rendering pipeline and future enhancements.
- `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.