33 Commits

Author SHA1 Message Date
f8177d8926 fix(cloud_point): validation, thread safety, and test cleanup
- Parse port inside try block for proper error reporting instead of unhandled exception
- Make frame_counter atomic to eliminate data race under TcpServer per-client threads
- Validate num_disparities is positive multiple of 16 in StereoMatcherFactory
- Validate stereo pair dimensions match in ScaredDatasetLoader
- Silence nodiscard warnings via std::ignore in tests

TG-3 #ready-for-test
TG-2 #ready-for-test
2026-07-12 22:28:21 +03:00
e139a55143 feat(cloud_point): SCARED dataset validation with real endoscopic stereo data
- ScaredDatasetLoader: loads M1/D1/M2/D2/R/T from OpenCV YAML + Left/Right PNGs
- scared_dataset_server executable serving get-stereo-calibration and get-image-pair
- E2E test against SCARED dataset with GTEST_SKIP guard (requires SCARED_KEYFRAME_DIR)
- README SCARED dataset validation section with CLI options and mm->m conversion
- CLI disparity-range caveat documentation

TG-2 #in-progress
2026-07-12 22:28:21 +03:00
162c210a7d feat(cloud_point): stereo rectification, point cloud pipeline, and CloudPointClient facade
- StereoRectifier wrapping cv::stereoRectify + cv::initUndistortRectifyMap (CV_16SC2 maps)
- PointCloudBuilder with cv::reprojectImageTo3D and depth/NaN filtering
- CloudPointClient high-level facade: connect(), compute_cloud() -> std::expected<PointCloud, Error>
- write_ply() ASCII PLY export helper
- CLI options 4 (compute-cloud) and 5 (compute-cloud + save PLY)
- Fix TcpServer to loop over multiple requests per connection
- Expose num_disparities parameter through CloudPointClient and StereoMatcherFactory
- Unity C# integration design spec
- Sync README, AGENTS, openwiki with stereo pipeline (C++23)
- E2E synthetic-scene test with constant-disparity stereo pair

TG-9 #ready-for-test
TG-4 #ready-for-test
TG-2 #in-progress
2026-07-12 22:28:21 +03:00
d486f550d2 feat(rpc): stereo calibration and image-pair wire protocol
- Remove unused stdexec dependency
- Fix dangling cv::Mat references and swapped dimensions in image/matrix factories
- Add CameraCalib, StereoCalibrationRPC, ImagePairRPC DTOs with nlohmann serialization
- Implement get-stereo-calibration and get-image-pair RPC handlers with deterministic mock data
- Extend RpcClient with typed getters and params-bearing call overload
- Restructure API.md with full JSON schemas and conventions
- 13 unit and integration tests for serialization

TG-3 #in-progress
TG-7 #ready-for-test
2026-07-12 22:28:21 +03:00
24b6f9937f feat(cloud_point): add OpenCV integration, stereo matching, and get-available-methods RPC
- Add OpenCV and stdexec dependencies
- ImageRPC type bridging OpenCV and RPC layers
- Stereo rectification boilerplate
- get-available-methods RPC method with get_count/get_method_name_by_id/get_method_names
- Tests for remote method retrieval
- CPU/GPU stereo matcher interfaces with SGBM implementation
- Documentation consistency pass across impl and docs

TG-5 #ready-for-test
TG-2 #in-progress
2026-07-12 22:28:21 +03:00
71c3d930d9 feat(docs) added openwiki to the project
All checks were successful
Verification / Is-Buildable (push) Successful in 3m8s
:Release Notes:
-

:Detailed Notes:
-

:Testing Performed:
- was not verified, to be fair :D

:QA Notes:
- generated by glm-5.2

:Issues Addressed:
TG-3
2026-07-03 01:47:34 +03:00
9de6f5a82d fix(glog) init in tests
All checks were successful
Verification / Is-Buildable (push) Successful in 3m10s
:Release Notes:
-

:Detailed Notes:
-

:Testing Performed:
-

:QA Notes:
-

:Issues Addressed:
-
2026-06-24 00:04:46 +03:00
Artur Mukhamadiev
33dd44f454 [feat] add minimal client and address-based init
All checks were successful
Verification / Is-Buildable (push) Successful in 3m40s
- add crpc_init_with_address for direct ip/port startup without yaml
- add minimal_client.cpp example using TCPConnector to send a ping
- set install_rpath '$ORIGIN' on shared libs so they find bundled deps
- ignore .worktrees/ for git worktree scratch directories
v0.1.2
2026-06-02 16:18:31 +03:00
Artur Mukhamadiev
e17eed40e4 [test] gitea workflow
All checks were successful
Verification / Is-Buildable (push) Successful in 2m52s
2026-04-21 17:23:10 +03:00
Artur Mukhamadiev
b85fa6fc76 [tests] unit tests to cover edge cases
Some checks failed
Verification / Is-Buildable (push) Failing after 3m12s
v0.1.1
2026-04-21 16:54:21 +03:00
Artur Mukhamadiev
3dcaf9fbae [fix] resolved several issues found by AI
Some checks failed
Verification / Is-Buildable (push) Failing after 2m41s
2026-04-21 16:51:46 +03:00
Artur Mukhamadiev
be4dc501ae [fix] test api log to stderr
Some checks failed
Verification / Is-Buildable (push) Failing after 2m45s
2026-04-20 17:00:09 +03:00
Artur Mukhamadiev
1f2245e342 fix(config) added sample config
Some checks failed
Verification / Is-Buildable (push) Failing after 2m26s
config.yml expected format:
```yml
server:
  ip: "ip-string"
  port: int
```
2026-04-15 20:15:21 +03:00
e9e15a20a2 [fix] compilation of this tag on windows
Some checks failed
Verification / Is-Buildable (push) Failing after 2m4s
2026-04-14 00:12:16 +03:00
Artur Mukhamadiev
5634773eaf [fix] build file fixes for linux and newer CMake
Some checks failed
Verification / Is-Buildable (push) Failing after 2m51s
:Release Notes:
-

:Detailed Notes:
-

:Testing Performed:
-

:QA Notes:
-

:Issues Addressed:
-
2026-04-13 23:25:11 +03:00
603646c230 [base64] minimal encode/decode of raw string 2026-03-12 00:09:26 +03:00
e0295f21b5 [style] main namespace renamed to SCORE
based on new suggested project name
2026-03-11 16:38:50 +03:00
46cf56196e [base64] add subprojects
Some checks failed
Verification / Is-Buildable (push) Has been cancelled
TG-4
2026-03-07 21:40:24 +03:00
69466a1771 [docs] change docs + base64
Some checks failed
Verification / Is-Buildable (push) Failing after 53s
TG-3 #ready
2026-03-07 21:06:21 +03:00
7a2d6d0994 [actions] add minimal action with unit tests
All checks were successful
Verification / Is-Buildable (push) Successful in 1m50s
project would be build on aarch64 and unit tests
would be executed on act_runner
2026-03-02 21:16:19 +03:00
f94a23b723 [test-c-api] appended api with helpful methods
valgrind doesn't reports any error
thread sanitizer reports one issue on test tear down (need to
investigate)
2026-03-01 23:54:06 +03:00
e0ac93c657 [c_api] added c api for libs
changed project structure, now relying on shared libraries
win-min
2026-02-27 22:03:09 +03:00
Artur Mukhamadiev
b28c1b8e7f [docs] added docs folder
moved uml diagram to docs folder
changed readme communcation model to a result image view
2026-02-20 23:51:57 +03:00
Artur Mukhamadiev
1ab01134c5 [todo] added todo section in readme 2026-02-20 23:47:53 +03:00
Artur Mukhamadiev
d26ab35339 [tcp] removed duplicate code
:Release Notes:
removed unnecessary code duplication for TCP socket read in tcp_server
and tcp_connector. Changed several log lines to appear only in debug
build
2026-02-20 23:44:10 +03:00
8ee06fe6a0 [win] compilation on windows verified 2026-02-20 20:38:01 +03:00
ece26e7b1f [jsonrpccxx] moved to external rpc impl
Detailed:
      As base used jsonrpccxx implementation paired with TCP socket
      TCP socket updated to handle dynamic sized buffers
      TCP communication protocol changed to serialized packet size after
      which json string is presented
2026-02-20 17:51:14 +03:00
4ddaea91a7 added external rpc implementation 2026-02-06 17:37:07 +03:00
9b482ae956 [docs] change listen to connect :D 2026-01-26 00:39:20 +03:00
dc82c29556 [docs] fixed docker description 2026-01-26 00:37:43 +03:00
dfa4b156e9 [docker] verified and corrected 2026-01-26 00:33:14 +03:00
54c169a845 [cli] added cli for testing capabilities
Gemini 3 pro + opencode
2026-01-26 00:24:43 +03:00
cbe56d9193 [base] hail vibe-coding
Minimal API functionality with unit tests,
could be used for integration tests with Unity server.
For internal testing used RPC_server implementation
2026-01-26 00:14:19 +03:00