Roadmap
Below is the development roadmap for MicroJSON, showing completed phases and current/future work. The project has evolved from a lightweight annotation format into a high-performance tiling platform with Rust acceleration.
Phase 1: Consolidation and Documentation (Complete)
-
Refinement of Core Model:
- Finalized and stabilized the MicroJSON core model with Pydantic v2.
- Published updated documentation and specifications.
- Implemented hierarchical references (
parentId,ref).
-
Community Engagement:
- Established communication channels via GitHub issues.
- Gathered feedback from stakeholders and early adopters.
Phase 2: Expanded Features and Extensions (Complete)
-
Harmonization with GeoJSON Pydantic:
- Full compatibility with geojson-pydantic — MicroJSON models extend GeoJSON Pydantic types.
-
Harmonization with OME Model:
- Integrated OME-compatible coordinate systems and multiscale metadata.
- Provenance tracking module for data lineage.
-
Tiling with TileJSON and binary formats:
- TileJSON 3.0.0 metadata specification for MicroJSON tilesets.
- 2D vector tile pipeline: GeoJSON to PBF (MVT) and tiled Parquet.
- Python TileWriter/TileReader for legacy PBF workflows.
Phase 3: 3D Data and Rust Acceleration (Complete)
-
Rust-Accelerated Tiling Engine:
- Full rewrite of hot-path tiling code in Rust (PyO3 + maturin).
- 2D pipeline:
StreamingTileGenerator2Dwith quadtree-based clipping, Douglas-Peucker simplification, and parallel tile encoding via rayon. - 3D pipeline:
StreamingTileGeneratorwith octree indexing, QEM mesh simplification, and multi-format output.
-
3D Geometry and Mesh Support:
- Added
PolyhedralSurfaceandTINgeometry types. - OBJ mesh ingestion with parallel parsing.
- Fragment file format (MJF2) for sharded intermediate storage.
- Added
-
Output Formats:
- 3D Tiles (GLB) with meshopt or Draco compression.
- PBF3 — custom protobuf format for 3D tile data.
- Tiled Parquet (ZSTD) for ML training pipelines.
- Neuroglancer precomputed format for web-based 3D visualization.
- 2D PBF (MVT) — pure-Rust encoder/decoder, no Python dependencies.
-
Compression:
- Meshopt (lossless, fast decode, Brotli-friendly) — default for viewer output.
- Draco (lossy quantization, smallest on disk) — optional.
- ZSTD for Parquet columns.
- Brotli HTTP transport compression for GLB serving.
-
Dataset Pipelines:
- MouseLight: 38 brains, 876K rows, meshopt 3D Tiles (84 min total).
- Hemibrain: 5,000 neurons (95 cell types), Parquet tiling complete.
Phase 4: Adoption and Long-Term Sustainability (In Progress)
-
Case Studies and Benchmarks:
- Published benchmark tables: synthetic, MouseLight, retrieval, multi-pyramid.
- Reproducing paper results with current pipeline (Tables 2-8).
-
Documentation and Guides:
- Updated specification for 3D geometry types.
- API documentation for Rust-accelerated modules.
- Example scripts for 2D and 3D pipelines.
-
Remaining Work:
- TypeScript and Java reference implementations.
- Governance model and standards process.
- Hemibrain full 3D Tiles with QEM + meshopt.
- Community engagement: user meetings and feedback sessions.