Skip to content

feat: Inspector-model semantic diff (prefablens.diff.v2)#5

Merged
hashiiiii merged 18 commits into
mainfrom
feat/inspector-model-diff
Jul 4, 2026
Merged

feat: Inspector-model semantic diff (prefablens.diff.v2)#5
hashiiiii merged 18 commits into
mainfrom
feat/inspector-model-diff

Conversation

@hashiiiii

Copy link
Copy Markdown
Owner

Summary

semantic diff の出力を UnityEditor の Hierarchy / Inspector で得られる情報に置き換える。

  • core: inspector.zig 新設(非表示テーブル・NicifyVariableName 相当の表示名変換・擬似コンポーネントグループ推測)。diff は stripped 除外・非表示フィルタ・added サブツリーのベクトル縮約 (x, y, z)・PrefabInstance override の (target, propertyPath) キー diff + 配置サマリ。tree は PrefabInstance を階層ノード化(stripped Transform 橋渡し・所有者の materialize 保証ガード)
  • JSON スキーマ: prefablens.diff.v2(kind 判別子・className・sourceGuid・overrides。v1 互換レイヤーなし)
  • CLI: components セクション・<Prefab> バッジ・グループ化 override・表示名フォールバック(resolved stem → class_name → type_name)
  • extension: types/differ/render の v2 追従(開閉デフォルト: added=閉・modified=開・override グループ=開)
  • テスト: 実 PR fixture の統合テスト(plane/cylinder)。CLI 出力が spec のモックと構造一致

Plan: docs/superpowers/plans/2026-07-03-semantic-diff-inspector-model.md / Spec: docs/superpowers/specs/2026-07-03-semantic-diff-inspector-model-design.md

Review

タスク毎レビュー(全 11 タスク)+ 最終ブランチレビュー実施済み。最終レビューの Important 1 件(stripped GameObject 所有コンポーネントの silent drop)は 2 段階の fix(a6dfcf6, 3fbadb8)で解決し、レビュアーが repro 再実行で独立検証。Ready to merge: Yes

Test evidence

  • zig build test: 89/89 pass(core 58 + cli 31)
  • extension: vitest 47/47(exclude なし)/ tsc --noEmit clean / build + size OK / Playwright E2E 2/2
  • WASM gzip 41.9 KB(目標 80 KB 内)

要ユーザー判断(マージ後でも可)

  • numEql が厳密 float 比較のため、実データの残差付き identity(w: 0.99999994 等)が配置サマリに縮約されず行として残る。epsilon 許容(|v-want|<1e-5)は計画コードと衝突するため未実施(Task 5 の plan-mandated Important)

Follow-up 候補(別 PR)

構造サマリ行の / 表示 / spec へのノード移動・m_SourcePrefab 差し替え不可視の追記 / テスト補強(stripped skip・class_name/sourceGuid フォールバック・json golden)/ groupRank 硬化 / 入れ子 loose の外側インスタンス帰属

@hashiiiii
hashiiiii merged commit 7ce34eb into main Jul 4, 2026
3 checks passed
@hashiiiii
hashiiiii deleted the feat/inspector-model-diff branch July 4, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant