Context
Today wild diff combines two responsibilities:
- analyse a Git diff and build DiffGraph data; and
- generate a complete HTML document containing the current summary and Mermaid-based visualization.
The existing VS Code extension relies on that HTML output and displays it inside a Webview. This keeps the current experience simple, but couples every host platform to the CLI's presentation layer.
This issue tracks an incremental, behaviour-preserving migration toward a versioned JSON contract and a reusable web renderer. Each checkbox should be delivered as a contained change/PR rather than as one large rewrite.
Connected VS Code issue: WildestAI/wildest-vscode-ext#17
Target architecture
DiffGraph analysis
-> versioned JSON contract
-> shared web renderer
-> standalone CLI HTML shell
-> VS Code Webview shell
-> future browser-extension shell
The JSON contract should be presentation-neutral. Hosts may reuse the shared rendering core while adding platform-specific behaviour.
Incremental delivery plan
Compatibility requirements
- Existing
wild diff invocations must continue to work during the migration.
- Current HTML visual and functional behaviour should remain materially unchanged unless a difference is explicitly reviewed and accepted.
- JSON schema changes must be versioned and covered by representative golden fixtures.
- Standalone HTML must remain self-contained/offline-capable; it should not require the VS Code extension.
- CLI packaging/builds must include the renderer assets deterministically.
Acceptance criteria
Context
Today
wild diffcombines two responsibilities:The existing VS Code extension relies on that HTML output and displays it inside a Webview. This keeps the current experience simple, but couples every host platform to the CLI's presentation layer.
This issue tracks an incremental, behaviour-preserving migration toward a versioned JSON contract and a reusable web renderer. Each checkbox should be delivered as a contained change/PR rather than as one large rewrite.
Connected VS Code issue: WildestAI/wildest-vscode-ext#17
Target architecture
The JSON contract should be presentation-neutral. Hosts may reuse the shared rendering core while adding platform-specific behaviour.
Incremental delivery plan
Compatibility requirements
wild diffinvocations must continue to work during the migration.Acceptance criteria