Добавить Vue 3 web-dashboard с расширенным API и Docker-сборкой.
Полноценный браузерный UI (Pinia, Three.js) с паритетом Qt: редактор цепочки, wizard, пресеты, метрики и 3D viewer; API расширен для catalog/validate/demo/user-presets; CLI отдаёт step metrics в JSON. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -208,10 +208,13 @@ CLI печатает краткую сводку по метрикам (`input`,
|
||||
|
||||
Для запуска пайплайна с PCL в изолированной среде (без конфликтов с `libpq` на хосте) добавлены:
|
||||
|
||||
- `docker/Dockerfile` — сборка `DotsToSirface` с `PCL_ENABLED` и запуск FastAPI;
|
||||
- `docker/Dockerfile` — сборка `DotsToSirface` с `PCL_ENABLED` + Vue 3 dashboard;
|
||||
- `docker/docker-compose.yml`;
|
||||
- `api/main.py` — HTTP API (`/api/run`, `/api/presets`);
|
||||
- `web/` — браузерный 3D viewer (Three.js).
|
||||
- `api/main.py` — HTTP API (`/api/run`, `/api/presets`, `/api/validate-config`, …);
|
||||
- `web-vue/` — Vue 3 + Pinia + Three.js (полный dashboard, паритет с Qt);
|
||||
- `web/` — legacy MVP (fallback, если Vue `dist` не собран).
|
||||
|
||||
**Qt desktop (`./DotsToSirface`) сохраняется** как локальный fallback без Docker.
|
||||
|
||||
### Быстрый старт
|
||||
|
||||
@@ -222,21 +225,30 @@ docker compose up --build
|
||||
|
||||
Откройте в браузере: [http://localhost:8080](http://localhost:8080)
|
||||
|
||||
1. Загрузите `.ply`
|
||||
2. Выберите preset (или оставьте default)
|
||||
3. Нажмите **Run pipeline**
|
||||
4. В viewer появятся точки и mesh, справа — метрики пайплайна
|
||||
### Локальная разработка frontend
|
||||
|
||||
### API
|
||||
```bash
|
||||
cd web-vue
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
API проксируется на `http://localhost:8080` (см. `vite.config.js`).
|
||||
|
||||
### API (основное)
|
||||
|
||||
- `GET /api/health` — статус сервиса
|
||||
- `GET /api/presets` — список JSON-пресетов
|
||||
- `POST /api/run` — multipart: `file` + опционально `preset_id`
|
||||
- `GET /api/catalog` — метаданные стадий
|
||||
- `GET /api/builtin-presets` — LiDAR / RGBD / Synthetic / Fast / Robust
|
||||
- `GET /api/presets` — встроенные + файловые + user presets
|
||||
- `POST /api/validate-config` — warnings / chainHealth без запуска
|
||||
- `POST /api/wizard` — suggested chain
|
||||
- `GET /api/demo` — демо-облако точек
|
||||
- `POST /api/user-presets` — сохранение пользовательских пресетов
|
||||
- `POST /api/run` — multipart: `file` или `demo_surface` + `config_json`
|
||||
- `GET /api/geometry/{workId}` — бинарная геометрия для больших облаков
|
||||
|
||||
CLI внутри контейнера пишет в `--output-json` не только метрики, но и геометрию:
|
||||
`points` (массив `[x,y,z]`) и `triangleIndices` (массив `[i0,i1,i2]`).
|
||||
|
||||
Конфиг пайплайна по умолчанию: `docker/default_pipeline.json`.
|
||||
CLI `--output-json` включает `points`, `triangleIndices`, `preprocessStepMetrics`.
|
||||
|
||||
## Демо
|
||||
|
||||
|
||||
Reference in New Issue
Block a user