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