@orbat-mapper/control-measures 0.27.0 → 0.28.0

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
@@ -203,6 +203,10 @@ code.
203
203
  | <img src="media/minefield-dynamic.svg" width="96" height="48" alt=""> | `minefield-dynamic` | Minefield (Dynamic) | `270707` |
204
204
  | <img src="media/mined-area.svg" width="96" height="48" alt=""> | `mined-area` | Mined Area | `270800` |
205
205
  | <img src="media/bridge-or-gap.svg" width="96" height="48" alt=""> | `bridge-or-gap` | Bridge or Gap | `271100` |
206
+ | <img src="media/roadblock-planned.svg" width="96" height="48" alt=""> | `roadblock-planned` | Roadblock - Planned | `271201` |
207
+ | <img src="media/roadblock-explosives-safe.svg" width="96" height="48" alt=""> | `roadblock-explosives-safe` | Roadblock - Explosives, State of Readiness 1 (Safe) | `271202` |
208
+ | <img src="media/roadblock-explosives-armed.svg" width="96" height="48" alt=""> | `roadblock-explosives-armed` | Roadblock - Explosives, State of Readiness 2 (Armed but Passable) | `271203` |
209
+ | <img src="media/roadblock-complete.svg" width="96" height="48" alt=""> | `roadblock-complete` | Roadblock Complete (Executed) | `271204` |
206
210
 
207
211
  ### Protection Lines
208
212
 
@@ -248,7 +248,7 @@ declare function normalizeTextAmplifiers(input: TextAmplifiers | undefined): Can
248
248
  //#region src/metadata.d.ts
249
249
  type ControlMeasureGeometryType = Geometry["type"];
250
250
  type ControlMeasureGeometry = "point" | "line" | "area";
251
- declare const DRAW_RULE_IDS: readonly ["Area1", "Area5", "Area6", "Area7", "Area8", "Area11", "Area12", "Area15", "Area16", "Area17", "Area18", "Area19", "Area21", "Area27", "Axis1", "Line1", "Line3", "Line9", "Line10", "Line11", "Line23", "Line24", "Line25", "Line26", "Line27", "Line29", "Line30", "Line31", "Line32", "Line33", "Point1", "Point2", "Point12", "Point18", "Polyline1", "Rectangle", "Sector"];
251
+ declare const DRAW_RULE_IDS: readonly ["Area1", "Area5", "Area6", "Area7", "Area8", "Area11", "Area12", "Area15", "Area16", "Area17", "Area18", "Area19", "Area21", "Area27", "Axis1", "Line1", "Line3", "Line9", "Line10", "Line11", "Line12", "Line23", "Line24", "Line25", "Line26", "Line27", "Line29", "Line30", "Line31", "Line32", "Line33", "Point1", "Point2", "Point12", "Point18", "Polyline1", "Rectangle", "Sector"];
252
252
  type DrawRuleId = (typeof DRAW_RULE_IDS)[number];
253
253
  declare const PARAMETER_PRESENTATION_TIERS: readonly ["primary", "standard", "advanced"];
254
254
  type ParameterPresentationTier = (typeof PARAMETER_PRESENTATION_TIERS)[number];
@@ -3036,6 +3036,9 @@ declare function createBlock(coordinates: Position[], _options?: BlockOptions):
3036
3036
  type BridgeOrGapOptions = LabelSizeOptions;
3037
3037
  declare function createBridgeOrGap(coordinates: Position[], options?: BridgeOrGapOptions, textAmplifiers?: CanonicalTextAmplifiers): FeatureCollection<LineString | Point>;
3038
3038
  //#endregion
3039
+ //#region src/generators/cm27-protection-areas/roadblocks.d.ts
3040
+ type RoadblockOptions = Record<never, never>;
3041
+ //#endregion
3039
3042
  //#region src/generators/cm27-protection-areas/disrupt.d.ts
3040
3043
  interface DisruptOptions {
3041
3044
  middleArrowLengthRatio?: number;
@@ -3335,6 +3338,10 @@ declare const DEFINITIONS: {
3335
3338
  "turning-movement": ControlMeasureDefinition<"turning-movement", typeof createTurningMovement>;
3336
3339
  block: ControlMeasureDefinition<"block", typeof createBlock>;
3337
3340
  "bridge-or-gap": ControlMeasureDefinition<"bridge-or-gap", typeof createBridgeOrGap>;
3341
+ "roadblock-planned": ControlMeasureDefinition<"roadblock-planned", (positions: import("geojson").Position[], _options?: RoadblockOptions) => import("geojson").FeatureCollection<import("geojson").MultiLineString, import("geojson").GeoJsonProperties>>;
3342
+ "roadblock-explosives-safe": ControlMeasureDefinition<"roadblock-explosives-safe", (positions: import("geojson").Position[], _options?: RoadblockOptions) => import("geojson").FeatureCollection<import("geojson").MultiLineString, import("geojson").GeoJsonProperties>>;
3343
+ "roadblock-explosives-armed": ControlMeasureDefinition<"roadblock-explosives-armed", (positions: import("geojson").Position[], _options?: RoadblockOptions) => import("geojson").FeatureCollection<import("geojson").MultiLineString, import("geojson").GeoJsonProperties>>;
3344
+ "roadblock-complete": ControlMeasureDefinition<"roadblock-complete", (positions: import("geojson").Position[], _options?: RoadblockOptions) => import("geojson").FeatureCollection<import("geojson").MultiLineString, import("geojson").GeoJsonProperties>>;
3338
3345
  disrupt: ControlMeasureDefinition<"disrupt", typeof createDisrupt>;
3339
3346
  fix: ControlMeasureDefinition<"fix", typeof createFix>;
3340
3347
  "fix-mission-task": ControlMeasureDefinition<"fix-mission-task", typeof createFixMissionTaskSymbol>;
package/dist/index.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- import { $ as SimpleStyleRender, $a as resolveParameterSemanticRole, $i as DirectionOfMainAttackOptions, $n as ClearOptions, $r as GenericCircleOptions, $t as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, A as secureDrawRule, Aa as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, Ai as MobileDefenseOptions, An as MovementToContactOptions, Ar as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, At as MinefieldOptions, B as createMidpointPerpendicularDrawRule, Ba as resolveConstructionMetersPerCssPixel, Bi as FinalProtectiveFireOptions, Bn as DelayOptions, Br as AttackHelicopterOptions, Bt as TurningMovementOptions, C as turnDrawRule, Ca as BoundaryOptions, Ci as DEFAULT_LANDING_ZONE_OPTIONS, Cn as DEFAULT_NEUTRALIZE_OPTIONS, Cr as ReleaseLineOptions, Ct as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, D as dynamicPointDrawRule, Da as ControlMeasureOptionHandleDragEvent, Di as AssemblyAreaOptions, Dn as DEFAULT_DESTROY_OPTIONS, Dr as InfiltrationLaneOptions, Dt as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, E as attackByFireDrawRule, Ea as ControlMeasureOptionHandle, Ei as JointTacticalActionAreaOptions, En as DefeatOptions, Er as DEFAULT_INFILTRATION_LANE_OPTIONS, Et as ObstacleBypassDifficultOptions, F as blockDrawRule, Fa as DEFAULT_STROKE_DASH_CSS_PIXELS, Fi as DEFAULT_ENCIRCLEMENT_OPTIONS, Fn as DEFAULT_DISENGAGE_OPTIONS, Fr as FLOTOptions, Ft as DEFAULT_DISRUPT_OPTIONS, G as BaselineFrameNormal, Ga as ControlMeasurePaintCapability, Gi as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, Gn as CounterattackOptions, Gr as RADAR_SEARCH_DOCTRINE_FILL_COLOR, Gt as DEFAULT_FORTIFIED_LINE_OPTIONS, H as pointOnMidpointPerpendicularAxis, Ha as ControlMeasureGeometry, Hi as FeaturePartProps, Hn as DEFAULT_COVER_OPTIONS, Hr as AirborneAttackOptions, Ht as FrontalAttackOptions, I as containDrawRule, Ia as DEFAULT_STROKE_WIDTH_CSS_PIXELS, Ii as EncirclementOptions, In as DisengageOptions, Ir as AttackByFireOptions, It as DisruptOptions, J as createBaselineFrame, Ja as ParameterPresentationTier, Ji as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, Jn as DEFAULT_CORDON_AND_SEARCH_OPTIONS, Jr as DEFAULT_GENERIC_TEXT_OPTIONS, Jt as DEFAULT_ANTITANK_WALL_OPTIONS, K as BaselineFrameOptions, Ka as PARAMETER_PRESENTATION_TIERS, Ki as SECONDARY_DIRECTION_OF_FIRE_DASH, Kn as DEFAULT_COUNTERATTACK_OPTIONS, Kr as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, Kt as FortifiedLineOptions, L as area27DrawRule, La as LogicalTextStyle, Li as DEFAULT_TACTICAL_ARROW_OPTIONS, Ln as DEFAULT_DEMONSTRATE_OPTIONS, Lr as DEFAULT_ATTACK_BY_FIRE_OPTIONS, Lt as BlockOptions, M as occupyDrawRule, Ma as DEFAULT_LINE_CAP, Mi as EngagementAreaOptions, Mn as GuardOptions, Mr as DEFAULT_PHASE_LINE_OPTIONS, Mt as FixMissionTaskOptions, N as centerRadiusDrawRule, Na as DEFAULT_LINE_JOIN, Ni as AreaDefenseOptions, Nn as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, Nr as PhaseLineOptions, Nt as DEFAULT_FIX_OPTIONS, O as staticPointDrawRule, Oa as ControlMeasureOptionHandles, Oi as DEFAULT_ASSEMBLY_AREA_OPTIONS, On as DestroyOptions, Or as BridgeheadLineOptions, Ot as ObstacleBypassEasyOptions, P as disruptDrawRule, Pa as DEFAULT_PORTRAYAL, Pi as DEFAULT_AREA_DEFENSE_OPTIONS, Pn as DisruptMissionTaskOptions, Pr as DEFAULT_FLOT_OPTIONS, Pt as FixOptions, Q as SimpleStyleProps, Qa as resolveParameterPresentationTier, Qi as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, Qn as IsolateOptions, Qr as DEFAULT_GENERIC_CIRCLE_OPTIONS, Qt as TurnOptions, R as MidpointPerpendicularDrawRuleOptions, Ra as MeasureTextRequest, Ri as TacticalArrowOptions, Rn as DemonstrateOptions, Rr as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, Rt as DEFAULT_BLOCK_OPTIONS, S as line23DrawRule, Sa as unproject, Si as MineType, Sn as SuppressOptions, Sr as DEFAULT_RELEASE_LINE_OPTIONS, St as listControlMeasureMetadata, T as ambushDrawRule, Ta as BoxTransformDelta, Ti as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Tn as DEFAULT_DEFEAT_OPTIONS, Tr as HoldingLineOptions, Tt as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, U as snapToMidpointPerpendicular, Ua as ControlMeasureGeometryType, Ui as StyleHints, Un as CounterattackByFireOptions, Ur as DEFAULT_AIRBORNE_ATTACK_OPTIONS, Ut as DEFAULT_FORTIFIED_AREA_OPTIONS, V as getMidpointPerpendicularSignedDistance, Va as ControlMeasureFillCapability, Vi as ControlMeasureRender, Vn as CoverOptions, Vr as DEFAULT_ATTACK_HELICOPTER_OPTIONS, Vt as DEFAULT_FRONTAL_ATTACK_OPTIONS, W as BaselineFrame, Wa as ControlMeasureMetadata, Wi as controlMeasureIdFromFeature, Wn as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, Wr as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, Wt as FortifiedAreaOptions, X as getMetersPerPixel, Xa as TextAmplifierDescriptor, Xi as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, Xn as DEFAULT_CORDON_AND_KNOCK_OPTIONS, Xr as DEFAULT_GENERIC_SECTOR_OPTIONS, Xt as DEFAULT_ANTITANK_DITCH_OPTIONS, Y as EPSILON, Ya as ParameterSemanticRole, Yi as PrincipalDirectionOfFireOptions, Yn as CordonAndKnockOptions, Yr as GenericTextOptions, Yt as AntitankDitchOptions, Z as roundToFixed, Za as parameterPresentationTierRank, Zi as DirectionOfSupportingAttackOptions, Zn as DEFAULT_ISOLATE_OPTIONS, Zr as GenericSectorOptions, Zt as DEFAULT_TURN_OPTIONS, _ as supportByFireDrawRule, _a as EARTH_RADIUS, _i as computeInitialWidthPoint, _n as DEFAULT_PENETRATE_OPTIONS, _r as LimitOfAdvanceOptions, _t as ControlMeasureKind, a as SizePairSwitchResult, aa as StrongPointOptions, ai as GenericLineOptions, an as DEFAULT_SEIZE_OPTIONS, ao as TEXT_AMPLIFIER_FIELDS, ar as BreachOptions, at as getControlMeasureOptionHandles, b as line26DrawRule, ba as project, bi as DEFAULT_PICKUP_ZONE_OPTIONS, bn as OccupyOptions, br as DEFAULT_HANDOVER_LINE_OPTIONS, bt as getControlMeasureMetadataByValue, c as FollowAndSupportOptions, ca as BattlePositionOptions, ci as DEFAULT_BLOCK_ARROW_OPTIONS, cn as SecureOptions, co as TextAmplifiers, cr as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, ct as freezeOrientationOptions, d as createFollowAndAssume, da as GenericC2LineOptions, di as DEFAULT_CLASSIC_ARROW_OPTIONS, dn as DEFAULT_RETIRE_OPTIONS, do as resolveAmplifierPlacement, dr as ProbableLineOfDeploymentOptions, dt as ControlMeasure, ea as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, ei as DEFAULT_GENERIC_RECTANGLE_OPTIONS, en as WithdrawUnderPressureOptions, eo as AmplifierPlacement, er as DEFAULT_CLEAR_OPTIONS, et as toSimpleStyle, f as AmbushOptions, fa as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, fi as DEFAULT_SUPPORTING_ATTACK_OPTIONS, fn as RetireOptions, fo as ControlMeasureSizePair, fr as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, ft as cloneControlMeasure, g as axis1DrawRule, ga as LabelSizeOptions, gi as calculateMetrics, gn as RearwardPassageOfLinesOptions, gr as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, gt as ControlMeasureId, h as rectangleDrawRule, ha as LightLineOptions, hi as MainAttackOptions, hn as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, ho as ControlMeasureDrawRule, hr as LineOfDepartureOptions, ht as CONTROL_MEASURE_METADATA, i as SizePairResolution, ia as DEFAULT_STRONG_POINT_OPTIONS, ii as DEFAULT_GENERIC_LINE_OPTIONS, in as EvacuateOptions, io as LabelPlacementOverride, ir as DEFAULT_BYPASS_OPTIONS, it as dragControlMeasureOptionHandle, j as penetrateDrawRule, ja as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, ji as DEFAULT_ENGAGEMENT_AREA_OPTIONS, jn as DEFAULT_GUARD_OPTIONS, jr as ForwardEdgeOfBattleAreaOptions, jt as DEFAULT_FIX_MISSION_TASK_OPTIONS, k as point12DrawRule, ka as ControlMeasureRenderContext, ki as DEFAULT_MOBILE_DEFENSE_OPTIONS, kn as DEFAULT_MOVEMENT_TO_CONTACT_OPTIONS, kr as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, kt as DEFAULT_MINEFIELD_OPTIONS, l as createFollowAndSupport, la as DEFAULT_BATTLE_POSITION_OPTIONS, li as ClassicArrowHeadStyle, ln as DEFAULT_SCREEN_OPTIONS, lo as canonicalTextAmplifierKey, lr as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, lt as RenderOptions, m as sectorDrawRule, ma as DEFAULT_LIGHT_LINE_OPTIONS, mi as DEFAULT_MAIN_ATTACK_OPTIONS, mn as ReliefInPlaceOptions, mo as AnchorTransformEvent, mr as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, mt as CONTROL_MEASURE_IDS, n as SizePairRendering, na as DEFAULT_RETAIN_OPTIONS, ni as DEFAULT_GENERIC_POLYGON_OPTIONS, nn as WithdrawOptions, no as CanonicalTextAmplifiers, nr as DEFAULT_CANALIZE_OPTIONS, nt as resolveStyleHints, o as resolveSizePair, oa as ContainOptions, oi as BlockArrowHeadStyle, on as SeizeOptions, oo as TextAmplifierField, or as DEFAULT_BREACH_OPTIONS, ot as applyBoxTransformOptions, p as DEFAULT_AMBUSH_OPTIONS, pa as EngineerWorkLineOptions, pi as SupportingAttackOptions, pn as DEFAULT_RELIEF_IN_PLACE_OPTIONS, po as SizeUnit, pr as LineOfDepartureContactOptions, pt as isKind, q as BaselineFrameOrigin, qa as ParamDescriptor, qi as SecondaryDirectionOfFireOptions, qn as CordonAndSearchOptions, qr as RadarSearchDoctrineOptions, qt as AntitankWallOptions, r as SizePairRequest, ra as RetainOptions, ri as GenericPolygonOptions, rn as DEFAULT_EVACUATE_OPTIONS, ro as GeneratedLabelKey, rr as BypassOptions, rt as resolveSymbolColor, s as switchSizePairUnit, sa as DEFAULT_CONTAIN_OPTIONS, si as BlockArrowOptions, sn as DEFAULT_SECURE_OPTIONS, so as TextAmplifierKey, sr as BlockMissionTaskOptions, st as foldsBoxTransformOptions, t as SizePairFailure, ta as DirectionOfAttackAviationOptions, ti as GenericRectangleOptions, tn as DEFAULT_WITHDRAW_OPTIONS, to as AmplifierPlacements, tr as CanalizeOptions, tt as resolveDefaultSymbolColor, u as FollowAndAssumeOptions, ua as DEFAULT_GENERIC_C2_LINE_OPTIONS, ui as ClassicArrowOptions, un as ScreenOptions, uo as normalizeTextAmplifiers, ur as PROBABLE_LINE_OF_DEPLOYMENT_DASH, ut as renderControlMeasure, v as polyline1DrawRule, va as Point2D, vi as AreaOfOperationsOptions, vn as PenetrateOptions, vr as BattleHandoverLineOptions, vt as OptionsByKind, w as line1DrawRule, wa as DEFAULT_BOUNDARY_OPTIONS, wi as LandingZoneOptions, wn as NeutralizeOptions, wr as DEFAULT_HOLDING_LINE_OPTIONS, wt as ObstacleBypassImpossibleOptions, x as line24DrawRule, xa as sphericalBearing, xi as PickupZoneOptions, xn as DEFAULT_SUPPRESS_OPTIONS, xr as HandoverLineOptions, xt as getDefaultOptions, y as line27DrawRule, ya as haversineDistance, yi as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, yn as DEFAULT_OCCUPY_OPTIONS, yr as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, yt as getControlMeasureMetadata, z as computeDefaultMidpointPerpendicularPoint, za as MeasuredText, zi as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, zn as DEFAULT_DELAY_OPTIONS, zr as SupportByFireOptions, zt as DEFAULT_TURNING_MOVEMENT_OPTIONS } from "./index-DqX3wWxV.mjs";
1
+ import { $ as SimpleStyleRender, $a as resolveParameterSemanticRole, $i as DirectionOfMainAttackOptions, $n as ClearOptions, $r as GenericCircleOptions, $t as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, A as secureDrawRule, Aa as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, Ai as MobileDefenseOptions, An as MovementToContactOptions, Ar as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, At as MinefieldOptions, B as createMidpointPerpendicularDrawRule, Ba as resolveConstructionMetersPerCssPixel, Bi as FinalProtectiveFireOptions, Bn as DelayOptions, Br as AttackHelicopterOptions, Bt as TurningMovementOptions, C as turnDrawRule, Ca as BoundaryOptions, Ci as DEFAULT_LANDING_ZONE_OPTIONS, Cn as DEFAULT_NEUTRALIZE_OPTIONS, Cr as ReleaseLineOptions, Ct as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, D as dynamicPointDrawRule, Da as ControlMeasureOptionHandleDragEvent, Di as AssemblyAreaOptions, Dn as DEFAULT_DESTROY_OPTIONS, Dr as InfiltrationLaneOptions, Dt as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, E as attackByFireDrawRule, Ea as ControlMeasureOptionHandle, Ei as JointTacticalActionAreaOptions, En as DefeatOptions, Er as DEFAULT_INFILTRATION_LANE_OPTIONS, Et as ObstacleBypassDifficultOptions, F as blockDrawRule, Fa as DEFAULT_STROKE_DASH_CSS_PIXELS, Fi as DEFAULT_ENCIRCLEMENT_OPTIONS, Fn as DEFAULT_DISENGAGE_OPTIONS, Fr as FLOTOptions, Ft as DEFAULT_DISRUPT_OPTIONS, G as BaselineFrameNormal, Ga as ControlMeasurePaintCapability, Gi as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, Gn as CounterattackOptions, Gr as RADAR_SEARCH_DOCTRINE_FILL_COLOR, Gt as DEFAULT_FORTIFIED_LINE_OPTIONS, H as pointOnMidpointPerpendicularAxis, Ha as ControlMeasureGeometry, Hi as FeaturePartProps, Hn as DEFAULT_COVER_OPTIONS, Hr as AirborneAttackOptions, Ht as FrontalAttackOptions, I as containDrawRule, Ia as DEFAULT_STROKE_WIDTH_CSS_PIXELS, Ii as EncirclementOptions, In as DisengageOptions, Ir as AttackByFireOptions, It as DisruptOptions, J as createBaselineFrame, Ja as ParameterPresentationTier, Ji as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, Jn as DEFAULT_CORDON_AND_SEARCH_OPTIONS, Jr as DEFAULT_GENERIC_TEXT_OPTIONS, Jt as DEFAULT_ANTITANK_WALL_OPTIONS, K as BaselineFrameOptions, Ka as PARAMETER_PRESENTATION_TIERS, Ki as SECONDARY_DIRECTION_OF_FIRE_DASH, Kn as DEFAULT_COUNTERATTACK_OPTIONS, Kr as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, Kt as FortifiedLineOptions, L as area27DrawRule, La as LogicalTextStyle, Li as DEFAULT_TACTICAL_ARROW_OPTIONS, Ln as DEFAULT_DEMONSTRATE_OPTIONS, Lr as DEFAULT_ATTACK_BY_FIRE_OPTIONS, Lt as BlockOptions, M as occupyDrawRule, Ma as DEFAULT_LINE_CAP, Mi as EngagementAreaOptions, Mn as GuardOptions, Mr as DEFAULT_PHASE_LINE_OPTIONS, Mt as FixMissionTaskOptions, N as centerRadiusDrawRule, Na as DEFAULT_LINE_JOIN, Ni as AreaDefenseOptions, Nn as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, Nr as PhaseLineOptions, Nt as DEFAULT_FIX_OPTIONS, O as staticPointDrawRule, Oa as ControlMeasureOptionHandles, Oi as DEFAULT_ASSEMBLY_AREA_OPTIONS, On as DestroyOptions, Or as BridgeheadLineOptions, Ot as ObstacleBypassEasyOptions, P as disruptDrawRule, Pa as DEFAULT_PORTRAYAL, Pi as DEFAULT_AREA_DEFENSE_OPTIONS, Pn as DisruptMissionTaskOptions, Pr as DEFAULT_FLOT_OPTIONS, Pt as FixOptions, Q as SimpleStyleProps, Qa as resolveParameterPresentationTier, Qi as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, Qn as IsolateOptions, Qr as DEFAULT_GENERIC_CIRCLE_OPTIONS, Qt as TurnOptions, R as MidpointPerpendicularDrawRuleOptions, Ra as MeasureTextRequest, Ri as TacticalArrowOptions, Rn as DemonstrateOptions, Rr as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, Rt as DEFAULT_BLOCK_OPTIONS, S as line23DrawRule, Sa as unproject, Si as MineType, Sn as SuppressOptions, Sr as DEFAULT_RELEASE_LINE_OPTIONS, St as listControlMeasureMetadata, T as ambushDrawRule, Ta as BoxTransformDelta, Ti as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Tn as DEFAULT_DEFEAT_OPTIONS, Tr as HoldingLineOptions, Tt as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, U as snapToMidpointPerpendicular, Ua as ControlMeasureGeometryType, Ui as StyleHints, Un as CounterattackByFireOptions, Ur as DEFAULT_AIRBORNE_ATTACK_OPTIONS, Ut as DEFAULT_FORTIFIED_AREA_OPTIONS, V as getMidpointPerpendicularSignedDistance, Va as ControlMeasureFillCapability, Vi as ControlMeasureRender, Vn as CoverOptions, Vr as DEFAULT_ATTACK_HELICOPTER_OPTIONS, Vt as DEFAULT_FRONTAL_ATTACK_OPTIONS, W as BaselineFrame, Wa as ControlMeasureMetadata, Wi as controlMeasureIdFromFeature, Wn as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, Wr as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, Wt as FortifiedAreaOptions, X as getMetersPerPixel, Xa as TextAmplifierDescriptor, Xi as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, Xn as DEFAULT_CORDON_AND_KNOCK_OPTIONS, Xr as DEFAULT_GENERIC_SECTOR_OPTIONS, Xt as DEFAULT_ANTITANK_DITCH_OPTIONS, Y as EPSILON, Ya as ParameterSemanticRole, Yi as PrincipalDirectionOfFireOptions, Yn as CordonAndKnockOptions, Yr as GenericTextOptions, Yt as AntitankDitchOptions, Z as roundToFixed, Za as parameterPresentationTierRank, Zi as DirectionOfSupportingAttackOptions, Zn as DEFAULT_ISOLATE_OPTIONS, Zr as GenericSectorOptions, Zt as DEFAULT_TURN_OPTIONS, _ as supportByFireDrawRule, _a as EARTH_RADIUS, _i as computeInitialWidthPoint, _n as DEFAULT_PENETRATE_OPTIONS, _r as LimitOfAdvanceOptions, _t as ControlMeasureKind, a as SizePairSwitchResult, aa as StrongPointOptions, ai as GenericLineOptions, an as DEFAULT_SEIZE_OPTIONS, ao as TEXT_AMPLIFIER_FIELDS, ar as BreachOptions, at as getControlMeasureOptionHandles, b as line26DrawRule, ba as project, bi as DEFAULT_PICKUP_ZONE_OPTIONS, bn as OccupyOptions, br as DEFAULT_HANDOVER_LINE_OPTIONS, bt as getControlMeasureMetadataByValue, c as FollowAndSupportOptions, ca as BattlePositionOptions, ci as DEFAULT_BLOCK_ARROW_OPTIONS, cn as SecureOptions, co as TextAmplifiers, cr as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, ct as freezeOrientationOptions, d as createFollowAndAssume, da as GenericC2LineOptions, di as DEFAULT_CLASSIC_ARROW_OPTIONS, dn as DEFAULT_RETIRE_OPTIONS, do as resolveAmplifierPlacement, dr as ProbableLineOfDeploymentOptions, dt as ControlMeasure, ea as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, ei as DEFAULT_GENERIC_RECTANGLE_OPTIONS, en as WithdrawUnderPressureOptions, eo as AmplifierPlacement, er as DEFAULT_CLEAR_OPTIONS, et as toSimpleStyle, f as AmbushOptions, fa as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, fi as DEFAULT_SUPPORTING_ATTACK_OPTIONS, fn as RetireOptions, fo as ControlMeasureSizePair, fr as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, ft as cloneControlMeasure, g as axis1DrawRule, ga as LabelSizeOptions, gi as calculateMetrics, gn as RearwardPassageOfLinesOptions, gr as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, gt as ControlMeasureId, h as rectangleDrawRule, ha as LightLineOptions, hi as MainAttackOptions, hn as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, ho as ControlMeasureDrawRule, hr as LineOfDepartureOptions, ht as CONTROL_MEASURE_METADATA, i as SizePairResolution, ia as DEFAULT_STRONG_POINT_OPTIONS, ii as DEFAULT_GENERIC_LINE_OPTIONS, in as EvacuateOptions, io as LabelPlacementOverride, ir as DEFAULT_BYPASS_OPTIONS, it as dragControlMeasureOptionHandle, j as penetrateDrawRule, ja as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, ji as DEFAULT_ENGAGEMENT_AREA_OPTIONS, jn as DEFAULT_GUARD_OPTIONS, jr as ForwardEdgeOfBattleAreaOptions, jt as DEFAULT_FIX_MISSION_TASK_OPTIONS, k as point12DrawRule, ka as ControlMeasureRenderContext, ki as DEFAULT_MOBILE_DEFENSE_OPTIONS, kn as DEFAULT_MOVEMENT_TO_CONTACT_OPTIONS, kr as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, kt as DEFAULT_MINEFIELD_OPTIONS, l as createFollowAndSupport, la as DEFAULT_BATTLE_POSITION_OPTIONS, li as ClassicArrowHeadStyle, ln as DEFAULT_SCREEN_OPTIONS, lo as canonicalTextAmplifierKey, lr as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, lt as RenderOptions, m as sectorDrawRule, ma as DEFAULT_LIGHT_LINE_OPTIONS, mi as DEFAULT_MAIN_ATTACK_OPTIONS, mn as ReliefInPlaceOptions, mo as AnchorTransformEvent, mr as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, mt as CONTROL_MEASURE_IDS, n as SizePairRendering, na as DEFAULT_RETAIN_OPTIONS, ni as DEFAULT_GENERIC_POLYGON_OPTIONS, nn as WithdrawOptions, no as CanonicalTextAmplifiers, nr as DEFAULT_CANALIZE_OPTIONS, nt as resolveStyleHints, o as resolveSizePair, oa as ContainOptions, oi as BlockArrowHeadStyle, on as SeizeOptions, oo as TextAmplifierField, or as DEFAULT_BREACH_OPTIONS, ot as applyBoxTransformOptions, p as DEFAULT_AMBUSH_OPTIONS, pa as EngineerWorkLineOptions, pi as SupportingAttackOptions, pn as DEFAULT_RELIEF_IN_PLACE_OPTIONS, po as SizeUnit, pr as LineOfDepartureContactOptions, pt as isKind, q as BaselineFrameOrigin, qa as ParamDescriptor, qi as SecondaryDirectionOfFireOptions, qn as CordonAndSearchOptions, qr as RadarSearchDoctrineOptions, qt as AntitankWallOptions, r as SizePairRequest, ra as RetainOptions, ri as GenericPolygonOptions, rn as DEFAULT_EVACUATE_OPTIONS, ro as GeneratedLabelKey, rr as BypassOptions, rt as resolveSymbolColor, s as switchSizePairUnit, sa as DEFAULT_CONTAIN_OPTIONS, si as BlockArrowOptions, sn as DEFAULT_SECURE_OPTIONS, so as TextAmplifierKey, sr as BlockMissionTaskOptions, st as foldsBoxTransformOptions, t as SizePairFailure, ta as DirectionOfAttackAviationOptions, ti as GenericRectangleOptions, tn as DEFAULT_WITHDRAW_OPTIONS, to as AmplifierPlacements, tr as CanalizeOptions, tt as resolveDefaultSymbolColor, u as FollowAndAssumeOptions, ua as DEFAULT_GENERIC_C2_LINE_OPTIONS, ui as ClassicArrowOptions, un as ScreenOptions, uo as normalizeTextAmplifiers, ur as PROBABLE_LINE_OF_DEPLOYMENT_DASH, ut as renderControlMeasure, v as polyline1DrawRule, va as Point2D, vi as AreaOfOperationsOptions, vn as PenetrateOptions, vr as BattleHandoverLineOptions, vt as OptionsByKind, w as line1DrawRule, wa as DEFAULT_BOUNDARY_OPTIONS, wi as LandingZoneOptions, wn as NeutralizeOptions, wr as DEFAULT_HOLDING_LINE_OPTIONS, wt as ObstacleBypassImpossibleOptions, x as line24DrawRule, xa as sphericalBearing, xi as PickupZoneOptions, xn as DEFAULT_SUPPRESS_OPTIONS, xr as HandoverLineOptions, xt as getDefaultOptions, y as line27DrawRule, ya as haversineDistance, yi as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, yn as DEFAULT_OCCUPY_OPTIONS, yr as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, yt as getControlMeasureMetadata, z as computeDefaultMidpointPerpendicularPoint, za as MeasuredText, zi as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, zn as DEFAULT_DELAY_OPTIONS, zr as SupportByFireOptions, zt as DEFAULT_TURNING_MOVEMENT_OPTIONS } from "./index-DTx5ZF4Q.mjs";
2
2
  import { a as PatternId, c as PatternPoint, d as ColorRole, f as ControlMeasureStyle, g as SymbolColors, h as MIL_STD_GREEN, i as NON_SOLID_FILL_PATTERNS, l as PatternStroke, m as FillPattern, n as FillPatternCommand, o as PatternPaint, p as DEFAULT_SYMBOL_COLOR, r as FillPatternDefinition, s as PatternPathOperation, t as FILL_PATTERN_DEFINITIONS, u as getFillPatternDefinition } from "./patterns-DMO-zeaM.mjs";
3
3
  export { type AirborneAttackOptions, type AmbushOptions, type AmplifierPlacement, type AmplifierPlacements, type AnchorTransformEvent, type AntitankDitchOptions, type AntitankWallOptions, type AreaDefenseOptions, type AreaOfOperationsOptions, type AssemblyAreaOptions, type AttackByFireOptions, type AttackHelicopterOptions, type BaselineFrame, type BaselineFrameNormal, type BaselineFrameOptions, type BaselineFrameOrigin, type BattleHandoverLineOptions, type BattlePositionOptions, type BlockArrowHeadStyle, type BlockArrowOptions, type BlockMissionTaskOptions, type BlockOptions, type BoundaryOptions, type BoxTransformDelta, type BreachOptions, type BridgeheadLineOptions, type BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type CanonicalTextAmplifiers, type ClassicArrowHeadStyle, type ClassicArrowOptions, type ClearOptions, type ColorRole, type ContainOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureFillCapability, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasureOptionHandle, type ControlMeasureOptionHandleDragEvent, type ControlMeasureOptionHandles, type ControlMeasurePaintCapability, type ControlMeasureRender, type ControlMeasureRenderContext, type ControlMeasureSizePair, type ControlMeasureStyle, type CordonAndKnockOptions, type CordonAndSearchOptions, type CounterattackByFireOptions, type CounterattackOptions, type CoverOptions, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_AREA_DEFENSE_OPTIONS, DEFAULT_AREA_OF_OPERATIONS_OPTIONS, DEFAULT_ASSEMBLY_AREA_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, DEFAULT_BATTLE_POSITION_OPTIONS, DEFAULT_BLOCK_ARROW_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BOUNDARY_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BRIDGEHEAD_LINE_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_CONTAIN_OPTIONS, DEFAULT_CORDON_AND_KNOCK_OPTIONS, DEFAULT_CORDON_AND_SEARCH_OPTIONS, DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, DEFAULT_COUNTERATTACK_OPTIONS, DEFAULT_COVER_OPTIONS, DEFAULT_DEFEAT_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DEMONSTRATE_OPTIONS, DEFAULT_DESTROY_OPTIONS, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, DEFAULT_DISENGAGE_OPTIONS, DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGAGEMENT_AREA_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_EVACUATE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_MISSION_TASK_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GENERIC_SECTOR_OPTIONS, DEFAULT_GENERIC_TEXT_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_HOLDING_LINE_OPTIONS, DEFAULT_INFILTRATION_LANE_OPTIONS, DEFAULT_ISOLATE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LABEL_HEIGHT_CSS_PIXELS, DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, DEFAULT_LINE_OF_DEPARTURE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_MINEFIELD_OPTIONS, DEFAULT_MOBILE_DEFENSE_OPTIONS, DEFAULT_MOVEMENT_TO_CONTACT_OPTIONS, DEFAULT_NEUTRALIZE_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_OCCUPY_OPTIONS, DEFAULT_PENETRATE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PORTRAYAL, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, DEFAULT_RELEASE_LINE_OPTIONS, DEFAULT_RELIEF_IN_PLACE_OPTIONS, DEFAULT_RETAIN_OPTIONS, DEFAULT_RETIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SECURE_OPTIONS, DEFAULT_SEIZE_OPTIONS, DEFAULT_STROKE_DASH_CSS_PIXELS, DEFAULT_STROKE_WIDTH_CSS_PIXELS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_SUPPRESS_OPTIONS, DEFAULT_SYMBOL_COLOR, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, DEFAULT_WITHDRAW_OPTIONS, DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, type DefeatOptions, type DelayOptions, type DemonstrateOptions, type DestroyOptions, type DirectionOfAttackAviationOptions, type DirectionOfMainAttackOptions, type DirectionOfSupportingAttackOptions, type DisengageOptions, type DisruptMissionTaskOptions, type DisruptOptions, EARTH_RADIUS, EPSILON, type EncirclementOptions, type EngagementAreaOptions, type EngineerWorkLineOptions, type EvacuateOptions, FILL_PATTERN_DEFINITIONS, type FLOTOptions, type FeaturePartProps, type FillPattern, type FillPatternCommand, type FillPatternDefinition, type FinalProtectiveFireOptions, type FixMissionTaskOptions, type FixOptions, type FollowAndAssumeOptions, type FollowAndSupportOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type ForwardEdgeOfBattleAreaOptions, type FrontalAttackOptions, type GeneratedLabelKey, type GenericC2LineOptions, type GenericCircleOptions, type GenericLineOptions, type GenericPolygonOptions, type GenericRectangleOptions, type GenericSectorOptions, type GenericTextOptions, type GuardOptions, type HandoverLineOptions, type HoldingLineOptions, type InfiltrationLaneOptions, type IsolateOptions, type JointTacticalActionAreaOptions, type LabelPlacementOverride, type LabelSizeOptions, type LandingZoneOptions, type LightLineOptions, type LimitOfAdvanceOptions, type LineOfDepartureContactOptions, type LineOfDepartureOptions, type LogicalTextStyle, MIL_STD_GREEN, type MainAttackOptions, type MeasureTextRequest, type MeasuredText, type MidpointPerpendicularDrawRuleOptions, type MineType, type MinefieldOptions, type MobileDefenseOptions, type MovementToContactOptions, NON_SOLID_FILL_PATTERNS, type NeutralizeOptions, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OccupyOptions, type OptionsByKind, PARAMETER_PRESENTATION_TIERS, PROBABLE_LINE_OF_DEPLOYMENT_DASH, type ParamDescriptor, type ParameterPresentationTier, type ParameterSemanticRole, type PatternId, type PatternPaint, type PatternPathOperation, type PatternPoint, type PatternStroke, type PenetrateOptions, type PhaseLineOptions, type PickupZoneOptions, type Point2D, type PrincipalDirectionOfFireOptions, type ProbableLineOfDeploymentOptions, RADAR_SEARCH_DOCTRINE_FILL_COLOR, RADAR_SEARCH_DOCTRINE_STROKE_COLOR, type RadarSearchDoctrineOptions, type RearwardPassageOfLinesOptions, type ReleaseLineOptions, type ReliefInPlaceOptions, type RenderOptions, type RetainOptions, type RetireOptions, SECONDARY_DIRECTION_OF_FIRE_DASH, type ScreenOptions, type SecondaryDirectionOfFireOptions, type SecureOptions, type SeizeOptions, type SimpleStyleProps, type SimpleStyleRender, type SizePairFailure, type SizePairRendering, type SizePairRequest, type SizePairResolution, type SizePairSwitchResult, type SizeUnit, type StrongPointOptions, type StyleHints, type SupportByFireOptions, type SupportingAttackOptions, type SuppressOptions, type SymbolColors, TEXT_AMPLIFIER_FIELDS, type TacticalArrowOptions, type TextAmplifierDescriptor, type TextAmplifierField, type TextAmplifierKey, type TextAmplifiers, type TurnOptions, type TurningMovementOptions, type WithdrawOptions, type WithdrawUnderPressureOptions, ambushDrawRule, applyBoxTransformOptions, area27DrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, containDrawRule, controlMeasureIdFromFeature, createBaselineFrame, createFollowAndAssume, createFollowAndSupport, createMidpointPerpendicularDrawRule, disruptDrawRule, dragControlMeasureOptionHandle, dynamicPointDrawRule, foldsBoxTransformOptions, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getControlMeasureOptionHandles, getDefaultOptions, getFillPatternDefinition, getMetersPerPixel, getMidpointPerpendicularSignedDistance, haversineDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, line27DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, occupyDrawRule, parameterPresentationTierRank, penetrateDrawRule, point12DrawRule, pointOnMidpointPerpendicularAxis, polyline1DrawRule, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveConstructionMetersPerCssPixel, resolveDefaultSymbolColor, resolveParameterPresentationTier, resolveParameterSemanticRole, resolveSizePair, resolveStyleHints, resolveSymbolColor, roundToFixed, sectorDrawRule, secureDrawRule, snapToMidpointPerpendicular, sphericalBearing, staticPointDrawRule, supportByFireDrawRule, switchSizePairUnit, toSimpleStyle, turnDrawRule, unproject };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as DEFAULT_INFILTRATION_LANE_OPTIONS, $n as pointOnMidpointPerpendicularAxis, $t as DEFAULT_ENGAGEMENT_AREA_OPTIONS, A as DEFAULT_EVACUATE_OPTIONS, An as line27DrawRule, At as DEFAULT_GENERIC_POLYGON_OPTIONS, B as DEFAULT_FRONTAL_ATTACK_OPTIONS, Bn as staticPointDrawRule, Bt as DEFAULT_LIGHT_LINE_OPTIONS, C as DEFAULT_MINEFIELD_OPTIONS, Cn as MIL_STD_GREEN, Ct as DEFAULT_CLEAR_OPTIONS, D as DEFAULT_TURN_OPTIONS, Dn as computeInitialWidthPoint, Dt as DEFAULT_GENERIC_TEXT_OPTIONS, E as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, En as calculateMetrics, Et as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, F as DEFAULT_RELIEF_IN_PLACE_OPTIONS, Fn as line1DrawRule, Ft as DEFAULT_BYPASS_OPTIONS, G as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Gn as disruptDrawRule, Gt as DEFAULT_BATTLE_POSITION_OPTIONS, H as DEFAULT_FORTIFIED_LINE_OPTIONS, Hn as secureDrawRule, Ht as DEFAULT_BLOCK_ARROW_OPTIONS, I as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, In as ambushDrawRule, It as DEFAULT_BREACH_OPTIONS, J as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Jn as containDrawRule, Jt as DEFAULT_ANTITANK_WALL_OPTIONS, K as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, Kn as blockDrawRule, Kt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, L as DEFAULT_PENETRATE_OPTIONS, Ln as attackByFireDrawRule, Lt as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, M as DEFAULT_SECURE_OPTIONS, Mn as line24DrawRule, Mt as DEFAULT_GENERIC_CIRCLE_OPTIONS, N as DEFAULT_SCREEN_OPTIONS, Nn as line23DrawRule, Nt as DEFAULT_CLASSIC_ARROW_OPTIONS, O as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, On as supportByFireDrawRule, Ot as DEFAULT_GENERIC_SECTOR_OPTIONS, P as DEFAULT_RETIRE_OPTIONS, Pn as turnDrawRule, Pt as DEFAULT_CANALIZE_OPTIONS, Q as DEFAULT_HOLDING_LINE_OPTIONS, Qn as getMidpointPerpendicularSignedDistance, Qt as DEFAULT_MOBILE_DEFENSE_OPTIONS, R as DEFAULT_OCCUPY_OPTIONS, Rn as dynamicPointDrawRule, Rt as DEFAULT_GENERIC_C2_LINE_OPTIONS, S as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, Sn as DEFAULT_SYMBOL_COLOR, St as DEFAULT_ISOLATE_OPTIONS, T as DEFAULT_LANDING_ZONE_OPTIONS, Tn as axis1DrawRule, Tt as RADAR_SEARCH_DOCTRINE_FILL_COLOR, U as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, Un as penetrateDrawRule, Ut as DEFAULT_BLOCK_OPTIONS, V as DEFAULT_FORTIFIED_AREA_OPTIONS, Vn as point12DrawRule, Vt as DEFAULT_BOUNDARY_OPTIONS, W as PROBABLE_LINE_OF_DEPLOYMENT_DASH, Wn as occupyDrawRule, Wt as DEFAULT_CONTAIN_OPTIONS, X as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Xn as computeDefaultMidpointPerpendicularPoint, Xt as DEFAULT_ASSEMBLY_AREA_OPTIONS, Y as DEFAULT_HANDOVER_LINE_OPTIONS, Yn as area27DrawRule, Yt as DEFAULT_ANTITANK_DITCH_OPTIONS, Z as DEFAULT_RELEASE_LINE_OPTIONS, Zn as createMidpointPerpendicularDrawRule, Zt as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, _ as SECONDARY_DIRECTION_OF_FIRE_DASH, _n as DEFAULT_LINE_JOIN, _t as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, a as CONTROL_MEASURE_IDS, an as canonicalTextAmplifierKey, ar as sphericalBearing, at as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, b as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, bn as DEFAULT_STROKE_WIDTH_CSS_PIXELS, bt as DEFAULT_CORDON_AND_SEARCH_OPTIONS, c as getControlMeasureMetadata, cn as DEFAULT_AMBUSH_OPTIONS, cr as getMetersPerPixel, ct as DEFAULT_GUARD_OPTIONS, d as listControlMeasureMetadata, dn as DEFAULT_NEUTRALIZE_OPTIONS, dt as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, en as DEFAULT_AREA_DEFENSE_OPTIONS, er as snapToMidpointPerpendicular, et as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, f as DEFAULT_TURNING_MOVEMENT_OPTIONS, fn as DEFAULT_SUPPRESS_OPTIONS, ft as DEFAULT_DISENGAGE_OPTIONS, g as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, gn as DEFAULT_LINE_CAP, gt as DEFAULT_TACTICAL_ARROW_OPTIONS, h as DEFAULT_STRONG_POINT_OPTIONS, hn as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, ht as DEFAULT_COVER_OPTIONS, i as resolveSymbolColor, in as TEXT_AMPLIFIER_FIELDS, ir as project, it as DEFAULT_FIX_OPTIONS, j as DEFAULT_SEIZE_OPTIONS, jn as line26DrawRule, jt as DEFAULT_GENERIC_LINE_OPTIONS, k as DEFAULT_WITHDRAW_OPTIONS, kn as polyline1DrawRule, kt as DEFAULT_GENERIC_RECTANGLE_OPTIONS, l as getControlMeasureMetadataByValue, ln as DEFAULT_AIRBORNE_ATTACK_OPTIONS, lr as isFiniteNumber, lt as createFollowAndSupport, m as DEFAULT_RETAIN_OPTIONS, mn as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, mt as DEFAULT_DELAY_OPTIONS, n as resolveDefaultSymbolColor, nn as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, nr as EARTH_RADIUS, nt as DEFAULT_FLOT_OPTIONS, o as CONTROL_MEASURE_METADATA, on as normalizeTextAmplifiers, or as unproject, ot as DEFAULT_ENCIRCLEMENT_OPTIONS, p as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, pn as DEFAULT_DEFEAT_OPTIONS, pt as DEFAULT_DEMONSTRATE_OPTIONS, q as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, qn as centerRadiusDrawRule, qt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, r as resolveStyleHints, rn as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, rr as haversineDistance, rt as DEFAULT_FIX_MISSION_TASK_OPTIONS, s as DEFINITIONS, sn as resolveAmplifierPlacement, sr as EPSILON, st as DEFAULT_DISRUPT_OPTIONS, t as renderControlMeasure, tn as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, tr as createBaselineFrame, tt as DEFAULT_PHASE_LINE_OPTIONS, u as getDefaultOptions, un as DEFAULT_DESTROY_OPTIONS, ur as roundToFixed, ut as createFollowAndAssume, v as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, vn as DEFAULT_PORTRAYAL, vt as DEFAULT_COUNTERATTACK_OPTIONS, w as DEFAULT_MAIN_ATTACK_OPTIONS, wn as rectangleDrawRule, wt as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, x as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, xn as resolveConstructionMetersPerCssPixel, xt as DEFAULT_CORDON_AND_KNOCK_OPTIONS, y as DEFAULT_PICKUP_ZONE_OPTIONS, yn as DEFAULT_STROKE_DASH_CSS_PIXELS, yt as DEFAULT_SUPPORTING_ATTACK_OPTIONS, z as DEFAULT_MOVEMENT_TO_CONTACT_OPTIONS, zn as sectorDrawRule, zt as DEFAULT_ENGINEER_WORK_LINE_OPTIONS } from "./renderControlMeasure-Cil8mQzg.mjs";
1
+ import { $ as DEFAULT_INFILTRATION_LANE_OPTIONS, $n as pointOnMidpointPerpendicularAxis, $t as DEFAULT_ENGAGEMENT_AREA_OPTIONS, A as DEFAULT_EVACUATE_OPTIONS, An as line27DrawRule, At as DEFAULT_GENERIC_POLYGON_OPTIONS, B as DEFAULT_FRONTAL_ATTACK_OPTIONS, Bn as staticPointDrawRule, Bt as DEFAULT_LIGHT_LINE_OPTIONS, C as DEFAULT_MINEFIELD_OPTIONS, Cn as MIL_STD_GREEN, Ct as DEFAULT_CLEAR_OPTIONS, D as DEFAULT_TURN_OPTIONS, Dn as computeInitialWidthPoint, Dt as DEFAULT_GENERIC_TEXT_OPTIONS, E as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, En as calculateMetrics, Et as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, F as DEFAULT_RELIEF_IN_PLACE_OPTIONS, Fn as line1DrawRule, Ft as DEFAULT_BYPASS_OPTIONS, G as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Gn as disruptDrawRule, Gt as DEFAULT_BATTLE_POSITION_OPTIONS, H as DEFAULT_FORTIFIED_LINE_OPTIONS, Hn as secureDrawRule, Ht as DEFAULT_BLOCK_ARROW_OPTIONS, I as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, In as ambushDrawRule, It as DEFAULT_BREACH_OPTIONS, J as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Jn as containDrawRule, Jt as DEFAULT_ANTITANK_WALL_OPTIONS, K as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, Kn as blockDrawRule, Kt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, L as DEFAULT_PENETRATE_OPTIONS, Ln as attackByFireDrawRule, Lt as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, M as DEFAULT_SECURE_OPTIONS, Mn as line24DrawRule, Mt as DEFAULT_GENERIC_CIRCLE_OPTIONS, N as DEFAULT_SCREEN_OPTIONS, Nn as line23DrawRule, Nt as DEFAULT_CLASSIC_ARROW_OPTIONS, O as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, On as supportByFireDrawRule, Ot as DEFAULT_GENERIC_SECTOR_OPTIONS, P as DEFAULT_RETIRE_OPTIONS, Pn as turnDrawRule, Pt as DEFAULT_CANALIZE_OPTIONS, Q as DEFAULT_HOLDING_LINE_OPTIONS, Qn as getMidpointPerpendicularSignedDistance, Qt as DEFAULT_MOBILE_DEFENSE_OPTIONS, R as DEFAULT_OCCUPY_OPTIONS, Rn as dynamicPointDrawRule, Rt as DEFAULT_GENERIC_C2_LINE_OPTIONS, S as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, Sn as DEFAULT_SYMBOL_COLOR, St as DEFAULT_ISOLATE_OPTIONS, T as DEFAULT_LANDING_ZONE_OPTIONS, Tn as axis1DrawRule, Tt as RADAR_SEARCH_DOCTRINE_FILL_COLOR, U as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, Un as penetrateDrawRule, Ut as DEFAULT_BLOCK_OPTIONS, V as DEFAULT_FORTIFIED_AREA_OPTIONS, Vn as point12DrawRule, Vt as DEFAULT_BOUNDARY_OPTIONS, W as PROBABLE_LINE_OF_DEPLOYMENT_DASH, Wn as occupyDrawRule, Wt as DEFAULT_CONTAIN_OPTIONS, X as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Xn as computeDefaultMidpointPerpendicularPoint, Xt as DEFAULT_ASSEMBLY_AREA_OPTIONS, Y as DEFAULT_HANDOVER_LINE_OPTIONS, Yn as area27DrawRule, Yt as DEFAULT_ANTITANK_DITCH_OPTIONS, Z as DEFAULT_RELEASE_LINE_OPTIONS, Zn as createMidpointPerpendicularDrawRule, Zt as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, _ as SECONDARY_DIRECTION_OF_FIRE_DASH, _n as DEFAULT_LINE_JOIN, _t as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, a as CONTROL_MEASURE_IDS, an as canonicalTextAmplifierKey, ar as sphericalBearing, at as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, b as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, bn as DEFAULT_STROKE_WIDTH_CSS_PIXELS, bt as DEFAULT_CORDON_AND_SEARCH_OPTIONS, c as getControlMeasureMetadata, cn as DEFAULT_AMBUSH_OPTIONS, cr as getMetersPerPixel, ct as DEFAULT_GUARD_OPTIONS, d as listControlMeasureMetadata, dn as DEFAULT_NEUTRALIZE_OPTIONS, dt as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, en as DEFAULT_AREA_DEFENSE_OPTIONS, er as snapToMidpointPerpendicular, et as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, f as DEFAULT_TURNING_MOVEMENT_OPTIONS, fn as DEFAULT_SUPPRESS_OPTIONS, ft as DEFAULT_DISENGAGE_OPTIONS, g as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, gn as DEFAULT_LINE_CAP, gt as DEFAULT_TACTICAL_ARROW_OPTIONS, h as DEFAULT_STRONG_POINT_OPTIONS, hn as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, ht as DEFAULT_COVER_OPTIONS, i as resolveSymbolColor, in as TEXT_AMPLIFIER_FIELDS, ir as project, it as DEFAULT_FIX_OPTIONS, j as DEFAULT_SEIZE_OPTIONS, jn as line26DrawRule, jt as DEFAULT_GENERIC_LINE_OPTIONS, k as DEFAULT_WITHDRAW_OPTIONS, kn as polyline1DrawRule, kt as DEFAULT_GENERIC_RECTANGLE_OPTIONS, l as getControlMeasureMetadataByValue, ln as DEFAULT_AIRBORNE_ATTACK_OPTIONS, lr as isFiniteNumber, lt as createFollowAndSupport, m as DEFAULT_RETAIN_OPTIONS, mn as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, mt as DEFAULT_DELAY_OPTIONS, n as resolveDefaultSymbolColor, nn as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, nr as EARTH_RADIUS, nt as DEFAULT_FLOT_OPTIONS, o as CONTROL_MEASURE_METADATA, on as normalizeTextAmplifiers, or as unproject, ot as DEFAULT_ENCIRCLEMENT_OPTIONS, p as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, pn as DEFAULT_DEFEAT_OPTIONS, pt as DEFAULT_DEMONSTRATE_OPTIONS, q as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, qn as centerRadiusDrawRule, qt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, r as resolveStyleHints, rn as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, rr as haversineDistance, rt as DEFAULT_FIX_MISSION_TASK_OPTIONS, s as DEFINITIONS, sn as resolveAmplifierPlacement, sr as EPSILON, st as DEFAULT_DISRUPT_OPTIONS, t as renderControlMeasure, tn as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, tr as createBaselineFrame, tt as DEFAULT_PHASE_LINE_OPTIONS, u as getDefaultOptions, un as DEFAULT_DESTROY_OPTIONS, ur as roundToFixed, ut as createFollowAndAssume, v as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, vn as DEFAULT_PORTRAYAL, vt as DEFAULT_COUNTERATTACK_OPTIONS, w as DEFAULT_MAIN_ATTACK_OPTIONS, wn as rectangleDrawRule, wt as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, x as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, xn as resolveConstructionMetersPerCssPixel, xt as DEFAULT_CORDON_AND_KNOCK_OPTIONS, y as DEFAULT_PICKUP_ZONE_OPTIONS, yn as DEFAULT_STROKE_DASH_CSS_PIXELS, yt as DEFAULT_SUPPORTING_ATTACK_OPTIONS, z as DEFAULT_MOVEMENT_TO_CONTACT_OPTIONS, zn as sectorDrawRule, zt as DEFAULT_ENGINEER_WORK_LINE_OPTIONS } from "./renderControlMeasure-D1kIdove.mjs";
2
2
  import { FILL_PATTERN_DEFINITIONS, NON_SOLID_FILL_PATTERNS, getFillPatternDefinition } from "./patterns.mjs";
3
3
  //#region src/metadata.ts
4
4
  const PARAMETER_PRESENTATION_TIERS = [
@@ -1,4 +1,4 @@
1
- import { co as TextAmplifiers, gt as ControlMeasureId } from "../index-DqX3wWxV.mjs";
1
+ import { co as TextAmplifiers, gt as ControlMeasureId } from "../index-DTx5ZF4Q.mjs";
2
2
  import { g as SymbolColors, m as FillPattern } from "../patterns-DMO-zeaM.mjs";
3
3
  import { FeatureCollection, Geometry, Position } from "geojson";
4
4
 
@@ -1,4 +1,4 @@
1
- import { s as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-Cil8mQzg.mjs";
1
+ import { s as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-D1kIdove.mjs";
2
2
  import { FILL_PATTERN_DEFINITIONS, NON_SOLID_FILL_PATTERNS } from "../patterns.mjs";
3
3
  //#region src/preview/index.ts
4
4
  /** Side length (SVG units) of the repeating non-mine tile in {@link PREVIEW_FILL_PATTERNS}. */
@@ -992,6 +992,24 @@ const bridgeOrGapDrawRule = {
992
992
  }
993
993
  };
994
994
  //#endregion
995
+ //#region src/draw-rules/line12.ts
996
+ /**
997
+ * Line12 anchor draw rule for Roadblocks, Craters and Blown Bridges.
998
+ *
999
+ * PT. 1 and PT. 2 are the endpoints of the symbol's centerline. PT. 3 is
1000
+ * constrained to the perpendicular axis through `midpoint(PT. 1, PT. 2)` and
1001
+ * locates one side of the symbol; its distance from the centerline is the
1002
+ * half-width. All three points are placed explicitly, with a two-point live
1003
+ * preview before commit.
1004
+ */
1005
+ const line12DrawRule = createMidpointPerpendicularDrawRule({
1006
+ id: "line12:roadblock",
1007
+ defaultDistanceRatio: .1,
1008
+ minimumUserPoints: 3,
1009
+ minimumPreviewPoints: 2,
1010
+ finishOnLastPointRepeat: true
1011
+ });
1012
+ //#endregion
995
1013
  //#region src/draw-rules/line23.ts
996
1014
  /**
997
1015
  * Line23 anchor draw rule for the Clear mission task.
@@ -2981,7 +2999,7 @@ function createWireObstacle(positions, options, text, context, kind) {
2981
2999
  features: [...features, ...labels]
2982
3000
  };
2983
3001
  }
2984
- function definition$1(id, name, kind) {
3002
+ function definition$2(id, name, kind) {
2985
3003
  const spec = WIRE_KINDS[kind];
2986
3004
  return defineControlMeasure({
2987
3005
  metadata: {
@@ -3040,15 +3058,15 @@ function definition$1(id, name, kind) {
3040
3058
  }
3041
3059
  });
3042
3060
  }
3043
- const WIRE_OBSTACLE_UNSPECIFIED = definition$1("wire-obstacle-unspecified", "Wire Obstacles – Unspecified", "unspecified");
3044
- const SINGLE_FENCE = definition$1("single-fence", "Single Fence", "single");
3045
- const DOUBLE_FENCE = definition$1("double-fence", "Double Fence", "double");
3046
- const DOUBLE_APRON_FENCE = definition$1("double-apron-fence", "Double Apron Fence", "apron");
3047
- const LOW_WIRE_FENCE = definition$1("low-wire-fence", "Low Wire Fence", "low");
3048
- const HIGH_WIRE_FENCE = definition$1("high-wire-fence", "High Wire Fence", "high");
3049
- const SINGLE_CONCERTINA = definition$1("single-concertina", "Single Concertina", "concertina");
3050
- const DOUBLE_STRAND_CONCERTINA = definition$1("double-strand-concertina", "Double Strand Concertina", "double-concertina");
3051
- const TRIPLE_STRAND_CONCERTINA = definition$1("triple-strand-concertina", "Triple Strand Concertina", "triple-concertina");
3061
+ const WIRE_OBSTACLE_UNSPECIFIED = definition$2("wire-obstacle-unspecified", "Wire Obstacles – Unspecified", "unspecified");
3062
+ const SINGLE_FENCE = definition$2("single-fence", "Single Fence", "single");
3063
+ const DOUBLE_FENCE = definition$2("double-fence", "Double Fence", "double");
3064
+ const DOUBLE_APRON_FENCE = definition$2("double-apron-fence", "Double Apron Fence", "apron");
3065
+ const LOW_WIRE_FENCE = definition$2("low-wire-fence", "Low Wire Fence", "low");
3066
+ const HIGH_WIRE_FENCE = definition$2("high-wire-fence", "High Wire Fence", "high");
3067
+ const SINGLE_CONCERTINA = definition$2("single-concertina", "Single Concertina", "concertina");
3068
+ const DOUBLE_STRAND_CONCERTINA = definition$2("double-strand-concertina", "Double Strand Concertina", "double-concertina");
3069
+ const TRIPLE_STRAND_CONCERTINA = definition$2("triple-strand-concertina", "Triple Strand Concertina", "triple-concertina");
3052
3070
  //#endregion
3053
3071
  //#region src/generators/cm34-mission-tasks/shared.ts
3054
3072
  /**
@@ -8174,6 +8192,134 @@ const BRIDGE_OR_GAP = defineControlMeasure({
8174
8192
  }
8175
8193
  });
8176
8194
  //#endregion
8195
+ //#region src/generators/cm27-protection-areas/roadblocks.ts
8196
+ /**
8197
+ * Angle the executed roadblock's crossing pair is rotated from the anchored
8198
+ * pair, swinging PT. 1's end toward PT. 3 — measured off the MIL-STD-2525E
8199
+ * example.
8200
+ */
8201
+ const COMPLETE_CROSSING_ANGLE = 75 * Math.PI / 180;
8202
+ /** Intrinsic doctrinal dash pattern for the not-yet-emplaced lines. */
8203
+ const ROADBLOCK_DASH = [6, 4];
8204
+ const DEFAULT_ROADBLOCK_OPTIONS = {};
8205
+ const PREVIEW_POINTS$1 = [
8206
+ [.35, .7],
8207
+ [-.35, -.7],
8208
+ [-.134, .067]
8209
+ ];
8210
+ const ROADBLOCK_KINDS = {
8211
+ planned: {
8212
+ name: "Roadblock - Planned",
8213
+ entitySubtype: "Planned",
8214
+ previewPoints: PREVIEW_POINTS$1,
8215
+ description: "A planned roadblock, crater, or blown bridge not yet emplaced."
8216
+ },
8217
+ safe: {
8218
+ name: "Roadblock - Explosives, State of Readiness 1 (Safe)",
8219
+ entitySubtype: "Explosives, State of Readiness 1 (Safe)",
8220
+ previewPoints: PREVIEW_POINTS$1,
8221
+ description: "A roadblock, crater, or blown bridge with explosives emplaced but not armed."
8222
+ },
8223
+ armed: {
8224
+ name: "Roadblock - Explosives, State of Readiness 2 (Armed but Passable)",
8225
+ entitySubtype: "Explosives, State of Readiness 2 (Armed but Passable)",
8226
+ previewPoints: PREVIEW_POINTS$1,
8227
+ description: "A roadblock, crater, or blown bridge with explosives armed; the route is still passable."
8228
+ },
8229
+ complete: {
8230
+ name: "Roadblock Complete (Executed)",
8231
+ entitySubtype: "Roadblock Complete (Executed)",
8232
+ description: "An executed roadblock, crater, or blown bridge that blocks the route.",
8233
+ previewPoints: [
8234
+ [.45, .6],
8235
+ [-.45, -.6],
8236
+ [-.096, .072]
8237
+ ]
8238
+ }
8239
+ };
8240
+ function linesFeature(part, lines, dashed) {
8241
+ return {
8242
+ type: "Feature",
8243
+ properties: dashed ? {
8244
+ part,
8245
+ style: { strokeDash: [...ROADBLOCK_DASH] }
8246
+ } : { part },
8247
+ geometry: {
8248
+ type: "MultiLineString",
8249
+ coordinates: lines
8250
+ }
8251
+ };
8252
+ }
8253
+ /**
8254
+ * Generates a roadblock of the given subtype from PT. 1 and PT. 2 (centerline
8255
+ * endpoints) and PT. 3 (one side). The input contract is enforced at the render
8256
+ * seam (ADR-0014).
8257
+ */
8258
+ function createRoadblock(coordinates, kind) {
8259
+ const p1 = project(coordinates[0][0], coordinates[0][1]);
8260
+ const p2 = project(coordinates[1][0], coordinates[1][1]);
8261
+ const frame = createProjectedBaselineFrame(p1, p2, {
8262
+ origin: "midpoint",
8263
+ normal: "right"
8264
+ });
8265
+ if (!frame) return {
8266
+ type: "FeatureCollection",
8267
+ features: []
8268
+ };
8269
+ const distance = frame.signedNormalDistance(coordinates[2]);
8270
+ const offset = vecScale(frame.normal, distance);
8271
+ const near = [vecAdd(p1, offset), vecAdd(p2, offset)];
8272
+ const far = [vecSub(p1, offset), vecSub(p2, offset)];
8273
+ if (kind === "safe") return {
8274
+ type: "FeatureCollection",
8275
+ features: [linesFeature("dashed-side", [near.map(toPosition)], true), linesFeature("solid-side", [far.map(toPosition)], false)]
8276
+ };
8277
+ const features = [linesFeature("sides", [near.map(toPosition), far.map(toPosition)], kind === "planned")];
8278
+ if (kind === "complete") {
8279
+ const angle = (distance < 0 ? -1 : 1) * COMPLETE_CROSSING_ANGLE;
8280
+ const center = frame.origin;
8281
+ const rotated = (line) => line.map((point) => toPosition(vecAdd(center, vecRotate(vecSub(point, center), angle))));
8282
+ features.push(linesFeature("crossing-sides", [rotated(near), rotated(far)], false));
8283
+ }
8284
+ return {
8285
+ type: "FeatureCollection",
8286
+ features
8287
+ };
8288
+ }
8289
+ function definition$1(id, value, kind) {
8290
+ const { name, entitySubtype, description, previewPoints } = ROADBLOCK_KINDS[kind];
8291
+ return defineControlMeasure({
8292
+ metadata: {
8293
+ id,
8294
+ name,
8295
+ description,
8296
+ entity: "Protection Areas",
8297
+ colorRole: "obstacle",
8298
+ entityType: "Roadblocks, Craters and Blown Bridges",
8299
+ entitySubtype,
8300
+ value,
8301
+ minCoordinates: 3,
8302
+ maxCoordinates: 3,
8303
+ geometry: "line",
8304
+ geometryTypes: ["MultiLineString"],
8305
+ paints: {
8306
+ stroke: true,
8307
+ fill: "none",
8308
+ text: false
8309
+ },
8310
+ drawRule: "Line12"
8311
+ },
8312
+ generator: (positions, _options = {}) => createRoadblock(positions, kind),
8313
+ defaultOptions: DEFAULT_ROADBLOCK_OPTIONS,
8314
+ rule: line12DrawRule,
8315
+ previewSample: { controlPoints: previewPoints }
8316
+ });
8317
+ }
8318
+ const ROADBLOCK_PLANNED = definition$1("roadblock-planned", "271201", "planned");
8319
+ const ROADBLOCK_EXPLOSIVES_SAFE = definition$1("roadblock-explosives-safe", "271202", "safe");
8320
+ const ROADBLOCK_EXPLOSIVES_ARMED = definition$1("roadblock-explosives-armed", "271203", "armed");
8321
+ const ROADBLOCK_COMPLETE = definition$1("roadblock-complete", "271204", "complete");
8322
+ //#endregion
8177
8323
  //#region src/generators/cm99-generic-arrows/blockArrow.ts
8178
8324
  const DEFAULT_SMOOTH_RESOLUTION$4 = 12;
8179
8325
  const MIN_SMOOTH_RESOLUTION$1 = 2;
@@ -19806,6 +19952,10 @@ const DEFINITIONS = {
19806
19952
  }),
19807
19953
  block: BLOCK,
19808
19954
  "bridge-or-gap": BRIDGE_OR_GAP,
19955
+ "roadblock-planned": ROADBLOCK_PLANNED,
19956
+ "roadblock-explosives-safe": ROADBLOCK_EXPLOSIVES_SAFE,
19957
+ "roadblock-explosives-armed": ROADBLOCK_EXPLOSIVES_ARMED,
19958
+ "roadblock-complete": ROADBLOCK_COMPLETE,
19809
19959
  disrupt: DISRUPT,
19810
19960
  fix: FIX,
19811
19961
  "fix-mission-task": FIX_MISSION_TASK,
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Roadblock Complete (Executed)"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M58.01 5.00 L32.56 38.93" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M63.44 9.07 L37.99 43.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M32.24 9.42 L58.42 42.77" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M37.58 5.23 L63.76 38.58" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Roadblock - Explosives, State of Readiness 2 (Armed but Passable)"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M53.35 5.00 L36.01 39.68" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/><path d="M59.99 8.32 L42.65 43.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Roadblock - Explosives, State of Readiness 1 (Safe)"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M53.35 5.00 L36.01 39.68" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-dasharray="6 4" stroke-linejoin="round" stroke-linecap="round"/><path d="M59.99 8.32 L42.65 43.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-linejoin="round" stroke-linecap="round"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 48" width="96" height="48" role="img" aria-label="Roadblock - Planned"><rect x="0" y="0" width="96" height="48" rx="6" fill="#f8fafc" stroke="#e2e8f0"/><path d="M53.35 5.00 L36.01 39.68" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-dasharray="6 4" stroke-linejoin="round" stroke-linecap="round"/><path d="M59.99 8.32 L42.65 43.00" fill="none" stroke="#00ff00" stroke-width="1.25" stroke-dasharray="6 4" stroke-linejoin="round" stroke-linecap="round"/></svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbat-mapper/control-measures",
3
- "version": "0.27.0",
3
+ "version": "0.28.0",
4
4
  "description": "Library for drawing tactical graphics and control measures according to MIL-STD-2525 and APP-6 standards.",
5
5
  "license": "MIT",
6
6
  "author": "Orbat Mapper",