Repository navigation
Releases
NextMedTator v0.1.0-preview.9
NextMedTator now supports resumable bulk annotation: Select all / unfinished, overall progress and ETA, per-note status, pause/resume, retry failed notes, and JSON completion reports. Opt-in local corpus recovery checkpoints the queue and its saved results across reloads. Checkpoint capture waits for complete prediction/Auto apply commits.
Models still download only on request. Automatic WebGPU with original FP32 WASM fallback and the Low CPU / Balanced choices remain available. Blind jobs retain report redaction after changing the current workspace mode.
Measured on this Windows machine with 100 short synthetic notes per model, original FP32, and a fresh Chrome process per mode:
| Model | Mode | 100-note time | CPU time | Avg machine CPU | Peak resident RAM | Peak private commit |
|---|---|---|---|---|---|---|
| P10 | Low CPU / WASM 1 | 424.4 s | 444.4 s | 5.2% | 5.81 GiB | 6.34 GiB |
| P10 | Balanced / WASM 4 | 131.3 s | 511.6 s | 19.5% | 5.89 GiB | 6.45 GiB |
| P10 | WebGPU | 74.8 s | 83.7 s | 5.6% | 6.62 GiB | 6.91 GiB |
| BPSD | Low CPU / WASM 1 | 418.8 s | 438.1 s | 5.2% | 6.64 GiB | 7.21 GiB |
| BPSD | Balanced / WASM 4 | 142.5 s | 560.5 s | 19.7% | 6.67 GiB | 8.29 GiB |
| BPSD | WebGPU | 141.6 s | 84.8 s | 3.0% | 8.04 GiB | 8.26 GiB |
All modes matched spans and attributes for each model. Inference workers stopped after completion and cancellation; resident memory settled to 1.42–1.61 GiB after 30 seconds while retaining loaded models and review history. These are single-pass measurements on short synthetic templates; GPU VRAM is excluded.
Full measurements and methodology · Step-by-step queue tutorial
Validation: 198 unit tests and 27 Python validation tests passed (one existing skip in each suite), original annotation/real WASM workflow checks, and six 100-note real-model CPU/RAM runs with completion and cancellation checks.
The static ZIP contains the compiled Rust WASM core, browser runtimes and verified asset inventory. Model weights remain separate in R2. Serve the archive over HTTP(S) with its generated headers; the SHA-256 file verifies the download.
Live validation passed pause/checkpoint/reload/resume, settings mismatch rejection, retry of only the failed note, and report export. Three fresh production starts passed with zero automatic model/catalog downloads.
NextMedTator v0.1.0-preview.17
Adds a GPU compatibility diagnostic for the reported Mac FP16 conformance failures.
- Check the loaded GPU package using only reference fixtures; no CPU fallback download or user-note inference.
- Separate confidence-score differences from changed spans, attributes, token counts, and tensors.
- Export a compact report with browser/model identity and public-fixture metrics, excluding note text and annotations.
- Preserve current numeric thresholds and automatic WASM fallback for normal analysis. This release does not claim to resolve or qualify Mac GPU parity without device measurements.
Validated both actual FP16 packages and injected confidence mismatch/report export in Chrome 155 on Windows. 221 unit tests passed, one pre-existing skip. Includes compiled static ZIP and checksum. See docs/nextmedtator/PRECISION.md.
NextMedTator v0.1.0-preview.16
Fixes model storage failures during automatic FP16-to-FP32 WASM fallback.
- Save and verify model data in bounded 16 MiB chunks; publish metadata only after success.
- Continue with verified in-memory downloads when persistent caching fails; reuse the active fallback on repeat analysis.
- Preserve cancellation, integrity checks, old installations, and recover interrupted staging writes with cross-tab locks.
- Show the GPU failure under “Why CPU was used”; use the checked GPU adapter for ONNX Runtime.
- Downloads remain request-only. Includes a compiled static ZIP without model weights.
Validation: 218 unit tests passed, one pre-existing skip; storage/full-cache/cancellation/compatibility checks passed in Chrome 155, Firefox 155, and WebKit 26. Both real FP16 models passed WebGPU inference in Chrome. Both passed real FP32 fallback after injected GPU/storage failures, with identical repeat outputs and no repeat download. Native macOS/Safari was not available; full WebKit inference did not complete. See docs/nextmedtator/STORAGE-FALLBACK.md.
NextMedTator v0.1.0-preview.15
Adds dark mode across the annotation workspace, ribbon, Assistance, search, loading indicators, settings and verification page. Defaults to the system color scheme and follows changes live. Settings → Appearance offers persistent System / Light / Dark choices.
Validated in installed Chrome 155 and Firefox 155, plus WebKit 26. System/override persistence, local search, startup/CSP and toolbar regression checks pass; unit suite: 216 passed, one existing skip. Screenshots are in the repository tutorial and local gitignored temp/browser-validation/theme/.
Compiled static ZIP and SHA-256 below; models remain separate, on-demand downloads.
NextMedTator v0.1.0-preview.14
A simpler four-step Assistance workflow: open a note, choose a model, load it, and analyze/review. P10 is the initial default and first option. Advanced tools are collapsed; models load only on request.
Firefox and Safari use a separate verification tab that returns authorization to the app automatically. The main annotation app retains WASM isolation. Public download protection is unchanged.
Validated with installed Chrome 155 (WebGPU) and Firefox 155 (WASM), both real P10/BPSD packages, synthetic notes, review/write, and worker cleanup. WebKit 26 passes startup/CSP and verification transport tests. Updated screenshots, tutorials, and a 12-step GIF are included in the repository.
Compiled static ZIP and SHA-256 checksum below. Model weights remain separately downloaded from protected R2 delivery. See docs/nextmedtator/GUIDED-ASSISTANCE.md for reproducible checks and validation limits.
NextMedTator v0.1.0-preview.13
Fixes Safari startup getting stuck behind an obsolete File System Access warning. Its inline Continue handler violated the production CSP. The workspace now opens directly with ordinary file-input/download fallbacks. Legacy action links no longer execute javascript: URLs, and Metro no longer inserts a redundant detached-document base element. The strict CSP remains unchanged.
Assistance now follows the existing annotation toolbar: compact typography, square controls, gray section headers, blue actions and local Font Awesome icons with visible text labels. Keyboard section controls, scrolling and compact window layouts remain supported. Model downloads still require an explicit request.
Validated in WebKit 26.0 on Windows and Chromium: automatic startup, schema/XML downloads, original tabs, keyboard controls, loaded icons and zero enforced CSP violations. WebKit collection export/restore and cancellation also passed. WebKit engine testing is not a claim of validation in the shipping macOS/iOS Safari app.
Includes a compiled static-site ZIP with Rust/WASM runtime and SHA256 checksum; model weights remain separate. README and repository tutorial updated with the refined UI screenshot.
NextMedTator v0.1.0-preview.12
Refines model downloading and initialization with local device recommendations, reordered controls, named initialization stages, progress and ETA. Downloads still require an explicit request.
Public R2 downloads now use a Turnstile-verified, rate-limited Cloudflare Worker with expiring scoped download grants. The real P10 FP16 verification/download/inference flow and BPSD WASM initialization/cancellation were tested in the browser.
File System Access APIs are optional: collection backups use ordinary browser downloads up to 64 MiB when the save-file picker is unavailable or denied. Larger backups retain streaming export on capable browsers. Export/restore, cancellation and byte-limit tests passed; README and repository tutorials include screenshots.
Compiled static site ZIP includes the Rust/WASM runtime and verified asset inventory. Model weights remain separate request-only downloads. See the repository download-protection documentation for deployment details and validation limits.
NextMedTator v0.1.0-preview.11
Long notes now use overlapping GLiNER2.5 windows for P10 and BPSD, retaining complete prompts and exact source offsets. Model packages load into memory only on request and can be unloaded explicitly. Review adds filters, pagination, keyboard shortcuts and protected undo. Large collections store up to 10,000 text notes locally, load histories on demand, resume per-note queues and stream portable backups.
The original annotation editor remains in place. Automatic WebGPU with original FP32 WASM fallback and opt-in downloads are retained. Accuracy evaluation was skipped and wider device qualification deferred as requested.
Validated locally: 100-note pause/reload/resume queues for both real models, long-note WebGPU inference, model unload measurements, 10,000-note storage/backup and concurrent-save checks, 208 JavaScript tests (one existing skip), 27 Python checks (one existing skip), original annotation workflow, responsive Assistance layout and no-download startup. The final build repeats both model workflows with five-note queues.
Live app · Screenshot tutorial and GIF · Validation and limitations
The compiled static ZIP includes the Rust WASM core and browser runtimes. Model weights are separate public R2 downloads. Serve over HTTP localhost or HTTPS with the included _headers; file:// is unsupported.
Asset version: a03d015161191aca856212ca4626af7faec5e4cd808064b16ff26318aee0b4ce
ZIP SHA-256: 4db321b351b3b466bcdadcb2293e1aa677f6aa8bd3bae7529a9aadaff64a4fff
Live production validation passed for both models: long notes, review/undo, unloading and five-note pause/reload/resume queues. Fresh startup had zero model/catalog requests; unopened collections remained idle. Browser tests explicitly imported verified local packages, without redownloading unchanged R2 weights.
NextMedTator v0.1.0-preview.10
Automatic device defaults
GPU inference remains the default through WebGPU. CPU fallback now uses the browser-reported logical processor count minus one (minimum one), for single-note and bulk analysis. Low CPU and Balanced remain available; non-isolated browsers use one WASM thread. Downloads still start only on request.
Validated both real P10 and BPSD FP32 packages in Chrome on Windows: automatic GPU and forced GPU-unavailable fallback, actual 19-thread WASM, matching spans and attributes, and inference worker release. Unit tests: 199 passed, one existing skip. Apple Metal was not tested on this machine.
This compiled static ZIP includes the application and runtime, with a SHA-256 checksum. Model weights remain separate, downloaded on request from R2.
Production validation passed for both models at https://nmt.sidata.plus/ on automatic WebGPU and forced GPU-unavailable WASM fallback. Both used the requested 19-thread CPU setting on this 20-logical-processor host. Startup remained download-free. Screenshots are saved in gitignored temp/browser-validation/.
NextMedTator v0.1.0-preview.8
Bulk assistance now defaults to one WASM thread, with a Balanced option up to four. Model validation and analysis share one session; GPU fallback avoids duplicate validation. Requests are prepared lazily, completed outputs are published immediately, and note selection is paginated. Added batch progress and an ETA after the first note.
Downloads still start only on request; automatic FP32 WASM fallback and individual review for experimental INT8 remain. Includes updated tutorials and a real browser screenshot.
Validation: 192 unit tests passed (1 skipped), 27 Python checks passed (1 skipped), lint and asset audit passed. Real browser batches tested both models with one/four WASM threads, WebGPU, and forced fallback; spans and attributes matched across CPU modes.
The compiled static archive includes the Rust WASM core and browser runtimes. Model weights remain separate.