summaryrefslogtreecommitdiff
path: root/doc/archive/PHASE2_COMPRESSION.md
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-08 21:28:40 +0100
committerskal <pascal.massimino@gmail.com>2026-02-08 21:28:40 +0100
commitd3a609fad91744c45f6bc59b625a26f8870e271d (patch)
tree002b224a216f0710cb6df9823570814628b05203 /doc/archive/PHASE2_COMPRESSION.md
parentf6324b0b5d65aef6e713e8b902a6b689659dd27f (diff)
docs: Archive historical documentation (26 files → doc/archive/)
Moved completed/historical docs to doc/archive/ for cleaner context: Archived (26 files): - Analysis docs: variable tempo, audio architecture, build optimization - Handoff docs: 6 agent handoff documents - Debug reports: shadows, peak meter, timing fixes - Task summaries and planning docs Kept (16 files): - Essential: AI_RULES, HOWTO, CONTRIBUTING, CONTEXT_MAINTENANCE - Active subsystems: 3D, ASSET_SYSTEM, TRACKER, SEQUENCE - Current work: MASKING_SYSTEM, SPECTRAL_BRUSH_EDITOR Updated COMPLETED.md with archive index for easy reference.
Diffstat (limited to 'doc/archive/PHASE2_COMPRESSION.md')
-rw-r--r--doc/archive/PHASE2_COMPRESSION.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/archive/PHASE2_COMPRESSION.md b/doc/archive/PHASE2_COMPRESSION.md
new file mode 100644
index 0000000..3c83fa4
--- /dev/null
+++ b/doc/archive/PHASE2_COMPRESSION.md
@@ -0,0 +1,18 @@
+# Phase 2 – Compression & Size Reduction
+
+This document tracks ideas and strategies for the final optimization phase to reach the <=64k goal.
+
+## Executable Size
+
+### Windows
+- **Replace GLFW**: For the final build, replace the statically linked GLFW library with a minimal "tiny" implementation using native Windows API (`CreateWindow`, `PeekMessage`, etc.). This is expected to yield significant savings.
+ - *Status*: Deferred until feature completion.
+- **CRT Replacement**: Consider replacing the standard C runtime (CRT) with a minimal startup code (e.g., `tiny_crt` or similar) to avoid linking heavy standard libraries.
+- **Import Minimization**: Dynamically load functions via `GetProcAddress` hash lookup to reduce the Import Address Table (IAT) size.
+
+### General
+- **Shader Compression**: Minify WGSL shaders (remove whitespace, rename variables).
+- **Asset Compression**:
+ - Store spectrograms with logarithmic frequency bins.
+ - Quantize spectral values to `uint16_t` or `uint8_t`.
+ - Use a custom packer/compressor for the asset blob. \ No newline at end of file