Metadata-Version: 2.4
Name: seam-studio
Version: 0.1.15
Summary: SEAM Studio - unified RF-visual scene authoring, RF material assignment, and Sionna RT digital-twin simulation workbench
Author-email: Jaewoo Lee <doni04164@gmail.com>
License-Expression: Apache-2.0
Project-URL: Repository, https://github.com/jaewoo4200/SEAM
Project-URL: Issues, https://github.com/jaewoo4200/SEAM/issues
Project-URL: Documentation, https://jaewoo4200.github.io/SEAM/
Keywords: sionna,ray-tracing,digital-twin,RF,6G,ISAC,radio-propagation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Communications
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: fastapi>=0.111
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: uvicorn[standard]>=0.30
Requires-Dist: pydantic>=2.7
Requires-Dist: numpy>=1.26
Requires-Dist: trimesh>=4.4
Requires-Dist: scipy>=1.11
Requires-Dist: rtree>=1.2
Requires-Dist: shapely>=2.0
Requires-Dist: mapbox-earcut>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: httpx>=0.27
Requires-Dist: pillow>=10.3
Requires-Dist: ddgs>=9.0
Requires-Dist: sionna-rt>=2.2
Provides-Extra: dev
Requires-Dist: pytest>=8.2; extra == "dev"
Requires-Dist: httpx2>=2.0; extra == "dev"
Requires-Dist: ruff>=0.15; extra == "dev"
Provides-Extra: sionna
Requires-Dist: sionna-rt>=2.2; extra == "sionna"
Provides-Extra: parquet
Requires-Dist: pyarrow>=16; extra == "parquet"
Provides-Extra: results
Requires-Dist: pyarrow>=16; extra == "results"
Requires-Dist: duckdb>=1.0; extra == "results"
Requires-Dist: zarr>=2.18; extra == "results"

# SEAM Studio

**Unified RF–visual scene authoring, RF material assignment, and
[Sionna RT](https://github.com/NVlabs/sionna-rt) digital-twin simulation — in one
local workbench.**

SEAM Studio pairs a FastAPI backend with a bundled React/three.js frontend:
author a 3D scene, bind ITU/custom RF materials to its surfaces (by hand,
by rules, or with a local-LLM agent), then ray-trace paths, radio maps,
UE/UAV trajectories, Doppler, beamforming, handover and radar sensing / ISAC —
all persisted as reproducible result sets.

## Install

```bash
pip install seam-studio
```

This installs the real ray-tracing engine (`sionna-rt`, Dr.Jit/Mitsuba) by
default. It runs on an NVIDIA GPU (CUDA). Without one, Dr.Jit's CPU backend
needs LLVM installed separately (Windows: the official LLVM installer, then
set `DRJIT_LIBLLVM_PATH` to its `LLVM-C.dll`; Linux: LLVM 18+, e.g.
`apt install libllvm18` on Ubuntu 24.04, from apt.llvm.org on Ubuntu 22.04 /
Debian 12 whose default LLVM 14 is too old; macOS: Xcode CLT or
`brew install llvm`). When neither backend works, the app
reports Sionna as unavailable with the reason (`/api/health`) and `auto` runs
its deterministic Mock engine instead. Details:
[INSTALL.md](https://github.com/jaewoo4200/SEAM/blob/master/INSTALL.md#cpu-only-machines-no-nvidia-gpu-install-llvm).

**Optional extras:** `pip install "seam-studio[parquet]"` adds `pyarrow` for
AODT parquet import/export and parquet sensing datasets.

## Quickstart

```bash
seam-studio            # starts on http://127.0.0.1:8000 and opens the browser
```

The first run creates a **Sample Demo** project (toy urban scene with a
rooftop TX and two street-mast TXs, each with a co-located sensing RX, a
street RX, car and pedestrian actors, a drone sensing target, and a 3.5 GHz
`sensing_fr1` config that detects and tracks it) under `~/.seam/projects`,
so you can press **Simulate paths** immediately.

```
seam-studio --port 9000            # different port
seam-studio --project-root D:\twins  # keep projects elsewhere
seam-studio --no-browser
```

## Highlights

- **Scene → RF binding**: import Mitsuba XML / scene bundles / OpenStreetMap
  extrusions; assign RF materials per surface with validation and provenance.
- **Simulation**: paths, planar & mesh radio maps, multi-TX SINR/RSRP/RSRQ,
  MIMO beamforming, UE/UAV trajectories with per-step handover (3GPP A3),
  Doppler spectrograms, ML ground-truth dataset export (NPZ).
- **Radar sensing & ISAC**: RCS targets (TR 38.901 / constant), echo solves
  with Doppler, per-frame multistatic fusion and EKF tracking, Swerling Pd/Pfa
  detectors with Monte Carlo, ISAC beam trade-off, sensing coverage maps,
  labeled sensing dataset export (npz/csv/parquet).
- **AI assist**: local LLM/VLM material suggestion agent (Ollama / LM Studio),
  natural-language assignment rules, validation explains.
- **Reproducibility**: every run persisted with config snapshots + content
  hashes; measurement import and calibration against real logs; NVIDIA AODT
  parquet import/export.

## Links

- Repository & docs: <https://github.com/jaewoo4200/SEAM>
- Website: <https://jaewoo4200.github.io/SEAM/>

Apache-2.0 © Jaewoo Lee
