@cobotar/protocol 0.17.4 → 0.17.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # CobotAR-Protocol
2
2
  A collection of protobuf messages for the CobotAR-project
3
3
 
4
- Current version: 0.17.4
4
+ Current version: 0.17.5
5
5
 
6
6
  ## Documentation
7
7
  Find it here: [documentation/README.md](documentation/README.md)
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file assembly/v1/model.proto.
15
15
  */
16
16
  export const file_assembly_v1_model: GenFile = /*@__PURE__*/
17
- fileDesc("Chdhc3NlbWJseS92MS9tb2RlbC5wcm90bxILYXNzZW1ibHkudjEi4wMKDU1vZGVsQXJ0aWZhY3QSCgoCaWQYASABKAkSFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEhMKC2Rlc2NyaXB0aW9uGAMgASgJEgwKBGljb24YBCABKAkSMAoFZ3JvdXAYBSABKA4yFy5hc3NlbWJseS52MS5Nb2RlbEdyb3VwQgi6SAWCAQIQARI1CgZvcmlnaW4YBiABKA4yGC5hc3NlbWJseS52MS5Nb2RlbE9yaWdpbkILukgIyAEBggECEAESNQoGZm9ybWF0GAcgASgOMhguYXNzZW1ibHkudjEuTW9kZWxGb3JtYXRCC7pICMgBAYIBAhABEhAKCGZpbGVuYW1lGAggASgJEhgKA3VyaRgJIAEoCUILukgI2AEBcgOIAQESIgoNdGh1bWJuYWlsX3VyaRgKIAEoCUILukgI2AEBcgOIAQESDwoHdmVyc2lvbhgLIAEoCRIMCgR1bml0GAwgASgJEg8KB3VwX2F4aXMYDSABKAkSOwoTZXh0ZXJuYWxfcmVmZXJlbmNlcxgOIAMoCzIeLmFzc2VtYmx5LnYxLkV4dGVybmFsUmVmZXJlbmNlEi0KBmN1c3RvbRgPIAEoCzIdLmFzc2VtYmx5LnYxLkN1c3RvbVByb3BlcnRpZXMiOwoOTW9kZWxBcnRpZmFjdHMSKQoFaXRlbXMYASADKAsyGi5hc3NlbWJseS52MS5Nb2RlbEFydGlmYWN0KrUBCgpNb2RlbEdyb3VwEhsKF01PREVMX0dST1VQX1VOU1BFQ0lGSUVEEAASFAoQTU9ERUxfR1JPVVBfUEFSVBABEhcKE01PREVMX0dST1VQX1BST0RVQ1QQAhIUChBNT0RFTF9HUk9VUF9UT09MEAMSFQoRTU9ERUxfR1JPVVBfUk9CT1QQBBIXChNNT0RFTF9HUk9VUF9GSVhUVVJFEAUSFQoRTU9ERUxfR1JPVVBfQVNTRVQQBip8CgtNb2RlbE9yaWdpbhIcChhNT0RFTF9PUklHSU5fVU5TUEVDSUZJRUQQABIZChVNT0RFTF9PUklHSU5fQlVJTFRfSU4QARIZChVNT0RFTF9PUklHSU5fVVBMT0FERUQQAhIZChVNT0RFTF9PUklHSU5fRVhURVJOQUwQAyqyAQoLTW9kZWxGb3JtYXQSHAoYTU9ERUxfRk9STUFUX1VOU1BFQ0lGSUVEEAASFAoQTU9ERUxfRk9STUFUX0dMQhABEhUKEU1PREVMX0ZPUk1BVF9HTFRGEAISFAoQTU9ERUxfRk9STUFUX09CShADEhUKEU1PREVMX0ZPUk1BVF9TVEVQEAQSFAoQTU9ERUxfRk9STUFUX1NUTBAFEhUKEU1PREVMX0ZPUk1BVF9VU0RaEAZCsAEKD2NvbS5hc3NlbWJseS52MUIKTW9kZWxQcm90b1ABWjtnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXNzZW1ibHkvdjE7YXNzZW1ibHl2MaICA0FYWKoCFE1lc3NhZ2VzLkFzc2VtYmx5LlYxygILQXNzZW1ibHlcVjHiAhdBc3NlbWJseVxWMVxHUEJNZXRhZGF0YeoCDEFzc2VtYmx5OjpWMWIGcHJvdG8z", [file_assembly_v1_common, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
17
+ fileDesc("Chdhc3NlbWJseS92MS9tb2RlbC5wcm90bxILYXNzZW1ibHkudjEi4wMKDU1vZGVsQXJ0aWZhY3QSCgoCaWQYASABKAkSFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEhMKC2Rlc2NyaXB0aW9uGAMgASgJEgwKBGljb24YBCABKAkSMAoFZ3JvdXAYBSABKA4yFy5hc3NlbWJseS52MS5Nb2RlbEdyb3VwQgi6SAWCAQIQARI1CgZvcmlnaW4YBiABKA4yGC5hc3NlbWJseS52MS5Nb2RlbE9yaWdpbkILukgIyAEBggECEAESNQoGZm9ybWF0GAcgASgOMhguYXNzZW1ibHkudjEuTW9kZWxGb3JtYXRCC7pICMgBAYIBAhABEhAKCGZpbGVuYW1lGAggASgJEhgKA3VyaRgJIAEoCUILukgI2AEBcgOIAQESIgoNdGh1bWJuYWlsX3VyaRgKIAEoCUILukgI2AEBcgOIAQESDwoHdmVyc2lvbhgLIAEoCRIMCgR1bml0GAwgASgJEg8KB3VwX2F4aXMYDSABKAkSOwoTZXh0ZXJuYWxfcmVmZXJlbmNlcxgOIAMoCzIeLmFzc2VtYmx5LnYxLkV4dGVybmFsUmVmZXJlbmNlEi0KBmN1c3RvbRgPIAEoCzIdLmFzc2VtYmx5LnYxLkN1c3RvbVByb3BlcnRpZXMiOwoOTW9kZWxBcnRpZmFjdHMSKQoFaXRlbXMYASADKAsyGi5hc3NlbWJseS52MS5Nb2RlbEFydGlmYWN0KrcBCgpNb2RlbEdyb3VwEhsKF01PREVMX0dST1VQX1VOU1BFQ0lGSUVEEAASFAoQTU9ERUxfR1JPVVBfUEFSVBABEhcKE01PREVMX0dST1VQX1BST0RVQ1QQAhIUChBNT0RFTF9HUk9VUF9UT09MEAMSFQoRTU9ERUxfR1JPVVBfUk9CT1QQBBIZChVNT0RFTF9HUk9VUF9DT05UQUlORVIQBRIVChFNT0RFTF9HUk9VUF9BU1NFVBAGKnwKC01vZGVsT3JpZ2luEhwKGE1PREVMX09SSUdJTl9VTlNQRUNJRklFRBAAEhkKFU1PREVMX09SSUdJTl9CVUlMVF9JThABEhkKFU1PREVMX09SSUdJTl9VUExPQURFRBACEhkKFU1PREVMX09SSUdJTl9FWFRFUk5BTBADKrIBCgtNb2RlbEZvcm1hdBIcChhNT0RFTF9GT1JNQVRfVU5TUEVDSUZJRUQQABIUChBNT0RFTF9GT1JNQVRfR0xCEAESFQoRTU9ERUxfRk9STUFUX0dMVEYQAhIUChBNT0RFTF9GT1JNQVRfT0JKEAMSFQoRTU9ERUxfRk9STUFUX1NURVAQBBIUChBNT0RFTF9GT1JNQVRfU1RMEAUSFQoRTU9ERUxfRk9STUFUX1VTRFoQBkKwAQoPY29tLmFzc2VtYmx5LnYxQgpNb2RlbFByb3RvUAFaO2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hc3NlbWJseS92MTthc3NlbWJseXYxogIDQVhYqgIUTWVzc2FnZXMuQXNzZW1ibHkuVjHKAgtBc3NlbWJseVxWMeICF0Fzc2VtYmx5XFYxXEdQQk1ldGFkYXRh6gIMQXNzZW1ibHk6OlYxYgZwcm90bzM", [file_assembly_v1_common, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
18
18
 
19
19
  /**
20
20
  * @generated from message assembly.v1.ModelArtifact
@@ -160,9 +160,9 @@ export enum ModelGroup {
160
160
  ROBOT = 4,
161
161
 
162
162
  /**
163
- * @generated from enum value: MODEL_GROUP_FIXTURE = 5;
163
+ * @generated from enum value: MODEL_GROUP_CONTAINER = 5;
164
164
  */
165
- FIXTURE = 5,
165
+ CONTAINER = 5,
166
166
 
167
167
  /**
168
168
  * @generated from enum value: MODEL_GROUP_ASSET = 6;
@@ -8,6 +8,8 @@ import type { CustomProperties, EstimatedDuration, ExternalReference, KeyValueCo
8
8
  import { file_assembly_v1_common } from "./common_pb.ts";
9
9
  import type { VariantCondition } from "./product_pb.ts";
10
10
  import { file_assembly_v1_product } from "./product_pb.ts";
11
+ import type { ContainerSlotRef } from "./resources_pb.ts";
12
+ import { file_assembly_v1_resources } from "./resources_pb.ts";
11
13
  import type { ActorConstraint, SkillLevel, SkillRequirement, ToolRequirement } from "./skill_pb.ts";
12
14
  import { file_assembly_v1_skill } from "./skill_pb.ts";
13
15
  import type { Vector3 } from "../../geometry/v1/vector3_pb.ts";
@@ -18,7 +20,7 @@ import type { Message } from "@bufbuild/protobuf";
18
20
  * Describes the file assembly/v1/process.proto.
19
21
  */
20
22
  export const file_assembly_v1_process: GenFile = /*@__PURE__*/
21
- fileDesc("Chlhc3NlbWJseS92MS9wcm9jZXNzLnByb3RvEgthc3NlbWJseS52MSJ3ChNSZWNpcGVBcHBsaWNhYmlsaXR5Ei8KCHJlcXVpcmVkGAEgAygLMh0uYXNzZW1ibHkudjEuVmFyaWFudENvbmRpdGlvbhIvCghleGNsdWRlZBgCIAMoCzIdLmFzc2VtYmx5LnYxLlZhcmlhbnRDb25kaXRpb24i3AMKDVByb2Nlc3NSZWNpcGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiYKBHR5cGUYBSABKA4yGC5hc3NlbWJseS52MS5Qcm9jZXNzVHlwZRIdChVwcm9kdWN0X2RlZmluaXRpb25faWQYBiABKAkSNwoNYXBwbGljYWJpbGl0eRgHIAEoCzIgLmFzc2VtYmx5LnYxLlJlY2lwZUFwcGxpY2FiaWxpdHkSGAoQcm9vdF9zZXF1ZW5jZV9pZBgIIAEoCRIyCglzZXF1ZW5jZXMYCSADKAsyHy5hc3NlbWJseS52MS5TZXF1ZW5jZURlZmluaXRpb24SKgoFdGFza3MYCiADKAsyGy5hc3NlbWJseS52MS5UYXNrRGVmaW5pdGlvbhIoCiBzdXBwb3J0ZWRfZml4dHVyZV9kZWZpbml0aW9uX2lkcxgLIAMoCRI7ChNleHRlcm5hbF9yZWZlcmVuY2VzGAwgAygLMh4uYXNzZW1ibHkudjEuRXh0ZXJuYWxSZWZlcmVuY2USLQoGY3VzdG9tGA0gASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyL3AgoSU2VxdWVuY2VEZWZpbml0aW9uEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIXCg9zZXF1ZW5jZV9udW1iZXIYBSABKAUSGgoScGFyZW50X3NlcXVlbmNlX2lkGAYgASgJEi8KCG9wZXJhdG9yGAcgASgOMh0uYXNzZW1ibHkudjEuU2VxdWVuY2VPcGVyYXRvchIaChJjaGlsZF9zZXF1ZW5jZV9pZHMYCCADKAkSFgoOY2hpbGRfdGFza19pZHMYCSADKAkSLgoMbG9jYWxfdGFyZ2V0GAogASgLMhguYXNzZW1ibHkudjEuTG9jYWxUYXJnZXQSEAoIb3B0aW9uYWwYCyABKAgSGQoRY2FuX2J1bGtfY29tcGxldGUYDCABKAgSLQoGY3VzdG9tGA0gASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyJ3CgpUYXNrVGFyZ2V0EhYKDnRhcmdldF9ub2RlX2lkGAEgASgJEiEKGXRhcmdldF9wYXJ0X2RlZmluaXRpb25faWQYAiABKAkSLgoMbG9jYWxfdGFyZ2V0GAMgASgLMhguYXNzZW1ibHkudjEuTG9jYWxUYXJnZXQi7QEKFVZhbGlkYXRpb25SZXF1aXJlbWVudBIdChVyZXF1aXJlX3Rvb2xfZmVlZGJhY2sYASABKAgSHAoUcmVxdWlyZV92aXNpb25fY2hlY2sYAiABKAgSIQoZYWxsb3dfbWFudWFsX2NvbmZpcm1hdGlvbhgDIAEoCBI+Ch1tYW51YWxfY29uZmlybWF0aW9uX21pbl9sZXZlbBgEIAEoDjIXLmFzc2VtYmx5LnYxLlNraWxsTGV2ZWwSNAoLY29uc3RyYWludHMYBSADKAsyHy5hc3NlbWJseS52MS5LZXlWYWx1ZUNvbnN0cmFpbnQihwIKE1Rhc2tFeGVjdXRpb25Qb2xpY3kSRAoVYXNzaWdubWVudF9wcmVmZXJlbmNlGAEgASgOMiUuYXNzZW1ibHkudjEuVGFza0Fzc2lnbm1lbnRQcmVmZXJlbmNlEjYKEGFjdG9yX2NvbnN0cmFpbnQYAiABKAsyHC5hc3NlbWJseS52MS5BY3RvckNvbnN0cmFpbnQSFAoMY2FuX3JlYXNzaWduGAMgASgIEg4KBmNhbl9kbxgEIAEoCBIQCghjYW5fdW5kbxgFIAEoCBI6ChJlc3RpbWF0ZWRfZHVyYXRpb24YBiABKAsyHi5hc3NlbWJseS52MS5Fc3RpbWF0ZWREdXJhdGlvbiL/BAoOVGFza0RlZmluaXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhgKEGluc3RydWN0aW9uX3RleHQYBSABKAkSFwoPc2VxdWVuY2VfbnVtYmVyGAYgASgFEigKCXRhc2tfdHlwZRgHIAEoDjIVLmFzc2VtYmx5LnYxLlRhc2tUeXBlEicKBnRhcmdldBgIIAEoCzIXLmFzc2VtYmx5LnYxLlRhc2tUYXJnZXQSJgoIYXBwcm9hY2gYCSABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzEjcKEXRvb2xfcmVxdWlyZW1lbnRzGAwgAygLMhwuYXNzZW1ibHkudjEuVG9vbFJlcXVpcmVtZW50EjkKEnNraWxsX3JlcXVpcmVtZW50cxgNIAMoCzIdLmFzc2VtYmx5LnYxLlNraWxsUmVxdWlyZW1lbnQSNgoKdmFsaWRhdGlvbhgOIAEoCzIiLmFzc2VtYmx5LnYxLlZhbGlkYXRpb25SZXF1aXJlbWVudBI6ChBleGVjdXRpb25fcG9saWN5GA8gASgLMiAuYXNzZW1ibHkudjEuVGFza0V4ZWN1dGlvblBvbGljeRI2ChBzYWZldHlfcmVsZXZhbmNlGBAgASgOMhwuYXNzZW1ibHkudjEuU2FmZXR5UmVsZXZhbmNlEhYKDnNvdXJjZV9ub2RlX2lkGBEgASgJEhsKE2Rlc3RpbmF0aW9uX25vZGVfaWQYEiABKAkSLQoGY3VzdG9tGBMgASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyqdAQoLUHJvY2Vzc1R5cGUSHAoYUFJPQ0VTU19UWVBFX1VOU1BFQ0lGSUVEEAASGQoVUFJPQ0VTU19UWVBFX0FTU0VNQkxZEAESHAoYUFJPQ0VTU19UWVBFX0RJU0FTU0VNQkxZEAISGwoXUFJPQ0VTU19UWVBFX0lOU1BFQ1RJT04QAxIaChZQUk9DRVNTX1RZUEVfQ0hFQ0tMSVNUEAQqogEKEFNlcXVlbmNlT3BlcmF0b3ISIQodU0VRVUVOQ0VfT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIlCiFTRVFVRU5DRV9PUEVSQVRPUl9BTExfT0ZfQ0hJTERSRU4QARIlCiFTRVFVRU5DRV9PUEVSQVRPUl9PTkVfT0ZfQ0hJTERSRU4QAhIdChlTRVFVRU5DRV9PUEVSQVRPUl9PUkRFUkVEEAMqvgIKCFRhc2tUeXBlEhkKFVRBU0tfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVRBU0tfVFlQRV9JTlNQRUNUEAESFAoQVEFTS19UWVBFX0ZBU1RFThACEhYKElRBU0tfVFlQRV9VTkZBU1RFThADEhMKD1RBU0tfVFlQRV9NT1VOVBAEEhUKEVRBU0tfVFlQRV9VTk1PVU5UEAUSEgoOVEFTS19UWVBFX01PVkUQBhIUChBUQVNLX1RZUEVfUkVNT1ZFEAcSEwoPVEFTS19UWVBFX0FQUExZEAgSEgoOVEFTS19UWVBFX1dJUEUQCRITCg9UQVNLX1RZUEVfQUxJR04QChIUChBUQVNLX1RZUEVfSU5TRVJUEAsSEgoOVEFTS19UWVBFX0hPTEQQDBIUChBUQVNLX1RZUEVfVkVSSUZZEA0qnQIKGFRhc2tBc3NpZ25tZW50UHJlZmVyZW5jZRIqCiZUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9VTlNQRUNJRklFRBAAEisKJ1RBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX1BSRUZFUl9IVU1BThABEikKJVRBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX09OTFlfSFVNQU4QAhIrCidUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9QUkVGRVJfUk9CT1QQAxIpCiVUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9PTkxZX1JPQk9UEAQSJQohVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfRUlUSEVSEAVCsgEKD2NvbS5hc3NlbWJseS52MUIMUHJvY2Vzc1Byb3RvUAFaO2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hc3NlbWJseS92MTthc3NlbWJseXYxogIDQVhYqgIUTWVzc2FnZXMuQXNzZW1ibHkuVjHKAgtBc3NlbWJseVxWMeICF0Fzc2VtYmx5XFYxXEdQQk1ldGFkYXRh6gIMQXNzZW1ibHk6OlYxYgZwcm90bzM", [file_assembly_v1_common, file_assembly_v1_product, file_assembly_v1_skill, file_geometry_v1_vector3]);
23
+ fileDesc("Chlhc3NlbWJseS92MS9wcm9jZXNzLnByb3RvEgthc3NlbWJseS52MSJ3ChNSZWNpcGVBcHBsaWNhYmlsaXR5Ei8KCHJlcXVpcmVkGAEgAygLMh0uYXNzZW1ibHkudjEuVmFyaWFudENvbmRpdGlvbhIvCghleGNsdWRlZBgCIAMoCzIdLmFzc2VtYmx5LnYxLlZhcmlhbnRDb25kaXRpb24i3gMKDVByb2Nlc3NSZWNpcGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiYKBHR5cGUYBSABKA4yGC5hc3NlbWJseS52MS5Qcm9jZXNzVHlwZRIdChVwcm9kdWN0X2RlZmluaXRpb25faWQYBiABKAkSNwoNYXBwbGljYWJpbGl0eRgHIAEoCzIgLmFzc2VtYmx5LnYxLlJlY2lwZUFwcGxpY2FiaWxpdHkSGAoQcm9vdF9zZXF1ZW5jZV9pZBgIIAEoCRIyCglzZXF1ZW5jZXMYCSADKAsyHy5hc3NlbWJseS52MS5TZXF1ZW5jZURlZmluaXRpb24SKgoFdGFza3MYCiADKAsyGy5hc3NlbWJseS52MS5UYXNrRGVmaW5pdGlvbhIqCiJzdXBwb3J0ZWRfY29udGFpbmVyX2RlZmluaXRpb25faWRzGAsgAygJEjsKE2V4dGVybmFsX3JlZmVyZW5jZXMYDCADKAsyHi5hc3NlbWJseS52MS5FeHRlcm5hbFJlZmVyZW5jZRItCgZjdXN0b20YDSABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIvcCChJTZXF1ZW5jZURlZmluaXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhcKD3NlcXVlbmNlX251bWJlchgFIAEoBRIaChJwYXJlbnRfc2VxdWVuY2VfaWQYBiABKAkSLwoIb3BlcmF0b3IYByABKA4yHS5hc3NlbWJseS52MS5TZXF1ZW5jZU9wZXJhdG9yEhoKEmNoaWxkX3NlcXVlbmNlX2lkcxgIIAMoCRIWCg5jaGlsZF90YXNrX2lkcxgJIAMoCRIuCgxsb2NhbF90YXJnZXQYCiABKAsyGC5hc3NlbWJseS52MS5Mb2NhbFRhcmdldBIQCghvcHRpb25hbBgLIAEoCBIZChFjYW5fYnVsa19jb21wbGV0ZRgMIAEoCBItCgZjdXN0b20YDSABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIpECCgpUYXNrVGFyZ2V0EhYKDnRhcmdldF9ub2RlX2lkGAEgASgJEiEKGXRhcmdldF9wYXJ0X2RlZmluaXRpb25faWQYAiABKAkSLgoMbG9jYWxfdGFyZ2V0GAMgASgLMhguYXNzZW1ibHkudjEuTG9jYWxUYXJnZXQSGQoRYXNzZXRfaW5zdGFuY2VfaWQYBCABKAkSGQoRcm9ib3RfaW5zdGFuY2VfaWQYBSABKAkSEgoKc3RhdGlvbl9pZBgGIAEoCRIdChVjb250YWluZXJfaW5zdGFuY2VfaWQYByABKAkSLwoIbG9jYXRpb24YCCABKAsyHS5hc3NlbWJseS52MS5Db250YWluZXJTbG90UmVmIu0BChVWYWxpZGF0aW9uUmVxdWlyZW1lbnQSHQoVcmVxdWlyZV90b29sX2ZlZWRiYWNrGAEgASgIEhwKFHJlcXVpcmVfdmlzaW9uX2NoZWNrGAIgASgIEiEKGWFsbG93X21hbnVhbF9jb25maXJtYXRpb24YAyABKAgSPgodbWFudWFsX2NvbmZpcm1hdGlvbl9taW5fbGV2ZWwYBCABKA4yFy5hc3NlbWJseS52MS5Ta2lsbExldmVsEjQKC2NvbnN0cmFpbnRzGAUgAygLMh8uYXNzZW1ibHkudjEuS2V5VmFsdWVDb25zdHJhaW50IocCChNUYXNrRXhlY3V0aW9uUG9saWN5EkQKFWFzc2lnbm1lbnRfcHJlZmVyZW5jZRgBIAEoDjIlLmFzc2VtYmx5LnYxLlRhc2tBc3NpZ25tZW50UHJlZmVyZW5jZRI2ChBhY3Rvcl9jb25zdHJhaW50GAIgASgLMhwuYXNzZW1ibHkudjEuQWN0b3JDb25zdHJhaW50EhQKDGNhbl9yZWFzc2lnbhgDIAEoCBIOCgZjYW5fZG8YBCABKAgSEAoIY2FuX3VuZG8YBSABKAgSOgoSZXN0aW1hdGVkX2R1cmF0aW9uGAYgASgLMh4uYXNzZW1ibHkudjEuRXN0aW1hdGVkRHVyYXRpb24i9AUKDlRhc2tEZWZpbml0aW9uEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIYChBpbnN0cnVjdGlvbl90ZXh0GAUgASgJEhcKD3NlcXVlbmNlX251bWJlchgGIAEoBRIoCgl0YXNrX3R5cGUYByABKA4yFS5hc3NlbWJseS52MS5UYXNrVHlwZRInCgZ0YXJnZXQYCCABKAsyFy5hc3NlbWJseS52MS5UYXNrVGFyZ2V0EiYKCGFwcHJvYWNoGAkgASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxI3ChF0b29sX3JlcXVpcmVtZW50cxgMIAMoCzIcLmFzc2VtYmx5LnYxLlRvb2xSZXF1aXJlbWVudBI5ChJza2lsbF9yZXF1aXJlbWVudHMYDSADKAsyHS5hc3NlbWJseS52MS5Ta2lsbFJlcXVpcmVtZW50EjYKCnZhbGlkYXRpb24YDiABKAsyIi5hc3NlbWJseS52MS5WYWxpZGF0aW9uUmVxdWlyZW1lbnQSOgoQZXhlY3V0aW9uX3BvbGljeRgPIAEoCzIgLmFzc2VtYmx5LnYxLlRhc2tFeGVjdXRpb25Qb2xpY3kSNgoQc2FmZXR5X3JlbGV2YW5jZRgQIAEoDjIcLmFzc2VtYmx5LnYxLlNhZmV0eVJlbGV2YW5jZRIWCg5zb3VyY2Vfbm9kZV9pZBgRIAEoCRIbChNkZXN0aW5hdGlvbl9ub2RlX2lkGBIgASgJEjYKD3NvdXJjZV9sb2NhdGlvbhgTIAEoCzIdLmFzc2VtYmx5LnYxLkNvbnRhaW5lclNsb3RSZWYSOwoUZGVzdGluYXRpb25fbG9jYXRpb24YFCABKAsyHS5hc3NlbWJseS52MS5Db250YWluZXJTbG90UmVmEi0KBmN1c3RvbRgVIAEoCzIdLmFzc2VtYmx5LnYxLkN1c3RvbVByb3BlcnRpZXMq1QEKC1Byb2Nlc3NUeXBlEhwKGFBST0NFU1NfVFlQRV9VTlNQRUNJRklFRBAAEhkKFVBST0NFU1NfVFlQRV9BU1NFTUJMWRABEhwKGFBST0NFU1NfVFlQRV9ESVNBU1NFTUJMWRACEhsKF1BST0NFU1NfVFlQRV9JTlNQRUNUSU9OEAMSGgoWUFJPQ0VTU19UWVBFX0NIRUNLTElTVBAEEhgKFFBST0NFU1NfVFlQRV9LSVRUSU5HEAUSHAoYUFJPQ0VTU19UWVBFX01BSU5URU5BTkNFEAYqogEKEFNlcXVlbmNlT3BlcmF0b3ISIQodU0VRVUVOQ0VfT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIlCiFTRVFVRU5DRV9PUEVSQVRPUl9BTExfT0ZfQ0hJTERSRU4QARIlCiFTRVFVRU5DRV9PUEVSQVRPUl9PTkVfT0ZfQ0hJTERSRU4QAhIdChlTRVFVRU5DRV9PUEVSQVRPUl9PUkRFUkVEEAMqvwMKCFRhc2tUeXBlEhkKFVRBU0tfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVRBU0tfVFlQRV9JTlNQRUNUEAESFAoQVEFTS19UWVBFX0ZBU1RFThACEhYKElRBU0tfVFlQRV9VTkZBU1RFThADEhMKD1RBU0tfVFlQRV9NT1VOVBAEEhUKEVRBU0tfVFlQRV9VTk1PVU5UEAUSEgoOVEFTS19UWVBFX01PVkUQBhIUChBUQVNLX1RZUEVfUkVNT1ZFEAcSEwoPVEFTS19UWVBFX0FQUExZEAgSEgoOVEFTS19UWVBFX1dJUEUQCRITCg9UQVNLX1RZUEVfQUxJR04QChIUChBUQVNLX1RZUEVfSU5TRVJUEAsSEgoOVEFTS19UWVBFX0hPTEQQDBIUChBUQVNLX1RZUEVfVkVSSUZZEA0SEgoOVEFTS19UWVBFX1BJQ0sQDhITCg9UQVNLX1RZUEVfUExBQ0UQDxISCg5UQVNLX1RZUEVfU0NBThAQEhIKDlRBU0tfVFlQRV9XQUlUEBESEwoPVEFTS19UWVBFX0NIRUNLEBISGQoVVEFTS19UWVBFX0FDS05PV0xFREdFEBMqnQIKGFRhc2tBc3NpZ25tZW50UHJlZmVyZW5jZRIqCiZUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9VTlNQRUNJRklFRBAAEisKJ1RBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX1BSRUZFUl9IVU1BThABEikKJVRBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX09OTFlfSFVNQU4QAhIrCidUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9QUkVGRVJfUk9CT1QQAxIpCiVUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9PTkxZX1JPQk9UEAQSJQohVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfRUlUSEVSEAVCsgEKD2NvbS5hc3NlbWJseS52MUIMUHJvY2Vzc1Byb3RvUAFaO2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hc3NlbWJseS92MTthc3NlbWJseXYxogIDQVhYqgIUTWVzc2FnZXMuQXNzZW1ibHkuVjHKAgtBc3NlbWJseVxWMeICF0Fzc2VtYmx5XFYxXEdQQk1ldGFkYXRh6gIMQXNzZW1ibHk6OlYxYgZwcm90bzM", [file_assembly_v1_common, file_assembly_v1_product, file_assembly_v1_resources, file_assembly_v1_skill, file_geometry_v1_vector3]);
22
24
 
23
25
  /**
24
26
  * @generated from message assembly.v1.RecipeApplicability
@@ -105,11 +107,11 @@ export type ProcessRecipe = Message<"assembly.v1.ProcessRecipe"> & {
105
107
  tasks: TaskDefinition[];
106
108
 
107
109
  /**
108
- * Meaning: this recipe is intended to run with these fixtures
110
+ * Containers (typically fixture/pallet definitions) that this recipe is intended to run with.
109
111
  *
110
- * @generated from field: repeated string supported_fixture_definition_ids = 11;
112
+ * @generated from field: repeated string supported_container_definition_ids = 11;
111
113
  */
112
- supportedFixtureDefinitionIds: string[];
114
+ supportedContainerDefinitionIds: string[];
113
115
 
114
116
  /**
115
117
  * @generated from field: repeated assembly.v1.ExternalReference external_references = 12;
@@ -211,23 +213,68 @@ export const SequenceDefinitionSchema: GenMessage<SequenceDefinition> = /*@__PUR
211
213
  */
212
214
  export type TaskTarget = Message<"assembly.v1.TaskTarget"> & {
213
215
  /**
214
- * Assembly node occurrence
216
+ * Optional target assembly node when the task acts on a product structure occurrence.
215
217
  *
216
218
  * @generated from field: string target_node_id = 1;
217
219
  */
218
220
  targetNodeId: string;
219
221
 
220
222
  /**
221
- * optional denormalized helper
223
+ * Optional denormalized helper for UIs, planning, and filtering.
222
224
  *
223
225
  * @generated from field: string target_part_definition_id = 2;
224
226
  */
225
227
  targetPartDefinitionId: string;
226
228
 
227
229
  /**
230
+ * Optional pose/anchor relative to the chosen target reference.
231
+ *
228
232
  * @generated from field: assembly.v1.LocalTarget local_target = 3;
229
233
  */
230
234
  localTarget?: LocalTarget;
235
+
236
+ /**
237
+ * Optional non-product targets.
238
+ * These are useful when a task is not primarily about an AssemblyNode.
239
+ * Examples:
240
+ * - asset_instance_id -> check camera, read HMI, inspect feeder
241
+ * - robot_instance_id -> move robot to home, inspect robot state
242
+ * - station_id -> clear work surface, perform station startup step
243
+ * - container_instance_id -> interact with a specific pallet, jig, tray, or storage bin
244
+ *
245
+ * Optional asset target such as camera, HMI, sensor, conveyor, or feeder.
246
+ *
247
+ * @generated from field: string asset_instance_id = 4;
248
+ */
249
+ assetInstanceId: string;
250
+
251
+ /**
252
+ * Optional robot target for robot-specific actions.
253
+ *
254
+ * @generated from field: string robot_instance_id = 5;
255
+ */
256
+ robotInstanceId: string;
257
+
258
+ /**
259
+ * Optional station target for station-level or area-level actions.
260
+ *
261
+ * @generated from field: string station_id = 6;
262
+ */
263
+ stationId: string;
264
+
265
+ /**
266
+ * Optional container target such as storage bin, kit, tray, pallet, clamp, or jig.
267
+ *
268
+ * @generated from field: string container_instance_id = 7;
269
+ */
270
+ containerInstanceId: string;
271
+
272
+ /**
273
+ * Optional slot-level target when a task acts on a specific addressable place in a container.
274
+ *
275
+ * @generated from field: assembly.v1.ContainerSlotRef location = 8;
276
+ */
277
+ location?: ContainerSlotRef;
231
278
  };
232
279
 
233
280
  /**
@@ -341,26 +388,36 @@ export type TaskDefinition = Message<"assembly.v1.TaskDefinition"> & {
341
388
  description: string;
342
389
 
343
390
  /**
391
+ * Human-readable instruction shown to the operator or author.
392
+ *
344
393
  * @generated from field: string instruction_text = 5;
345
394
  */
346
395
  instructionText: string;
347
396
 
348
397
  /**
398
+ * Ordering hint within the parent sequence.
399
+ *
349
400
  * @generated from field: int32 sequence_number = 6;
350
401
  */
351
402
  sequenceNumber: number;
352
403
 
353
404
  /**
405
+ * The semantic action to perform, e.g. FASTEN, PICK, PLACE, VERIFY.
406
+ *
354
407
  * @generated from field: assembly.v1.TaskType task_type = 7;
355
408
  */
356
409
  taskType: TaskType;
357
410
 
358
411
  /**
412
+ * The primary thing/location/resource this task acts on.
413
+ *
359
414
  * @generated from field: assembly.v1.TaskTarget target = 8;
360
415
  */
361
416
  target?: TaskTarget;
362
417
 
363
418
  /**
419
+ * Optional approach direction for AR guidance, picking, insertion, or robot planning.
420
+ *
364
421
  * @generated from field: geometry.v1.Vector3 approach = 9;
365
422
  */
366
423
  approach?: Vector3;
@@ -369,46 +426,70 @@ export type TaskDefinition = Message<"assembly.v1.TaskDefinition"> & {
369
426
  * repeated string precondition_task_ids = 10;
370
427
  * repeated string dependant_task_ids = 11;
371
428
  *
429
+ * Tools or tool roles needed to perform the task.
430
+ *
372
431
  * @generated from field: repeated assembly.v1.ToolRequirement tool_requirements = 12;
373
432
  */
374
433
  toolRequirements: ToolRequirement[];
375
434
 
376
435
  /**
436
+ * Skills/qualifications needed by the acting human/robot.
437
+ *
377
438
  * @generated from field: repeated assembly.v1.SkillRequirement skill_requirements = 13;
378
439
  */
379
440
  skillRequirements: SkillRequirement[];
380
441
 
381
442
  /**
443
+ * How task completion should be confirmed or validated.
444
+ *
382
445
  * @generated from field: assembly.v1.ValidationRequirement validation = 14;
383
446
  */
384
447
  validation?: ValidationRequirement;
385
448
 
386
449
  /**
450
+ * Assignment preferences and execution permissions.
451
+ *
387
452
  * @generated from field: assembly.v1.TaskExecutionPolicy execution_policy = 15;
388
453
  */
389
454
  executionPolicy?: TaskExecutionPolicy;
390
455
 
391
456
  /**
457
+ * Safety significance of the task.
458
+ *
392
459
  * @generated from field: assembly.v1.SafetyRelevance safety_relevance = 16;
393
460
  */
394
461
  safetyRelevance: SafetyRelevance;
395
462
 
396
463
  /**
397
- * optional: where part comes from for move/mount
464
+ * Optional source assembly node when something is moved/picked from a product structure.
398
465
  *
399
466
  * @generated from field: string source_node_id = 17;
400
467
  */
401
468
  sourceNodeId: string;
402
469
 
403
470
  /**
404
- * optional
471
+ * Optional destination assembly node when something is moved/placed into a product structure.
405
472
  *
406
473
  * @generated from field: string destination_node_id = 18;
407
474
  */
408
475
  destinationNodeId: string;
409
476
 
410
477
  /**
411
- * @generated from field: assembly.v1.CustomProperties custom = 19;
478
+ * Optional source slot for kitting, pick/place, storage, tray, pallet, or fixture operations.
479
+ *
480
+ * @generated from field: assembly.v1.ContainerSlotRef source_location = 19;
481
+ */
482
+ sourceLocation?: ContainerSlotRef;
483
+
484
+ /**
485
+ * Optional destination slot for kitting, pick/place, storage, tray, pallet, or fixture operations.
486
+ *
487
+ * @generated from field: assembly.v1.ContainerSlotRef destination_location = 20;
488
+ */
489
+ destinationLocation?: ContainerSlotRef;
490
+
491
+ /**
492
+ * @generated from field: assembly.v1.CustomProperties custom = 21;
412
493
  */
413
494
  custom?: CustomProperties;
414
495
  };
@@ -430,24 +511,46 @@ export enum ProcessType {
430
511
  UNSPECIFIED = 0,
431
512
 
432
513
  /**
514
+ * Example: build gearbox
515
+ *
433
516
  * @generated from enum value: PROCESS_TYPE_ASSEMBLY = 1;
434
517
  */
435
518
  ASSEMBLY = 1,
436
519
 
437
520
  /**
521
+ * Example: take mould apart for maintenance
522
+ *
438
523
  * @generated from enum value: PROCESS_TYPE_DISASSEMBLY = 2;
439
524
  */
440
525
  DISASSEMBLY = 2,
441
526
 
442
527
  /**
528
+ * Example: QC Check
529
+ *
443
530
  * @generated from enum value: PROCESS_TYPE_INSPECTION = 3;
444
531
  */
445
532
  INSPECTION = 3,
446
533
 
447
534
  /**
535
+ * Example: line startup
536
+ *
448
537
  * @generated from enum value: PROCESS_TYPE_CHECKLIST = 4;
449
538
  */
450
539
  CHECKLIST = 4,
540
+
541
+ /**
542
+ * Example: prepare parts kit
543
+ *
544
+ * @generated from enum value: PROCESS_TYPE_KITTING = 5;
545
+ */
546
+ KITTING = 5,
547
+
548
+ /**
549
+ * Example: replace filter
550
+ *
551
+ * @generated from enum value: PROCESS_TYPE_MAINTENANCE = 6;
552
+ */
553
+ MAINTENANCE = 6,
451
554
  }
452
555
 
453
556
  /**
@@ -560,6 +663,38 @@ export enum TaskType {
560
663
  * @generated from enum value: TASK_TYPE_VERIFY = 13;
561
664
  */
562
665
  VERIFY = 13,
666
+
667
+ /**
668
+ * @generated from enum value: TASK_TYPE_PICK = 14;
669
+ */
670
+ PICK = 14,
671
+
672
+ /**
673
+ * @generated from enum value: TASK_TYPE_PLACE = 15;
674
+ */
675
+ PLACE = 15,
676
+
677
+ /**
678
+ * @generated from enum value: TASK_TYPE_SCAN = 16;
679
+ */
680
+ SCAN = 16,
681
+
682
+ /**
683
+ * @generated from enum value: TASK_TYPE_WAIT = 17;
684
+ */
685
+ WAIT = 17,
686
+
687
+ /**
688
+ * @generated from enum value: TASK_TYPE_CHECK = 18;
689
+ */
690
+ CHECK = 18,
691
+
692
+ /**
693
+ * Start, stop, reset, open, close,
694
+ *
695
+ * @generated from enum value: TASK_TYPE_ACKNOWLEDGE = 19;
696
+ */
697
+ ACKNOWLEDGE = 19,
563
698
  }
564
699
 
565
700
  /**
@@ -6,8 +6,10 @@ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"
6
6
  import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
7
  import type { ActorKind, CustomProperties, ExternalReference, KeyValueConstraint, ResourceStatus } from "./common_pb.ts";
8
8
  import { file_assembly_v1_common } from "./common_pb.ts";
9
- import type { LocalizedPose } from "../../geometry/v1/pose_pb.ts";
9
+ import type { LocalizedPose, Pose } from "../../geometry/v1/pose_pb.ts";
10
10
  import { file_geometry_v1_pose } from "../../geometry/v1/pose_pb.ts";
11
+ import type { Vector3 } from "../../geometry/v1/vector3_pb.ts";
12
+ import { file_geometry_v1_vector3 } from "../../geometry/v1/vector3_pb.ts";
11
13
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
12
14
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
13
15
  import type { Message } from "@bufbuild/protobuf";
@@ -16,7 +18,46 @@ import type { Message } from "@bufbuild/protobuf";
16
18
  * Describes the file assembly/v1/resources.proto.
17
19
  */
18
20
  export const file_assembly_v1_resources: GenFile = /*@__PURE__*/
19
- fileDesc("Chthc3NlbWJseS92MS9yZXNvdXJjZXMucHJvdG8SC2Fzc2VtYmx5LnYxIogCChFDYXBhYmlsaXR5UHJvZmlsZRITCgttaW5fZm9yY2VfbhgBIAEoARITCgttYXhfZm9yY2VfbhgCIAEoARIVCg1taW5fdG9ycXVlX25tGAMgASgBEhUKDW1heF90b3JxdWVfbm0YBCABKAESGAoQcmVwZWF0YWJpbGl0eV9tbRgFIAEoARIVCg1tYXhfcGF5bG9hZF9nGAYgASgBEhkKEW1pbl9ncmlwX3dpZHRoX21tGAcgASgBEhkKEW1heF9ncmlwX3dpZHRoX21tGAggASgBEjQKC2NvbnN0cmFpbnRzGAkgAygLMh8uYXNzZW1ibHkudjEuS2V5VmFsdWVDb25zdHJhaW50Iq0DCg5Ub29sRGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSIwoEdHlwZRgFIAEoDjIVLmFzc2VtYmx5LnYxLlRvb2xUeXBlEioKCmFjdG9yX2tpbmQYBiABKA4yFi5hc3NlbWJseS52MS5BY3RvcktpbmQSJAoFcm9sZXMYByADKA4yFS5hc3NlbWJseS52MS5Ub29sUm9sZRItCgpwcm9wZXJ0aWVzGAggAygOMhkuYXNzZW1ibHkudjEuVG9vbFByb3BlcnR5EjoKEmNhcGFiaWxpdHlfcHJvZmlsZRgJIAEoCzIeLmFzc2VtYmx5LnYxLkNhcGFiaWxpdHlQcm9maWxlEhAKCG1vZGVsX2lkGAogASgJEjsKE2V4dGVybmFsX3JlZmVyZW5jZXMYCyADKAsyHi5hc3NlbWJseS52MS5FeHRlcm5hbFJlZmVyZW5jZRItCgZjdXN0b20YDCABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIj0KD1Rvb2xEZWZpbml0aW9ucxIqCgVpdGVtcxgBIAMoCzIbLmFzc2VtYmx5LnYxLlRvb2xEZWZpbml0aW9uIukCCgxUb29sSW5zdGFuY2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhoKEnRvb2xfZGVmaW5pdGlvbl9pZBgFIAEoCRIVCg1zZXJpYWxfbnVtYmVyGAYgASgJEhIKCnN0YXRpb25faWQYByABKAkSKwoGc3RhdHVzGAggASgOMhsuYXNzZW1ibHkudjEuUmVzb3VyY2VTdGF0dXMSEgoKY2FsaWJyYXRlZBgJIAEoCBI7ChdjYWxpYnJhdGlvbl92YWxpZF91bnRpbBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKAoEcG9zZRgLIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USLQoGY3VzdG9tGAwgASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyI5Cg1Ub29sSW5zdGFuY2VzEigKBWl0ZW1zGAEgAygLMhkuYXNzZW1ibHkudjEuVG9vbEluc3RhbmNlIsUCChFGaXh0dXJlRGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSJgoEdHlwZRgFIAEoDjIYLmFzc2VtYmx5LnYxLkZpeHR1cmVUeXBlEigKIHN1cHBvcnRlZF9wcm9kdWN0X2RlZmluaXRpb25faWRzGAYgAygJEioKInN1cHBvcnRlZF9yb290X3BhcnRfZGVmaW5pdGlvbl9pZHMYByADKAkSEAoIbW9kZWxfaWQYCCABKAkSNAoLY29uc3RyYWludHMYCSADKAsyHy5hc3NlbWJseS52MS5LZXlWYWx1ZUNvbnN0cmFpbnQSLQoGY3VzdG9tGAogASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyJDChJGaXh0dXJlRGVmaW5pdGlvbnMSLQoFaXRlbXMYASADKAsyHi5hc3NlbWJseS52MS5GaXh0dXJlRGVmaW5pdGlvbiKHAgoPRml4dHVyZUluc3RhbmNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIdChVmaXh0dXJlX2RlZmluaXRpb25faWQYBSABKAkSEgoKc3RhdGlvbl9pZBgGIAEoCRIrCgZzdGF0dXMYByABKA4yGy5hc3NlbWJseS52MS5SZXNvdXJjZVN0YXR1cxIoCgRwb3NlGAggASgLMhouZ2VvbWV0cnkudjEuTG9jYWxpemVkUG9zZRItCgZjdXN0b20YCSABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIj8KEEZpeHR1cmVJbnN0YW5jZXMSKwoFaXRlbXMYASADKAsyHC5hc3NlbWJseS52MS5GaXh0dXJlSW5zdGFuY2UinQMKD1JvYm90RGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSJAoEdHlwZRgFIAEoDjIWLmFzc2VtYmx5LnYxLlJvYm90VHlwZRIxCgtkcml2ZXJfdHlwZRgGIAEoDjIcLmFzc2VtYmx5LnYxLlJvYm90RHJpdmVyVHlwZRIQCghtb2RlbF9pZBgHIAEoCRIYChBjb3VwbGVyX21vZGVsX2lkGAggASgJEiUKHXN1cHBvcnRlZF90b29sX2RlZmluaXRpb25faWRzGAkgAygJEiIKGmRlZmF1bHRfdG9vbF9kZWZpbml0aW9uX2lkGAogASgJEhIKCnRvb2xfc2xvdHMYCyABKAUSOgoSY2FwYWJpbGl0eV9wcm9maWxlGAwgASgLMh4uYXNzZW1ibHkudjEuQ2FwYWJpbGl0eVByb2ZpbGUSLQoGY3VzdG9tGA0gASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyI/ChBSb2JvdERlZmluaXRpb25zEisKBWl0ZW1zGAEgAygLMhwuYXNzZW1ibHkudjEuUm9ib3REZWZpbml0aW9uIu0CCg1Sb2JvdEluc3RhbmNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIbChNyb2JvdF9kZWZpbml0aW9uX2lkGAUgASgJEhIKCnN0YXRpb25faWQYBiABKAkSIAoYbW91bnRlZF90b29sX2luc3RhbmNlX2lkGAcgASgJEiMKG2F2YWlsYWJsZV90b29sX2luc3RhbmNlX2lkcxgIIAMoCRIcChRzdXBwb3J0c190b29sX2NoYW5nZRgJIAEoCBIrCgZzdGF0dXMYCiABKA4yGy5hc3NlbWJseS52MS5SZXNvdXJjZVN0YXR1cxItCgliYXNlX3Bvc2UYCyABKAsyGi5nZW9tZXRyeS52MS5Mb2NhbGl6ZWRQb3NlEi0KBmN1c3RvbRgMIAEoCzIdLmFzc2VtYmx5LnYxLkN1c3RvbVByb3BlcnRpZXMiOwoOUm9ib3RJbnN0YW5jZXMSKQoFaXRlbXMYASADKAsyGi5hc3NlbWJseS52MS5Sb2JvdEluc3RhbmNlIugBCg9Bc3NldERlZmluaXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiQKBHR5cGUYBSABKA4yFi5hc3NlbWJseS52MS5Bc3NldFR5cGUSMQoLZHJpdmVyX3R5cGUYBiABKA4yHC5hc3NlbWJseS52MS5Bc3NldERyaXZlclR5cGUSEAoIbW9kZWxfaWQYByABKAkSLQoGY3VzdG9tGAggASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyI/ChBBc3NldERlZmluaXRpb25zEisKBWl0ZW1zGAEgAygLMhwuYXNzZW1ibHkudjEuQXNzZXREZWZpbml0aW9uIoMCCg1Bc3NldEluc3RhbmNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIbChNhc3NldF9kZWZpbml0aW9uX2lkGAUgASgJEhIKCnN0YXRpb25faWQYBiABKAkSKwoGc3RhdHVzGAcgASgOMhsuYXNzZW1ibHkudjEuUmVzb3VyY2VTdGF0dXMSKAoEcG9zZRgIIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USLQoGY3VzdG9tGAkgASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyI7Cg5Bc3NldEluc3RhbmNlcxIpCgVpdGVtcxgBIAMoCzIaLmFzc2VtYmx5LnYxLkFzc2V0SW5zdGFuY2UqzQMKCFRvb2xUeXBlEhkKFVRPT0xfVFlQRV9VTlNQRUNJRklFRBAAEhcKE1RPT0xfVFlQRV9GQVNURU5JTkcQARIWChJUT09MX1RZUEVfR1JJUFBJTkcQAhIVChFUT09MX1RZUEVfQ1VUVElORxADEhcKE1RPT0xfVFlQRV9NRUFTVVJJTkcQBBIZChVUT09MX1RZUEVfUE9TSVRJT05JTkcQBRIYChRUT09MX1RZUEVfRElTUEVOU0lORxAGEhgKFFRPT0xfVFlQRV9JTlNQRUNUSU9OEAcSFAoQVE9PTF9UWVBFX1NBRkVUWRAIEhkKFVRPT0xfVFlQRV9FTEVDVFJPTklDUxAJEh8KG1RPT0xfVFlQRV9GSVhUVVJFX0FDQ0VTU09SWRAKEhUKEVRPT0xfVFlQRV9TSEFQSU5HEAsSFQoRVE9PTF9UWVBFX1RVUk5JTkcQDBIWChJUT09MX1RZUEVfU1RSSUtJTkcQDRIVChFUT09MX1RZUEVfTUFSS0lORxAOEhcKE1RPT0xfVFlQRV9GSU5JU0hJTkcQDxIWChJUT09MX1RZUEVfQUJSQVNJVkUQEBIWChJUT09MX1RZUEVfQ0xFQU5JTkcQESq4AwoIVG9vbFJvbGUSGQoVVE9PTF9ST0xFX1VOU1BFQ0lGSUVEEAASHAoYVE9PTF9ST0xFX0dSSVBfV09SS1BJRUNFEAESIAocVE9PTF9ST0xFX1BPU0lUSU9OX0NPTVBPTkVOVBACEh0KGVRPT0xfUk9MRV9BTElHTl9DT01QT05FTlQQAxIaChZUT09MX1JPTEVfQVBQTFlfVE9SUVVFEAQSIAocVE9PTF9ST0xFX0FQUExZX0xJTkVBUl9GT1JDRRAFEh8KG1RPT0xfUk9MRV9NRUFTVVJFX0RJTUVOU0lPThAGEh0KGVRPT0xfUk9MRV9ERVRFQ1RfUFJFU0VOQ0UQBxIfChtUT09MX1JPTEVfRElTUEVOU0VfTUFURVJJQUwQCBIcChhUT09MX1JPTEVfRVhFQ1VURV9NT1RJT04QCRIgChxUT09MX1JPTEVfU0FGRVRZX0lOVEVSQUNUSU9OEAoSGAoUVE9PTF9ST0xFX0hBTkRMRV9FU0QQCxIfChtUT09MX1JPTEVfVklTVUFMX0lOU1BFQ1RJT04QDBIYChRUT09MX1JPTEVfV0lQRV9DTEVBThANKu8BCgxUb29sUHJvcGVydHkSHQoZVE9PTF9QUk9QRVJUWV9VTlNQRUNJRklFRBAAEiMKH1RPT0xfUFJPUEVSVFlfVE9SUVVFX0NPTlRST0xMRUQQARIaChZUT09MX1BST1BFUlRZX0VTRF9TQUZFEAISGwoXVE9PTF9QUk9QRVJUWV9JTlNVTEFURUQQAxIkCiBUT09MX1BST1BFUlRZX0NPTExBQk9SQVRJVkVfU0FGRRAEEhwKGFRPT0xfUFJPUEVSVFlfQ0FMSUJSQVRFRBAFEh4KGlRPT0xfUFJPUEVSVFlfUVVJQ0tfQ0hBTkdFEAYqiQEKC0ZpeHR1cmVUeXBlEhwKGEZJWFRVUkVfVFlQRV9VTlNQRUNJRklFRBAAEhUKEUZJWFRVUkVfVFlQRV9CQVNFEAESFgoSRklYVFVSRV9UWVBFX0NMQU1QEAISFAoQRklYVFVSRV9UWVBFX0pJRxADEhcKE0ZJWFRVUkVfVFlQRV9QQUxMRVQQBCqBAQoJUm9ib3RUeXBlEhoKFlJPQk9UX1RZUEVfVU5TUEVDSUZJRUQQABITCg9ST0JPVF9UWVBFX1VSM0UQChITCg9ST0JPVF9UWVBFX1VSNUUQCxIUChBST0JPVF9UWVBFX1VSMTBFEAwSGAoUUk9CT1RfVFlQRV9LVUtBX0lJV0EQFCptCg9Sb2JvdERyaXZlclR5cGUSIQodUk9CT1RfRFJJVkVSX1RZUEVfVU5TUEVDSUZJRUQQABIYChRST0JPVF9EUklWRVJfVFlQRV9VUhABEh0KGVJPQk9UX0RSSVZFUl9UWVBFX0dFTkVSSUMQAiqYAQoJQXNzZXRUeXBlEhoKFkFTU0VUX1RZUEVfVU5TUEVDSUZJRUQQABIVChFBU1NFVF9UWVBFX0NBTUVSQRABEhQKEEFTU0VUX1RZUEVfTElHSFQQAhIXChNBU1NFVF9UWVBFX0NPTlZFWU9SEAMSFQoRQVNTRVRfVFlQRV9TRU5TT1IQBBISCg5BU1NFVF9UWVBFX0hNSRAFKlMKD0Fzc2V0RHJpdmVyVHlwZRIhCh1BU1NFVF9EUklWRVJfVFlQRV9VTlNQRUNJRklFRBAAEh0KGUFTU0VUX0RSSVZFUl9UWVBFX0RFRkFVTFQQAUK0AQoPY29tLmFzc2VtYmx5LnYxQg5SZXNvdXJjZXNQcm90b1ABWjtnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXNzZW1ibHkvdjE7YXNzZW1ibHl2MaICA0FYWKoCFE1lc3NhZ2VzLkFzc2VtYmx5LlYxygILQXNzZW1ibHlcVjHiAhdBc3NlbWJseVxWMVxHUEJNZXRhZGF0YeoCDEFzc2VtYmx5OjpWMWIGcHJvdG8z", [file_assembly_v1_common, file_geometry_v1_pose, file_google_protobuf_timestamp]);
21
+ fileDesc("Chthc3NlbWJseS92MS9yZXNvdXJjZXMucHJvdG8SC2Fzc2VtYmx5LnYxInAKEENvbnRhaW5lclNsb3RSZWYSHQoVY29udGFpbmVyX2luc3RhbmNlX2lkGAEgASgJEg8KB3Nsb3RfaWQYAiABKAkSLAoEdHlwZRgDIAEoDjIeLmFzc2VtYmx5LnYxLkNvbnRhaW5lclNsb3RUeXBlIogCChFDYXBhYmlsaXR5UHJvZmlsZRITCgttaW5fZm9yY2VfbhgBIAEoARITCgttYXhfZm9yY2VfbhgCIAEoARIVCg1taW5fdG9ycXVlX25tGAMgASgBEhUKDW1heF90b3JxdWVfbm0YBCABKAESGAoQcmVwZWF0YWJpbGl0eV9tbRgFIAEoARIVCg1tYXhfcGF5bG9hZF9nGAYgASgBEhkKEW1pbl9ncmlwX3dpZHRoX21tGAcgASgBEhkKEW1heF9ncmlwX3dpZHRoX21tGAggASgBEjQKC2NvbnN0cmFpbnRzGAkgAygLMh8uYXNzZW1ibHkudjEuS2V5VmFsdWVDb25zdHJhaW50Iq0DCg5Ub29sRGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSIwoEdHlwZRgFIAEoDjIVLmFzc2VtYmx5LnYxLlRvb2xUeXBlEioKCmFjdG9yX2tpbmQYBiABKA4yFi5hc3NlbWJseS52MS5BY3RvcktpbmQSJAoFcm9sZXMYByADKA4yFS5hc3NlbWJseS52MS5Ub29sUm9sZRItCgpwcm9wZXJ0aWVzGAggAygOMhkuYXNzZW1ibHkudjEuVG9vbFByb3BlcnR5EjoKEmNhcGFiaWxpdHlfcHJvZmlsZRgJIAEoCzIeLmFzc2VtYmx5LnYxLkNhcGFiaWxpdHlQcm9maWxlEhAKCG1vZGVsX2lkGAogASgJEjsKE2V4dGVybmFsX3JlZmVyZW5jZXMYCyADKAsyHi5hc3NlbWJseS52MS5FeHRlcm5hbFJlZmVyZW5jZRItCgZjdXN0b20YDCABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIj0KD1Rvb2xEZWZpbml0aW9ucxIqCgVpdGVtcxgBIAMoCzIbLmFzc2VtYmx5LnYxLlRvb2xEZWZpbml0aW9uIukCCgxUb29sSW5zdGFuY2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhoKEnRvb2xfZGVmaW5pdGlvbl9pZBgFIAEoCRIVCg1zZXJpYWxfbnVtYmVyGAYgASgJEhIKCnN0YXRpb25faWQYByABKAkSKwoGc3RhdHVzGAggASgOMhsuYXNzZW1ibHkudjEuUmVzb3VyY2VTdGF0dXMSEgoKY2FsaWJyYXRlZBgJIAEoCBI7ChdjYWxpYnJhdGlvbl92YWxpZF91bnRpbBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKAoEcG9zZRgLIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USLQoGY3VzdG9tGAwgASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyI5Cg1Ub29sSW5zdGFuY2VzEigKBWl0ZW1zGAEgAygLMhkuYXNzZW1ibHkudjEuVG9vbEluc3RhbmNlIqsDChdDb250YWluZXJTbG90RGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSHwoEcG9zZRgFIAEoCzIRLmdlb21ldHJ5LnYxLlBvc2USIgoEc2l6ZRgGIAEoCzIULmdlb21ldHJ5LnYxLlZlY3RvcjMSLAoEdHlwZRgHIAEoDjIeLmFzc2VtYmx5LnYxLkNvbnRhaW5lclNsb3RUeXBlEigKIHN1cHBvcnRlZF9wcm9kdWN0X2RlZmluaXRpb25faWRzGAggAygJEioKInN1cHBvcnRlZF9yb290X3BhcnRfZGVmaW5pdGlvbl9pZHMYCSADKAkSJQodc3VwcG9ydGVkX3BhcnRfZGVmaW5pdGlvbl9pZHMYCiADKAkSNAoLY29uc3RyYWludHMYCyADKAsyHy5hc3NlbWJseS52MS5LZXlWYWx1ZUNvbnN0cmFpbnQSLQoGY3VzdG9tGAwgASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyKoAgoTQ29udGFpbmVyRGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSKAoEdHlwZRgFIAEoDjIaLmFzc2VtYmx5LnYxLkNvbnRhaW5lclR5cGUSEAoIbW9kZWxfaWQYBiABKAkSMwoFc2xvdHMYByADKAsyJC5hc3NlbWJseS52MS5Db250YWluZXJTbG90RGVmaW5pdGlvbhI0Cgtjb25zdHJhaW50cxgIIAMoCzIfLmFzc2VtYmx5LnYxLktleVZhbHVlQ29uc3RyYWludBItCgZjdXN0b20YCSABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIkcKFENvbnRhaW5lckRlZmluaXRpb25zEi8KBWl0ZW1zGAEgAygLMiAuYXNzZW1ibHkudjEuQ29udGFpbmVyRGVmaW5pdGlvbiKLAgoRQ29udGFpbmVySW5zdGFuY2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEh8KF2NvbnRhaW5lcl9kZWZpbml0aW9uX2lkGAUgASgJEhIKCnN0YXRpb25faWQYBiABKAkSKwoGc3RhdHVzGAcgASgOMhsuYXNzZW1ibHkudjEuUmVzb3VyY2VTdGF0dXMSKAoEcG9zZRgIIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USLQoGY3VzdG9tGAkgASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyJDChJDb250YWluZXJJbnN0YW5jZXMSLQoFaXRlbXMYASADKAsyHi5hc3NlbWJseS52MS5Db250YWluZXJJbnN0YW5jZSKdAwoPUm9ib3REZWZpbml0aW9uEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIkCgR0eXBlGAUgASgOMhYuYXNzZW1ibHkudjEuUm9ib3RUeXBlEjEKC2RyaXZlcl90eXBlGAYgASgOMhwuYXNzZW1ibHkudjEuUm9ib3REcml2ZXJUeXBlEhAKCG1vZGVsX2lkGAcgASgJEhgKEGNvdXBsZXJfbW9kZWxfaWQYCCABKAkSJQodc3VwcG9ydGVkX3Rvb2xfZGVmaW5pdGlvbl9pZHMYCSADKAkSIgoaZGVmYXVsdF90b29sX2RlZmluaXRpb25faWQYCiABKAkSEgoKdG9vbF9zbG90cxgLIAEoBRI6ChJjYXBhYmlsaXR5X3Byb2ZpbGUYDCABKAsyHi5hc3NlbWJseS52MS5DYXBhYmlsaXR5UHJvZmlsZRItCgZjdXN0b20YDSABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIj8KEFJvYm90RGVmaW5pdGlvbnMSKwoFaXRlbXMYASADKAsyHC5hc3NlbWJseS52MS5Sb2JvdERlZmluaXRpb24i7QIKDVJvYm90SW5zdGFuY2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhsKE3JvYm90X2RlZmluaXRpb25faWQYBSABKAkSEgoKc3RhdGlvbl9pZBgGIAEoCRIgChhtb3VudGVkX3Rvb2xfaW5zdGFuY2VfaWQYByABKAkSIwobYXZhaWxhYmxlX3Rvb2xfaW5zdGFuY2VfaWRzGAggAygJEhwKFHN1cHBvcnRzX3Rvb2xfY2hhbmdlGAkgASgIEisKBnN0YXR1cxgKIAEoDjIbLmFzc2VtYmx5LnYxLlJlc291cmNlU3RhdHVzEi0KCWJhc2VfcG9zZRgLIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USLQoGY3VzdG9tGAwgASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyI7Cg5Sb2JvdEluc3RhbmNlcxIpCgVpdGVtcxgBIAMoCzIaLmFzc2VtYmx5LnYxLlJvYm90SW5zdGFuY2Ui6AEKD0Fzc2V0RGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSJAoEdHlwZRgFIAEoDjIWLmFzc2VtYmx5LnYxLkFzc2V0VHlwZRIxCgtkcml2ZXJfdHlwZRgGIAEoDjIcLmFzc2VtYmx5LnYxLkFzc2V0RHJpdmVyVHlwZRIQCghtb2RlbF9pZBgHIAEoCRItCgZjdXN0b20YCCABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIj8KEEFzc2V0RGVmaW5pdGlvbnMSKwoFaXRlbXMYASADKAsyHC5hc3NlbWJseS52MS5Bc3NldERlZmluaXRpb24igwIKDUFzc2V0SW5zdGFuY2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhsKE2Fzc2V0X2RlZmluaXRpb25faWQYBSABKAkSEgoKc3RhdGlvbl9pZBgGIAEoCRIrCgZzdGF0dXMYByABKA4yGy5hc3NlbWJseS52MS5SZXNvdXJjZVN0YXR1cxIoCgRwb3NlGAggASgLMhouZ2VvbWV0cnkudjEuTG9jYWxpemVkUG9zZRItCgZjdXN0b20YCSABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzIjsKDkFzc2V0SW5zdGFuY2VzEikKBWl0ZW1zGAEgAygLMhouYXNzZW1ibHkudjEuQXNzZXRJbnN0YW5jZSqYAQoNQ29udGFpbmVyVHlwZRIeChpDT05UQUlORVJfVFlQRV9VTlNQRUNJRklFRBAAEhoKFkNPTlRBSU5FUl9UWVBFX1NUT1JBR0UQARIWChJDT05UQUlORVJfVFlQRV9LSVQQAhIXChNDT05UQUlORVJfVFlQRV9UUkFZEAMSGgoWQ09OVEFJTkVSX1RZUEVfRklYVFVSRRAEKsgBChFDb250YWluZXJTbG90VHlwZRIjCh9DT05UQUlORVJfU0xPVF9UWVBFX1VOU1BFQ0lGSUVEEAASIwofQ09OVEFJTkVSX1NMT1RfVFlQRV9TVE9SQUdFX0JJThABEiAKHENPTlRBSU5FUl9TTE9UX1RZUEVfS0lUX1NMT1QQAhIhCh1DT05UQUlORVJfU0xPVF9UWVBFX1RSQVlfQ0VMTBADEiQKIENPTlRBSU5FUl9TTE9UX1RZUEVfRklYVFVSRV9TTE9UEAQqzQMKCFRvb2xUeXBlEhkKFVRPT0xfVFlQRV9VTlNQRUNJRklFRBAAEhcKE1RPT0xfVFlQRV9GQVNURU5JTkcQARIWChJUT09MX1RZUEVfR1JJUFBJTkcQAhIVChFUT09MX1RZUEVfQ1VUVElORxADEhcKE1RPT0xfVFlQRV9NRUFTVVJJTkcQBBIZChVUT09MX1RZUEVfUE9TSVRJT05JTkcQBRIYChRUT09MX1RZUEVfRElTUEVOU0lORxAGEhgKFFRPT0xfVFlQRV9JTlNQRUNUSU9OEAcSFAoQVE9PTF9UWVBFX1NBRkVUWRAIEhkKFVRPT0xfVFlQRV9FTEVDVFJPTklDUxAJEh8KG1RPT0xfVFlQRV9GSVhUVVJFX0FDQ0VTU09SWRAKEhUKEVRPT0xfVFlQRV9TSEFQSU5HEAsSFQoRVE9PTF9UWVBFX1RVUk5JTkcQDBIWChJUT09MX1RZUEVfU1RSSUtJTkcQDRIVChFUT09MX1RZUEVfTUFSS0lORxAOEhcKE1RPT0xfVFlQRV9GSU5JU0hJTkcQDxIWChJUT09MX1RZUEVfQUJSQVNJVkUQEBIWChJUT09MX1RZUEVfQ0xFQU5JTkcQESq4AwoIVG9vbFJvbGUSGQoVVE9PTF9ST0xFX1VOU1BFQ0lGSUVEEAASHAoYVE9PTF9ST0xFX0dSSVBfV09SS1BJRUNFEAESIAocVE9PTF9ST0xFX1BPU0lUSU9OX0NPTVBPTkVOVBACEh0KGVRPT0xfUk9MRV9BTElHTl9DT01QT05FTlQQAxIaChZUT09MX1JPTEVfQVBQTFlfVE9SUVVFEAQSIAocVE9PTF9ST0xFX0FQUExZX0xJTkVBUl9GT1JDRRAFEh8KG1RPT0xfUk9MRV9NRUFTVVJFX0RJTUVOU0lPThAGEh0KGVRPT0xfUk9MRV9ERVRFQ1RfUFJFU0VOQ0UQBxIfChtUT09MX1JPTEVfRElTUEVOU0VfTUFURVJJQUwQCBIcChhUT09MX1JPTEVfRVhFQ1VURV9NT1RJT04QCRIgChxUT09MX1JPTEVfU0FGRVRZX0lOVEVSQUNUSU9OEAoSGAoUVE9PTF9ST0xFX0hBTkRMRV9FU0QQCxIfChtUT09MX1JPTEVfVklTVUFMX0lOU1BFQ1RJT04QDBIYChRUT09MX1JPTEVfV0lQRV9DTEVBThANKu8BCgxUb29sUHJvcGVydHkSHQoZVE9PTF9QUk9QRVJUWV9VTlNQRUNJRklFRBAAEiMKH1RPT0xfUFJPUEVSVFlfVE9SUVVFX0NPTlRST0xMRUQQARIaChZUT09MX1BST1BFUlRZX0VTRF9TQUZFEAISGwoXVE9PTF9QUk9QRVJUWV9JTlNVTEFURUQQAxIkCiBUT09MX1BST1BFUlRZX0NPTExBQk9SQVRJVkVfU0FGRRAEEhwKGFRPT0xfUFJPUEVSVFlfQ0FMSUJSQVRFRBAFEh4KGlRPT0xfUFJPUEVSVFlfUVVJQ0tfQ0hBTkdFEAYqgQEKCVJvYm90VHlwZRIaChZST0JPVF9UWVBFX1VOU1BFQ0lGSUVEEAASEwoPUk9CT1RfVFlQRV9VUjNFEAoSEwoPUk9CT1RfVFlQRV9VUjVFEAsSFAoQUk9CT1RfVFlQRV9VUjEwRRAMEhgKFFJPQk9UX1RZUEVfS1VLQV9JSVdBEBQqbQoPUm9ib3REcml2ZXJUeXBlEiEKHVJPQk9UX0RSSVZFUl9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUUk9CT1RfRFJJVkVSX1RZUEVfVVIQARIdChlST0JPVF9EUklWRVJfVFlQRV9HRU5FUklDEAIqtAEKCUFzc2V0VHlwZRIaChZBU1NFVF9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRQVNTRVRfVFlQRV9DQU1FUkEQARIUChBBU1NFVF9UWVBFX0xJR0hUEAISFwoTQVNTRVRfVFlQRV9DT05WRVlPUhADEhUKEUFTU0VUX1RZUEVfU0VOU09SEAQSEgoOQVNTRVRfVFlQRV9ITUkQBRIaChZBU1NFVF9UWVBFX1BBUlRfRkVFREVSEAgqUwoPQXNzZXREcml2ZXJUeXBlEiEKHUFTU0VUX0RSSVZFUl9UWVBFX1VOU1BFQ0lGSUVEEAASHQoZQVNTRVRfRFJJVkVSX1RZUEVfREVGQVVMVBABQrQBCg9jb20uYXNzZW1ibHkudjFCDlJlc291cmNlc1Byb3RvUAFaO2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hc3NlbWJseS92MTthc3NlbWJseXYxogIDQVhYqgIUTWVzc2FnZXMuQXNzZW1ibHkuVjHKAgtBc3NlbWJseVxWMeICF0Fzc2VtYmx5XFYxXEdQQk1ldGFkYXRh6gIMQXNzZW1ibHk6OlYxYgZwcm90bzM", [file_assembly_v1_common, file_geometry_v1_pose, file_geometry_v1_vector3, file_google_protobuf_timestamp]);
22
+
23
+ /**
24
+ * ContainerSlotRef points to a concrete slot on a concrete container instance.
25
+ *
26
+ * This is the preferred task-planning reference for storage, kitting, tray, and
27
+ * fixture interactions because it identifies both the physical carrier and the
28
+ * addressable place inside it.
29
+ *
30
+ * @generated from message assembly.v1.ContainerSlotRef
31
+ */
32
+ export type ContainerSlotRef = Message<"assembly.v1.ContainerSlotRef"> & {
33
+ /**
34
+ * Identifier of the container instance that owns the referenced slot.
35
+ *
36
+ * @generated from field: string container_instance_id = 1;
37
+ */
38
+ containerInstanceId: string;
39
+
40
+ /**
41
+ * Identifier of the slot definition within that container.
42
+ *
43
+ * @generated from field: string slot_id = 2;
44
+ */
45
+ slotId: string;
46
+
47
+ /**
48
+ * Semantic kind of slot, used for interpretation, UI behavior, and routing.
49
+ *
50
+ * @generated from field: assembly.v1.ContainerSlotType type = 3;
51
+ */
52
+ type: ContainerSlotType;
53
+ };
54
+
55
+ /**
56
+ * Describes the message assembly.v1.ContainerSlotRef.
57
+ * Use `create(ContainerSlotRefSchema)` to create a new message.
58
+ */
59
+ export const ContainerSlotRefSchema: GenMessage<ContainerSlotRef> = /*@__PURE__*/
60
+ messageDesc(file_assembly_v1_resources, 0);
20
61
 
21
62
  /**
22
63
  * @generated from message assembly.v1.CapabilityProfile
@@ -73,7 +114,7 @@ export type CapabilityProfile = Message<"assembly.v1.CapabilityProfile"> & {
73
114
  * Use `create(CapabilityProfileSchema)` to create a new message.
74
115
  */
75
116
  export const CapabilityProfileSchema: GenMessage<CapabilityProfile> = /*@__PURE__*/
76
- messageDesc(file_assembly_v1_resources, 0);
117
+ messageDesc(file_assembly_v1_resources, 1);
77
118
 
78
119
  /**
79
120
  * @generated from message assembly.v1.ToolDefinition
@@ -145,7 +186,7 @@ export type ToolDefinition = Message<"assembly.v1.ToolDefinition"> & {
145
186
  * Use `create(ToolDefinitionSchema)` to create a new message.
146
187
  */
147
188
  export const ToolDefinitionSchema: GenMessage<ToolDefinition> = /*@__PURE__*/
148
- messageDesc(file_assembly_v1_resources, 1);
189
+ messageDesc(file_assembly_v1_resources, 2);
149
190
 
150
191
  /**
151
192
  * @generated from message assembly.v1.ToolDefinitions
@@ -162,7 +203,7 @@ export type ToolDefinitions = Message<"assembly.v1.ToolDefinitions"> & {
162
203
  * Use `create(ToolDefinitionsSchema)` to create a new message.
163
204
  */
164
205
  export const ToolDefinitionsSchema: GenMessage<ToolDefinitions> = /*@__PURE__*/
165
- messageDesc(file_assembly_v1_resources, 2);
206
+ messageDesc(file_assembly_v1_resources, 3);
166
207
 
167
208
  /**
168
209
  * @generated from message assembly.v1.ToolInstance
@@ -234,7 +275,7 @@ export type ToolInstance = Message<"assembly.v1.ToolInstance"> & {
234
275
  * Use `create(ToolInstanceSchema)` to create a new message.
235
276
  */
236
277
  export const ToolInstanceSchema: GenMessage<ToolInstance> = /*@__PURE__*/
237
- messageDesc(file_assembly_v1_resources, 3);
278
+ messageDesc(file_assembly_v1_resources, 4);
238
279
 
239
280
  /**
240
281
  * @generated from message assembly.v1.ToolInstances
@@ -251,164 +292,313 @@ export type ToolInstances = Message<"assembly.v1.ToolInstances"> & {
251
292
  * Use `create(ToolInstancesSchema)` to create a new message.
252
293
  */
253
294
  export const ToolInstancesSchema: GenMessage<ToolInstances> = /*@__PURE__*/
254
- messageDesc(file_assembly_v1_resources, 4);
295
+ messageDesc(file_assembly_v1_resources, 5);
255
296
 
256
297
  /**
257
- * @generated from message assembly.v1.FixtureDefinition
298
+ * ContainerSlotDefinition describes one addressable place inside a container.
299
+ *
300
+ * A slot is the thing that operators, robots, and AR guidance normally target.
301
+ * Examples:
302
+ * - a shelf bin in storage
303
+ * - a logical slot in a kit
304
+ * - a tray pocket
305
+ * - a fixture nest / clamp position / pallet pocket
306
+ *
307
+ * @generated from message assembly.v1.ContainerSlotDefinition
258
308
  */
259
- export type FixtureDefinition = Message<"assembly.v1.FixtureDefinition"> & {
309
+ export type ContainerSlotDefinition = Message<"assembly.v1.ContainerSlotDefinition"> & {
260
310
  /**
311
+ * Stable identifier unique within the parent container definition.
312
+ *
261
313
  * @generated from field: string id = 1;
262
314
  */
263
315
  id: string;
264
316
 
265
317
  /**
318
+ * Human-readable slot name shown in UI and AR, e.g. "Slot A" or "Motor Nest".
319
+ *
266
320
  * @generated from field: string name = 2;
267
321
  */
268
322
  name: string;
269
323
 
270
324
  /**
325
+ * Optional icon override for UIs. If empty, the container icon may be reused.
326
+ *
271
327
  * @generated from field: string icon = 3;
272
328
  */
273
329
  icon: string;
274
330
 
275
331
  /**
332
+ * Optional longer description of the slot's purpose or usage constraints.
333
+ *
276
334
  * @generated from field: string description = 4;
277
335
  */
278
336
  description: string;
279
337
 
280
338
  /**
281
- * @generated from field: assembly.v1.FixtureType type = 5;
339
+ * Pose of the slot relative to the container definition coordinate frame.
340
+ *
341
+ * @generated from field: geometry.v1.Pose pose = 5;
342
+ */
343
+ pose?: Pose;
344
+
345
+ /**
346
+ * Optional approximate slot extents/bounds, useful for UI, AR, and planning.
347
+ *
348
+ * @generated from field: geometry.v1.Vector3 size = 6;
282
349
  */
283
- type: FixtureType;
350
+ size?: Vector3;
284
351
 
285
352
  /**
286
- * This is a capability/compatibility declaration, e.g. fixture-1 supports product A and B
353
+ * Semantic role of the slot, e.g. storage bin, kit slot, tray cell, or fixture slot.
287
354
  *
288
- * @generated from field: repeated string supported_product_definition_ids = 6;
355
+ * @generated from field: assembly.v1.ContainerSlotType type = 7;
356
+ */
357
+ type: ContainerSlotType;
358
+
359
+ /**
360
+ * Products that this slot explicitly supports holding/presenting.
361
+ *
362
+ * @generated from field: repeated string supported_product_definition_ids = 8;
289
363
  */
290
364
  supportedProductDefinitionIds: string[];
291
365
 
292
366
  /**
293
- * This fixture support products whose root assembly is one of these root parts
367
+ * Root assemblies/root parts that this slot supports.
294
368
  *
295
- * @generated from field: repeated string supported_root_part_definition_ids = 7;
369
+ * @generated from field: repeated string supported_root_part_definition_ids = 9;
296
370
  */
297
371
  supportedRootPartDefinitionIds: string[];
298
372
 
299
373
  /**
300
- * @generated from field: string model_id = 8;
374
+ * Specific part definitions that this slot supports.
375
+ *
376
+ * @generated from field: repeated string supported_part_definition_ids = 10;
377
+ */
378
+ supportedPartDefinitionIds: string[];
379
+
380
+ /**
381
+ * Additional semantic/compatibility constraints such as orientation, handedness, or required variants.
382
+ *
383
+ * @generated from field: repeated assembly.v1.KeyValueConstraint constraints = 11;
384
+ */
385
+ constraints: KeyValueConstraint[];
386
+
387
+ /**
388
+ * Extension point for domain-specific slot data.
389
+ *
390
+ * @generated from field: assembly.v1.CustomProperties custom = 12;
391
+ */
392
+ custom?: CustomProperties;
393
+ };
394
+
395
+ /**
396
+ * Describes the message assembly.v1.ContainerSlotDefinition.
397
+ * Use `create(ContainerSlotDefinitionSchema)` to create a new message.
398
+ */
399
+ export const ContainerSlotDefinitionSchema: GenMessage<ContainerSlotDefinition> = /*@__PURE__*/
400
+ messageDesc(file_assembly_v1_resources, 6);
401
+
402
+ /**
403
+ * ContainerDefinition describes a physical holder/carrier with one or more slots.
404
+ *
405
+ * This unifies what used to be modeled separately as fixtures, kit trays, storage
406
+ * bins, and trays/totes. The semantic differences are captured by ContainerType and
407
+ * ContainerSlotType rather than by separate top-level resources.
408
+ *
409
+ * @generated from message assembly.v1.ContainerDefinition
410
+ */
411
+ export type ContainerDefinition = Message<"assembly.v1.ContainerDefinition"> & {
412
+ /**
413
+ * Stable identifier of the reusable container definition.
414
+ *
415
+ * @generated from field: string id = 1;
416
+ */
417
+ id: string;
418
+
419
+ /**
420
+ * Display name, e.g. "Shelf Bin 01", "Starter Kit Tray", or "Motor Pallet".
421
+ *
422
+ * @generated from field: string name = 2;
423
+ */
424
+ name: string;
425
+
426
+ /**
427
+ * UI icon representing the container.
428
+ *
429
+ * @generated from field: string icon = 3;
430
+ */
431
+ icon: string;
432
+
433
+ /**
434
+ * Human-readable description of the container's purpose.
435
+ *
436
+ * @generated from field: string description = 4;
437
+ */
438
+ description: string;
439
+
440
+ /**
441
+ * High-level category: storage, kit, tray, or fixture.
442
+ *
443
+ * @generated from field: assembly.v1.ContainerType type = 5;
444
+ */
445
+ type: ContainerType;
446
+
447
+ /**
448
+ * Optional 3D model used in simulation, AR, and UI rendering.
449
+ *
450
+ * @generated from field: string model_id = 6;
301
451
  */
302
452
  modelId: string;
303
453
 
304
454
  /**
305
- * @generated from field: repeated assembly.v1.KeyValueConstraint constraints = 9;
455
+ * Addressable places inside/on the container.
456
+ *
457
+ * @generated from field: repeated assembly.v1.ContainerSlotDefinition slots = 7;
458
+ */
459
+ slots: ContainerSlotDefinition[];
460
+
461
+ /**
462
+ * Container-level constraints applying to the whole carrier.
463
+ *
464
+ * @generated from field: repeated assembly.v1.KeyValueConstraint constraints = 8;
306
465
  */
307
466
  constraints: KeyValueConstraint[];
308
467
 
309
468
  /**
310
- * @generated from field: assembly.v1.CustomProperties custom = 10;
469
+ * Extension point for domain-specific container metadata.
470
+ *
471
+ * @generated from field: assembly.v1.CustomProperties custom = 9;
311
472
  */
312
473
  custom?: CustomProperties;
313
474
  };
314
475
 
315
476
  /**
316
- * Describes the message assembly.v1.FixtureDefinition.
317
- * Use `create(FixtureDefinitionSchema)` to create a new message.
477
+ * Describes the message assembly.v1.ContainerDefinition.
478
+ * Use `create(ContainerDefinitionSchema)` to create a new message.
318
479
  */
319
- export const FixtureDefinitionSchema: GenMessage<FixtureDefinition> = /*@__PURE__*/
320
- messageDesc(file_assembly_v1_resources, 5);
480
+ export const ContainerDefinitionSchema: GenMessage<ContainerDefinition> = /*@__PURE__*/
481
+ messageDesc(file_assembly_v1_resources, 7);
321
482
 
322
483
  /**
323
- * @generated from message assembly.v1.FixtureDefinitions
484
+ * @generated from message assembly.v1.ContainerDefinitions
324
485
  */
325
- export type FixtureDefinitions = Message<"assembly.v1.FixtureDefinitions"> & {
486
+ export type ContainerDefinitions = Message<"assembly.v1.ContainerDefinitions"> & {
326
487
  /**
327
- * @generated from field: repeated assembly.v1.FixtureDefinition items = 1;
488
+ * List wrapper used for transport/query responses.
489
+ *
490
+ * @generated from field: repeated assembly.v1.ContainerDefinition items = 1;
328
491
  */
329
- items: FixtureDefinition[];
492
+ items: ContainerDefinition[];
330
493
  };
331
494
 
332
495
  /**
333
- * Describes the message assembly.v1.FixtureDefinitions.
334
- * Use `create(FixtureDefinitionsSchema)` to create a new message.
496
+ * Describes the message assembly.v1.ContainerDefinitions.
497
+ * Use `create(ContainerDefinitionsSchema)` to create a new message.
335
498
  */
336
- export const FixtureDefinitionsSchema: GenMessage<FixtureDefinitions> = /*@__PURE__*/
337
- messageDesc(file_assembly_v1_resources, 6);
499
+ export const ContainerDefinitionsSchema: GenMessage<ContainerDefinitions> = /*@__PURE__*/
500
+ messageDesc(file_assembly_v1_resources, 8);
338
501
 
339
502
  /**
340
- * @generated from message assembly.v1.FixtureInstance
503
+ * ContainerInstance represents a concrete container in a station/cell.
504
+ *
505
+ * Examples:
506
+ * - the actual shelf bin mounted in station A
507
+ * - the actual pallet currently loaded on an indexing table
508
+ * - the actual jig installed on a workbench
509
+ *
510
+ * @generated from message assembly.v1.ContainerInstance
341
511
  */
342
- export type FixtureInstance = Message<"assembly.v1.FixtureInstance"> & {
512
+ export type ContainerInstance = Message<"assembly.v1.ContainerInstance"> & {
343
513
  /**
514
+ * Stable identifier of the concrete container instance.
515
+ *
344
516
  * @generated from field: string id = 1;
345
517
  */
346
518
  id: string;
347
519
 
348
520
  /**
521
+ * Display name of the instance. Often copied from the definition, but may be station-specific.
522
+ *
349
523
  * @generated from field: string name = 2;
350
524
  */
351
525
  name: string;
352
526
 
353
527
  /**
528
+ * UI icon for the instance.
529
+ *
354
530
  * @generated from field: string icon = 3;
355
531
  */
356
532
  icon: string;
357
533
 
358
534
  /**
535
+ * Human-readable description of this particular instance.
536
+ *
359
537
  * @generated from field: string description = 4;
360
538
  */
361
539
  description: string;
362
540
 
363
541
  /**
364
- * @generated from field: string fixture_definition_id = 5;
542
+ * The reusable container definition that this instance realizes.
543
+ *
544
+ * @generated from field: string container_definition_id = 5;
365
545
  */
366
- fixtureDefinitionId: string;
546
+ containerDefinitionId: string;
367
547
 
368
548
  /**
549
+ * Station/cell where this container currently belongs or is mounted.
550
+ *
369
551
  * @generated from field: string station_id = 6;
370
552
  */
371
553
  stationId: string;
372
554
 
373
555
  /**
556
+ * Operational status such as available, disabled, or faulted.
557
+ *
374
558
  * @generated from field: assembly.v1.ResourceStatus status = 7;
375
559
  */
376
560
  status: ResourceStatus;
377
561
 
378
562
  /**
563
+ * Pose of the container instance in the station/environment.
564
+ *
379
565
  * @generated from field: geometry.v1.LocalizedPose pose = 8;
380
566
  */
381
567
  pose?: LocalizedPose;
382
568
 
383
569
  /**
570
+ * Extension point for instance-specific data.
571
+ *
384
572
  * @generated from field: assembly.v1.CustomProperties custom = 9;
385
573
  */
386
574
  custom?: CustomProperties;
387
575
  };
388
576
 
389
577
  /**
390
- * Describes the message assembly.v1.FixtureInstance.
391
- * Use `create(FixtureInstanceSchema)` to create a new message.
578
+ * Describes the message assembly.v1.ContainerInstance.
579
+ * Use `create(ContainerInstanceSchema)` to create a new message.
392
580
  */
393
- export const FixtureInstanceSchema: GenMessage<FixtureInstance> = /*@__PURE__*/
394
- messageDesc(file_assembly_v1_resources, 7);
581
+ export const ContainerInstanceSchema: GenMessage<ContainerInstance> = /*@__PURE__*/
582
+ messageDesc(file_assembly_v1_resources, 9);
395
583
 
396
584
  /**
397
- * @generated from message assembly.v1.FixtureInstances
585
+ * @generated from message assembly.v1.ContainerInstances
398
586
  */
399
- export type FixtureInstances = Message<"assembly.v1.FixtureInstances"> & {
587
+ export type ContainerInstances = Message<"assembly.v1.ContainerInstances"> & {
400
588
  /**
401
- * @generated from field: repeated assembly.v1.FixtureInstance items = 1;
589
+ * List wrapper used for transport/query responses.
590
+ *
591
+ * @generated from field: repeated assembly.v1.ContainerInstance items = 1;
402
592
  */
403
- items: FixtureInstance[];
593
+ items: ContainerInstance[];
404
594
  };
405
595
 
406
596
  /**
407
- * Describes the message assembly.v1.FixtureInstances.
408
- * Use `create(FixtureInstancesSchema)` to create a new message.
597
+ * Describes the message assembly.v1.ContainerInstances.
598
+ * Use `create(ContainerInstancesSchema)` to create a new message.
409
599
  */
410
- export const FixtureInstancesSchema: GenMessage<FixtureInstances> = /*@__PURE__*/
411
- messageDesc(file_assembly_v1_resources, 8);
600
+ export const ContainerInstancesSchema: GenMessage<ContainerInstances> = /*@__PURE__*/
601
+ messageDesc(file_assembly_v1_resources, 10);
412
602
 
413
603
  /**
414
604
  * @generated from message assembly.v1.RobotDefinition
@@ -487,7 +677,7 @@ export type RobotDefinition = Message<"assembly.v1.RobotDefinition"> & {
487
677
  * Use `create(RobotDefinitionSchema)` to create a new message.
488
678
  */
489
679
  export const RobotDefinitionSchema: GenMessage<RobotDefinition> = /*@__PURE__*/
490
- messageDesc(file_assembly_v1_resources, 9);
680
+ messageDesc(file_assembly_v1_resources, 11);
491
681
 
492
682
  /**
493
683
  * @generated from message assembly.v1.RobotDefinitions
@@ -504,7 +694,7 @@ export type RobotDefinitions = Message<"assembly.v1.RobotDefinitions"> & {
504
694
  * Use `create(RobotDefinitionsSchema)` to create a new message.
505
695
  */
506
696
  export const RobotDefinitionsSchema: GenMessage<RobotDefinitions> = /*@__PURE__*/
507
- messageDesc(file_assembly_v1_resources, 10);
697
+ messageDesc(file_assembly_v1_resources, 12);
508
698
 
509
699
  /**
510
700
  * @generated from message assembly.v1.RobotInstance
@@ -541,21 +731,21 @@ export type RobotInstance = Message<"assembly.v1.RobotInstance"> & {
541
731
  stationId: string;
542
732
 
543
733
  /**
544
- * what is attached right now
734
+ * The tool instance currently mounted on the robot, if any.
545
735
  *
546
736
  * @generated from field: string mounted_tool_instance_id = 7;
547
737
  */
548
738
  mountedToolInstanceId: string;
549
739
 
550
740
  /**
551
- * what is in the cell/magazine/dock and usable
741
+ * Tool instances available to this robot in the cell/tool dock/tool magazine.
552
742
  *
553
743
  * @generated from field: repeated string available_tool_instance_ids = 8;
554
744
  */
555
745
  availableToolInstanceIds: string[];
556
746
 
557
747
  /**
558
- * whether dynamic switching is allowed
748
+ * Whether this robot instance can dynamically change between available tools.
559
749
  *
560
750
  * @generated from field: bool supports_tool_change = 9;
561
751
  */
@@ -582,7 +772,7 @@ export type RobotInstance = Message<"assembly.v1.RobotInstance"> & {
582
772
  * Use `create(RobotInstanceSchema)` to create a new message.
583
773
  */
584
774
  export const RobotInstanceSchema: GenMessage<RobotInstance> = /*@__PURE__*/
585
- messageDesc(file_assembly_v1_resources, 11);
775
+ messageDesc(file_assembly_v1_resources, 13);
586
776
 
587
777
  /**
588
778
  * @generated from message assembly.v1.RobotInstances
@@ -599,7 +789,7 @@ export type RobotInstances = Message<"assembly.v1.RobotInstances"> & {
599
789
  * Use `create(RobotInstancesSchema)` to create a new message.
600
790
  */
601
791
  export const RobotInstancesSchema: GenMessage<RobotInstances> = /*@__PURE__*/
602
- messageDesc(file_assembly_v1_resources, 12);
792
+ messageDesc(file_assembly_v1_resources, 14);
603
793
 
604
794
  /**
605
795
  * @generated from message assembly.v1.AssetDefinition
@@ -651,7 +841,7 @@ export type AssetDefinition = Message<"assembly.v1.AssetDefinition"> & {
651
841
  * Use `create(AssetDefinitionSchema)` to create a new message.
652
842
  */
653
843
  export const AssetDefinitionSchema: GenMessage<AssetDefinition> = /*@__PURE__*/
654
- messageDesc(file_assembly_v1_resources, 13);
844
+ messageDesc(file_assembly_v1_resources, 15);
655
845
 
656
846
  /**
657
847
  * @generated from message assembly.v1.AssetDefinitions
@@ -668,7 +858,7 @@ export type AssetDefinitions = Message<"assembly.v1.AssetDefinitions"> & {
668
858
  * Use `create(AssetDefinitionsSchema)` to create a new message.
669
859
  */
670
860
  export const AssetDefinitionsSchema: GenMessage<AssetDefinitions> = /*@__PURE__*/
671
- messageDesc(file_assembly_v1_resources, 14);
861
+ messageDesc(file_assembly_v1_resources, 16);
672
862
 
673
863
  /**
674
864
  * @generated from message assembly.v1.AssetInstance
@@ -725,7 +915,7 @@ export type AssetInstance = Message<"assembly.v1.AssetInstance"> & {
725
915
  * Use `create(AssetInstanceSchema)` to create a new message.
726
916
  */
727
917
  export const AssetInstanceSchema: GenMessage<AssetInstance> = /*@__PURE__*/
728
- messageDesc(file_assembly_v1_resources, 15);
918
+ messageDesc(file_assembly_v1_resources, 17);
729
919
 
730
920
  /**
731
921
  * @generated from message assembly.v1.AssetInstances
@@ -742,7 +932,108 @@ export type AssetInstances = Message<"assembly.v1.AssetInstances"> & {
742
932
  * Use `create(AssetInstancesSchema)` to create a new message.
743
933
  */
744
934
  export const AssetInstancesSchema: GenMessage<AssetInstances> = /*@__PURE__*/
745
- messageDesc(file_assembly_v1_resources, 16);
935
+ messageDesc(file_assembly_v1_resources, 18);
936
+
937
+ /**
938
+ * ContainerType classifies physical holders/carriers used to store, stage, present,
939
+ * or constrain products and parts in a station.
940
+ *
941
+ * This unifies concepts that previously lived as separate resources such as storage
942
+ * bins, kit trays, pallets, and fixtures. All of them are modeled as containers with
943
+ * one or more addressable slots.
944
+ *
945
+ * @generated from enum assembly.v1.ContainerType
946
+ */
947
+ export enum ContainerType {
948
+ /**
949
+ * @generated from enum value: CONTAINER_TYPE_UNSPECIFIED = 0;
950
+ */
951
+ UNSPECIFIED = 0,
952
+
953
+ /**
954
+ * A storage container used as a source/sink of material, e.g. shelf bin, drawer bin, tote, or rack bin.
955
+ *
956
+ * @generated from enum value: CONTAINER_TYPE_STORAGE = 1;
957
+ */
958
+ STORAGE = 1,
959
+
960
+ /**
961
+ * A kit container used to collect the exact set of parts required for later work.
962
+ *
963
+ * @generated from enum value: CONTAINER_TYPE_KIT = 2;
964
+ */
965
+ KIT = 2,
966
+
967
+ /**
968
+ * A tray/tote/carrier with one or more regular cells or pockets.
969
+ *
970
+ * @generated from enum value: CONTAINER_TYPE_TRAY = 3;
971
+ */
972
+ TRAY = 3,
973
+
974
+ /**
975
+ * A workholding/presentation container such as a base, clamp, jig, or pallet.
976
+ *
977
+ * @generated from enum value: CONTAINER_TYPE_FIXTURE = 4;
978
+ */
979
+ FIXTURE = 4,
980
+ }
981
+
982
+ /**
983
+ * Describes the enum assembly.v1.ContainerType.
984
+ */
985
+ export const ContainerTypeSchema: GenEnum<ContainerType> = /*@__PURE__*/
986
+ enumDesc(file_assembly_v1_resources, 0);
987
+
988
+ /**
989
+ * ContainerSlotType classifies the semantic role of a slot within a container.
990
+ *
991
+ * The slot type is what task planning, UI rendering, and robot/AR logic typically
992
+ * interact with. For example, a tray and a fixture may both have slots, but their
993
+ * semantics differ.
994
+ *
995
+ * @generated from enum assembly.v1.ContainerSlotType
996
+ */
997
+ export enum ContainerSlotType {
998
+ /**
999
+ * @generated from enum value: CONTAINER_SLOT_TYPE_UNSPECIFIED = 0;
1000
+ */
1001
+ UNSPECIFIED = 0,
1002
+
1003
+ /**
1004
+ * A storage slot/bin used primarily as a source/sink location for material.
1005
+ *
1006
+ * @generated from enum value: CONTAINER_SLOT_TYPE_STORAGE_BIN = 1;
1007
+ */
1008
+ STORAGE_BIN = 1,
1009
+
1010
+ /**
1011
+ * A logical slot in a kit used to collect and verify required contents.
1012
+ *
1013
+ * @generated from enum value: CONTAINER_SLOT_TYPE_KIT_SLOT = 2;
1014
+ */
1015
+ KIT_SLOT = 2,
1016
+
1017
+ /**
1018
+ * A regular cell/pocket in a tray, tote, or carrier.
1019
+ *
1020
+ * @generated from enum value: CONTAINER_SLOT_TYPE_TRAY_CELL = 3;
1021
+ */
1022
+ TRAY_CELL = 3,
1023
+
1024
+ /**
1025
+ * A nest/clamp/jig/pallet position used to hold, present, or constrain a part/product.
1026
+ *
1027
+ * @generated from enum value: CONTAINER_SLOT_TYPE_FIXTURE_SLOT = 4;
1028
+ */
1029
+ FIXTURE_SLOT = 4,
1030
+ }
1031
+
1032
+ /**
1033
+ * Describes the enum assembly.v1.ContainerSlotType.
1034
+ */
1035
+ export const ContainerSlotTypeSchema: GenEnum<ContainerSlotType> = /*@__PURE__*/
1036
+ enumDesc(file_assembly_v1_resources, 1);
746
1037
 
747
1038
  /**
748
1039
  * @generated from enum assembly.v1.ToolType
@@ -843,7 +1134,7 @@ export enum ToolType {
843
1134
  * Describes the enum assembly.v1.ToolType.
844
1135
  */
845
1136
  export const ToolTypeSchema: GenEnum<ToolType> = /*@__PURE__*/
846
- enumDesc(file_assembly_v1_resources, 0);
1137
+ enumDesc(file_assembly_v1_resources, 2);
847
1138
 
848
1139
  /**
849
1140
  * @generated from enum assembly.v1.ToolRole
@@ -924,7 +1215,7 @@ export enum ToolRole {
924
1215
  * Describes the enum assembly.v1.ToolRole.
925
1216
  */
926
1217
  export const ToolRoleSchema: GenEnum<ToolRole> = /*@__PURE__*/
927
- enumDesc(file_assembly_v1_resources, 1);
1218
+ enumDesc(file_assembly_v1_resources, 3);
928
1219
 
929
1220
  /**
930
1221
  * @generated from enum assembly.v1.ToolProperty
@@ -970,43 +1261,7 @@ export enum ToolProperty {
970
1261
  * Describes the enum assembly.v1.ToolProperty.
971
1262
  */
972
1263
  export const ToolPropertySchema: GenEnum<ToolProperty> = /*@__PURE__*/
973
- enumDesc(file_assembly_v1_resources, 2);
974
-
975
- /**
976
- * @generated from enum assembly.v1.FixtureType
977
- */
978
- export enum FixtureType {
979
- /**
980
- * @generated from enum value: FIXTURE_TYPE_UNSPECIFIED = 0;
981
- */
982
- UNSPECIFIED = 0,
983
-
984
- /**
985
- * @generated from enum value: FIXTURE_TYPE_BASE = 1;
986
- */
987
- BASE = 1,
988
-
989
- /**
990
- * @generated from enum value: FIXTURE_TYPE_CLAMP = 2;
991
- */
992
- CLAMP = 2,
993
-
994
- /**
995
- * @generated from enum value: FIXTURE_TYPE_JIG = 3;
996
- */
997
- JIG = 3,
998
-
999
- /**
1000
- * @generated from enum value: FIXTURE_TYPE_PALLET = 4;
1001
- */
1002
- PALLET = 4,
1003
- }
1004
-
1005
- /**
1006
- * Describes the enum assembly.v1.FixtureType.
1007
- */
1008
- export const FixtureTypeSchema: GenEnum<FixtureType> = /*@__PURE__*/
1009
- enumDesc(file_assembly_v1_resources, 3);
1264
+ enumDesc(file_assembly_v1_resources, 4);
1010
1265
 
1011
1266
  /**
1012
1267
  * @generated from enum assembly.v1.RobotType
@@ -1042,7 +1297,7 @@ export enum RobotType {
1042
1297
  * Describes the enum assembly.v1.RobotType.
1043
1298
  */
1044
1299
  export const RobotTypeSchema: GenEnum<RobotType> = /*@__PURE__*/
1045
- enumDesc(file_assembly_v1_resources, 4);
1300
+ enumDesc(file_assembly_v1_resources, 5);
1046
1301
 
1047
1302
  /**
1048
1303
  * @generated from enum assembly.v1.RobotDriverType
@@ -1068,7 +1323,7 @@ export enum RobotDriverType {
1068
1323
  * Describes the enum assembly.v1.RobotDriverType.
1069
1324
  */
1070
1325
  export const RobotDriverTypeSchema: GenEnum<RobotDriverType> = /*@__PURE__*/
1071
- enumDesc(file_assembly_v1_resources, 5);
1326
+ enumDesc(file_assembly_v1_resources, 6);
1072
1327
 
1073
1328
  /**
1074
1329
  * @generated from enum assembly.v1.AssetType
@@ -1080,36 +1335,53 @@ export enum AssetType {
1080
1335
  UNSPECIFIED = 0,
1081
1336
 
1082
1337
  /**
1338
+ * Vision device used for inspection, guidance, or detection.
1339
+ *
1083
1340
  * @generated from enum value: ASSET_TYPE_CAMERA = 1;
1084
1341
  */
1085
1342
  CAMERA = 1,
1086
1343
 
1087
1344
  /**
1345
+ * Lighting device such as ring light, spot light, or backlight.
1346
+ *
1088
1347
  * @generated from enum value: ASSET_TYPE_LIGHT = 2;
1089
1348
  */
1090
1349
  LIGHT = 2,
1091
1350
 
1092
1351
  /**
1352
+ * Conveying device used to move workpieces or pallets between areas.
1353
+ *
1093
1354
  * @generated from enum value: ASSET_TYPE_CONVEYOR = 3;
1094
1355
  */
1095
1356
  CONVEYOR = 3,
1096
1357
 
1097
1358
  /**
1359
+ * Generic sensor asset such as prox sensor, load cell, scanner, or IO sensor.
1360
+ *
1098
1361
  * @generated from enum value: ASSET_TYPE_SENSOR = 4;
1099
1362
  */
1100
1363
  SENSOR = 4,
1101
1364
 
1102
1365
  /**
1366
+ * Human-machine interface such as touch panel, button box, or stack-light UI endpoint.
1367
+ *
1103
1368
  * @generated from enum value: ASSET_TYPE_HMI = 5;
1104
1369
  */
1105
1370
  HMI = 5,
1371
+
1372
+ /**
1373
+ * Feeder/presentation device used to supply parts in a controlled way.
1374
+ *
1375
+ * @generated from enum value: ASSET_TYPE_PART_FEEDER = 8;
1376
+ */
1377
+ PART_FEEDER = 8,
1106
1378
  }
1107
1379
 
1108
1380
  /**
1109
1381
  * Describes the enum assembly.v1.AssetType.
1110
1382
  */
1111
1383
  export const AssetTypeSchema: GenEnum<AssetType> = /*@__PURE__*/
1112
- enumDesc(file_assembly_v1_resources, 6);
1384
+ enumDesc(file_assembly_v1_resources, 7);
1113
1385
 
1114
1386
  /**
1115
1387
  * @generated from enum assembly.v1.AssetDriverType
@@ -1130,5 +1402,5 @@ export enum AssetDriverType {
1130
1402
  * Describes the enum assembly.v1.AssetDriverType.
1131
1403
  */
1132
1404
  export const AssetDriverTypeSchema: GenEnum<AssetDriverType> = /*@__PURE__*/
1133
- enumDesc(file_assembly_v1_resources, 7);
1405
+ enumDesc(file_assembly_v1_resources, 8);
1134
1406
 
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file assembly/v1/station.proto.
15
15
  */
16
16
  export const file_assembly_v1_station: GenFile = /*@__PURE__*/
17
- fileDesc("Chlhc3NlbWJseS92MS9zdGF0aW9uLnByb3RvEgthc3NlbWJseS52MSKbAgoRU3RhdGlvbkRlZmluaXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEhkKEXRvb2xfaW5zdGFuY2VfaWRzGAUgAygJEhwKFGZpeHR1cmVfaW5zdGFuY2VfaWRzGAYgAygJEhoKEnJvYm90X2luc3RhbmNlX2lkcxgHIAMoCRIaChJhc3NldF9pbnN0YW5jZV9pZHMYCCADKAkSKQoFZnJhbWUYCSABKAsyGi5nZW9tZXRyeS52MS5Mb2NhbGl6ZWRQb3NlEi0KBmN1c3RvbRgKIAEoCzIdLmFzc2VtYmx5LnYxLkN1c3RvbVByb3BlcnRpZXMikQEKDkNlbGxEZWZpbml0aW9uEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDAoEaWNvbhgEIAEoCRITCgtzdGF0aW9uX2lkcxgFIAMoCRItCgZjdXN0b20YBiABKAsyHS5hc3NlbWJseS52MS5DdXN0b21Qcm9wZXJ0aWVzQrIBCg9jb20uYXNzZW1ibHkudjFCDFN0YXRpb25Qcm90b1ABWjtnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXNzZW1ibHkvdjE7YXNzZW1ibHl2MaICA0FYWKoCFE1lc3NhZ2VzLkFzc2VtYmx5LlYxygILQXNzZW1ibHlcVjHiAhdBc3NlbWJseVxWMVxHUEJNZXRhZGF0YeoCDEFzc2VtYmx5OjpWMWIGcHJvdG8z", [file_assembly_v1_common, file_geometry_v1_pose]);
17
+ fileDesc("Chlhc3NlbWJseS92MS9zdGF0aW9uLnByb3RvEgthc3NlbWJseS52MSKdAgoRU3RhdGlvbkRlZmluaXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEhkKEXRvb2xfaW5zdGFuY2VfaWRzGAUgAygJEh4KFmNvbnRhaW5lcl9pbnN0YW5jZV9pZHMYBiADKAkSGgoScm9ib3RfaW5zdGFuY2VfaWRzGAcgAygJEhoKEmFzc2V0X2luc3RhbmNlX2lkcxgIIAMoCRIpCgVmcmFtZRgJIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USLQoGY3VzdG9tGAogASgLMh0uYXNzZW1ibHkudjEuQ3VzdG9tUHJvcGVydGllcyKRAQoOQ2VsbERlZmluaXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIMCgRpY29uGAQgASgJEhMKC3N0YXRpb25faWRzGAUgAygJEi0KBmN1c3RvbRgGIAEoCzIdLmFzc2VtYmx5LnYxLkN1c3RvbVByb3BlcnRpZXNCsgEKD2NvbS5hc3NlbWJseS52MUIMU3RhdGlvblByb3RvUAFaO2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hc3NlbWJseS92MTthc3NlbWJseXYxogIDQVhYqgIUTWVzc2FnZXMuQXNzZW1ibHkuVjHKAgtBc3NlbWJseVxWMeICF0Fzc2VtYmx5XFYxXEdQQk1ldGFkYXRh6gIMQXNzZW1ibHk6OlYxYgZwcm90bzM", [file_assembly_v1_common, file_geometry_v1_pose]);
18
18
 
19
19
  /**
20
20
  * @generated from message assembly.v1.StationDefinition
@@ -46,9 +46,9 @@ export type StationDefinition = Message<"assembly.v1.StationDefinition"> & {
46
46
  toolInstanceIds: string[];
47
47
 
48
48
  /**
49
- * @generated from field: repeated string fixture_instance_ids = 6;
49
+ * @generated from field: repeated string container_instance_ids = 6;
50
50
  */
51
- fixtureInstanceIds: string[];
51
+ containerInstanceIds: string[];
52
52
 
53
53
  /**
54
54
  * @generated from field: repeated string robot_instance_ids = 7;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cobotar/protocol",
3
- "version": "0.17.4",
3
+ "version": "0.17.5",
4
4
  "description": "A collection of protobuf messages for the CobotAR-project",
5
5
  "homepage": "https://github.com/cobotar/protocol#readme",
6
6
  "files": [