Project scaffold, toolchain verification, and WebGL map baseline #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
Set up the Next.js App Router workspace with TypeScript, Tailwind CSS, pnpm, and Vite+ (
vp) for zero-config linting and formatting. Mount a full-viewport MapLibre GL map canvas on the home route (/) with a responsive dark-mode frame, coordinates readout, and build verification.Technical specifications
Target files:
src/app/page.tsx: Client or server wrapper rendering the full-viewport map.src/app/layout.tsx: Root HTML layout importing Plus Jakarta Sans and JetBrains Mono fonts with dark-mode background#0e1110.src/components/map/map-canvas.tsx: Core MapLibre GL JS wrapper component with clean cleanup on unmount.src/lib/constants/map.ts: Default coordinates, bounding box, and basemap style URLs.package.json,next.config.ts,tsconfig.json.Map engine and initial viewport:
maplibre-gl(v5.x).[118.0149, -2.5489](longitude, latitude).4.8, Min Zoom:3.5, Max Zoom:18.[[94.0, -11.5], [141.5, 6.5]](prevent navigating away from Indonesian territory).#0e1110), land boundaries (#2d332f), and water bodies (#090c0a).Telemetry and HUD:
JetBrains Mono, 11px text) displaying cursor coordinate[Lng, Lat]and current camera zoom level.Acceptance criteria
pnpm exec vp checkpasses with zero lint, format, or type errors.pnpm buildsucceeds cleanly producing standalone production artifacts./renders a dark-mode MapLibre GL canvas centered on Indonesia with smooth 60 FPS camera pan and zoom.Blocked by
None - can start immediately.
Issue 1: Project scaffold, toolchain verification, and WebGL map baselineto Project scaffold, toolchain verification, and WebGL map baseline