Map3d is useful for a city sketch with an export button
Select a rectangle on the map, fetch its building information, and map3d turns that area into a scene you can download as a GLB file. The source makes that workflow easy to understand: a Leaflet selection screen feeds a React Three Fiber scene, which creates building shapes and road lines. That gives a concept model recognizable urban context.
Our checkout was only 1.5 MB and roughly 1,992 source lines, so reading the application is a realistic option before adapting it. The README mentions digital twins and drone surveying as possible uses built on the project. Those examples should not be mistaken for delivered surveying features. Its own warning says OpenStreetMap heights may be missing or wrong. I would use the result as a sketch until the underlying geometry had been checked.
What happened when we ran it
Our run installed 1,301 npm packages in 117 seconds and built successfully in 19 seconds at commit 2c5d732. We used a fresh unprivileged Debian container on October 9, 2026, with 3 CPUs, 8 GB of RAM, the lab-node:22 image, and no secrets. The installation occupied 646 MB. Tests were skipped because there was no test script or target, so the result contains no passing suite.
Npm audit reported 120 known vulnerabilities: 4 critical, 82 high, 26 moderate, and 8 low. The checkout had 35 files and no CI workflow files, Dockerfile, or tests directory. Installation and compilation succeeded despite that audit result. The supplied measurements do not identify affected packages or establish which advisories can be reached through the running application. They do establish a substantial dependency-review requirement before adoption.
The source supplies setup details the README omits
The package manifest provides development and preview commands through Vite, with a build that invokes TypeScript and the frontend bundler. The README explains the idea and links a demo, but supplies no local setup walkthrough. React developers can recover the commands. Operators must write their own hosting and recovery guide.
The 117-second install is a larger commitment than the compact source suggests. Ordinary map selection and GLB download do not present an account requirement in the inspected UI, but they do need network access. The selection screen requests OpenStreetMap tiles, and building and road queries go to the public Overpass endpoint. Hosting the frontend locally therefore does not make the application's data-fetching workflow offline or independent of outside services.
Missing height data becomes assumed geometry
The scene code reads building heights and level counts from OpenStreetMap tags. When no height can be parsed, it assigns a fallback height. Where a level count exists, it uses that to calculate the extrusion instead. That is sensible for filling a picture, but the finished shape can look precise even when the input was absent. Keep that distinction visible to anyone receiving an exported model.
The 19-second build confirms that the source compiles, not that a building's dimensions match the real site. The README leaves height customization and heightmaps unchecked, along with textures and materials. Manual correction is described as future work. If you need verified elevation, detailed facades, or a current correction interface, these omissions directly affect the job. A smooth-looking city scene does not settle those requirements.
A visible road is not proof of a complete GLB export
Issue 15, updated August 30, reports buildings appearing in Blender while roads visible on the website are absent from the exported file. The reporter also describes the model as floating. That is a relevant complaint about the central deliverable. We did not exercise the browser export in our sandbox, so the report is evidence to investigate rather than a reproduced failure on our machine.
Our run supplied no tests for the export path. The inspected exporter collects scene objects marked for GLB output, rather than promising a copy of everything visible in the browser, including its environment. Download a small area and open it in your destination tool before preparing a larger scene. Check the roads and building placement there. Success means a useful imported asset, not merely a file appearing in your downloads folder.
The audit makes production adoption an extra project
The 120 known vulnerabilities make dependency cleanup part of the decision to adopt map3d. Without the detailed advisory output, it would be wrong to say every finding exposes a deployed site. It would also be wrong to wave them away because the app is mostly frontend code. Review the dependency paths and deployed behavior, then decide what to update before you put this checkout into a production workflow.
The 646 MB installed footprint is manageable on a development machine, but it gives the small repository a much larger dependency surface to maintain. I would keep an initial trial local and limit it to nonsensitive map data while reviewing that surface. The payoff is concrete: you can inspect a compact selection-to-export implementation instead of designing it yourself. The price includes updates and your own checks for outputs you depend on.
May code activity and unresolved reports warrant caution
The last push was May 13, 2026. GitHub showed 2,590 stars and 5 open issues and PRs, and the latest-release endpoint returned no published release. A location-search pull request remained open after June activity, followed by the August road-export report. That suggests slow integration, with unresolved concerns. It does not prove abandonment, and search remains a proposal.
CesiumJS is worth comparing when you need a broader geospatial viewer, and MapLibre GL JS when interactive vector mapping is the main requirement. Neither is a drop-in GLB exporter for this workflow. Map3d makes sense if selecting an area and carrying its rough geometry into another tool is exactly your task. Choose a block you know well enough to recognize missing buildings, then inspect the imported file before showing it to somebody who might trust its dimensions.

