@rise-maritime/keelson-js 0.6.0-alpha.275.dev.1 → 0.6.0-alpha.280.dev.1

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.
@@ -30,7 +30,11 @@ export interface SeekRequest {
30
30
  target: Date | undefined;
31
31
  }
32
32
  export interface SetSpeedRequest {
33
- /** Playback speed multiplier; expected range [0.25, 4.0]. */
33
+ /**
34
+ * Playback speed multiplier; expected range [0.25, 20.0]. At high speeds a
35
+ * recording heavy with images or point clouds is published as fast as the
36
+ * replayer can manage and lags wall time; no message is dropped.
37
+ */
34
38
  speed: number;
35
39
  }
36
40
  export interface SetLoopRequest {
@@ -99,28 +99,6 @@ export declare enum GeometryType {
99
99
  }
100
100
  export declare function geometryTypeFromJSON(object: any): GeometryType;
101
101
  export declare function geometryTypeToJSON(object: GeometryType): string;
102
- /**
103
- * How a leg's XTD corridor boundary is defined. UNSPECIFIED MUST be read as
104
- * OFFSET: every leg published before this field existed is a constant-offset
105
- * corridor, and reading it any other way would change routes nobody edited.
106
- */
107
- export declare enum XtdCorridorMode {
108
- XTD_CORRIDOR_MODE_UNSPECIFIED = 0,
109
- /** XTD_CORRIDOR_MODE_OFFSET - Parallel lines at xtd_port_m / xtd_starboard_m either side of track. */
110
- XTD_CORRIDOR_MODE_OFFSET = 1,
111
- /**
112
- * XTD_CORRIDOR_MODE_POLYLINE - A boundary drawn by the planner (Leg.xtd_port_boundary /
113
- * xtd_starboard_boundary), e.g. a corridor that narrows past a shoal.
114
- * xtd_port_m / xtd_starboard_m still carry a nominal limit for a monitor
115
- * that does not evaluate polylines. That fallback is NOT conservative when
116
- * the drawn corridor is narrower than the nominal one, which is why such a
117
- * monitor SHOULD report the leg as monitored at reduced fidelity.
118
- */
119
- XTD_CORRIDOR_MODE_POLYLINE = 2,
120
- UNRECOGNIZED = -1
121
- }
122
- export declare function xtdCorridorModeFromJSON(object: any): XtdCorridorMode;
123
- export declare function xtdCorridorModeToJSON(object: XtdCorridorMode): string;
124
102
  /**
125
103
  * Whether a route's waypoint list closes back on itself. RTZ 1.2 has no such
126
104
  * concept, so producers either repeated the first waypoint (breaking id
@@ -488,19 +466,6 @@ export interface Leg {
488
466
  xtdStarboardM?: number | undefined;
489
467
  xtdMonitoringPortM?: number | undefined;
490
468
  xtdMonitoringStarboardM?: number | undefined;
491
- /**
492
- * How this leg's XTD corridor boundary is shaped. See XtdCorridorMode and
493
- * protocol-specification.md §6.2.2.
494
- */
495
- xtdCorridorMode: XtdCorridorMode;
496
- /**
497
- * POLYLINE only: the drawn corridor boundary on each side, vertices in
498
- * along-track order, covering this leg and the turn at the waypoint it
499
- * arrives at. A consumer MUST ignore both lists unless the mode is POLYLINE,
500
- * so a stale shape left behind by a switch back to OFFSET is never sailed.
501
- */
502
- xtdPortBoundary: XtdBoundaryPoint[];
503
- xtdStarboardBoundary: XtdBoundaryPoint[];
504
469
  /**
505
470
  * Safety contour (depth in metres below chart datum) below which the route
506
471
  * is considered unsafe.
@@ -549,36 +514,6 @@ export interface Leg {
549
514
  colregTrafficIntensity: ColregTrafficIntensity;
550
515
  extensions: Extensions | undefined;
551
516
  }
552
- /**
553
- * One vertex of a drawn XTD corridor boundary (Leg.xtd_port_boundary /
554
- * Leg.xtd_starboard_boundary).
555
- */
556
- export interface XtdBoundaryPoint {
557
- /**
558
- * WGS-84 vertex. Authoritative: this is the boundary a monitor checks
559
- * against, whatever the anchor below says.
560
- */
561
- position: Coordinate | undefined;
562
- /**
563
- * Editor anchor — where along the leg's straight the vertex was placed,
564
- * 0 at the leg's start and 1 at its end, and how far off track. Lets an
565
- * editor keep the vertex attached to the leg when a waypoint moves, instead
566
- * of leaving it stranded at its old position. `optional` because a vertex
567
- * placed freely (at a leg end or inside a turn) has no such anchor, and 0
568
- * is a real fraction.
569
- */
570
- alongTrackFraction?: number | undefined;
571
- /**
572
- * Perpendicular distance from track for that anchor, metres, always
573
- * positive: the side is given by which boundary list holds the vertex.
574
- */
575
- offsetM?: number | undefined;
576
- /**
577
- * True when the vertex lies on the turn at the leg's end rather than on the
578
- * straight.
579
- */
580
- inTurn: boolean;
581
- }
582
517
  export interface Schedules {
583
518
  /** Multiple schedules can coexist (e.g. "manual", "weather-optimized"). */
584
519
  schedule: Schedule[];
@@ -763,7 +698,6 @@ export declare const Waypoints: MessageFns<Waypoints>;
763
698
  export declare const DefaultWaypoint: MessageFns<DefaultWaypoint>;
764
699
  export declare const Waypoint: MessageFns<Waypoint>;
765
700
  export declare const Leg: MessageFns<Leg>;
766
- export declare const XtdBoundaryPoint: MessageFns<XtdBoundaryPoint>;
767
701
  export declare const Schedules: MessageFns<Schedules>;
768
702
  export declare const Schedule: MessageFns<Schedule>;
769
703
  export declare const ScheduleElement: MessageFns<ScheduleElement>;
@@ -5,8 +5,8 @@
5
5
  // protoc v6.30.2
6
6
  // source: Route.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.Waypoint = exports.DefaultWaypoint = exports.Waypoints = exports.RouteInfo = exports.Route = exports.Extensions_Entry_AttributesEntry = exports.Extensions_Entry = exports.Extensions = exports.CircleGeometry = exports.RouteRef = exports.schedule_OriginToJSON = exports.schedule_OriginFromJSON = exports.Schedule_Origin = exports.actionPointRequiredActionToJSON = exports.actionPointRequiredActionFromJSON = exports.ActionPointRequiredAction = exports.envelopeBoundToJSON = exports.envelopeBoundFromJSON = exports.EnvelopeBound = exports.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = exports.routeTopologyToJSON = exports.routeTopologyFromJSON = exports.RouteTopology = exports.xtdCorridorModeToJSON = exports.xtdCorridorModeFromJSON = exports.XtdCorridorMode = exports.geometryTypeToJSON = exports.geometryTypeFromJSON = exports.GeometryType = exports.colregTrafficIntensityToJSON = exports.colregTrafficIntensityFromJSON = exports.ColregTrafficIntensity = exports.colregSituationToJSON = exports.colregSituationFromJSON = exports.ColregSituation = exports.hazardZoneTypeToJSON = exports.hazardZoneTypeFromJSON = exports.HazardZoneType = exports.routeChallengeTypeToJSON = exports.routeChallengeTypeFromJSON = exports.RouteChallengeType = exports.operationalContextToJSON = exports.operationalContextFromJSON = exports.OperationalContext = exports.autonomyLevelToJSON = exports.autonomyLevelFromJSON = exports.AutonomyLevel = exports.protobufPackage = void 0;
9
- exports.RouteStatusUpdate = exports.RouteSignature = exports.RouteSignatures = exports.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = exports.Schedule = exports.Schedules = exports.XtdBoundaryPoint = exports.Leg = void 0;
8
+ exports.Schedule = exports.Schedules = exports.Leg = exports.Waypoint = exports.DefaultWaypoint = exports.Waypoints = exports.RouteInfo = exports.Route = exports.Extensions_Entry_AttributesEntry = exports.Extensions_Entry = exports.Extensions = exports.CircleGeometry = exports.RouteRef = exports.schedule_OriginToJSON = exports.schedule_OriginFromJSON = exports.Schedule_Origin = exports.actionPointRequiredActionToJSON = exports.actionPointRequiredActionFromJSON = exports.ActionPointRequiredAction = exports.envelopeBoundToJSON = exports.envelopeBoundFromJSON = exports.EnvelopeBound = exports.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = exports.routeTopologyToJSON = exports.routeTopologyFromJSON = exports.RouteTopology = exports.geometryTypeToJSON = exports.geometryTypeFromJSON = exports.GeometryType = exports.colregTrafficIntensityToJSON = exports.colregTrafficIntensityFromJSON = exports.ColregTrafficIntensity = exports.colregSituationToJSON = exports.colregSituationFromJSON = exports.ColregSituation = exports.hazardZoneTypeToJSON = exports.hazardZoneTypeFromJSON = exports.HazardZoneType = exports.routeChallengeTypeToJSON = exports.routeChallengeTypeFromJSON = exports.RouteChallengeType = exports.operationalContextToJSON = exports.operationalContextFromJSON = exports.OperationalContext = exports.autonomyLevelToJSON = exports.autonomyLevelFromJSON = exports.AutonomyLevel = exports.protobufPackage = void 0;
9
+ exports.RouteStatusUpdate = exports.RouteSignature = exports.RouteSignatures = exports.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = void 0;
10
10
  /* eslint-disable */
11
11
  const wire_1 = require("@bufbuild/protobuf/wire");
12
12
  const Coordinate_1 = require("./Coordinate");
@@ -432,59 +432,6 @@ function geometryTypeToJSON(object) {
432
432
  }
433
433
  }
434
434
  exports.geometryTypeToJSON = geometryTypeToJSON;
435
- /**
436
- * How a leg's XTD corridor boundary is defined. UNSPECIFIED MUST be read as
437
- * OFFSET: every leg published before this field existed is a constant-offset
438
- * corridor, and reading it any other way would change routes nobody edited.
439
- */
440
- var XtdCorridorMode;
441
- (function (XtdCorridorMode) {
442
- XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_UNSPECIFIED"] = 0] = "XTD_CORRIDOR_MODE_UNSPECIFIED";
443
- /** XTD_CORRIDOR_MODE_OFFSET - Parallel lines at xtd_port_m / xtd_starboard_m either side of track. */
444
- XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_OFFSET"] = 1] = "XTD_CORRIDOR_MODE_OFFSET";
445
- /**
446
- * XTD_CORRIDOR_MODE_POLYLINE - A boundary drawn by the planner (Leg.xtd_port_boundary /
447
- * xtd_starboard_boundary), e.g. a corridor that narrows past a shoal.
448
- * xtd_port_m / xtd_starboard_m still carry a nominal limit for a monitor
449
- * that does not evaluate polylines. That fallback is NOT conservative when
450
- * the drawn corridor is narrower than the nominal one, which is why such a
451
- * monitor SHOULD report the leg as monitored at reduced fidelity.
452
- */
453
- XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_POLYLINE"] = 2] = "XTD_CORRIDOR_MODE_POLYLINE";
454
- XtdCorridorMode[XtdCorridorMode["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
455
- })(XtdCorridorMode || (exports.XtdCorridorMode = XtdCorridorMode = {}));
456
- function xtdCorridorModeFromJSON(object) {
457
- switch (object) {
458
- case 0:
459
- case "XTD_CORRIDOR_MODE_UNSPECIFIED":
460
- return XtdCorridorMode.XTD_CORRIDOR_MODE_UNSPECIFIED;
461
- case 1:
462
- case "XTD_CORRIDOR_MODE_OFFSET":
463
- return XtdCorridorMode.XTD_CORRIDOR_MODE_OFFSET;
464
- case 2:
465
- case "XTD_CORRIDOR_MODE_POLYLINE":
466
- return XtdCorridorMode.XTD_CORRIDOR_MODE_POLYLINE;
467
- case -1:
468
- case "UNRECOGNIZED":
469
- default:
470
- return XtdCorridorMode.UNRECOGNIZED;
471
- }
472
- }
473
- exports.xtdCorridorModeFromJSON = xtdCorridorModeFromJSON;
474
- function xtdCorridorModeToJSON(object) {
475
- switch (object) {
476
- case XtdCorridorMode.XTD_CORRIDOR_MODE_UNSPECIFIED:
477
- return "XTD_CORRIDOR_MODE_UNSPECIFIED";
478
- case XtdCorridorMode.XTD_CORRIDOR_MODE_OFFSET:
479
- return "XTD_CORRIDOR_MODE_OFFSET";
480
- case XtdCorridorMode.XTD_CORRIDOR_MODE_POLYLINE:
481
- return "XTD_CORRIDOR_MODE_POLYLINE";
482
- case XtdCorridorMode.UNRECOGNIZED:
483
- default:
484
- return "UNRECOGNIZED";
485
- }
486
- }
487
- exports.xtdCorridorModeToJSON = xtdCorridorModeToJSON;
488
435
  /**
489
436
  * Whether a route's waypoint list closes back on itself. RTZ 1.2 has no such
490
437
  * concept, so producers either repeated the first waypoint (breaking id
@@ -2272,9 +2219,6 @@ function createBaseLeg() {
2272
2219
  xtdStarboardM: undefined,
2273
2220
  xtdMonitoringPortM: undefined,
2274
2221
  xtdMonitoringStarboardM: undefined,
2275
- xtdCorridorMode: 0,
2276
- xtdPortBoundary: [],
2277
- xtdStarboardBoundary: [],
2278
2222
  safetyContourM: undefined,
2279
2223
  safetyDepthM: undefined,
2280
2224
  ukcStaticM: undefined,
@@ -2312,15 +2256,6 @@ exports.Leg = {
2312
2256
  if (message.xtdMonitoringStarboardM !== undefined) {
2313
2257
  writer.uint32(37).float(message.xtdMonitoringStarboardM);
2314
2258
  }
2315
- if (message.xtdCorridorMode !== 0) {
2316
- writer.uint32(40).int32(message.xtdCorridorMode);
2317
- }
2318
- for (const v of message.xtdPortBoundary) {
2319
- exports.XtdBoundaryPoint.encode(v, writer.uint32(50).fork()).join();
2320
- }
2321
- for (const v of message.xtdStarboardBoundary) {
2322
- exports.XtdBoundaryPoint.encode(v, writer.uint32(58).fork()).join();
2323
- }
2324
2259
  if (message.safetyContourM !== undefined) {
2325
2260
  writer.uint32(85).float(message.safetyContourM);
2326
2261
  }
@@ -2421,27 +2356,6 @@ exports.Leg = {
2421
2356
  message.xtdMonitoringStarboardM = reader.float();
2422
2357
  continue;
2423
2358
  }
2424
- case 5: {
2425
- if (tag !== 40) {
2426
- break;
2427
- }
2428
- message.xtdCorridorMode = reader.int32();
2429
- continue;
2430
- }
2431
- case 6: {
2432
- if (tag !== 50) {
2433
- break;
2434
- }
2435
- message.xtdPortBoundary.push(exports.XtdBoundaryPoint.decode(reader, reader.uint32()));
2436
- continue;
2437
- }
2438
- case 7: {
2439
- if (tag !== 58) {
2440
- break;
2441
- }
2442
- message.xtdStarboardBoundary.push(exports.XtdBoundaryPoint.decode(reader, reader.uint32()));
2443
- continue;
2444
- }
2445
2359
  case 10: {
2446
2360
  if (tag !== 85) {
2447
2361
  break;
@@ -2605,13 +2519,6 @@ exports.Leg = {
2605
2519
  xtdMonitoringStarboardM: isSet(object.xtdMonitoringStarboardM)
2606
2520
  ? globalThis.Number(object.xtdMonitoringStarboardM)
2607
2521
  : undefined,
2608
- xtdCorridorMode: isSet(object.xtdCorridorMode) ? xtdCorridorModeFromJSON(object.xtdCorridorMode) : 0,
2609
- xtdPortBoundary: globalThis.Array.isArray(object?.xtdPortBoundary)
2610
- ? object.xtdPortBoundary.map((e) => exports.XtdBoundaryPoint.fromJSON(e))
2611
- : [],
2612
- xtdStarboardBoundary: globalThis.Array.isArray(object?.xtdStarboardBoundary)
2613
- ? object.xtdStarboardBoundary.map((e) => exports.XtdBoundaryPoint.fromJSON(e))
2614
- : [],
2615
2522
  safetyContourM: isSet(object.safetyContourM) ? globalThis.Number(object.safetyContourM) : undefined,
2616
2523
  safetyDepthM: isSet(object.safetyDepthM) ? globalThis.Number(object.safetyDepthM) : undefined,
2617
2524
  ukcStaticM: isSet(object.ukcStaticM) ? globalThis.Number(object.ukcStaticM) : undefined,
@@ -2651,15 +2558,6 @@ exports.Leg = {
2651
2558
  if (message.xtdMonitoringStarboardM !== undefined) {
2652
2559
  obj.xtdMonitoringStarboardM = message.xtdMonitoringStarboardM;
2653
2560
  }
2654
- if (message.xtdCorridorMode !== 0) {
2655
- obj.xtdCorridorMode = xtdCorridorModeToJSON(message.xtdCorridorMode);
2656
- }
2657
- if (message.xtdPortBoundary?.length) {
2658
- obj.xtdPortBoundary = message.xtdPortBoundary.map((e) => exports.XtdBoundaryPoint.toJSON(e));
2659
- }
2660
- if (message.xtdStarboardBoundary?.length) {
2661
- obj.xtdStarboardBoundary = message.xtdStarboardBoundary.map((e) => exports.XtdBoundaryPoint.toJSON(e));
2662
- }
2663
2561
  if (message.safetyContourM !== undefined) {
2664
2562
  obj.safetyContourM = message.safetyContourM;
2665
2563
  }
@@ -2734,9 +2632,6 @@ exports.Leg = {
2734
2632
  message.xtdStarboardM = object.xtdStarboardM ?? undefined;
2735
2633
  message.xtdMonitoringPortM = object.xtdMonitoringPortM ?? undefined;
2736
2634
  message.xtdMonitoringStarboardM = object.xtdMonitoringStarboardM ?? undefined;
2737
- message.xtdCorridorMode = object.xtdCorridorMode ?? 0;
2738
- message.xtdPortBoundary = object.xtdPortBoundary?.map((e) => exports.XtdBoundaryPoint.fromPartial(e)) || [];
2739
- message.xtdStarboardBoundary = object.xtdStarboardBoundary?.map((e) => exports.XtdBoundaryPoint.fromPartial(e)) || [];
2740
2635
  message.safetyContourM = object.safetyContourM ?? undefined;
2741
2636
  message.safetyDepthM = object.safetyDepthM ?? undefined;
2742
2637
  message.ukcStaticM = object.ukcStaticM ?? undefined;
@@ -2763,106 +2658,6 @@ exports.Leg = {
2763
2658
  return message;
2764
2659
  },
2765
2660
  };
2766
- function createBaseXtdBoundaryPoint() {
2767
- return { position: undefined, alongTrackFraction: undefined, offsetM: undefined, inTurn: false };
2768
- }
2769
- exports.XtdBoundaryPoint = {
2770
- encode(message, writer = new wire_1.BinaryWriter()) {
2771
- if (message.position !== undefined) {
2772
- Coordinate_1.Coordinate.encode(message.position, writer.uint32(10).fork()).join();
2773
- }
2774
- if (message.alongTrackFraction !== undefined) {
2775
- writer.uint32(17).double(message.alongTrackFraction);
2776
- }
2777
- if (message.offsetM !== undefined) {
2778
- writer.uint32(29).float(message.offsetM);
2779
- }
2780
- if (message.inTurn !== false) {
2781
- writer.uint32(32).bool(message.inTurn);
2782
- }
2783
- return writer;
2784
- },
2785
- decode(input, length) {
2786
- const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2787
- let end = length === undefined ? reader.len : reader.pos + length;
2788
- const message = createBaseXtdBoundaryPoint();
2789
- while (reader.pos < end) {
2790
- const tag = reader.uint32();
2791
- switch (tag >>> 3) {
2792
- case 1: {
2793
- if (tag !== 10) {
2794
- break;
2795
- }
2796
- message.position = Coordinate_1.Coordinate.decode(reader, reader.uint32());
2797
- continue;
2798
- }
2799
- case 2: {
2800
- if (tag !== 17) {
2801
- break;
2802
- }
2803
- message.alongTrackFraction = reader.double();
2804
- continue;
2805
- }
2806
- case 3: {
2807
- if (tag !== 29) {
2808
- break;
2809
- }
2810
- message.offsetM = reader.float();
2811
- continue;
2812
- }
2813
- case 4: {
2814
- if (tag !== 32) {
2815
- break;
2816
- }
2817
- message.inTurn = reader.bool();
2818
- continue;
2819
- }
2820
- }
2821
- if ((tag & 7) === 4 || tag === 0) {
2822
- break;
2823
- }
2824
- reader.skip(tag & 7);
2825
- }
2826
- return message;
2827
- },
2828
- fromJSON(object) {
2829
- return {
2830
- position: isSet(object.position) ? Coordinate_1.Coordinate.fromJSON(object.position) : undefined,
2831
- alongTrackFraction: isSet(object.alongTrackFraction) ? globalThis.Number(object.alongTrackFraction) : undefined,
2832
- offsetM: isSet(object.offsetM) ? globalThis.Number(object.offsetM) : undefined,
2833
- inTurn: isSet(object.inTurn) ? globalThis.Boolean(object.inTurn) : false,
2834
- };
2835
- },
2836
- toJSON(message) {
2837
- const obj = {};
2838
- if (message.position !== undefined) {
2839
- obj.position = Coordinate_1.Coordinate.toJSON(message.position);
2840
- }
2841
- if (message.alongTrackFraction !== undefined) {
2842
- obj.alongTrackFraction = message.alongTrackFraction;
2843
- }
2844
- if (message.offsetM !== undefined) {
2845
- obj.offsetM = message.offsetM;
2846
- }
2847
- if (message.inTurn !== false) {
2848
- obj.inTurn = message.inTurn;
2849
- }
2850
- return obj;
2851
- },
2852
- create(base) {
2853
- return exports.XtdBoundaryPoint.fromPartial(base ?? {});
2854
- },
2855
- fromPartial(object) {
2856
- const message = createBaseXtdBoundaryPoint();
2857
- message.position = (object.position !== undefined && object.position !== null)
2858
- ? Coordinate_1.Coordinate.fromPartial(object.position)
2859
- : undefined;
2860
- message.alongTrackFraction = object.alongTrackFraction ?? undefined;
2861
- message.offsetM = object.offsetM ?? undefined;
2862
- message.inTurn = object.inTurn ?? false;
2863
- return message;
2864
- },
2865
- };
2866
2661
  function createBaseSchedules() {
2867
2662
  return { schedule: [], extensions: undefined };
2868
2663
  }
@@ -98,28 +98,6 @@ export declare enum GeometryType {
98
98
  }
99
99
  export declare function geometryTypeFromJSON(object: any): GeometryType;
100
100
  export declare function geometryTypeToJSON(object: GeometryType): string;
101
- /**
102
- * How a leg's XTD corridor boundary is defined. UNSPECIFIED MUST be read as
103
- * OFFSET: every leg published before this field existed is a constant-offset
104
- * corridor, and reading it any other way would change routes nobody edited.
105
- */
106
- export declare enum XtdCorridorMode {
107
- XTD_CORRIDOR_MODE_UNSPECIFIED = 0,
108
- /** XTD_CORRIDOR_MODE_OFFSET - Parallel lines at xtd_port_m / xtd_starboard_m either side of track. */
109
- XTD_CORRIDOR_MODE_OFFSET = 1,
110
- /**
111
- * XTD_CORRIDOR_MODE_POLYLINE - A boundary drawn by the planner (Leg.xtd_port_boundary /
112
- * xtd_starboard_boundary), e.g. a corridor that narrows past a shoal.
113
- * xtd_port_m / xtd_starboard_m still carry a nominal limit for a monitor
114
- * that does not evaluate polylines. That fallback is NOT conservative when
115
- * the drawn corridor is narrower than the nominal one, which is why such a
116
- * monitor SHOULD report the leg as monitored at reduced fidelity.
117
- */
118
- XTD_CORRIDOR_MODE_POLYLINE = 2,
119
- UNRECOGNIZED = -1
120
- }
121
- export declare function xtdCorridorModeFromJSON(object: any): XtdCorridorMode;
122
- export declare function xtdCorridorModeToJSON(object: XtdCorridorMode): string;
123
101
  /**
124
102
  * Whether a route's waypoint list closes back on itself. RTZ 1.2 has no such
125
103
  * concept, so producers either repeated the first waypoint (breaking id
@@ -498,19 +476,6 @@ export interface Leg {
498
476
  xtdStarboardM?: number | undefined;
499
477
  xtdMonitoringPortM?: number | undefined;
500
478
  xtdMonitoringStarboardM?: number | undefined;
501
- /**
502
- * How this leg's XTD corridor boundary is shaped. See XtdCorridorMode and
503
- * protocol-specification.md §6.2.2.
504
- */
505
- xtdCorridorMode: XtdCorridorMode;
506
- /**
507
- * POLYLINE only: the drawn corridor boundary on each side, vertices in
508
- * along-track order, covering this leg and the turn at the waypoint it
509
- * arrives at. A consumer MUST ignore both lists unless the mode is POLYLINE,
510
- * so a stale shape left behind by a switch back to OFFSET is never sailed.
511
- */
512
- xtdPortBoundary: XtdBoundaryPoint[];
513
- xtdStarboardBoundary: XtdBoundaryPoint[];
514
479
  /**
515
480
  * Safety contour (depth in metres below chart datum) below which the route
516
481
  * is considered unsafe.
@@ -559,37 +524,6 @@ export interface Leg {
559
524
  colregTrafficIntensity: ColregTrafficIntensity;
560
525
  extensions: Extensions | undefined;
561
526
  }
562
- /**
563
- * One vertex of a drawn XTD corridor boundary (Leg.xtd_port_boundary /
564
- * Leg.xtd_starboard_boundary).
565
- */
566
- export interface XtdBoundaryPoint {
567
- $type: "keelson.XtdBoundaryPoint";
568
- /**
569
- * WGS-84 vertex. Authoritative: this is the boundary a monitor checks
570
- * against, whatever the anchor below says.
571
- */
572
- position: Coordinate | undefined;
573
- /**
574
- * Editor anchor — where along the leg's straight the vertex was placed,
575
- * 0 at the leg's start and 1 at its end, and how far off track. Lets an
576
- * editor keep the vertex attached to the leg when a waypoint moves, instead
577
- * of leaving it stranded at its old position. `optional` because a vertex
578
- * placed freely (at a leg end or inside a turn) has no such anchor, and 0
579
- * is a real fraction.
580
- */
581
- alongTrackFraction?: number | undefined;
582
- /**
583
- * Perpendicular distance from track for that anchor, metres, always
584
- * positive: the side is given by which boundary list holds the vertex.
585
- */
586
- offsetM?: number | undefined;
587
- /**
588
- * True when the vertex lies on the turn at the leg's end rather than on the
589
- * straight.
590
- */
591
- inTurn: boolean;
592
- }
593
527
  export interface Schedules {
594
528
  $type: "keelson.Schedules";
595
529
  /** Multiple schedules can coexist (e.g. "manual", "weather-optimized"). */
@@ -785,7 +719,6 @@ export declare const Waypoints: MessageFns<Waypoints, "keelson.Waypoints">;
785
719
  export declare const DefaultWaypoint: MessageFns<DefaultWaypoint, "keelson.DefaultWaypoint">;
786
720
  export declare const Waypoint: MessageFns<Waypoint, "keelson.Waypoint">;
787
721
  export declare const Leg: MessageFns<Leg, "keelson.Leg">;
788
- export declare const XtdBoundaryPoint: MessageFns<XtdBoundaryPoint, "keelson.XtdBoundaryPoint">;
789
722
  export declare const Schedules: MessageFns<Schedules, "keelson.Schedules">;
790
723
  export declare const Schedule: MessageFns<Schedule, "keelson.Schedule">;
791
724
  export declare const ScheduleElement: MessageFns<ScheduleElement, "keelson.ScheduleElement">;
@@ -5,8 +5,8 @@
5
5
  // protoc v6.30.2
6
6
  // source: Route.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.Leg = exports.Waypoint = exports.DefaultWaypoint = exports.Waypoints = exports.RouteInfo = exports.Route = exports.Extensions_Entry_AttributesEntry = exports.Extensions_Entry = exports.Extensions = exports.CircleGeometry = exports.RouteRef = exports.schedule_OriginToJSON = exports.schedule_OriginFromJSON = exports.Schedule_Origin = exports.actionPointRequiredActionToJSON = exports.actionPointRequiredActionFromJSON = exports.ActionPointRequiredAction = exports.envelopeBoundToJSON = exports.envelopeBoundFromJSON = exports.EnvelopeBound = exports.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = exports.routeTopologyToJSON = exports.routeTopologyFromJSON = exports.RouteTopology = exports.xtdCorridorModeToJSON = exports.xtdCorridorModeFromJSON = exports.XtdCorridorMode = exports.geometryTypeToJSON = exports.geometryTypeFromJSON = exports.GeometryType = exports.colregTrafficIntensityToJSON = exports.colregTrafficIntensityFromJSON = exports.ColregTrafficIntensity = exports.colregSituationToJSON = exports.colregSituationFromJSON = exports.ColregSituation = exports.hazardZoneTypeToJSON = exports.hazardZoneTypeFromJSON = exports.HazardZoneType = exports.routeChallengeTypeToJSON = exports.routeChallengeTypeFromJSON = exports.RouteChallengeType = exports.operationalContextToJSON = exports.operationalContextFromJSON = exports.OperationalContext = exports.autonomyLevelToJSON = exports.autonomyLevelFromJSON = exports.AutonomyLevel = void 0;
9
- exports.RouteStatusUpdate = exports.RouteSignature = exports.RouteSignatures = exports.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = exports.Schedule = exports.Schedules = exports.XtdBoundaryPoint = void 0;
8
+ exports.ScheduleElement = exports.Schedule = exports.Schedules = exports.Leg = exports.Waypoint = exports.DefaultWaypoint = exports.Waypoints = exports.RouteInfo = exports.Route = exports.Extensions_Entry_AttributesEntry = exports.Extensions_Entry = exports.Extensions = exports.CircleGeometry = exports.RouteRef = exports.schedule_OriginToJSON = exports.schedule_OriginFromJSON = exports.Schedule_Origin = exports.actionPointRequiredActionToJSON = exports.actionPointRequiredActionFromJSON = exports.ActionPointRequiredAction = exports.envelopeBoundToJSON = exports.envelopeBoundFromJSON = exports.EnvelopeBound = exports.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = exports.routeTopologyToJSON = exports.routeTopologyFromJSON = exports.RouteTopology = exports.geometryTypeToJSON = exports.geometryTypeFromJSON = exports.GeometryType = exports.colregTrafficIntensityToJSON = exports.colregTrafficIntensityFromJSON = exports.ColregTrafficIntensity = exports.colregSituationToJSON = exports.colregSituationFromJSON = exports.ColregSituation = exports.hazardZoneTypeToJSON = exports.hazardZoneTypeFromJSON = exports.HazardZoneType = exports.routeChallengeTypeToJSON = exports.routeChallengeTypeFromJSON = exports.RouteChallengeType = exports.operationalContextToJSON = exports.operationalContextFromJSON = exports.OperationalContext = exports.autonomyLevelToJSON = exports.autonomyLevelFromJSON = exports.AutonomyLevel = void 0;
9
+ exports.RouteStatusUpdate = exports.RouteSignature = exports.RouteSignatures = exports.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = void 0;
10
10
  /* eslint-disable */
11
11
  const wire_1 = require("@bufbuild/protobuf/wire");
12
12
  const Coordinate_1 = require("./Coordinate");
@@ -432,59 +432,6 @@ function geometryTypeToJSON(object) {
432
432
  }
433
433
  }
434
434
  exports.geometryTypeToJSON = geometryTypeToJSON;
435
- /**
436
- * How a leg's XTD corridor boundary is defined. UNSPECIFIED MUST be read as
437
- * OFFSET: every leg published before this field existed is a constant-offset
438
- * corridor, and reading it any other way would change routes nobody edited.
439
- */
440
- var XtdCorridorMode;
441
- (function (XtdCorridorMode) {
442
- XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_UNSPECIFIED"] = 0] = "XTD_CORRIDOR_MODE_UNSPECIFIED";
443
- /** XTD_CORRIDOR_MODE_OFFSET - Parallel lines at xtd_port_m / xtd_starboard_m either side of track. */
444
- XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_OFFSET"] = 1] = "XTD_CORRIDOR_MODE_OFFSET";
445
- /**
446
- * XTD_CORRIDOR_MODE_POLYLINE - A boundary drawn by the planner (Leg.xtd_port_boundary /
447
- * xtd_starboard_boundary), e.g. a corridor that narrows past a shoal.
448
- * xtd_port_m / xtd_starboard_m still carry a nominal limit for a monitor
449
- * that does not evaluate polylines. That fallback is NOT conservative when
450
- * the drawn corridor is narrower than the nominal one, which is why such a
451
- * monitor SHOULD report the leg as monitored at reduced fidelity.
452
- */
453
- XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_POLYLINE"] = 2] = "XTD_CORRIDOR_MODE_POLYLINE";
454
- XtdCorridorMode[XtdCorridorMode["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
455
- })(XtdCorridorMode || (exports.XtdCorridorMode = XtdCorridorMode = {}));
456
- function xtdCorridorModeFromJSON(object) {
457
- switch (object) {
458
- case 0:
459
- case "XTD_CORRIDOR_MODE_UNSPECIFIED":
460
- return XtdCorridorMode.XTD_CORRIDOR_MODE_UNSPECIFIED;
461
- case 1:
462
- case "XTD_CORRIDOR_MODE_OFFSET":
463
- return XtdCorridorMode.XTD_CORRIDOR_MODE_OFFSET;
464
- case 2:
465
- case "XTD_CORRIDOR_MODE_POLYLINE":
466
- return XtdCorridorMode.XTD_CORRIDOR_MODE_POLYLINE;
467
- case -1:
468
- case "UNRECOGNIZED":
469
- default:
470
- return XtdCorridorMode.UNRECOGNIZED;
471
- }
472
- }
473
- exports.xtdCorridorModeFromJSON = xtdCorridorModeFromJSON;
474
- function xtdCorridorModeToJSON(object) {
475
- switch (object) {
476
- case XtdCorridorMode.XTD_CORRIDOR_MODE_UNSPECIFIED:
477
- return "XTD_CORRIDOR_MODE_UNSPECIFIED";
478
- case XtdCorridorMode.XTD_CORRIDOR_MODE_OFFSET:
479
- return "XTD_CORRIDOR_MODE_OFFSET";
480
- case XtdCorridorMode.XTD_CORRIDOR_MODE_POLYLINE:
481
- return "XTD_CORRIDOR_MODE_POLYLINE";
482
- case XtdCorridorMode.UNRECOGNIZED:
483
- default:
484
- return "UNRECOGNIZED";
485
- }
486
- }
487
- exports.xtdCorridorModeToJSON = xtdCorridorModeToJSON;
488
435
  /**
489
436
  * Whether a route's waypoint list closes back on itself. RTZ 1.2 has no such
490
437
  * concept, so producers either repeated the first waypoint (breaking id
@@ -2317,9 +2264,6 @@ function createBaseLeg() {
2317
2264
  xtdStarboardM: undefined,
2318
2265
  xtdMonitoringPortM: undefined,
2319
2266
  xtdMonitoringStarboardM: undefined,
2320
- xtdCorridorMode: 0,
2321
- xtdPortBoundary: [],
2322
- xtdStarboardBoundary: [],
2323
2267
  safetyContourM: undefined,
2324
2268
  safetyDepthM: undefined,
2325
2269
  ukcStaticM: undefined,
@@ -2358,15 +2302,6 @@ exports.Leg = {
2358
2302
  if (message.xtdMonitoringStarboardM !== undefined) {
2359
2303
  writer.uint32(37).float(message.xtdMonitoringStarboardM);
2360
2304
  }
2361
- if (message.xtdCorridorMode !== 0) {
2362
- writer.uint32(40).int32(message.xtdCorridorMode);
2363
- }
2364
- for (const v of message.xtdPortBoundary) {
2365
- exports.XtdBoundaryPoint.encode(v, writer.uint32(50).fork()).join();
2366
- }
2367
- for (const v of message.xtdStarboardBoundary) {
2368
- exports.XtdBoundaryPoint.encode(v, writer.uint32(58).fork()).join();
2369
- }
2370
2305
  if (message.safetyContourM !== undefined) {
2371
2306
  writer.uint32(85).float(message.safetyContourM);
2372
2307
  }
@@ -2467,27 +2402,6 @@ exports.Leg = {
2467
2402
  message.xtdMonitoringStarboardM = reader.float();
2468
2403
  continue;
2469
2404
  }
2470
- case 5: {
2471
- if (tag !== 40) {
2472
- break;
2473
- }
2474
- message.xtdCorridorMode = reader.int32();
2475
- continue;
2476
- }
2477
- case 6: {
2478
- if (tag !== 50) {
2479
- break;
2480
- }
2481
- message.xtdPortBoundary.push(exports.XtdBoundaryPoint.decode(reader, reader.uint32()));
2482
- continue;
2483
- }
2484
- case 7: {
2485
- if (tag !== 58) {
2486
- break;
2487
- }
2488
- message.xtdStarboardBoundary.push(exports.XtdBoundaryPoint.decode(reader, reader.uint32()));
2489
- continue;
2490
- }
2491
2405
  case 10: {
2492
2406
  if (tag !== 85) {
2493
2407
  break;
@@ -2652,13 +2566,6 @@ exports.Leg = {
2652
2566
  xtdMonitoringStarboardM: isSet(object.xtdMonitoringStarboardM)
2653
2567
  ? globalThis.Number(object.xtdMonitoringStarboardM)
2654
2568
  : undefined,
2655
- xtdCorridorMode: isSet(object.xtdCorridorMode) ? xtdCorridorModeFromJSON(object.xtdCorridorMode) : 0,
2656
- xtdPortBoundary: globalThis.Array.isArray(object?.xtdPortBoundary)
2657
- ? object.xtdPortBoundary.map((e) => exports.XtdBoundaryPoint.fromJSON(e))
2658
- : [],
2659
- xtdStarboardBoundary: globalThis.Array.isArray(object?.xtdStarboardBoundary)
2660
- ? object.xtdStarboardBoundary.map((e) => exports.XtdBoundaryPoint.fromJSON(e))
2661
- : [],
2662
2569
  safetyContourM: isSet(object.safetyContourM) ? globalThis.Number(object.safetyContourM) : undefined,
2663
2570
  safetyDepthM: isSet(object.safetyDepthM) ? globalThis.Number(object.safetyDepthM) : undefined,
2664
2571
  ukcStaticM: isSet(object.ukcStaticM) ? globalThis.Number(object.ukcStaticM) : undefined,
@@ -2698,15 +2605,6 @@ exports.Leg = {
2698
2605
  if (message.xtdMonitoringStarboardM !== undefined) {
2699
2606
  obj.xtdMonitoringStarboardM = message.xtdMonitoringStarboardM;
2700
2607
  }
2701
- if (message.xtdCorridorMode !== 0) {
2702
- obj.xtdCorridorMode = xtdCorridorModeToJSON(message.xtdCorridorMode);
2703
- }
2704
- if (message.xtdPortBoundary?.length) {
2705
- obj.xtdPortBoundary = message.xtdPortBoundary.map((e) => exports.XtdBoundaryPoint.toJSON(e));
2706
- }
2707
- if (message.xtdStarboardBoundary?.length) {
2708
- obj.xtdStarboardBoundary = message.xtdStarboardBoundary.map((e) => exports.XtdBoundaryPoint.toJSON(e));
2709
- }
2710
2608
  if (message.safetyContourM !== undefined) {
2711
2609
  obj.safetyContourM = message.safetyContourM;
2712
2610
  }
@@ -2781,9 +2679,6 @@ exports.Leg = {
2781
2679
  message.xtdStarboardM = object.xtdStarboardM ?? undefined;
2782
2680
  message.xtdMonitoringPortM = object.xtdMonitoringPortM ?? undefined;
2783
2681
  message.xtdMonitoringStarboardM = object.xtdMonitoringStarboardM ?? undefined;
2784
- message.xtdCorridorMode = object.xtdCorridorMode ?? 0;
2785
- message.xtdPortBoundary = object.xtdPortBoundary?.map((e) => exports.XtdBoundaryPoint.fromPartial(e)) || [];
2786
- message.xtdStarboardBoundary = object.xtdStarboardBoundary?.map((e) => exports.XtdBoundaryPoint.fromPartial(e)) || [];
2787
2682
  message.safetyContourM = object.safetyContourM ?? undefined;
2788
2683
  message.safetyDepthM = object.safetyDepthM ?? undefined;
2789
2684
  message.ukcStaticM = object.ukcStaticM ?? undefined;
@@ -2811,115 +2706,6 @@ exports.Leg = {
2811
2706
  },
2812
2707
  };
2813
2708
  typeRegistry_1.messageTypeRegistry.set(exports.Leg.$type, exports.Leg);
2814
- function createBaseXtdBoundaryPoint() {
2815
- return {
2816
- $type: "keelson.XtdBoundaryPoint",
2817
- position: undefined,
2818
- alongTrackFraction: undefined,
2819
- offsetM: undefined,
2820
- inTurn: false,
2821
- };
2822
- }
2823
- exports.XtdBoundaryPoint = {
2824
- $type: "keelson.XtdBoundaryPoint",
2825
- encode(message, writer = new wire_1.BinaryWriter()) {
2826
- if (message.position !== undefined) {
2827
- Coordinate_1.Coordinate.encode(message.position, writer.uint32(10).fork()).join();
2828
- }
2829
- if (message.alongTrackFraction !== undefined) {
2830
- writer.uint32(17).double(message.alongTrackFraction);
2831
- }
2832
- if (message.offsetM !== undefined) {
2833
- writer.uint32(29).float(message.offsetM);
2834
- }
2835
- if (message.inTurn !== false) {
2836
- writer.uint32(32).bool(message.inTurn);
2837
- }
2838
- return writer;
2839
- },
2840
- decode(input, length) {
2841
- const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2842
- let end = length === undefined ? reader.len : reader.pos + length;
2843
- const message = createBaseXtdBoundaryPoint();
2844
- while (reader.pos < end) {
2845
- const tag = reader.uint32();
2846
- switch (tag >>> 3) {
2847
- case 1: {
2848
- if (tag !== 10) {
2849
- break;
2850
- }
2851
- message.position = Coordinate_1.Coordinate.decode(reader, reader.uint32());
2852
- continue;
2853
- }
2854
- case 2: {
2855
- if (tag !== 17) {
2856
- break;
2857
- }
2858
- message.alongTrackFraction = reader.double();
2859
- continue;
2860
- }
2861
- case 3: {
2862
- if (tag !== 29) {
2863
- break;
2864
- }
2865
- message.offsetM = reader.float();
2866
- continue;
2867
- }
2868
- case 4: {
2869
- if (tag !== 32) {
2870
- break;
2871
- }
2872
- message.inTurn = reader.bool();
2873
- continue;
2874
- }
2875
- }
2876
- if ((tag & 7) === 4 || tag === 0) {
2877
- break;
2878
- }
2879
- reader.skip(tag & 7);
2880
- }
2881
- return message;
2882
- },
2883
- fromJSON(object) {
2884
- return {
2885
- $type: exports.XtdBoundaryPoint.$type,
2886
- position: isSet(object.position) ? Coordinate_1.Coordinate.fromJSON(object.position) : undefined,
2887
- alongTrackFraction: isSet(object.alongTrackFraction) ? globalThis.Number(object.alongTrackFraction) : undefined,
2888
- offsetM: isSet(object.offsetM) ? globalThis.Number(object.offsetM) : undefined,
2889
- inTurn: isSet(object.inTurn) ? globalThis.Boolean(object.inTurn) : false,
2890
- };
2891
- },
2892
- toJSON(message) {
2893
- const obj = {};
2894
- if (message.position !== undefined) {
2895
- obj.position = Coordinate_1.Coordinate.toJSON(message.position);
2896
- }
2897
- if (message.alongTrackFraction !== undefined) {
2898
- obj.alongTrackFraction = message.alongTrackFraction;
2899
- }
2900
- if (message.offsetM !== undefined) {
2901
- obj.offsetM = message.offsetM;
2902
- }
2903
- if (message.inTurn !== false) {
2904
- obj.inTurn = message.inTurn;
2905
- }
2906
- return obj;
2907
- },
2908
- create(base) {
2909
- return exports.XtdBoundaryPoint.fromPartial(base ?? {});
2910
- },
2911
- fromPartial(object) {
2912
- const message = createBaseXtdBoundaryPoint();
2913
- message.position = (object.position !== undefined && object.position !== null)
2914
- ? Coordinate_1.Coordinate.fromPartial(object.position)
2915
- : undefined;
2916
- message.alongTrackFraction = object.alongTrackFraction ?? undefined;
2917
- message.offsetM = object.offsetM ?? undefined;
2918
- message.inTurn = object.inTurn ?? false;
2919
- return message;
2920
- },
2921
- };
2922
- typeRegistry_1.messageTypeRegistry.set(exports.XtdBoundaryPoint.$type, exports.XtdBoundaryPoint);
2923
2709
  function createBaseSchedules() {
2924
2710
  return { $type: "keelson.Schedules", schedule: [], extensions: undefined };
2925
2711
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rise-maritime/keelson-js",
3
3
  "//version": "NOT the published version. The release workflow overwrites it from the release tag (npm version --no-git-tag-version), so tag and artifact cannot disagree. Only matters for local installs; do not hand-bump before tagging — that manual step is what broke release 0.5.4.",
4
- "version": "0.6.0-alpha.275.dev.1",
4
+ "version": "0.6.0-alpha.280.dev.1",
5
5
  "description": "Keelson JavaScript SDK with Node-RED nodes",
6
6
  "main": "dist/index.js",
7
7
  "files": [