# Third-Party Notices

N3D is built on the Rust open-source ecosystem. The components below are used or
redistributed under their own licenses; each remains the property of its respective
authors. The complete, mechanically-generated inventory of every crate in the build
graph (with full license texts) is produced by `cargo about generate` as part of the
distribution build (see `scripts/preflight.ps1`); this file is the curated summary.

## Graphics & windowing
- **wgpu** (29.x) — MIT / Apache-2.0 — GPU abstraction (Vulkan/DX12/Metal).
- **naga** (via wgpu) — MIT / Apache-2.0 — shader translation.
- **winit** (0.30) — Apache-2.0 / MIT — windowing & input.
- **egui / eframe / egui-wgpu / egui_extras** (0.35) — MIT / Apache-2.0 — UI.
  Bundled default fonts: Ubuntu-Light (Ubuntu Font License 1.0), Hack (MIT),
  Noto Emoji (OFL-1.1), emoji-icon-font (MIT).

## Math, data, parallelism
- **glam** (0.32) — MIT / Apache-2.0 — linear algebra.
- **bytemuck** — MIT / Apache-2.0 / Zlib — POD casts.
- **rayon** — MIT / Apache-2.0 — data parallelism.
- **memmap2** — MIT / Apache-2.0 — memory-mapped file I/O.
- **half** — MIT / Apache-2.0 — f16 support.
- **ndarray** — MIT / Apache-2.0 — tensors (reconstruction).

## File formats
- **las** (0.9, laz-parallel) — MIT / Apache-2.0 — LAS reading (fallback path).
- **laz** (laz-rs) — Apache-2.0 — LAZ decompression. Clean-room Rust
  reimplementation of the LASzip algorithm; contains no LGPL LASzip C++ code.
- **e57** (0.11) — MIT — E57 reading.
- **gltf** (1.4) — MIT / Apache-2.0 — glTF/GLB loading.
- **image** — MIT / Apache-2.0 — PNG/JPEG/GIF encode/decode.

## 3D Gaussian Splatting
- **wgpu-3dgs-core** (0.7, LioQing) — MIT / Apache-2.0 — PLY/SPZ splat loading.
- **wesl / wgsl-parse** (via wgpu-3dgs-core) — MIT / Apache-2.0 — WGSL tooling.
- **ply-rs** (via wgpu-3dgs-core) — MIT — PLY parsing.

## AI reconstruction (optional feature)
- **ort** (2.0 rc, pykeio) — MIT / Apache-2.0 — ONNX Runtime bindings (dynamic loading).
- **ONNX Runtime** (Microsoft, 1.22) — MIT — inference runtime. The
  `onnxruntime*.dll` libraries redistributed beside the executable are © Microsoft,
  licensed MIT (https://github.com/microsoft/onnxruntime/blob/main/LICENSE).
- **DirectML** (Microsoft) — when the DirectML execution provider is shipped,
  `DirectML.dll` is redistributed under the Microsoft DirectML redistributable
  license (https://www.nuget.org/packages/Microsoft.AI.DirectML).
- **NVIDIA CUDA / cuDNN** — NOT redistributed in the standard distribution.
  Developer builds using the CUDA execution provider require a user-installed
  NVIDIA CUDA Toolkit / cuDNN, governed by NVIDIA's own EULAs.
- **Reconstruction model weights** — downloaded separately on first use, never
  embedded in the executable. The weights carry their own model license, shown
  with attribution at download time. Commercial distributions use only weights
  whose license permits commercial use.

## Machine-learning models & training data
- The embedded segment classifiers (`models/classifier/*.json`) are trained by
  LearnGeodata. Commercial builds embed only models trained on data whose terms
  permit commercial use; dataset attributions accompany each shipped model.

## External programs (not distributed)
- **ffmpeg** — video encode/decode is performed by invoking a user-supplied
  `ffmpeg` executable as a separate process (override with `N3D_FFMPEG`).
  N3D does not link against, bundle, or redistribute ffmpeg or any of its
  codecs; without it, N3D falls back to PNG/GIF output.

## Utilities
- **anyhow**, **thiserror** — MIT / Apache-2.0 — error handling.
- **rfd** — MIT — native file dialogs.
- **clap** — MIT / Apache-2.0 — CLI parsing (n3d-render-cli).
- **serde / serde_json** — MIT / Apache-2.0 — serialization.
- **pollster** — MIT / Apache-2.0 — minimal async executor.
- **tracing / tracing-subscriber** — MIT — logging.

Full license texts are available in each crate's repository, in the Cargo registry,
and in the generated distribution inventory. N3D's own source, shaders, design and
branding are proprietary — see `LICENSE`.

© 2026 Dr. Florent Poux · LearnGeodata Academy.
