Robim.Data Explorer
When this skill is triggered, the user needs to understand a type or data structure
that lives in the Robim.Data nuget package. The source code is available locally at
d:/robim_data.
Workflow
- Identify the type name the user is asking about.
- Look up in the index: Open
references/type-index.mdand search for the type name. - If found: Read the corresponding file from
d:/robim_data/<file-path>. - If not found: Use
Grepto searchd:/robim_data/srcfor the type name. - Return the relevant code to the user with context.
Directory Structure of d:/robim_data
d:/robim_data/
src/
Robim.Data/ -- Hand-written C# core data models
Geometry/ -- Point, Box, Plane, Mesh, PolyLineCurve, etc.
Math/ -- Vector, Matrix3D, Quaternion, Euler, Transform3D, etc.
Process/ -- Pose, JointState, ArmPlanData, Process, etc.
ProfileCutting/ -- Profile, Part, Nest, Macro, etc.
Common/ -- Extension methods, diff builder
Display/ -- Display extensions
Protobuf/ -- .proto definition files (ArcWeldingCraft, WeldSeam, Cmd, etc.)
Robim.Data.Proto/ -- Nuget packaging for proto files
Robim.Service.Core/ -- Service implementations (CommonServer, DeviceServiceImpl, etc.)
Robim.Data.Wpf/ -- WPF controls and viewmodels
Robim.Data.Test/ -- Test projects
robim_data_cpp/ -- C++ bindings
java/ -- Java bindings
Key Namespaces and Where to Find Them
| Namespace | Likely Source |
|---|---|
Robim.Data |
src/Robim.Data/*.cs or Common/, Uitilitys/ |
Robim.Data.Geometry |
src/Robim.Data/Geometry/*.cs |
Robim.Data.Math |
src/Robim.Data/Math/*.cs |
Robim.Data.Process |
src/Robim.Data/Process/*.cs |
Robim.Data.Process.Cutting |
src/Robim.Data/Process/*.cs |
Robim.Data.ProfileCutting |
src/Robim.Data/ProfileCutting/*.cs |
Robim.Data.ArcWeldingCraft |
src/Robim.Data/Protobuf/ArcWeldingCraft.proto |
Robim.Data.Weld |
src/Robim.Data/Protobuf/WeldSeam.proto or WeldSeamV3.proto |
Robim.Data.Scanning |
src/Robim.Data/Protobuf/Vision*.proto |
Robim.Data.Coarse |
src/Robim.Data/Protobuf/Vision*.proto |
Robim.Data.Service |
src/Robim.Data/Protobuf/*.proto (CloudPlatform, etc.) |
Proto File → C# Namespace Mapping
Proto files under src/Robim.Data/Protobuf/ generate C# types in namespaces
matching the package declaration in each .proto file. For example:
ArcWeldingCraft.proto→package Robim.Data.ArcWeldingCraftWeldSeam.proto→package Robim.Data.WeldVisionBasicModel.proto→ containsRobim.Data.Coarse,Robim.Data.Scanning
When searching for proto-generated types, grep both the .proto file (for schema)
and the obj/ generated .cs files if you need the exact generated C# code.
Index Maintenance
The file references/type-index.md is a pre-generated index of all public types.
If the user reports that types are missing or outdated, run the index script with pwsh 7 (UTF-8 default):
pwsh -NoProfile -ExecutionPolicy Bypass -File scripts/update-index.ps1