(Deprecated) 0.1b HexMac
HexMac 0.1b
Beta release focused on large-file performance, a reworked hex grid, and a much faster binary comparison workflow.
Highlights
- New byte-array engine — B+ tree with file-backed slices; large files stay on disk while edits live in memory. In-place save without temporary files; Save As streams through a bounded buffer.
- Virtual scrolling — viewport-based hex grid with row cache, overscan, background prefetch, and a dedicated vertical scrollbar.
- Faster file comparison — incremental diff mapping, per-row caching, and clearer diff highlighting via
HexDiffSpan. - Keyboard selection — move the caret and selection with arrow keys; the viewport scrolls automatically to keep the active byte visible.
Hex editor
- Reworked
HexGridView/HexRowViewlayout with offset column, viewport scroll view, and refined header. - Configurable bytes per row (8 / 16 / 24 / 32) and text encodings in the status bar.
- Color highlights with navigation in the Inspector panel.
- Improved histogram and hash tools for file and selection scopes.
Binary comparison
CompareRowCacheandDocumentRowCachefor smoother scrolling through large diffs.HexDiffSpanmodel for accurate, mergeable diff highlights.- Clamped range handling for unequal file sizes.
- Refactored compare grid layout with linked minimap scrolling.
Built-in terminal
goto end— jump to the last byte of the document.- Updated range and offset parsing for large files.
Other
- README updated with feature list, keyboard shortcuts, project structure, and screenshots.
- Minimum macOS version raised to 15.6.
- Expanded test coverage: byte-array I/O, scroll window, row loader, compare cache, diff spans, histogram builder, pattern search, terminal parser.
Requirements
- macOS 15.6 or later
Full changelog (0.1a → 0.1b)
- Refactor hex editor architecture with B+ tree byte array and file slices
- Add virtual viewport scrolling, row cache, and prefetch
- Enhance binary comparison with caching and incremental diff mapping
- Add keyboard selection movement and auto-scroll to selection
- Introduce
HexDiffSpandiff highlighting - Update README, screenshots, and status bar UI
- Add unit tests for new services and scroll behavior