Metadata-Version: 2.4
Name: mayalok
Version: 0.1.0
Summary: Mayalok: smartphone capture -> navigable 3D Gaussian Splat digital twin pipeline
Author: Team QWERTY (Ajay Yadav, Hitesh Bhatiwal, Harsh Vardhan)
License: MIT
Project-URL: Homepage, https://the-harsh-vardhan.github.io/mayalok/
Project-URL: Source, https://github.com/The-Harsh-Vardhan/mayalok
Project-URL: Demo, https://mayalok.vercel.app
Keywords: gaussian-splatting,3dgs,digital-twin,indoor-navigation,colmap
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.26
Requires-Dist: scipy>=1.11
Requires-Dist: opencv-python-headless>=4.8
Provides-Extra: sfm
Requires-Dist: pycolmap>=4.0; extra == "sfm"
Provides-Extra: test
Requires-Dist: pytest>=8; extra == "test"
Requires-Dist: pycolmap>=4.0; extra == "test"

# mayalok

Turn ordinary smartphone video of an indoor space into a navigable 3D Gaussian Splat digital twin:
keyframes -> COLMAP SfM -> metric/gravity alignment -> 3DGS training -> cleaning -> walkable navgrid + minimap -> web bundle (`.spz`).

```bash
pip install "mayalok[sfm]"
mayalok --help

# full build from a walkthrough video (needs a 3DGS trainer, see docs)
mayalok build --input walkthrough.mp4 --work ./work --out ./scenes/my-venue --name "My Venue"

# or package an existing trained splat for the web viewer
mayalok process-splat --splat point_cloud.ply --cameras cameras.json --out ./scenes/my-venue --name "My Venue"
```

The `.spz` export uses [`@playcanvas/splat-transform`](https://www.npmjs.com/package/@playcanvas/splat-transform) (Node.js; fetched with `npx` if not installed).

- Docs: https://the-harsh-vardhan.github.io/mayalok/
- Live viewer: https://mayalok.vercel.app
- Source: https://github.com/The-Harsh-Vardhan/mayalok

MIT licence.
