Show HN: A WYSIWYG word processor in Python
> Source: Hacker_News
Execute Primary Source
// Discussion Topic
HTMLレイヤーを排除し、B-tree構造を採用したPython製WYSIWYGエディタの設計思想。リッチテキストにおけるデータ構造の選択、Markdownとの互換性、および「視覚的な編集体験」と「テキストのポータビリティ」のトレードオフが議論の核心である。
// Community Consensus
ブラウザを介さないネイティブな設計は歓迎されている。しかし、議論は「Markdown至上主義」と「WYSIWYGの必要性」の間で激しく対立している。Markdown派はポータビリティを主張し、WYSIWYG派は複雑なレイアウトや参照管理の利便性を強調する。技術面では、画像やテーブルを含む構造にはRopeではなくB-treeが適しているという認識で一致している。
// Alternative Solutions
Wordgrinder(ターミナルベースのワードプロセッサ)、Typst(印刷に特化したマークアップ言語)、Pandoc(文書形式の変換ツール)などが、実戦的な代替案として挙げられている。
// Technical Terms
Senior Engineer Insight
> 「HTML/ブラウザへの依存脱却」という設計思想は、低レイテンシと制御性を求める観点で極めて理にかなっている。しかし、B-treeを用いたリッチテキスト管理は、テーブルや画像の配置といった複雑な構造の整合性を保つのが極めて困難であり、実装の難易度は非常に高い。また、wxPythonによるクロスプラットフォーム対応は、OSごとの描画差異や依存ライブラリの管理という、実戦における泥臭い課題を露呈している。本プロジェクトが単なる趣味の範疇を超えられるかは、Markdownとの共存、あるいはMarkdownでは不可能な「文書構造の高度な抽象化」をいかに軽量に実現できるかにかかっている。