summaryrefslogtreecommitdiff
path: root/doc/FETCH_DEPS.md
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-02 12:19:10 +0100
committerskal <pascal.massimino@gmail.com>2026-02-02 12:19:10 +0100
commitdc47af28f09705d28e9975867d7fad9a395f9163 (patch)
tree5ae97b21542d2824c9c9d422ed1b4a25331fa1a2 /doc/FETCH_DEPS.md
parenta5b27673c29ca39b6b35bb0f5c4be224d7b41b5a (diff)
refactor(build): Centralize generated files and clean up project layout
- Task A: Centralized all generated code (assets, timeline) into a single directory to create a single source of truth. - Task A: Isolated test asset generation into a temporary build directory, preventing pollution of the main source tree. - Task B: Vertically compacted all C/C++ source files by removing superfluous newlines. - Task C: Created a top-level README.md with project overview and file descriptions. - Task D: Moved non-essential documentation into a directory to reduce root-level clutter.
Diffstat (limited to 'doc/FETCH_DEPS.md')
-rw-r--r--doc/FETCH_DEPS.md68
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/FETCH_DEPS.md b/doc/FETCH_DEPS.md
new file mode 100644
index 0000000..ce62db2
--- /dev/null
+++ b/doc/FETCH_DEPS.md
@@ -0,0 +1,68 @@
+# Fetching Third-Party Dependencies
+
+This project intentionally does NOT vendor large third-party libraries.
+
+Currently required:
+
+## miniaudio
+
+Single-header audio library.
+
+Source:
+https://github.com/mackron/miniaudio
+
+Required file:
+- miniaudio.h
+
+Expected location:
+third_party/miniaudio.h
+
+### Automatic fetch
+
+Use one of the provided scripts:
+- scripts/project_init.sh
+- scripts/project_init.bat
+
+### Manual fetch
+
+Download miniaudio.h from:
+https://raw.githubusercontent.com/mackron/miniaudio/master/miniaudio.h
+
+and place it into:
+third_party/miniaudio.h
+
+## wgpu-native
+
+WebGPU implementation via wgpu-native.
+
+### Installation
+
+**macOS:**
+```bash
+brew install wgpu-native
+```
+
+**Other platforms:**
+Please install `wgpu-native` such that `libwgpu_native` (static or shared) is in your library path and headers are in your include path (under `webgpu/`).
+
+## glfw3webgpu
+
+Helper library for creating WebGPU surfaces from GLFW windows.
+
+### Automatic fetch
+
+Use one of the provided scripts:
+- scripts/project_init.sh
+- scripts/project_init.bat
+
+These scripts will download `glfw3webgpu.h` and `glfw3webgpu.c` into `third_party/glfw3webgpu`.
+
+## UPX
+
+Executable packer for binary compression (Linux/Windows only).
+On macOS, the build script defaults to `strip` and `gzexe` due to UPX compatibility issues.
+
+### Installation
+
+**Linux/Windows:**
+Download the appropriate release from https://github.com/upx/upx/releases and ensure the `upx` executable is in your PATH.