- platform::mode documents the on-disk mode-bit layout (bits 31..19 =
d a l T L D p S u g c t ?, low 9 bits = permissions).
- The snapshot module documents the LEB128 / zig-zag varints and the RFC
3339 JSON timestamps, and states that snapshots written by mapsize 1.x
load unchanged.
- Renames: GoTime -> JsonTime, go_duration -> fmt_duration, fixture
testdata/go.msz -> testdata/v1.2.0.msz (a snapshot written by mapsize
1.2.0), loads_go_snapshot -> loads_1_2_snapshot.
- --log / --log-level help says they are accepted and ignored.
Split platform into a portable core (mod.rs) plus unix.rs and windows.rs.
- Linux: statx through syscall(2) so static musl links (fstatat fallback
on ENOSYS); virtual-fs detection compares f_type as u32.
- macOS: Finder trash (~/.Trash or /Volumes/X/.Trashes/<uid>, "name N"
collisions, EXDEV falls through to the next location) and `open -R`
reveal; never headless.
- FreeBSD/NetBSD: fstatat with birth time; trash and reveal unsupported,
permanent delete still available on headless systems.
- Windows: std read_dir and metadata, allocated size unknown, no inode
identity, Recycle Bin via SHFileOperationW (FOF_ALLOWUNDO, all
architectures), Explorer /select reveal, no permanent delete, '\\'
separator with Windows glob semantics, abs paths via GetFullPathNameW,
config in %AppData%.
- Local time via a portable LocalTime helper (localtime_r tm_gmtoff on
Unix, SystemTimeToTzSpecificLocalTime on Windows) replacing libc tm and
mktime in the TUI, snapshot and filter code.
- errno, stat field names and mode_t width handled per OS; Unix-only
tests gated; clippy clean on all targets.
Adds windows-sys =0.61.2 (Windows only; Win32_Foundation,
Win32_System_Time, Win32_UI_Shell), already in the lockfile via crossterm.