docs: clawhdf5-wasm in the changelog, known issues and CLAUDE.md
Changelog entry with the sizes measured on tank on 2026-09-26 (and the h5wasm 0.10.3 comparison), the browser build's limits as a known-issues entry, and where its tests run. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
@@ -280,6 +280,32 @@
|
||||
infinity; batches are all or nothing. CLI: `create --float16`. See
|
||||
`BENCHMARKS.md`, "float16 embedding storage".
|
||||
|
||||
### Browser (WebAssembly)
|
||||
- **New crate `clawhdf5-wasm`:** the reader compiled to
|
||||
`wasm32-unknown-unknown` with a wasm-bindgen JavaScript API —
|
||||
`open(bytes)`, `list`, `info`, `attrs`, `read`, `readHyperslab` — returning
|
||||
typed arrays of the stored width (`BigInt64Array` for 64-bit integers),
|
||||
string arrays for strings and enums, and a thrown `Error` for types with no
|
||||
typed-array form (compound, reference, opaque, VL sequences) or filters the
|
||||
build lacks (Zstd, SZIP). Read-only; the file is held in memory.
|
||||
- **`examples/wasm-viewer/`:** a drop-a-file HDF5/NetCDF-4 viewer page (tree,
|
||||
type/shape/attributes, values paged as hyperslabs; `?file=&path=` opens a
|
||||
URL). `build.sh` produces the package; `test/run.sh` checks it under Node
|
||||
(251 checks against values h5py/libhdf5 read back from an h5py- and a
|
||||
netCDF4-written file) and renders the page in headless Chromium. Size,
|
||||
measured 2026-09-26 on tank (`gzip -9 -n`): 627,501 B of wasm, 191,639 B
|
||||
gzipped, plus 21,826 B (4,487 B) of JS glue; h5wasm 0.10.3's embedded wasm
|
||||
is 3,544,184 B (907,096 B) — full libhdf5, so not equal functionality. See
|
||||
`examples/wasm-viewer/README.md`.
|
||||
- The facade's read path already built for `wasm32-unknown-unknown` (nothing
|
||||
needed gating); `ci-test.sh` now builds it (`--no-default-features`) and
|
||||
lints `clawhdf5-wasm` for that target, and CI installs the target. The Node
|
||||
and browser tests run in `ci-test.sh` only where `node` and `wasm-bindgen`
|
||||
exist (not the CI container); CI checks the same expectations natively
|
||||
(`clawhdf5-wasm`'s `h5py_interop` test).
|
||||
- `Dataset::raw_datatype()` (facade) returns the full stored datatype, for
|
||||
decoding `read_selection` bytes with `clawhdf5_format::data_read`.
|
||||
|
||||
### Build
|
||||
- **Pure-Rust default.** `clawhdf5-format`, `clawhdf5-filters` and the
|
||||
`clawhdf5` facade default to the `zlib-rs` deflate backend; `fast-deflate`
|
||||
|
||||
Reference in New Issue
Block a user