mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-16 13:59:40 +02:00
Implement SpiralDB - a novel data storage format that encodes structured data into PNG images using an 8-color palette. Data grows in a spiral pattern from the center outward, enabling infinite expansion. Features: - 8-color palette (3-bit per pixel) for compression robustness - Spiral coordinate system with ring-based organization - Schema-based serialization (int, bool, string, timestamp, arrays) - Record management with CRUD operations and status tracking - PNG export/import with pako compression - Browser support (Canvas, Blob, DataURL) - Todo schema as reference implementation Storage structure: - Ring 0: Magic byte (validation) - Ring 1: Database header (version, flags, counts) - Ring 2: Schema definition - Ring 3+: Master index (spans multiple rings if needed) - Ring 4+: Record data |
||
|---|---|---|
| .. | ||
| constants.ts | ||
| database.ts | ||
| encoding.ts | ||
| image.ts | ||
| index.ts | ||
| png.ts | ||
| schema.ts | ||
| spiral.test.ts | ||
| spiral.ts | ||
| types.ts | ||