源氏物語6.1.zelの完全木テストが完了 実行環境は開発機,エディションはZT Basic

源氏物語6.1.zelの完全木テストが完了している.実行環境は開発機,エディションはZT Basic.

image

この後のテストはVAIOで実行することにして,ZT Advanced(標準版)に戻ることにしよう.最近の修正をフィックスしてから始めることにする.

  1. GENELIST:BASELISTを廃止する@20210224 5箇所
  2. GENELIST:domainを廃止する@20210224 10箇所
  3. 暫定 1箇所,#if 0 8箇所,#if 1 2箇所

どうも,やり損なってしまったようだ.TRIBEBOX::SetPotentialでエラーが出るようになった.このエラーは確認されているが,現在の環境では起きていないはずだ.もう一度作り直すしかない.「現状でフィックス」しているのだから,変化しているとすればどこかでやり損なっていると見るしかない.⇒原因はわかった.MARGBOX::getFloorとNAMEBOX::getFloorだ.#if 1でグラフ検証系オンの動作を実行するようになっていたのを修正で復元している.⇒元の論理の方が正しい.

ZT Basicは一応動くようになっているので,ZT Advancedのテストに掛かろう.源氏物語全系譜6.1.ZELの全体図を#1 光源氏で開くと,ShiftDirectAbsoluteで(card->getnodegene() – nbox->getFloor())というエラーが出ているが,エラーを無視して描画は可能なので,一旦置いて,ZTシステム構成図7.1.ZELで出ているバグのシューティングを急ぐことにする.⇒おかしい.ZTシステム構成図7.1.ZELが開けなくなってしまった.nodule::setNringでエラーが出ている.考え辛い.⇒リサイクルシステムに動作不良があるようだ.DEFINETRASHCANを一旦止めて動作するようになった.この障害は後で見ることにする.

標準版:ZTシステム構成図7.1.ZELの全体図を#24 UNDOCHAINでソートしてadjustGenerationRangeで停止.(tribelist->ZentaiMin != baselist->MinGeneration)が起きている.⇒このエラーはすでに解消しているが,系統並び替えの出口で垂直スプリットが検出される.

image

確かに物理世代13でスプリットになっているようだ.どうもあちこち具合が悪い.リリース版の動作もおかしい.サンプルを開いてスプリットになるのは仕方ないとしても,その後のファイルが開けない.新規ファイルさえオープンできない.強制的に新規ファイルを開いた後,CSVをインポートしようとしてハングしてしまう.お手上げだ.UNDOシステムのエラーまで出ている.ZT Basicでは源氏物語6.1.zelの完全木を通しているはずだが,VAIO2でエラーが出ているので,先にこちらを見ることにする.開発環境でも再現できる.

源氏物語全系譜6.1.ZELの全体図を#5 紫の上(若紫)で開いて,TRIBEBOX::originateで停止する. (getcritical(SPOUSESENZO)) エラーだ.HORIZONTALORDERフェーズのHorizontalArangement→ MoveRectRightHorizontallyで起きている.処理はすでにMainExperimentに入っている.SPOUSESENZOというのは,「BTW左手本人が系列先祖でかつ系列優先ノードの特殊BTWに関わる系列と左手本人およびその結婚枠」ということを意味する.つまり,「BTW左手本人が系列先祖でかつ系列優先ノード」であるような特殊な系列だ.

前回テストと今回の動作が異なるのは,前回のテストではMARGBOX:IsPrimeboxOrNotがつねにFALSEを返すような設定になっていたためと思われる.障害の起きている系列はTRIBEBOX #1612 先祖=#1321 源典侍(0)[29] 優先=#1321 源典侍(0)→#1749 光源氏(3) →主系列#1548:一院で,先祖ノードでかつ系列優先ノードのげ(0)がBTW左手本人になっている.BTW左手本人は可視ノードだから,このような条件が成立したからと言って特に不都合はないように思われる.しかし,その後のTRIBELIST::CheckAllBondedTribeでループカウントオーバーが発生してSUWになる.なぜだろう?

TRIBEBOX::CheckDirectSubTribeで「接触系列を親参照していない」という不良が起きて,「直属系列接続不良」という状態になっている.系列枠のbondageが空になっている.SPOUSESENZOはBONDEDTRIBE | MAGARIHOSEIとともに,IsBondedTribeの中に入っているのでbondageは主系列を指していなくてはならない.checkIfBondedTribeが空を返しているためだ.この関数ではIfContactParentBlockで上位系列との接触を検査している.

SPOUSESENZO属性を完全に廃止することにする.⇒バックアップに戻って作り直した.源氏物語6.1を開発環境でもう一度テストしてみる.エディションはZT Basicだ.

源氏物語全系譜6.1.ZELの全体図を#70 浮舟で開いて,NAMEBOX:ChangeTribeRealnodeで停止.「優先仮ノードが配偶者で逆婚姻関係でない接続」というエラーが起きている.#81 弘徽殿女御でも起きる.NAMEBOX::DoublyBlessedOneで「系列優先実ノードが右手配偶者の場合右手本人に切り替える」という措置を行っているところだ.DecideTribeTypeはPRIME_BTWLEFTを返している.これは「BTW左接続関係:両手に花左手本人→右手本人」だから正しい.ここではDecideTribeTypeの値をsetprimetypeするだけでよいのではないか?

ただし,今の場合,配偶者が左手本人になっているが,これでよいのだろうか?「右手配偶者が左手本人で停止@20210108」というオプションもあるが,そのノードが可視である限りは配偶者が左手本人となることは可能なのではないだろうか?今の場合,系列優先仮ノードはNAMEBOX #1820 薫(3)で可視の配偶者,BTWの相手方はNAMEBOX #1294 女二宮(今上の)(0)だ.薫(3)の系列はTRIBEBOX #1602 先祖=#1443 小宰相の君(0)で,女二宮(今上の)(0)は一院系列だ.

この図面には薫は2箇所に登場する.浮舟の配偶者,および小宰相の君の配偶者だが,このレイアウトにはやや疑問がある.

image

薫は一院系列に女三宮の子どもとしてのポジションがあるのに,なぜ小宰相の君の配偶者などになっているのか?⇒理由はわかった.「基準ノードの配偶者の外部婚を排斥」というオプションが効いているからだ.これは「基準ノードの配偶者の外部婚は配偶者の配偶者側で展開する」ための例外規則で,基準ノードの配偶者の外部婚を基準ノードから遠ざけるための方策だ.このルールが妥当なものであるかどうかはもう少し見なくてはならない.⇒このオプションを外したら,薫のカードは3枚になったが,もう少し自然な図柄になった.

image

女二宮+薫はBTWでカード消去できるはずだが,なぜそうなっていないのかは,後で見ることにする.以下の2つの障害の原因も「基準ノードの配偶者の外部婚を排斥」にあるようだ.

▲同上サンプルの#100 源典侍でNAMEBOX::IsPossibleBTWLeftHandで「右手配偶者が左手本人」というエラーが起きている.⇒このオプションは「左手本人が右手配偶者で停止@20210108」に改名した.現行では「停止する」だけでBTW不成立としているが,BTW成立という動作も可能だ.その方が多重カード削減の効果はありそうだ.

▲同上サンプルの#221 源氏宮の母でCARDLINK::getnameboxのエラーが出た.配偶者不在でGP例外が起きている.

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA