2025/02/27
以下は元々「棒読みちゃん連携トランスレータ」のReadme.txtに書いていたものである。
設計方針・ある種の設計メモであるが、配布ファイルサイズの無駄なのでこちらに移転した。
当初はゴーストに直接実装していたのだが、「SHIORI」に「YAYA」を採用しており、 本モジュールを他ゴーストへ流用する場合、「SHIORIがYAYAじゃなければならない」という制約がある。
つまり「里々」など「YAYA」以外のSHIORIでは使用できないのである。
「里々」の手軽さは初心者にとって魅力であり、「とっつきやすい」という点は新規参入の敷居を下げ、潜在的に界隈の活発化に貢献する。
それらのゴーストマスターを切り捨てるという事は「基本条項第0条第2項 広める。」に反する行為であり、 家が不審火で燃えることを意味する。(実は「里々」使ったことありません。)
解決策は二つ
相手を「YAYA」に移行させるか、こちらが「里々」用の辞書を書くか。
前者は相手に「移行≒再開発」を強要する物であり、 その結果、得られる物がよほど魅力的なものでなければ不可能だろう。
後者は私がやりたくないので不可能である。
(理由:同じ機能のソフトウェアを二つ作るのは無駄だし不具合発生率も上がる為。)
「SAORI」という手段もあるが、ゴースト側で対応するために作業が発生することには変わりがないうえ、
ただ呼び出せばいいわけではなく、整形されたテキストを渡す必要上、ある程度の敷居は残ることになる。
んで。
どのような「SHIORI」を使用したとしても、トークの内容はベースウェアに渡される時点で、 「さくらスクリプト」という(一種の)共通仕様に沿った形式に整形されることが保障されている。
旧「仕様」書(http://usada.sakura.vg/contents/makoto.html)によると
>>全てのスクリプトは必ずトランスレータを通過します。
>>このとき、トランスレータは受け取ったものと異なるスクリプトを返すことでスクリプトを改竄することができます。
つまり、ここで中間者攻撃を仕掛けることにより「さくらスクリプト」を盗み取ることができる。
既存ゴーストに本トランスレータを導入するだけで機能実装が可能となり、導入の敷居を大幅に下げることができる。
「YAYA as MAKOTO」により「YAYA」による開発が可能であり、 辞書ファイル≒ソースコードもオープンで透明性も確保できる。
以上の理由でMAKOTOとして実装した。