- Update license to the current year
- Remove js-yaml dependency from core, switching to Obsidian's parseYaml API in the plugin
- Add CustomTheme support to dynamically map Obsidian's CSS color variables to the SVG renderer for better theme compatibility
- Extract hardcoded local vault path from esbuild config to a gitignored .env file
- Fix DataType union type (use template literal instead of string)
- Add 'bits' type to BaseDataType
- Fix Object stringification in parser (add type validation)
- Remove unnecessary type assertion in layoutEngine
- Replace console.log with removal (Obsidian only allows warn/error/debug)
- Replace innerHTML with DOMParser for safe SVG insertion
- Fix UI text to sentence case
- Remove async from onload (no await needed)
- All 141 tests passing
- Add colorScheme option to RenderOptions and ByteGridConfig
- Implement color transformation with RGB ↔ HSL conversion
- Default: original pastel colors (no transformation)
- Dark: reduce saturation (-20%) and lightness (-10%)
- Light: increase lightness (+20%)
- Apply color transformation to both grid blocks and legend
- Add 10 new tests (4 parser, 6 renderer)
- Change legend layout from column-major to row-major order
- Fields now fill left-to-right, then top-to-bottom
- More intuitive for users (e.g., 4 fields + 3 cols = 3-1 layout)
- Fix bottom position width calculation for multi-column legends
- totalWidth now accounts for legend width (200px per column)
- Add tests for 3-column layout with 6 fields
- Add legendPosition option (right, left, bottom, none) to control legend placement
- Add showFooter option to show/hide footer info
- Support both config (YAML) and render options for flexibility
- Fix legend overlapping issue when positioned at bottom
- Maintain backward compatibility with showLegend option
- Add uniformRowHeight option to RenderOptions
- Render bit grid (8 vertical lines) inside bitfield cells
- Show bit numbers (7-0, MSB first) below byte numbers
- Increase row height to 45px for rows with bitfields
- Increase default cellWidth to 40px for readability
- Add 6 new tests for bitfield visualization
- 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)
- Implement YAML parsing with js-yaml
- Add simple SVG renderer with color-coded fields
- Create legend with field information on the right
- Set up dev workflow with auto-build and copy to Obsidian
- Support 9 color palette (blue, cyan, yellow, green, orange, purple, mint, pink, gray)
- Fix field label overlap by moving to legend