3 Commits

Author SHA1 Message Date
dda20f82e6 Serve asset downloads via backend instead of redirecting to storage.
CI / test (push) Successful in 3s
The download endpoint now streams object bytes from storage on the same API URL so clients never get redirected to MinIO/internal hosts, while preserving public/private access checks.

Made-with: Cursor
2026-03-02 22:14:12 +00:00
e981a334ea Add MapLibre demo and route uploads through backend.
CI / test (push) Successful in 5s
This introduces a MapLibre GL + Three.js web demo for object placement and sharing, and changes asset upload flow to use backend upload endpoints so clients no longer receive direct MinIO URLs.

Made-with: Cursor
2026-03-02 21:48:08 +00:00
f6f46f6db1 Add asset metadata, sharing, and MinIO-backed signed links.
CI / test (pull_request) Successful in 4s
This introduces deduplicated per-user image/3D asset records linked into feature properties, adds visibility-controlled download routing, and wires local S3-compatible storage with automatic bucket bootstrap in Docker Compose.

Made-with: Cursor
2026-03-02 21:03:08 +00:00