CR2Builder はなにをするツールなのか?議論してると、わけわからなくなる。
ERCの編集機能がありきで、その為に最低限な編集機能を搭載し あとはすべておまけ機能というのが表向きな見解であり、この枠組みをはずすと 存在理由がはっきりしなくなる。
実際のところは、PoserFileビューワーとか、PoserFileの編集に使われる頻度のほうが高いわけで、作る側と使う側の認識は乖離してる気はする。それが悪いわけではないしよくあることだ。
それでも議論するのは、新しい枠組みを認識することで、別のものに進化させたいからだ。
ERCの編集機能とか、ヒエラルキーページとか valueParmList 作ったりしてるが、あれはなんなのか?
最近、気づいたがワープロで もくじや索引を作る機能とおんなじだと。
なので、CR2Builderにある明示的でない機能は PoserFile内の自己参照リスト作成に対してユーザーのニーズがあったと、今考えると思える。
Poserファイルは巨大なので、それを操作するには、indexが不可欠だ。
CR2Builder にはJump機能がある。これは、よくよく考え見ると、インデックスから参照先にジャンプする機能 つまり、CR2Builder には、index を作成するプロセスが存在している。現在のCR2Builder の場合、Tree構造の複製過程と indexの作成過程が同一なので、indexを作成していると明示的に認識しにくい。
LeftPage の内容の index を Right側に作成して、Right側から、LeftPage のTreeNodeにJumpするRight側から、LeftPageを指す関係のJumpをしている。で、Joint系のChannel に対して、どんなindexを作成したらいいのか考えると、
LeftTV内の joint 系のTreeNodeから LeftTV内の joint 系のTreeNodeにジャンプができればいいのでしょうか?
RightPage にどんなindexを作成するか定義するファイルを読み込んで、中間的にindexを作成して、それにしたがって、LeftPageの各TreeNodeに 自己参照するJump先のTreeNodeを設定する。
[set jump target] とでもいうメニューを作成して
で、参照関係の文法ですが、
actor a1 の channel b1 は、actor x1 の channel y1 に jump するという表現を
以下のように行う。
{
actor a1 # channel b1
{
actor x1 # channel y1
}
actor a2 # channel b2
{
actor x2 # channel y2
}
actor a3 # channel b3
{
actor x3 # channel y3
}
actor a4 # channel b4
{
actor x4 # channel y4
}
}


0