mirror of
https://github.com/waaraawa/ByteGrid.git
synced 2026-07-22 06:41:47 +00:00
No description
- Add parser.ts with YAML to ByteGridConfig conversion - Support all field properties including bitfields - Handle both string and number offset formats (YAML parses 12 as number) - Apply default layout value of 16 - Add comprehensive error handling with ParseError - Add 14 test cases covering all parsing scenarios - All tests passing (14/14) |
||
|---|---|---|
| packages | ||
| .eslintrc.json | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| CLAUDE.md | ||
| jest.config.js | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
ByteGrid
Binary data and C struct memory layout visualization for Obsidian
Overview
ByteGrid is an Obsidian plugin that visualizes binary data and C structure memory layouts as interactive SVG diagrams.
Features
- 🎨 Color-coded field visualization
- 📏 Byte-accurate grid layout
- 🔍 Bitfield support
- 📊 Hex dump integration
- 🎯 Interactive tooltips
- 📤 Multiple export formats (SVG, PNG, C code, Markdown)
Project Status
🚧 In Development - Currently in Phase 1 (MVP)
Quick Start
# Install dependencies
npm install
# Build all packages
npm run build
# Run tests
npm run test
# Lint
npm run lint
# Format code
npm run format
Project Structure
bytegrid/
├── packages/
│ ├── core/ # Core rendering logic
│ └── obsidian-plugin/ # Obsidian plugin
├── docs/ # Design documentation
└── examples/ # Example files
Documentation
See CLAUDE.md for detailed project guidelines and architecture.
Development
This project follows Test-Driven Development (TDD):
- Write tests first
- Implement minimal code to pass tests
- Refactor
Key Principles
- offset is SSOT - Field size calculated from offset ranges
- No magic numbers - Use constants for all layout values
- Dynamic height - SVG dimensions calculated from content
- Explicit padding - Use
reservedorpaddingtypes
License
MIT License - see LICENSE for details
Contributing
Currently in initial development phase. Contribution guidelines will be added soon.