Visual Studio 2010のテキストエディタモジュールがどういう作りになっているのかを説明している「Inside the Editor」を読んだ。このドキュメントに書かれているモデルは非常に良くできていると思う。正直な印象としては、「完璧」。バージョン管理やトランザクションの考え方を応用していること、Projectionという考え方、美しい。思えばテキストエディタ部は「Visual Studio 97」から当然あるわけで、13年間もの蓄積があるんだよね。
Azukiの設計では、いくつか失敗したと思っている箇所がある。選択範囲をDocumentに持たせてしまったこと、ドキュメントのデータモデルを一次元の線形バッファにしてしまったこと、など。また新しくしたいと感じている箇所もある。GDIによる単一サーフェスでの描画、フツーでない配色やキャレット動作など。2008年7月にv1.0をリリースしてるから、ちょうど5年が経ったのか。そろそろスクラッチで作り直したいものだ。