3D Digital Twin / Geospatial 3D Visualization Engineer

Guides incremental development and optimization of a LiDAR and Sentinel-2 based 3D digital twin platform.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/Vaibhavv526/3D-Visual-Mapping --skill 3d-digital-twin-geospatial-3d-visualization-engineer-vaibhavv526
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: 3D Digital Twin / Geospatial 3D Visualization Engineer
Source: https://github.com/Vaibhavv526/3D-Visual-Mapping
Command: npx skills add https://github.com/Vaibhavv526/3D-Visual-Mapping --skill 3d-digital-twin-geospatial-3d-visualization-engineer-vaibhavv526

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It prevents AI coding agents from breaking an existing geospatial 3D Digital Twin project by enforcing inspect-first, minimal-change workflows across the LiDAR pipeline, FastAPI backend, and React Three.js frontend. ## Core Features & Use Cases - Geospatial Pipeline Guardrails: Preserves working LiDAR terrain generation, building mesh extraction, and Sentinel-2 fusion outputs while enforcing CRS correctness (EPSG:2193, NZVD2016). - Frontend Performance Optimization: Provides structured strategies for rendering a 346,801-vertex terrain mesh in Three.js, including chunking, LOD, typed arrays, and React state discipline. - Debugging and Validation Workflows: Defines systematic methods for geospatial debugging, memory profiling, mesh validation, and API testing. - Use Case: An AI agent is asked to fix browser freezes in the NZ Digital Twin viewer; the Skill directs it to profile memory, inspect geometry construction, and apply one measured optimization instead of regenerating the terrain. ## Quick Start Ask the agent to inspect the frontend terrain loading code and optimize the New Zealand digital twin rendering without regenerating any geospatial data.

Frequently Asked Questions about 3D Digital Twin / Geospatial 3D Visualization Engineer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I optimize Three.js rendering for a large terrain mesh?

Profile browser memory first, then inspect geometry construction and React state usage for duplicated arrays. Apply one controlled change at a time such as indexed BufferGeometry, typed arrays, terrain chunking, LOD, or progressive loading rather than reducing the source dataset.

How do I fuse LiDAR building data with Sentinel-2 imagery?

Reproject Sentinel-2 bands from EPSG:32760 to EPSG:2193, then run the existing fuse_sentinel_buildings.py pipeline. The fused building_fused.vtp output attaches BuildingID, GroundElevation, Height, RoofElevation, RGB, and NDVI attributes to LiDAR-derived geometry.

Can I regenerate the Sentinel-2 or terrain outputs when fixing frontend issues?

No. The processed Sentinel-2 outputs and the 2 m terrain mesh are validated baselines that must not be regenerated to solve rendering problems. Frontend visualization optimization should always be attempted first.

Why does the browser freeze when loading the NZ digital twin terrain?

The terrain contains 346,801 vertices and 691,200 triangles, and freezing usually comes from storing large arrays in React state, duplicating geometry buffers, or recreating BufferGeometry every render. Use typed arrays, memoized geometry, and proper disposal instead.

What CRS and datum does the New Zealand LiDAR dataset use?

The dataset uses EPSG:2193 (NZTM2000) with the NZVD2016 vertical datum. Sentinel-2 source data arrives in EPSG:32760 and must be reprojected before any spatial fusion with LiDAR data.

What files must never be committed to this repository?

Never commit myvenv/, ml/dataset/ (approximately 27 GB), .env files, or node_modules/. Large geospatial files such as LAZ, TIF, and VTP are tracked through Git LFS and must not be converted into normal Git blobs.