Feature/analyse v2 - #306
Conversation
# Conflicts: # python_sdk/docs/specifications/index.rst # python_sdk/src/reality_capture/service/job.py
# Conflicts: # python_sdk/docs/specifications/index.rst # python_sdk/src/reality_capture/service/job.py
# Conflicts: # python_sdk/docs/service/bucket.rst # python_sdk/docs/service/index.rst # python_sdk/src/reality_capture/service/bucket.py # python_sdk/src/reality_capture/service/service.py # python_sdk/src/reality_capture/specifications/calibration.py # python_sdk/src/reality_capture/specifications/extract_ground.py # python_sdk/src/reality_capture/specifications/production.py # python_sdk/src/reality_capture/specifications/reconstruction.py # python_sdk/src/reality_capture/specifications/segmentation3d.py # python_sdk/tests/data/bucket_get_200.json # python_sdk/tests/test_job.py # python_sdk/tests/test_service_bucket.py
Co-authored-by: Cyril <5690282+cnovel@users.noreply.github.com> Co-authored-by: dbiguenet <110406974+dbiguenet@users.noreply.github.com> Co-authored-by: pierre-seguin-bentley <pierre.seguin@bentley.com> Co-authored-by: Lou Landry <127218677+loulandryatbentley@users.noreply.github.com> Co-authored-by: EHS-BENTLEY-SYSTEMS <erwann.harris@bentley.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Arun George <11051042+aruniverse@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> # Conflicts: # .github/workflows/python-build-and-test.yml # .github/workflows/typescript-publish-prerelease.yml # .github/workflows/typescript-publish-release.yml # python_sdk/docs/specifications/examples/cd_specs_detect_changes_meshes.py # python_sdk/docs/specifications/examples/convert_pc_specs.py # python_sdk/docs/specifications/index.rst # python_sdk/pyproject.toml # python_sdk/src/reality_capture/service/detectors.py # python_sdk/src/reality_capture/service/estimation.py # python_sdk/src/reality_capture/service/job.py # python_sdk/src/reality_capture/service/service.py # python_sdk/tests/test_detectors.py # python_sdk/tests/test_job.py # typescript/examples/src/example_modeling.ts # typescript/packages/reality-capture/package.json # typescript/packages/reality-capture/src/service/job.ts # typescript/packages/reality-capture/src/service/service.ts # typescript/packages/reality-capture/src/specifications/calibration.ts # typescript/packages/reality-capture/src/specifications/change_detection.ts # typescript/packages/reality-capture/src/specifications/constraints.ts # typescript/packages/reality-capture/src/specifications/gaussian_splats.ts # typescript/packages/reality-capture/src/specifications/import_point_cloud.ts # typescript/packages/reality-capture/src/specifications/production.ts # typescript/packages/reality-capture/src/specifications/reconstruction.ts # typescript/packages/reality-capture/src/specifications/tiling.ts # typescript/packages/reality-capture/src/specifications/water_constraints.ts # typescript/packages/reality-capture/src/tests/service/job.test.ts # typescript/packages/reality-capture/src/tests/service/service.test.ts # typescript/packages/reality-capture/src/tests/specifications/test_change_detection.test.ts
# Conflicts: # python_sdk/src/reality_capture/service/detectors.py # python_sdk/src/reality_capture/service/job.py # python_sdk/src/reality_capture/service/service.py
There was a problem hiding this comment.
Pull request overview
This PR updates the Reality Capture TypeScript package and Python SDK to align with the “analyse v2” contract changes: it removes Training O2D, expands Training S3D inputs/options, renames several 3D output fields (e.g., segmentedModel3D), and adjusts change-detection/clearance naming. It also adds/extends Python SDK support for detectors and updates documentation/examples accordingly.
Changes:
- Update analysis job specifications across TS + Python (Training S3D, Change Detection, Segmentation3D, Eval S3D, Clearance) with new field names/enums/options.
- Add Python SDK Training S3D models and extend job validation/routing for
TrainingS3D. - Add/extend detector-related SDK functionality and update docs/examples.
Reviewed changes
Copilot reviewed 40 out of 40 changed files in this pull request and generated 23 comments.
Show a summary per file
| File | Description |
|---|---|
| typescript/packages/reality-capture/src/tests/specifications/test_training.test.ts | Updates Training S3D schema tests and removes Training O2D coverage. |
| typescript/packages/reality-capture/src/tests/specifications/test_segmentation3d.test.ts | Updates Segmentation3D outputs tests for renamed outputs. |
| typescript/packages/reality-capture/src/tests/specifications/test_eval_s3d.test.ts | Updates Eval S3D outputs tests for renamed outputs. |
| typescript/packages/reality-capture/src/tests/specifications/test_change_detection.test.ts | Partially updates Change Detection tests; needs further alignment with new schema contract. |
| typescript/packages/reality-capture/src/specifications/training.ts | Removes Training O2D, expands Training S3D inputs/options and adds enums. |
| typescript/packages/reality-capture/src/specifications/segmentation3d.ts | Renames Segmentation3D outputs and removes deprecated outputs/options. |
| typescript/packages/reality-capture/src/specifications/eval_s3d.ts | Renames Eval S3D output from point cloud to model naming. |
| typescript/packages/reality-capture/src/specifications/clearance.ts | Renames model3d to model3D in inputs. |
| typescript/packages/reality-capture/src/specifications/change_detection.ts | Updates Change Detection input/output/options contract and requested outputs enum. |
| typescript/packages/reality-capture/src/service/job.ts | Removes Training O2D wiring and keeps Training S3D; includes schema union updates. |
| python_sdk/tests/test_job.py.orig | New .orig file containing merge-conflict markers (should not be committed). |
| python_sdk/tests/test_job_validator.py | Updates Python job validator tests for new field names and outputs. |
| python_sdk/tests/test_detectors.py.orig | New .orig file containing merge-conflict markers (should not be committed). |
| python_sdk/src/reality_capture/specifications/training.py | Adds Python Training S3D pydantic models/enums/options. |
| python_sdk/src/reality_capture/specifications/segmentation3d.py | Renames Segmentation3D outputs/options in Python models. |
| python_sdk/src/reality_capture/specifications/eval_s3d.py | Renames Eval S3D outputs in Python models. |
| python_sdk/src/reality_capture/specifications/clearance.py | Renames Clearance input alias to model3D. |
| python_sdk/src/reality_capture/specifications/change_detection.py | Updates Change Detection inputs/outputs/options and output-create enum in Python. |
| python_sdk/src/reality_capture/service/service.py.orig | New .orig file containing merge-conflict markers (should not be committed). |
| python_sdk/src/reality_capture/service/service.py | Minor docstring tweaks for detector endpoints. |
| python_sdk/src/reality_capture/service/response.py | Changes Response from tuple subclass to dataclass. |
| python_sdk/src/reality_capture/service/job.py | Adds Training S3D job type + specification validation wiring. |
| python_sdk/src/reality_capture/service/detectors.py.orig | New .orig file containing merge-conflict markers (should not be committed). |
| python_sdk/src/reality_capture/service/detectors.py | Refactors detector model declarations; moves DetectorType and adjusts formatting. |
| python_sdk/src/reality_capture/service/detectors_LOCAL_4201.py | New local/temporary duplicate module (should not be committed). |
| python_sdk/src/reality_capture/service/data_handler.py | Adds DetectorDataHandler and extends typing/imports; needs corrections to match service models. |
| python_sdk/docs/specifications/training_s3d.rst | Adds Training S3D docs page; currently out of sync with schemas and includes a missing example path. |
| python_sdk/docs/specifications/segmentation3d.rst | Updates Segmentation3D docs and output naming; still references removed option(s). |
| python_sdk/docs/specifications/segmentation2d.rst | Removes deprecated DGN references from docs. |
| python_sdk/docs/specifications/segmentation_orthophoto.rst | Removes deprecated DGN references from docs. |
| python_sdk/docs/specifications/objects2d.rst | Removes deprecated DGN references from docs. |
| python_sdk/docs/specifications/index.rst | Adds Training S3D docs entry. |
| python_sdk/docs/specifications/examples/training_s3d_options.py | Adds Training S3D example using expanded options. |
| python_sdk/docs/specifications/examples/training_s3d_default.py | Adds Training S3D minimal example. |
| python_sdk/docs/specifications/examples/s3d_specs_segment_pc.py | Updates Segmentation3D output enum usage in example. |
| python_sdk/docs/specifications/examples/s3d_specs_segment_pc_and_infer_3d_lines.py | Updates Segmentation3D output enum usage in example. |
| python_sdk/docs/specifications/examples/s3d_specs_segment_meshes.py | Updates Segmentation3D output enum usage in example. |
| python_sdk/docs/specifications/examples/eval_s3d_specs.py | Updates Eval S3D output enum usage in example. |
| python_sdk/docs/specifications/examples/clearance_specs.py | Updates Clearance input alias usage in example. |
| python_sdk/docs/specifications/examples/cd_specs_detect_changes_meshes.py | Updates Change Detection example inputs; outputs enum reference needs correction. |
Comments suppressed due to low confidence (2)
typescript/packages/reality-capture/src/service/job.ts:238
JobSchemausesz.literal("TraningS3D"), which will fail to parse real jobs whosetypematches theJobType.TRAINING_S3D = "TrainingS3D"enum value (and API payloads). Update the literal to the correct string to keep the discriminated union consistent.
typescript/packages/reality-capture/src/tests/specifications/test_change_detection.test.ts:41ChangeDetectionOutputsSchemafields were renamed (e.g.locations3DAAsSHP,segmentedModel3DA/B, etc.), but this test still only exercises removed/unknown keys. Updating the test data will ensure the new schema is actually validated.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
@copilot Check that Python and TS SDKs are aligned regarding specifications |
I checked Python and TypeScript specification alignment for the updated Analyse v2 specs (ChangeDetection, TrainingS3D, Segmentation3D, EvalS3D). The schema keys and output-create values are aligned in both SDKs, and targeted tests pass ( |
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
No description provided.