Добавить PLY-загрузку и Docker Web UI с PCL-пайплайном.

PLY читается в FilePointCloudSource, CLI отдаёт геометрию в output JSON,
а Docker/FastAPI/Three.js дают веб-запуск пайплайна без конфликта libpq на хосте.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-18 10:39:34 +03:00
co-authored by Cursor
parent 98afe5af5a
commit 45b2ed6e22
17 changed files with 1332 additions and 36 deletions
+34
View File
@@ -204,6 +204,40 @@ CLI печатает краткую сводку по метрикам (`input`,
поэтому его можно загрузить напрямую кнопкой `Загрузить пресет`.
Дополнительно рядом сохраняется `*_best_preset.json` (чистый preset-JSON).
## Docker + Web UI (CLI + PCL)
Для запуска пайплайна с PCL в изолированной среде (без конфликтов с `libpq` на хосте) добавлены:
- `docker/Dockerfile` — сборка `DotsToSirface` с `PCL_ENABLED` и запуск FastAPI;
- `docker/docker-compose.yml`;
- `api/main.py` — HTTP API (`/api/run`, `/api/presets`);
- `web/` — браузерный 3D viewer (Three.js).
### Быстрый старт
```bash
cd docker
docker compose up --build
```
Откройте в браузере: [http://localhost:8080](http://localhost:8080)
1. Загрузите `.ply`
2. Выберите preset (или оставьте default)
3. Нажмите **Run pipeline**
4. В viewer появятся точки и mesh, справа — метрики пайплайна
### API
- `GET /api/health` — статус сервиса
- `GET /api/presets` — список JSON-пресетов
- `POST /api/run` — multipart: `file` + опционально `preset_id`
CLI внутри контейнера пишет в `--output-json` не только метрики, но и геометрию:
`points` (массив `[x,y,z]`) и `triangleIndices` (массив `[i0,i1,i2]`).
Конфиг пайплайна по умолчанию: `docker/default_pipeline.json`.
## Демо
При запуске приложение: