blob: b477adda05975db9a3c85b129fe3f9664d8ddf43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# Solar Map
A fast and lightweight V module that reads astronomical dataset records from CSV, encodes them into a portable fixed-size binary format, and renders the spatial distribution to a 24-bit BMP image.
## Features
- **Fast Memory Dump**: Serializes and deserializes spatial objects (`SpaceBody`) using a custom 64-byte binary layout.
- **Cross-Platform & Safe**: Uses explicit Little-Endian byte-shifting (no `unsafe` blocks), making the binary output completely safe and compatible across different architectures (x86_64, ARM64, RISC-V).
- **Non-Linear Visual Rendering**: Renders positional data into a 24-bit BMP bitmap with square-root distance scaling to clearly separate both inner and outer space bodies.
## Project Structure
```text
.
├── main.v # Application entry point & binary file IO
├── galaxy.csv # Source CSV dataset
├── galaxy.bin # Generated binary dataset (created on run)
├── galaxy.bmp # Output image (created on run)
└── render/
└── render.v # Module for BMP rendering and distance scaling
|