Case study
Antigravity Mod
Antigravity Mod (Furina 3D Edition) is a UI customization and full Vietnamese localization suite for the Google Antigravity 2.0 desktop app on Windows, featuring an interactive 3D Chibi Furina companion rendered via Three.js/WebGL above the chat composer.
Disclaimer: This is an unofficial community UI & localization mod for Google Antigravity 2.0 on Windows, not an official Google product.
Screenshots


Problem & Motivation
The stock desktop interface lacked comprehensive Vietnamese localization and offered limited personalization for backgrounds, accent colors, and interactive workspace elements.
Solution
Created a PowerShell dual-mode injector supporting live Chrome DevTools Protocol (CDP) injection and persistent ASAR patching (with automatic backups and SHA-256 hash updates), loading a Three.js FBX companion synced with real-time caret coordinates and reversible DOM translation.
Core features
3D Chibi Furina Companion (Three.js / WebGL)
Renders the furi.fbx 3D model and sRGB textures directly above the composer card via Three.js FBXLoader, with instant switching to 2D SVG or custom PNG/GIF avatars.
Real-Time Eye & Caret Tracking
Reads live Selection / Range.getClientRects() coordinates to subtly rotate the 3D character toward the active text caret, paired with spring physics on keystrokes.
Reversible DOM Vietnamese Localization
Caches original English text on DOM nodes (node.__agOrigText) so users can toggle seamlessly between Vietnamese and English (Alt + L).
Dual-Mode Patching (Live CDP & Persistent ASAR)
Injects live into running instances via DevToolsActivePort without restarting, or patches app.asar persistently with backup files and updated SHA-256 integrity hashes.
Tech stack
- PowerShell
- Three.js
- WebGL
- JavaScript
- CSS
- CDP
Architecture
Installer & Patcher (Mod Antigravity.ps1)
Locates installation directories, creates .bak backups, and applies either live CDP WebSocket injection or persistent ASAR packaging.
WebGL Companion & Caret Engine (src/mod.js)
Mounts a non-blocking transparent Three.js overlay, loads FBX assets, and maps text-caret coordinates to smooth 3D head/body rotation.
Localization & Theme Layer (src/mod.js, src/styles.css)
Manages custom CSS variables, background presets, quick settings modal (Alt + M), and non-destructive DOM text translation.
Technical challenges
Tracking Live Caret Position Across Dynamic Editors
Reading caret rects inside rich editor inputs requires clamping coordinates relative to the composer bounds and smoothing orientation updates so motion feels responsive without interfering with typing.
Resilience Around Upstream Desktop Updates
Because unofficial Electron DOM/ASAR mods depend on upstream app structure, the installer backs up original binaries before patching and supports instant live CDP testing.
Lessons learned
- Providing a non-destructive live CDP path alongside persistent ASAR patching makes iteration and troubleshooting significantly safer.
- Overlay canvases must stay strictly non-blocking with careful pointer-events and focus handling so editor workflows remain untouched.
Current deployment scope
Released publicly at v2.6.1 on GitHub with open PowerShell, JS/CSS source code, and model assets for inspection and Windows 10/11 usage.