Skip to content

Add DataReader, BinaryDataReader and StringExtractor - #23

Merged
rickhohler merged 1 commit into
mainfrom
feature/binary-readers
Oct 25, 2026
Merged

rickhohler merged 1 commit into
mainfrom
feature/binary-readers

Conversation

@rickhohler

Copy link
Copy Markdown
Collaborator

relocate-binary-readers-into-dak (DesignAlgorithmsKit-Specs), for
FileSystemCore relocate-retro-and-app-specific-code 1.6. Generic byte-level
helpers move down from FileSystemCore, hardened on the way: byte-wise reads
(no misaligned loads), negative offsets never trap, Data slices read
relative to their start, and a throwing generic read/write so a missing
field differs from 0. DataReader throws BinaryReadError instead of
FileSystemError. StringExtractor carries only the generic printable-run
scan; vendor heuristics stay in FileSystemCore. The byte-order enum is
ByteOrder (RetroCore already has a public Endianness).

Tests: swift test runs 386 unit tests and 2 integration tests, all passing (12 new). swift build and xcodebuild docbuild have no warnings.

🤖 Generated with Claude Code

relocate-binary-readers-into-dak (DesignAlgorithmsKit-Specs), for
FileSystemCore relocate-retro-and-app-specific-code 1.6. Generic byte-level
helpers move down from FileSystemCore, hardened on the way: byte-wise reads
(no misaligned loads), negative offsets never trap, Data slices read
relative to their start, and a throwing generic read/write so a missing
field differs from 0. DataReader throws BinaryReadError instead of
FileSystemError. StringExtractor carries only the generic printable-run
scan; vendor heuristics stay in FileSystemCore. The byte-order enum is
ByteOrder (RetroCore already has a public Endianness).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rickhohler
rickhohler merged commit c8a48d1 into main Oct 25, 2026
1 check passed
@rickhohler
rickhohler deleted the feature/binary-readers branch October 25, 2026 00:58
@rickhohler rickhohler mentioned this pull request Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant