Skip to content

Epic 147F: Python 3D Tiles export bindings - #106

Merged
rsasaki0109 merged 2 commits into
mainfrom
agent/epic147-tiles3d-python
Aug 6, 2026
Merged

Epic 147F: Python 3D Tiles export bindings#106
rsasaki0109 merged 2 commits into
mainfrom
agent/epic147-tiles3d-python

Conversation

@rsasaki0109

Copy link
Copy Markdown
Owner

Summary

Exposes the Epic 147 3D Tiles surface to Python.

Changes

  • export_tiles3d(cloud, out_dir, max_points_per_tile, max_depth) — builds an octree tileset from a PointCloud.
  • export_copc_tiles3d(copc_path, out_dir, max_level) — converts a .copc.laz file into a bounded tileset without materializing the whole cloud.
  • Both return a dict with tileset_json_bytes, tile_count, point_count, pnts_bytes.
  • Typed .pyi stubs added; smoke tests added to the wheel build gate.

Verification

  • cargo build --manifest-path crates/spatialrust-py/Cargo.toml — compiles
  • clippy clean for the new module; workspace tests pass
  • CI runs maturin develop + pytest + mypy.stubtest on the new surface

Add export_tiles3d and export_copc_tiles3d to the Python extension:
export_tiles3d builds an octree tileset from a PointCloud, and
export_copc_tiles3d converts a .copc.laz file into a bounded tileset
without materializing the whole cloud. Both return a byte/point/tile
receipt dict. Add typed .pyi stubs and smoke tests for the wheel
build gate.
@rsasaki0109
rsasaki0109 merged commit 630bb0c into main Aug 6, 2026
105 checks passed
@rsasaki0109
rsasaki0109 deleted the agent/epic147-tiles3d-python branch August 6, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant