炊紙は三次元空間上でテキストを編集できるテキストエディタです。「かしきし」と発音します。
Rust & WebGPU(wgpu) で開発されてます。
Note
この README 文書のオリジナルは GitHub 上で管理されています。 https://github.com/mitoma/kashiki2
Warning
このソフトウェアは現在開発中のため破壊的な仕様変更が随時入ります。
世のテキスト編集は未だに貧相なユーザーインタフェイスを引きずったままです。
例えば "A" というキーを押せば何のインタラクションもなく "A" という文字が突如画面に登場し、"Delete" を押せば瞬く間に消え去ってしまいます。
カーソルは画面の右端に消えたかと思えばいきなり左端に登場します。
このAR/VR時代、文字列という一次元のバイト列がいつまでも紙の時代を踏襲して二次元空間にレイアウトされ、貧しいインタラクションで表現される前提ではいけません。
文章は三次元空間上に自由に、滑らかにレイアウトされるべきでしょう。(確たる根拠なし)
炊紙ではこのような考え方に基づき、三次元空間上でテキストを編集するユーザーインタフェイスの価値検証を目的に開発されています。
炊紙は内部的に三次元空間上にテキストを配置しているため以下のような特徴を備えています。
フォントの描画を GPU 側で行い、イージング関数に基づいたアニメーションを行い既存のテキストエディタにはない滑らかな編集体験を実現しています。
2024年時点の PC であれば多くの環境で 60fps で動作する見込みです。
フォントをベクタグラフィックとして扱っているため、拡大縮小が滑らかです。
また、文字間・行間の変更をテキスト編集にとって第一級の操作と考えているため、編集中にシームレスに調整できます。
日本語は縦書きが基本ですが、十分に縦書きに対応したテキストエディタは多くはありません。
しかし、文章は縦に見たり横に見たり、レイアウトを柔軟に変えて読み直すことで深い洞察を得ることができます。
炊紙では文書編集中に縦書き、横書きを即座に切り替えられます。
箇条書きを入力すると自動的にインデントが付きます。
これは単に私の文章編集上の好みに過ぎません。
投げやりな気分の時にはサイケデリックモードを有効にしてみてください。
Rokid Max という AR デバイスを所有していて Windows を利用している場合に限り、AR モードを有効にできます。
ヘッドトラッキングにより、より三次元空間を活かしたテキスト編集体験ができます。
炊紙は Emacs のキーバインドをベースにしています。
これは非常に深い思索・検討の末に至った合理的理由がありますがドキュメント上は単に私の好みとしておきます。
技術的ショーケースを以下で見ることができます。 WASM & WebGL に変換したものですのでネイティブアプリケーションの動作そのものではありませんが、炊紙の雰囲気の一端を垣間見ることができるでしょう。
https://mitoma.github.io/kashiki2/showcase.html
Warning
炊紙は現在 Windows でのみ動作を確認しています。
Linux や Mac ではビルドのみ行っていますが期待通り動作するかは確認・保障されていません。
https://github.com/mitoma/kashiki2/releases から最新のリリースをダウンロードしてご利用ください。
Windows では動作確認を行っていますが、Linux や Mac では動作確認を行っていません。
cargo install --git https://github.com/mitoma/kashiki2.git kashikishi
git clone https://github.com/mitoma/kashiki2.git
cd kashiki2
cargo run --bin kashikishi --release
Windows でビルドを行う際、環境によっては 'error: linker link.exe
not found' というエラーが表示されることがあります。
この場合 Build Tools for Visual Studio 2022 をインストールし、C++によるデスクトップ開発用のツールをインストールすることで多く環境で問題を解決できるでしょう。
https://visualstudio.microsoft.com/ja/downloads/
Linux でビルドを行う際に libudev
が必要になる場合があります。
Ubuntu であれば以下のコマンドでインストールできます。
sudo apt-get install libudev-dev
炊紙は起動すると以下のような画面が表示されます。
メモ帳を使う場合はそのままEnterキーを押してください。
使い方を知りたい場合はカーソルを下に動かしてヘルプを選んでEnterキーを押してください。
炊紙はまだ手軽なメモ帳としての機能しか無く、任意のファイルを開いて編集する機能はありません。メモは json ファイル形式で以下のファイルに構造化されて保存されます。
$HOME/.config/categorized_memos.json
$HOME は Windows の場合、典型的には以下のパスになります。
C:\Users\[ユーザー名]
また、バックアップファイルは categorized_memos.[バックアップ日時].json
の形式で都度保存され、炊紙では明示的な削除は行いません。ただのメモ帳であることから、そこまで大規模なデータ量になる事はありませんが、必要に応じてバックアップファイルは適宜削除ください。
メモ帳の内容を明示的に保存したい場合は Ctrl + X
Ctrl + S
のキーバインドで保存できます。
炊紙はソフトウェアを利用したフィードバックや三次元空間上でテキスト編集するためのアイデアや議論について歓迎します。
ただし、PullRequestなどソースコードでのコントリビューションについては現在受け付けていません。
ソフトウェアに改変を加えたい場合は適宜フォークしていただき、ライセンスに従ってご利用ください。
炊紙は MIT ライセンスの下で公開されています。ref
炊紙はシステムに「UD デジタル 教科書体」が含まれる場合はそちらを優先的に利用します。
UD デジタル 教科書体が利用できない場合は組み込みのフォントを利用します。
組み込みのフォントは以下の2点を利用しており、いずれも Open Font License に従った利用に努めています。
読みやすくバランスの良いフォント
https://fonts.google.com/specimen/BIZ+UDMincho/about
かわいい白黒の絵文字フォント