Offline 3D Map Renderingļ
forge3dās product direction is an offline 3D map-production workflow:
MapScene + LabelPlan + ValidationReport + Bundle
Feature 001 establishes the diagnostics contract and support matrices used by
that workflow. Feature 003 adds deterministic LabelPlan, and feature 004
adds the public MapScene / SceneRecipe API for typed validation,
GPU-terrain PNG/EXR output for renderable terrain recipes, a fatal
MapSceneNativeUnavailable diagnostic block whenever native rendering is
unavailable (CPU placeholder output no longer exists), named
MapScene presets, OutputSpec samples/denoiser/AOV controls, recipe manifests,
and deterministic review bundles.
Area |
Support level |
Notes |
|---|---|---|
Structured diagnostics |
|
|
Typed MapScene recipe |
|
|
|
|
Returns deterministic structured reports with source-data, CRS, style, glyph, label-plan, memory, support-status, VT, 3D Tiles, and building diagnostics where applicable. |
|
|
Fixture-backed |
|
|
|
Named MapScene presets |
|
|
|
|
|
|
|
Writes deterministic review metadata, recipe intent, validation report, label plans, and label source references. Blocking diagnostics are preserved and marked non-renderable. |
Deterministic LabelPlan |
|
|
Unsupported-path validation |
|
|
Material, VT, and large-scene polish |
|
P2 gaps are diagnosed before render: unsupported VT families as |
Web-first hosted tile delivery |
|
Offline map production remains the scope. |
Unsupported, Pro-gated, placeholder/fallback, experimental, or
underdeveloped paths must be reported before successful render completion.
The current product does not render textured PBR buildings end to end; scalar
fallback is not textured PBR support and must remain diagnostic-bearing.
MapScene.render("map.png") performs validation if needed and writes PNG output
for supported terrain/raster/vector/label recipes; OutputSpec(format="exr")
writes EXR beauty output, and OutputSpec(aovs=[...]) writes requested AOV EXRs.
Real .npy/GeoTIFF terrain and PNG/GeoTIFF raster assets render through the
gpu_terrain path; symbolic fixture recipes without a renderable heightmap
block with a fatal MapSceneNativeUnavailable diagnostic instead of writing
placeholder pixels.
MapScene.save_bundle("map.forge3d")
records the recipe, diagnostics, support summaries, label plans, source
references, camera, lighting, output, render backend, and renderability status
through the public Python API.
Canonical Examplesļ
The MVP workflow is represented by three typed examples:
examples/mapscene_terrain_raster.py: terrain plus raster overlay validates, writes GPU-terrain PNG output from generated local assets, and saves a review bundle.examples/mapscene_vector_labels.py: terrain plus vector overlays and labels compiles deterministicLabelPlandata, writes GPU-terrain PNG output, and saves a review bundle with label diagnostics.examples/mapscene_buildings_labels.py: terrain plus mixed-roof scalar buildings and labels renders terrain-scatter instanced building meshes with CSM cast/receive in the GPU terrain path, records per-building batch ids, and saves a review bundle.
Run the quickstart coverage with:
python -m pytest tests/test_mapscene_quickstart.py -q
Support Referencesļ
Use the linked guides as the support contract for MVP review:
guides/label_plan_guideguides/diagnostics_referenceguides/style_support_matrixguides/building_support_matrixguides/tiles3d_support_matrixguides/virtual_texturing_support_matrixguides/large_scene_supportguides/competitive_positioning