製品内の採点規則を、公開契約へ変える
個人アプリの採点機能を作る過程で、NFC正規化、書記素単位の比較、空白・終端記号のポリシー、有効入力時間を使うCPMは画面固有の責任ではないと判断しました。
計算部分をDart単体へ分離し、英語・韓国語・日本語の文書、ブラウザ版サンプル、適合性フィクスチャとともにpub.devへ公開しました。公開後は実際のアプリにも適用し、パッケージの外に残す責任を確認しました。
pub.dev公開・製品へ導入済み
実アプリで必要になった採点ロジックを、Dart単体で動くUnicode対応OSSとして独立させました。
個人アプリで必要になったタイピング採点をDart単体で動くパッケージへ分離し、pub.devへ公開しました。NFC正規化、書記素単位の編集距離、バージョン付きポリシーと適合性フィクスチャで同じ入力が同じ結果になる境界を定義し、実際のアプリにも適用しました。
個人アプリの採点機能を作る過程で、NFC正規化、書記素単位の比較、空白・終端記号のポリシー、有効入力時間を使うCPMは画面固有の責任ではないと判断しました。
計算部分をDart単体へ分離し、英語・韓国語・日本語の文書、ブラウザ版サンプル、適合性フィクスチャとともにpub.devへ公開しました。公開後は実際のアプリにも適用し、パッケージの外に残す責任を確認しました。
製品からOSSを使う境界
製品契約は保ちながら、採点計算を公開エンジンへ一元化する
コミット済みの入力を渡す
既存の保存・表示形式
バージョンとフィールド名を変換
NFC・書記素・編集経路
固定小数点指標を保存
unicode_typing_grader 0.1.2はpub.devとGitHubで公開中です。39件のテストとCIを備え、実際のアプリでも公開パッケージを利用しています。
再利用できそうなコードを別リポジトリへ移すだけではOSSにならないと考えるようになりました。公開API、バージョン付き契約、境界事例のテスト、ライセンス、利用先への再導入まで閉じて初めて、製品の外でも変更を説明できる技術資産になります。
2026年8月に公開した0.1.xパッケージであり、外部利用者数・長期互換性・代表的な入力長でのベンチマークはまだ確認していません。