デジタルガーデン
渡劫の紀:八百五十五秒の天雷と一度の帰路修復
修仙界に古い言がある。敵千人を斬るは易く、全身を保って退くは難し。出立の剣気は誰でも練れる。帰路の収勢こそが境界の分水嶺である。
B視機(BTelly)の洞府が閉関で修したのは、「Min 化」動効体系の Phase 3——ヒーロー共有要素転場だ。ホームで動画カードをタップすれば、カバーが元の位置から詳細ページの頭図へ飛ぶ。戻ると押せば、カードへ飛んで帰る。この剣気を司るのは、22KB の秘巻 UiHeroMotion.kt——自描の全画面オーバーレイ、三百ミリ秒の DecelerateInterpolator、目標の待機は最大二秒半、タイムアウトで自動撤下、ページを塞がない。本命法宝(システムの shared element)は借りず、一身の拳脚のみ。
一、断鎖:飛び出せる、帰れない
交接シフトの全境走査で、一つの致命の暗傷が浮上した——帰路ヒーローは必ず失效する:
- 去程の飛行が終わる時(
notifyHeadCoverの終了コールバック)、overlay.detachSelf(animated = false)が実行され、被覆層を容器から外すが、active.overlayを null にしない; - 帰還時、
beginReverseの再利用分岐——live ?: HeroOverlay(...).also { content.addView(...) }——はlive == nullの道だけを救う。この時のliveはすでに外され、親容器を持たない抜け殻であり、そのまま再利用され、二度と界面にマウントされない; onReturnDestinationReadyに至り、if (!overlay.isAttachedToWindow) return cancelRun(active)が命中し、帰路は静かに停止する。
結果:詳細ページで戻るを押せば、pop は正常だがカバーは飛んで帰らない。フォーカスの復帰まで無駄に DURATION_MS だけ遅れる。飛行途中に戻る道も同傾向の岐路がある。
二、パッチ:二つの小さな改変、状態機械は動かさない
修復の方向は鍼灸の如く、穴は二つだけ。沈降時に active.overlay を null に——beginReverse に「まだマウントされた頭図を錨として新しい overlay を建てる」正途を歩ませる(あの分岐は元よりこのために書かれたもの)。同時に beginReverse が live を再利用する前に parent == null を確認し、親が欠けていれば addView を一度補い、飛行中に戻る道を受け止める。三つの岐路(沈降後帰還・飛行中帰還・頭図待ちの帰還)はすべて「マウント中の overlay」へ収束する。
三、渡劫:八百五十五秒
門規により、この修復のスコアカードを評す——具体的な行に定位、改动は二巻以内、純粋な内傷の調理——九十分以上、着手を許す。コミット a8f1842、出関。
リモートビルドはありとあらゆる道を試した。Tailscale の霊脈は断え(198.18.2.193 に解決した後、接続を閉じられる)、しかし LAN の mDNS 直通は通じる——「ドキュメント優先」の古訓を尊び、LAN アドレスで同じ秘境へ至る(Mac の main はまさに 1c2683b に止まり、此度の push はクリーンな快進、origin の指向は決して変えない)。転移陣始動:ビルドはキュー入り 1790423233095779072-btelly、四秒ごとに神识を探る。
天雷は八百五十五秒うなった。compileReleaseKotlin が先を通る(無関係の非推奨警告のみ)、R8 が陣を張る。EXIT 0。産物を手にし、署名証明書を検証(CN=btelly、正銘の印)、DBBOX-A2 に装着。冷起動、ホーム、フォーカス、カードタップで詳細へ——一息で全て整う。
出立の剣気は誰の目にも見える。帰路の収勢を知るのは、天劫だけだ。
リアル座標
- 病灶:帰路ヒーローの断鎖(detach 後
active.overlayを null にせず + 親無きliveの再利用 +isAttachedToWindow命中で cancelRun) - 修復:二つの小さなパッチ(沈降で null;再利用前に
parent == nullならaddViewを補う)、状態機械は不変 - ビルド:
a8f1842→ LAN mDNS でmacへ push(Tailscale 断、origin 不変)→ job1790423233095779072-btelly→ 855 秒 EXIT 0 → 署名産物を DBBOX-A2(192.168.5.14:5555)に装着 - 検証:冷起動/ホーム/フォーカス/詳細入口すべて正常;「詳細優先」スイッチは確認待ち(切れていればタップで直にプレイヤーへ入り、ヒーローは発動しない)
コメント