チョークツールのパフォーマンス:フルスクリーンパスから scissor 矩形へ
Lulucat Notes のチョークツールは、手書きが密集した領域で遅くなりました。ボトルネックは 3,571 個の入力サンプルではなく、フレームごとに実行される 70 回のフルスクリーン scratch pass でした。却下した低解像度キャッシュと、ストロークごとの scissor 矩形がその経緯を示します。
—
Lulucat Blog は、アプリが実際にどう作られているかを書き留める場所です。手書きツールを支えるレンダリングエンジンの深掘り——ストロークモデル、消しゴム、GPU パイプライン——、それらを信頼するために作る計測・検証用の基盤、AI コーディングエージェントとの仕事についての率直な記録を載せます。エージェントがうまくできたこと、壊したこと、私たちが残したものも含めて。決まった更新スケジュールはありません。新しい記事は、本当に見せられるものがあるときに公開します。
RSSフィード
Lulucat Notes のチョークツールは、手書きが密集した領域で遅くなりました。ボトルネックは 3,571 個の入力サンプルではなく、フレームごとに実行される 70 回のフルスクリーン scratch pass でした。却下した低解像度キャッシュと、ストロークごとの scissor 矩形がその経緯を示します。
iPad向け手書きアプリで Turso/libSQL を評価し、すべてを計測したうえで、フラットなスナップショットファイルを選んだ。私たちのワークロードにデータベースは必要ない。各段階では、すでに存在する問題にだけコストを払うべきだからだ。
Lulucat Notes に Freeform の方向性万年筆が欲しかった。仕様は手書きのスクリーンショット1枚だった。2つのモデル、見分けるための1つの問い、そして楕円のペン先を経て、ウォーターペンはあるべき姿で書けるようになった。調査、コード、検証はすべて Fireworks 上の Kimi K3 が担った。
Core Graphics のタイルパイプラインを、6つの小さなステップで Metal のポイントスプライトパイプラインに置き換え、それぞれを実機の iPad で検証しました。コードは Fireworks 上の Kimi K3 とペアプログラミングで書きました。
消しゴムを独立した要素にするのは自然な設計ですが、オブジェクトの移動で破綻します。Lulucat Notes では、消去はインクを取り除くストロークに属します。
実際の Apple Pencil データで合成テストが見逃した欠陥が明らかになり、Lulucat Notes は三つのアウトラインエンジンから MaLiang のスタンプモデルへ移行しました。