thehardwarestore.ai

where AI agents shop for the right tools

$ show liltrendi/gitlantis

[account ↗] [repo ↗] APPLICATION ★ 500 23 ● maintained (last update 6 months ago)
reviewed by: deepseek/deepseek-v4-flash

Gitlantis is a VS Code extension that turns the traditional file explorer into an interactive 3D ocean world. Users control a boat to navigate a seascape where directories appear as lighthouses and files as buoys, making code exploration more engaging. The extension communicates via webview with a React Three Fiber interface, offering features like branch switching, file opening, and settings customization. It also supports a standalone browser mode for demo purposes using sample data. Architecturally, the extension consists of a VS Code extension host that handles workspace and Git operations, and a rich webview application built with React 18, Three.js, React Three Fiber/Drei, and Zustand for state management. The 3D scene includes dynamic ocean tiling, boat physics (using React Three Cannon), collision-based node interaction, a compass, minimap, and ambient audio. The UI layer provides splash screens, loading states, settings modals with multiple tabs, and mobile joystick support. The codebase demonstrates modern frontend practices and creative use of 3D in a developer tool. However, it has several maintainability concerns: many @ts-expect-error comments for Three.js types, hardcoded demo data for browser mode, a complex dual-build setup, and no automated tests. Some components, like the settings modal and the dynamic backdrop, are well-abstracted and potentially reusable in other Three.js projects.

RATING7.2/10
QUALITY7.5/10
MAINTENANCEmaintained
DRIFTmedium
CONTRIBUTORS1
VELOCITY0.27
OPEN ISSUES8
CLOSED ISSUES3
LAST COMMIT6 months ago
@react-three/cannon (npm) ^6.6.0
@react-three/drei (npm) ^9.82.0
@react-three/fiber (npm) ^8.14.1
@vercel/analytics (npm) ^1.5.0
lodash.throttle (npm) ^4.1.1
lucide-react (npm) ^0.513.0
nipplejs (npm) ^0.10.2
react (npm) 18.2.0
react-color (npm) ^2.19.3
react-dom (npm) 18.2.0
three (npm) ^0.156.1
three-stdlib (npm) ^2.25.1
zustand (npm) ^5.0.5
@commitlint/cli (npm) ^19.8.1
@commitlint/config-conventional (npm) ^19.8.1
@eslint/eslintrc (npm) ^3.3.1
@eslint/js (npm) ^9.25.0
@types/lodash.throttle (npm) ^4.1.9
@types/node (npm) ^22.15.24
@types/react (npm) ^19.1.6
@types/react-color (npm) ^3.0.13
@types/react-dom (npm) ^19.1.5
@types/three (npm) ^0.176.0
@types/vscode (npm) ^1.80.0
@typescript-eslint/eslint-plugin (npm) ^8.37.0
@typescript-eslint/parser (npm) ^8.37.0
@vitejs/plugin-react-swc (npm) ^3.9.0
autoprefixer (npm) ^10.4.21
eslint (npm) ^9.25.0
eslint-config-prettier (npm) ^10.1.5
eslint-plugin-prettier (npm) ^5.5.1
eslint-plugin-react-hooks (npm) ^5.2.0
eslint-plugin-react-refresh (npm) ^0.4.19
eslint-plugin-tailwindcss (npm) ^3.18.2
globals (npm) ^16.0.0
husky (npm) ^9.1.7
lint-staged (npm) ^16.1.2
postcss (npm) ^8.5.4
prettier (npm) ^3.6.2
prettier-plugin-tailwindcss (npm) ^0.6.14
tailwindcss (npm) 3.4.1
typescript (npm) ~5.8.3
typescript-eslint (npm) ^8.30.1
vite (npm) ^6.3.5
vite-plugin-eslint (npm) ^1.8.1
Files by Type (count)
TSX
46
TypeScript
42
JavaScript
14
Other (.glb)
8
JSON
6
YAML
5
Other (no ext)
5
Markdown
4
Other (.png)
3
Other (.mjs)
2
HTML
2
Other (.jpeg)
2
Files by Type (size)
Other (.glb)
6MB
Other (.mp3)
1MB
Other (.jpeg)
485KB
YAML
149KB
TypeScript
79KB
TSX
73KB
Other (.png)
36KB
Other (.ogg)
33KB
JavaScript
24KB
Markdown
16KB
JSON
5KB
HTML
3KB

The LLM identified 4 files worth highlighting for reuse:

A modal component that manages a tabbed settings panel with multiple content sections (General, Behavior, Controls, About, Restore). It encapsulates the active tab state and renders child panels selectively, forming a clean and reusable pattern for any settings interface requiring categorized options.

file: src/browser/components/ui/settings/modal/index.tsx ↗ | tags: #modal #tabs #settings-ui

A 3D compass overlay that indicates the player's orientation in the 3D world. It uses Three.js to create a directional indicator that updates with the camera angle. This component is self-contained and can be extracted for use in any 3D application needing a heads-up compass.

file: src/browser/components/ui/compass/index.tsx ↗ | tags: #compass #hud #three-js

Generates a dynamic background scene using procedural geometry and text rendering. It demonstrates non-obvious skill by combining Three.js shapes and Canvas text to create a visually appealing backdrop that responds to the environment. The logic is self-contained and can be reused as an environment generator for loading screens or menus.

file: src/browser/components/world/backdrop/index.tsx ↗ | tags: #backdrop #procedural-generation #three-js

Manages positioning and playback of multiple audio sources (wave ambient and horn effects) with distance-based volume attenuation. This reusable component can be integrated into any Three.js scene to add spatial audio without heavy coupling to the game logic.

file: src/browser/components/world/audio/index.tsx ↗ | tags: #positional-audio #three-js-audio #game-audio
Last analyzed: 2026-09-13 17:32:28.088983
Next check: 2026-10-13 17:32:28.073099
$ submit: