まだお勉強中 現状整理†分析の観点で考えています。実装とは大幅に異なる可能性があります。 描画に関する主要な機能は3+αのエンジンに分けられる。 仮にUrd/Berd/Skuldとする。 Urd†
Berd†
Skuld†
タイムラインから呼ばれるコマンド†SakuraScriptに明示的に書くコマンドの他に、以下のようなものもある。
その他†SakuraScriptパーサ†文法解釈し、全てのコマンドをタイムライン上に並べていく。実際は分解する所までしかやらないで、一つのコマンドが終わったら、次のコマンドを実行すべき時間が確定するのかな? レンダラー†必要な描画作業を行う。 シナリオ†あんなこといいな、できたらいいな? CROWの動的SERIKO†起動中のゴーストが自らsurface.txtを書き換える。 ネットワークから動的にダウンロードするゴーストや、複雑な成長をするゴースト。 ゴーストエディタ†
こないだの重力ゴースト†起動中のゴーストにmoveを外部から送ったり、さらに上書き的にmoveさせたり、特定の位置まで動かしてから外部ツールが何かをしたり(同期が必要、の意)。 デスクトップNScripter†特に今と変わらないけど、例えばバルーンレス(デスクトップに直接書いちゃう)とか。 方針†BerdとUrdの一体化†全部ファイルで永続化。ゴースト側から読み書き可能にする。 多分もうなってるんじゃないかな。 APIは非同期†タイムラインをバイパスしていきなりコマンド呼ぶのはリスキーな気がする。 とすると、呼び出し時はSkuldに渡して、必要に応じてイベントを発行してもらう。 |