2026-02-25
Changelog: Platform, NKDBv2, and Benchmarking Work
A full-day release focused on web UX reliability, NKDBv2 migration, and end-to-end test and benchmark hardening.
Overview
Today focused on taking CORE Korean from a collection of working parts to a more enforceable and measurable system. The web shell received multiple responsiveness and navigation fixes, the dictionary runtime moved fully to NKDBv2, and benchmarking plus CI-facing checks were tightened to protect correctness and performance.
Web UX and Navigation
The first set of commits addressed dark-mode consistency and mobile responsiveness across the app shell. Navigation behavior was then stabilized through several targeted fixes so burger and drawer logic behaves deterministically across phone, tablet, and desktop breakpoints.
The result is a cleaner interaction model where layout transitions are predictable and no longer depend on ambiguous breakpoint combinations.
Core and Tooling
On the Rust side, language-engine internals were refactored to satisfy stricter clippy and best-practice gates. The infrastructure workflow was also streamlined so the full test matrix is easier to run consistently through the canonical dev interface.
As part of the same cleanup wave, nginx CSP headers were removed as requested.
Analyzer and Study Flow
The web analyzer flow was improved for Korean vocabulary handling, and review interactions gained a reveal shortcut to reduce friction during study sessions.
Dictionary Runtime: NKDBv2 Migration
Dictionary work progressed from earlier NKDBv1 scaffolding into a full NKDBv2 implementation. This included adding the v2 parser and writer with CRC validation, introducing storage-layer async byte-source adapters, replacing the CSV compiler output with v2 chunk encoding, and switching frontend runtime lookup paths to NKDBv2.
Benchmarks were migrated to NKDBv2 for both native and wasm targets, and the v2-only flow was finalized with bucket-level tests and latency reporting.
Benchmarking and Device Simulation
The benchmark suite was expanded beyond simple latency measurements. Real-dataset consistency checks and build-time gates were added, then a device projection framework introduced slowdown presets for constrained environments.
Simulation quality was improved with richer hardware metadata and structured source citations, creating a stronger baseline for regression detection across desktop and mobile-like conditions.
Outcome
This release established stronger invariants across UX, core runtime behavior, and performance governance. CORE Korean now has a more stable navigation layer, a fully integrated NKDBv2 dictionary path, and a benchmark system designed to enforce both correctness and speed over time.