Skip to content

v0.2.0 — Open Board Format import

Choose a tag to compare

@ashmere ashmere released this 28 Apr 18:15
· 3 commits to main since this release
v0.2.0
4944396

NuinTalker v0.2.0

Live at https://ashmere.github.io/NuinTalker/ once the deploy workflow finishes.

What's new

  • OBF / OBZ vocabulary import: Carers can import a .obf or .obz file from any AAC tool that exports the Open Board Format — PrAACtical AAC samples, OpenAAC, CoughDrop public boards. From Settings → "Imported boards", click the file picker; the imported board joins the Vocabulary dropdown alongside the built-in YAMLs.
  • Inline data-URL images and ZIP-bundled images both work; everything stays on-device.
  • Multi-board navigation (load_board links) is parsed but not yet auto-traversed on dwell-select — each .obz board is selectable as its own vocabulary.

Implementation

  • New ADR 0006-fflate-for-obz.md — fflate (~12 KB MIT) for in-browser ZIP reading.
  • Pure parsers obfImporter.ts (12 unit tests) and obzImporter.ts (7 unit tests) keep parsing logic side-effect-free.
  • IndexedDB persistence (saveImportedBoard / getImportedBoard / listImportedBoards) survives offline reload.
  • Playwright e2e covers the upload → switch → speak path.

Privacy

Same posture as v0.1.0: imported files stay on your device. No upload, no telemetry.