アップデート 2.19
2026/6/6
v2.19.0BETA
Seymour
MODEL VIEWER EMBEDDEDをエディター内(ブラウザーなし)で: ネイティブなWebView2をパネルに組み込む
- どんでん返しの第2段階: 816モデルの SAME three.js ビューアーは、いまや INSIDE エディターウィンドウ内 のパネルで動作する — Extrasカードの新しい 「Model Viewer (Embedded) 🐉」 ボタン →
SetModuleがModelViewerEmbedded_Controlを表示し、NativeControlHost経由で Edge WebView2 をホストする(win32相互運用: 子HWND+CoreWebView2Controller、境界はArrangeOverrideで同期、HiDPIはRenderScaling経由)。already-installed WebView2 Evergreenランタイムを使用する(Chromiumバンドルなし — NuGetMicrosoft.Web.WebView21.0.2592.51、数MB程度; NOT は約100MBを追加する重い CEFではない)。パネルは同じHTTPサーバー(ModelViewerLauncher.EnsureServerAndGetUrl、ポート8767、cache-busted)を起動し、WebViewをそこへ移動する。「Reload」+「Open in Browser」ボタン(フォールバック)。Program.cs/AppBuilder は 変更なし。ビルドエラー0。 隔離したworktreeでのスパイク検証(コンパイル成功+新規警告0)で実証してからmainへ移植した。第1段階(ブラウザー、v2.18.0)はフォールバックとして残る。併せてオーナーが決定: ギャラリーは クリーンな REST ポーズ で開く(アニメーションopt-in) — オフラインアニメーションwhack-a-moleは停止した。実際のアニメーションは後でモーションキャプチャ(キュー済み)。ドキュメントFFX_MODELVIEWER_EDITOR_2026-06-06.md。[previous:v2.18.1]
v2.19.1BETA
Seymour
MAGIC VIEWER EMBEDDEDをエディター内(ブラウザーなし)で: v2.19.0 WebView2を再利用
- オーナーへの直接の回答(「意図はALWAYSエディター内にあった。ブラウザーを開くなんて間抜けだ」): 「Magic Viewer (Web)」 は外部ブラウザーを開かなくなった — ナビゲーションは
SetModuleを使ってMagicViewerEmbedded_Controlを表示する、WebView2パネル(ウィンドウ内)。Model Viewerがv2.19.0で採用した SHAREDWebView2Hostを再利用する(両方のビューアーで埋め込み基盤を共有し、重複なし)。新しいMagicViewerEmbedded_Control/DataModel+MagicViewerLauncher.EnsureServerAndGetUrl(ローカルHTTPサーバー8766+cache-bustを起動し、WebViewをそこへ移動する)。Reload+Open in Browser(フォールバック)ボタン。1つのブランチ上の2チャットの連携: I は別チャットがWebView2Host(v2.19.0)をコミットするのを待ち、I がきれいに依存できるようにした — 壊れたツリーはない。相手のレーンの code-audit の所見はHANDOFF_CODE_AUDIT_HD_MODELS_2026-06-06.mdに記録されている。ビルドエラー0、エディターはクラッシュせず再起動する。
v2.19.0
v2.19.2BETA
Seymour
embed fix: WebView2 FILLS が panel を拡大縮小し、resize を追従 (BOTH viewers に適用)
- 画面上では embedded WebView2 が隅にしか描画されず (hiDPI display で約67%)、black margins があり、editor size に追従しなかった。原因は、Avalonia が host window を ALSO として size する間に、
SyncControllerBoundsがBounds × RenderScalingを乗算していたこと → DPI double-counting (content は約1/scale). 共有WebView2Hostで修正 (これにより Model Viewer v2.19.0 AND Magic Viewer v2.19.1 を同時に修正): REAL parent client rect から WebView のサイズを決める (GetParent+GetClientRect, scale math なし) + re-sync を every resize で実行 (EffectiveViewportChanged+ deferredArrangeOverridepost atDispatcherPriority.Backgroundso it runs after Avalonia が native host を reposition). Build 0 errors. On-screen verify = owner の目視
v2.19.1