Toolkit for experimenting with a 25×25 grid numeral system that encodes values from 0–625, renders custom operator glyphs, and produces datasets for downstream modeling. The project includes rendering utilities, interactive editors, dataset generators, and a repeatable system summary utility for tracking the development environment.
- Grid rendering (
base625_grid.py) – Encode numbers as cell-count or base-625 digits, generate symbol glyphs, and render crystal-clear PNG panels. - Interactive tooling – Paint new operator glyphs (
symbol_painter.py), inspect digits, and run a base-626 expression calculator. - Dataset builders – Export 625-bit vectors and labeled metadata for digits and symbols.
- Environment snapshots – Capture hardware/OS/toolchain details with
collect_system_info.pybefore each work session.
- Python 3.12+
pip install pillow numpy- Optional GPU tooling:
nvidia-smi,lspci - GUI scripts require a windowing environment (Tkinter is bundled with the standard Python build on most platforms).
cd "base 625"
python3 collect_system_info.py # snapshot current system
python3 base625_grid.py -h # discover rendering CLI options
python3 symbol_painter.py # paint or edit operator glyphs
python3 gen_bit_dataset.py --help # build digit/symbol datasets
python3 base626_calculator.py # evaluate expressions visuallyOutput artifacts (PNG strips, JSON tables, datasets) land under out/ or a user-specified directory.
- Digit strips (0–625):
python3 export_0_625.py --out out/digits_0_625_row --order row --cell-px 20 - Digit/symbol datasets:
python3 gen_bit_dataset.py --out data/bits --include digits symbols --order row --csv
Verify withpython3 validate_bits_dataset.py --data data/bits --symbols out/symbols/decode_table_symbols.json. - System snapshot:
python3 collect_system_info.pywrites a freshsystem_summary_*.txt. - Spatial brain plots/checkpoints: rerun the relevant experiment/train scripts under
spatial_brain/experimentsto regenerate figures and new checkpoints (only the most recent nav2d checkpoint is retained by default).
base625_grid.py– Foundation for generating 25×25 boolean grids, digit encoders, symbol glyph definitions, dataset helpers, and image rendering utilities.symbol_painter.py– Tkinter GUI to design glyphs. Saves PNGs plusdecode_table_symbols.json/CSVinout/symbols/.base626_calculator.py– GUI calculator that parses arithmetic expressions, converts numbers to base-626 panels, and stitches operator glyphs.number_viewer.py– Lightweight panel browser for exploring number encodings (count and digit modes).gen_bit_dataset.py– Emits NumPy arrays (X.npy,y.npy,dataset.npz) and optional CSV/JSONL records of digits and symbols.export_0_625.py– Convenience exporter for digit image strips and metadata.validate_bits_dataset.py– Sanity-check generated datasets (shape, class mapping, basic statistics).collect_system_info.py– Writes a timestampedsystem_summary_*.txtcapturing OS, hardware, toolchain versions, Python environment, networking, and running services.
Run before changes to produce a fresh system snapshot:
python3 collect_system_info.pyEach execution generates a new system_summary_YYYYMMDD_HHMMSS.txt in the project root for later reference.
python3 symbol_painter.py- Left-click/drag to draw, right-click to erase.
- Use Save to write glyph PNGs and update the decode table in
out/symbols/. - Centering and gridline options help maintain a clean template.
python3 gen_bit_dataset.py --out data/bits --include digits symbols --order row --copies 3 --noise-flip 0.01 --csv- Digits 0–625 become 625-bit vectors (row-major).
- Symbols are reconstructed from the PNG decode table.
- Increase
--copiesand--noise-flipto augment the dataset.
python3 base626_calculator.pyEnter expressions like 12 + 34 = to see each operand/operator rendered as panels. Switch fill order, adjust panel spacing, or export stitched results.
base625_grid.py– Grid/digit core.symbol_painter.py– Glyph painter GUI.base626_calculator.py– Expression viewer.out/digits_*/– Generated digit strips and metadata.out/symbols/– Saved glyph PNGs and decode tables.data/– Suggested home for dataset outputs (gen_bit_dataset.py).system_summary_*.txt– Timestamped environment snapshots (created on demand).
- Regenerate the decode table after adding or editing glyphs so downstream tools see the new assets.
- Keep the newest
system_summary_*.txthandy when diagnosing environment-specific issues. - Verify dataset outputs with
validate_bits_dataset.pybefore training or sharing results. - The repo may contain existing changes; avoid cleaning or resetting without explicit confirmation.
Enjoy experimenting with base-625 panels!