@orbat-mapper/control-measures 0.2.0-alpha.26 → 0.2.0-alpha.27

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.
@@ -293,6 +293,40 @@ interface ControlMeasureMetadata {
293
293
  * definition means adding such a measure stays a one-file change (ADR-0013).
294
294
  */
295
295
  capturesLabelSize?: boolean;
296
+ /**
297
+ * Static, per-kind declaration of what a rendered instance can paint — used
298
+ * by a host editor to decide which style controls (stroke color/width,
299
+ * fill toggle/pattern/color, text color) are meaningful to show for this
300
+ * kind. It describes the *kind*, not a particular instance: a `filled`
301
+ * boolean option still governs whether any given instance is actually
302
+ * filled, this only says whether fill control is meaningful at all.
303
+ */
304
+ paints: ControlMeasurePaintCapability;
305
+ }
306
+ /**
307
+ * A control measure's fill capability, per {@link ControlMeasurePaintCapability.fill}.
308
+ *
309
+ * - `"none"` — no emitted part is ever filled; a fill/fillColor/fillPattern
310
+ * control would be inert.
311
+ * - `"fixed"` — a filled part exists, but the generator pins its
312
+ * `fillPattern` (a solid accent like an echelon marker, or a doctrinal
313
+ * hatch like Limited Access Area's back-hachure) — `cm.style.fillPattern`
314
+ * never reaches it. `fillColor` is *not* pinned, so a fill color override
315
+ * still reaches the part; only the pattern control is inert.
316
+ * - `"user"` — a filled part exists whose pattern the generator leaves
317
+ * unset, so `cm.style.fillPattern` reaches the output. These are exactly
318
+ * the kinds governed by a `filled` boolean {@link ParamDescriptor}
319
+ * (polygon, rectangle, circle, block-arrow).
320
+ */
321
+ type ControlMeasureFillCapability = "none" | "fixed" | "user";
322
+ /** What a rendered control-measure kind can paint — see {@link ControlMeasureMetadata.paints}. */
323
+ interface ControlMeasurePaintCapability {
324
+ /** Whether any emitted part is stroked (non-Point) geometry — gates a stroke color/width control. */
325
+ stroke: boolean;
326
+ /** Whether/how any emitted part is filled — see {@link ControlMeasureFillCapability}. */
327
+ fill: ControlMeasureFillCapability;
328
+ /** Whether the kind emits text label features — gates a text color control. */
329
+ text: boolean;
296
330
  }
297
331
  //#endregion
298
332
  //#region src/define.d.ts
@@ -2880,4 +2914,4 @@ interface AmbushOptions {
2880
2914
  }
2881
2915
  declare const DEFAULT_AMBUSH_OPTIONS: Required<AmbushOptions>;
2882
2916
  //#endregion
2883
- export { DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as $, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS as $n, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as $t, roundToFixed as A, PickupZoneOptions as An, LabelPlacementOverride as Ar, DEFAULT_COVER_OPTIONS as At, cloneControlMeasure as B, EncirclementOptions as Bn, DEFAULT_BREACH_OPTIONS as Bt, BaselineFrame as C, DEFAULT_MAIN_ATTACK_OPTIONS as Cn, ControlMeasureMetadata as Cr, DEFAULT_SCREEN_OPTIONS as Ct, createBaselineFrame as D, AreaOfOperationsOptions as Dn, AmplifierPlacements as Dr, DEFAULT_DELAY_OPTIONS as Dt, BaselineFrameOrigin as E, computeInitialWidthPoint as En, AmplifierPlacement as Er, GuardOptions as Et, applyBoxTransformOptions as F, AssemblyAreaOptions as Fn, canonicalTextAmplifierKey as Fr, CanalizeOptions as Ft, ControlMeasureKind as G, StyleHints as Gn, DEFAULT_HANDOVER_LINE_OPTIONS as Gt, CONTROL_MEASURE_IDS as H, FinalProtectiveFireOptions as Hn, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as Ht, freezeOrientationOptions as I, DEFAULT_ASSEMBLY_AREA_OPTIONS as In, normalizeTextAmplifiers as Ir, DEFAULT_CANALIZE_OPTIONS as It, getControlMeasureMetadataByValue as J, PrincipalDirectionOfFireOptions as Jn, PhaseLineOptions as Jt, OptionsByKind as K, controlMeasureIdFromFeature as Kn, HandoverLineOptions as Kt, RenderOptions as L, AreaDefenseOptions as Ln, resolveAmplifierPlacement as Lr, BypassOptions as Lt, SimpleStyleRender as M, LandingZoneOptions as Mn, TextAmplifierField as Mr, TacticalArrowOptions as Mt, toSimpleStyle as N, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS as Nn, TextAmplifierKey as Nr, ClearOptions as Nt, EPSILON as O, DEFAULT_AREA_OF_OPERATIONS_OPTIONS as On, CanonicalTextAmplifiers as Or, DelayOptions as Ot, resolveStyleHints as P, JointTacticalActionAreaOptions as Pn, TextAmplifiers as Pr, DEFAULT_CLEAR_OPTIONS as Pt, ObstacleBypassImpossibleOptions as Q, DirectionOfMainAttackOptions as Qn, DEFAULT_ATTACK_BY_FIRE_OPTIONS as Qt, renderControlMeasure as R, DEFAULT_AREA_DEFENSE_OPTIONS as Rn, AnchorTransformEvent as Rr, DEFAULT_BYPASS_OPTIONS as Rt, snapToMidpointPerpendicular as S, SupportingAttackOptions as Sn, ControlMeasureGeometryType as Sr, DEFAULT_ANTITANK_DITCH_OPTIONS as St, BaselineFrameOptions as T, calculateMetrics as Tn, TextAmplifierDescriptor as Tr, DEFAULT_GUARD_OPTIONS as Tt, CONTROL_MEASURE_METADATA as U, ControlMeasureRender as Un, BattleHandoverLineOptions as Ut, isKind as V, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as Vn, BlockMissionTaskOptions as Vt, ControlMeasureId as W, FeaturePartProps as Wn, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS as Wt, listControlMeasureMetadata as X, DirectionOfSupportingAttackOptions as Xn, FLOTOptions as Xt, getDefaultOptions as Y, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS as Yn, DEFAULT_FLOT_OPTIONS as Yt, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as Z, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS as Zn, AttackByFireOptions as Zt, MidpointPerpendicularDrawRuleOptions as _, DEFAULT_BLOCK_ARROW_OPTIONS as _n, unproject as _r, DEFAULT_FORTIFIED_LINE_OPTIONS as _t, supportByFireDrawRule as a, DEFAULT_GENERIC_TEXT_OPTIONS as an, ControlMeasureStyle as ar, DEFAULT_FIX_OPTIONS as at, getMidpointPerpendicularSignedDistance as b, DEFAULT_CLASSIC_ARROW_OPTIONS as bn, BoxTransformDelta as br, DEFAULT_ANTITANK_WALL_OPTIONS as bt, line23DrawRule as c, GenericCircleOptions as cn, GenericC2LineOptions as cr, DisruptOptions as ct, ambushDrawRule as d, DEFAULT_GENERIC_POLYGON_OPTIONS as dn, DEFAULT_LIGHT_LINE_OPTIONS as dr, DEFAULT_TURNING_MOVEMENT_OPTIONS as dt, SupportByFireOptions as en, DirectionOfAttackAviationOptions as er, ObstacleBypassDifficultOptions as et, attackByFireDrawRule as f, GenericPolygonOptions as fn, LightLineOptions as fr, TurningMovementOptions as ft, blockDrawRule as g, BlockArrowOptions as gn, project as gr, FortifiedAreaOptions as gt, disruptDrawRule as h, BlockArrowHeadStyle as hn, haversineDistance as hr, DEFAULT_FORTIFIED_AREA_OPTIONS as ht, axis1DrawRule as i, DEFAULT_AIRBORNE_ATTACK_OPTIONS as in, DEFAULT_BATTLE_POSITION_OPTIONS as ir, TurnOptions as it, SimpleStyleProps as j, DEFAULT_LANDING_ZONE_OPTIONS as jn, TEXT_AMPLIFIER_FIELDS as jr, DEFAULT_TACTICAL_ARROW_OPTIONS as jt, getMetersPerPixel as k, DEFAULT_PICKUP_ZONE_OPTIONS as kn, GeneratedLabelKey as kr, CoverOptions as kt, turnDrawRule as l, DEFAULT_GENERIC_RECTANGLE_OPTIONS as ln, DEFAULT_ENGINEER_WORK_LINE_OPTIONS as lr, BlockOptions as lt, centerRadiusDrawRule as m, GenericLineOptions as mn, Point2D as mr, FrontalAttackOptions as mt, DEFAULT_AMBUSH_OPTIONS as n, DEFAULT_ATTACK_HELICOPTER_OPTIONS as nn, StrongPointOptions as nr, ObstacleBypassEasyOptions as nt, line26DrawRule as o, GenericTextOptions as on, FillPattern as or, FixOptions as ot, point12DrawRule as p, DEFAULT_GENERIC_LINE_OPTIONS as pn, LabelSizeOptions as pr, DEFAULT_FRONTAL_ATTACK_OPTIONS as pt, getControlMeasureMetadata as q, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as qn, DEFAULT_PHASE_LINE_OPTIONS as qt, rectangleDrawRule as r, AirborneAttackOptions as rn, BattlePositionOptions as rr, DEFAULT_TURN_OPTIONS as rt, line24DrawRule as s, DEFAULT_GENERIC_CIRCLE_OPTIONS as sn, DEFAULT_GENERIC_C2_LINE_OPTIONS as sr, DEFAULT_DISRUPT_OPTIONS as st, AmbushOptions as t, AttackHelicopterOptions as tn, DEFAULT_STRONG_POINT_OPTIONS as tr, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as tt, line1DrawRule as u, GenericRectangleOptions as un, EngineerWorkLineOptions as ur, DEFAULT_BLOCK_OPTIONS as ut, computeDefaultMidpointPerpendicularPoint as v, ClassicArrowHeadStyle as vn, BoundaryOptions as vr, FortifiedLineOptions as vt, BaselineFrameNormal as w, MainAttackOptions as wn, ParamDescriptor as wr, ScreenOptions as wt, pointOnMidpointPerpendicularAxis as x, DEFAULT_SUPPORTING_ATTACK_OPTIONS as xn, ControlMeasureGeometry as xr, AntitankDitchOptions as xt, createMidpointPerpendicularDrawRule as y, ClassicArrowOptions as yn, DEFAULT_BOUNDARY_OPTIONS as yr, AntitankWallOptions as yt, ControlMeasure as z, DEFAULT_ENCIRCLEMENT_OPTIONS as zn, ControlMeasureDrawRule as zr, BreachOptions as zt };
2917
+ export { DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as $, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS as $n, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as $t, roundToFixed as A, PickupZoneOptions as An, CanonicalTextAmplifiers as Ar, DEFAULT_COVER_OPTIONS as At, cloneControlMeasure as B, EncirclementOptions as Bn, AnchorTransformEvent as Br, DEFAULT_BREACH_OPTIONS as Bt, BaselineFrame as C, DEFAULT_MAIN_ATTACK_OPTIONS as Cn, ControlMeasureGeometryType as Cr, DEFAULT_SCREEN_OPTIONS as Ct, createBaselineFrame as D, AreaOfOperationsOptions as Dn, TextAmplifierDescriptor as Dr, DEFAULT_DELAY_OPTIONS as Dt, BaselineFrameOrigin as E, computeInitialWidthPoint as En, ParamDescriptor as Er, GuardOptions as Et, applyBoxTransformOptions as F, AssemblyAreaOptions as Fn, TextAmplifierKey as Fr, CanalizeOptions as Ft, ControlMeasureKind as G, StyleHints as Gn, DEFAULT_HANDOVER_LINE_OPTIONS as Gt, CONTROL_MEASURE_IDS as H, FinalProtectiveFireOptions as Hn, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as Ht, freezeOrientationOptions as I, DEFAULT_ASSEMBLY_AREA_OPTIONS as In, TextAmplifiers as Ir, DEFAULT_CANALIZE_OPTIONS as It, getControlMeasureMetadataByValue as J, PrincipalDirectionOfFireOptions as Jn, PhaseLineOptions as Jt, OptionsByKind as K, controlMeasureIdFromFeature as Kn, HandoverLineOptions as Kt, RenderOptions as L, AreaDefenseOptions as Ln, canonicalTextAmplifierKey as Lr, BypassOptions as Lt, SimpleStyleRender as M, LandingZoneOptions as Mn, LabelPlacementOverride as Mr, TacticalArrowOptions as Mt, toSimpleStyle as N, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS as Nn, TEXT_AMPLIFIER_FIELDS as Nr, ClearOptions as Nt, EPSILON as O, DEFAULT_AREA_OF_OPERATIONS_OPTIONS as On, AmplifierPlacement as Or, DelayOptions as Ot, resolveStyleHints as P, JointTacticalActionAreaOptions as Pn, TextAmplifierField as Pr, DEFAULT_CLEAR_OPTIONS as Pt, ObstacleBypassImpossibleOptions as Q, DirectionOfMainAttackOptions as Qn, DEFAULT_ATTACK_BY_FIRE_OPTIONS as Qt, renderControlMeasure as R, DEFAULT_AREA_DEFENSE_OPTIONS as Rn, normalizeTextAmplifiers as Rr, DEFAULT_BYPASS_OPTIONS as Rt, snapToMidpointPerpendicular as S, SupportingAttackOptions as Sn, ControlMeasureGeometry as Sr, DEFAULT_ANTITANK_DITCH_OPTIONS as St, BaselineFrameOptions as T, calculateMetrics as Tn, ControlMeasurePaintCapability as Tr, DEFAULT_GUARD_OPTIONS as Tt, CONTROL_MEASURE_METADATA as U, ControlMeasureRender as Un, BattleHandoverLineOptions as Ut, isKind as V, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as Vn, ControlMeasureDrawRule as Vr, BlockMissionTaskOptions as Vt, ControlMeasureId as W, FeaturePartProps as Wn, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS as Wt, listControlMeasureMetadata as X, DirectionOfSupportingAttackOptions as Xn, FLOTOptions as Xt, getDefaultOptions as Y, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS as Yn, DEFAULT_FLOT_OPTIONS as Yt, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as Z, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS as Zn, AttackByFireOptions as Zt, MidpointPerpendicularDrawRuleOptions as _, DEFAULT_BLOCK_ARROW_OPTIONS as _n, unproject as _r, DEFAULT_FORTIFIED_LINE_OPTIONS as _t, supportByFireDrawRule as a, DEFAULT_GENERIC_TEXT_OPTIONS as an, ControlMeasureStyle as ar, DEFAULT_FIX_OPTIONS as at, getMidpointPerpendicularSignedDistance as b, DEFAULT_CLASSIC_ARROW_OPTIONS as bn, BoxTransformDelta as br, DEFAULT_ANTITANK_WALL_OPTIONS as bt, line23DrawRule as c, GenericCircleOptions as cn, GenericC2LineOptions as cr, DisruptOptions as ct, ambushDrawRule as d, DEFAULT_GENERIC_POLYGON_OPTIONS as dn, DEFAULT_LIGHT_LINE_OPTIONS as dr, DEFAULT_TURNING_MOVEMENT_OPTIONS as dt, SupportByFireOptions as en, DirectionOfAttackAviationOptions as er, ObstacleBypassDifficultOptions as et, attackByFireDrawRule as f, GenericPolygonOptions as fn, LightLineOptions as fr, TurningMovementOptions as ft, blockDrawRule as g, BlockArrowOptions as gn, project as gr, FortifiedAreaOptions as gt, disruptDrawRule as h, BlockArrowHeadStyle as hn, haversineDistance as hr, DEFAULT_FORTIFIED_AREA_OPTIONS as ht, axis1DrawRule as i, DEFAULT_AIRBORNE_ATTACK_OPTIONS as in, DEFAULT_BATTLE_POSITION_OPTIONS as ir, TurnOptions as it, SimpleStyleProps as j, DEFAULT_LANDING_ZONE_OPTIONS as jn, GeneratedLabelKey as jr, DEFAULT_TACTICAL_ARROW_OPTIONS as jt, getMetersPerPixel as k, DEFAULT_PICKUP_ZONE_OPTIONS as kn, AmplifierPlacements as kr, CoverOptions as kt, turnDrawRule as l, DEFAULT_GENERIC_RECTANGLE_OPTIONS as ln, DEFAULT_ENGINEER_WORK_LINE_OPTIONS as lr, BlockOptions as lt, centerRadiusDrawRule as m, GenericLineOptions as mn, Point2D as mr, FrontalAttackOptions as mt, DEFAULT_AMBUSH_OPTIONS as n, DEFAULT_ATTACK_HELICOPTER_OPTIONS as nn, StrongPointOptions as nr, ObstacleBypassEasyOptions as nt, line26DrawRule as o, GenericTextOptions as on, FillPattern as or, FixOptions as ot, point12DrawRule as p, DEFAULT_GENERIC_LINE_OPTIONS as pn, LabelSizeOptions as pr, DEFAULT_FRONTAL_ATTACK_OPTIONS as pt, getControlMeasureMetadata as q, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as qn, DEFAULT_PHASE_LINE_OPTIONS as qt, rectangleDrawRule as r, AirborneAttackOptions as rn, BattlePositionOptions as rr, DEFAULT_TURN_OPTIONS as rt, line24DrawRule as s, DEFAULT_GENERIC_CIRCLE_OPTIONS as sn, DEFAULT_GENERIC_C2_LINE_OPTIONS as sr, DEFAULT_DISRUPT_OPTIONS as st, AmbushOptions as t, AttackHelicopterOptions as tn, DEFAULT_STRONG_POINT_OPTIONS as tr, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as tt, line1DrawRule as u, GenericRectangleOptions as un, EngineerWorkLineOptions as ur, DEFAULT_BLOCK_OPTIONS as ut, computeDefaultMidpointPerpendicularPoint as v, ClassicArrowHeadStyle as vn, BoundaryOptions as vr, FortifiedLineOptions as vt, BaselineFrameNormal as w, MainAttackOptions as wn, ControlMeasureMetadata as wr, ScreenOptions as wt, pointOnMidpointPerpendicularAxis as x, DEFAULT_SUPPORTING_ATTACK_OPTIONS as xn, ControlMeasureFillCapability as xr, AntitankDitchOptions as xt, createMidpointPerpendicularDrawRule as y, ClassicArrowOptions as yn, DEFAULT_BOUNDARY_OPTIONS as yr, AntitankWallOptions as yt, ControlMeasure as z, DEFAULT_ENCIRCLEMENT_OPTIONS as zn, resolveAmplifierPlacement as zr, BreachOptions as zt };
package/dist/index.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, $n as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, $t as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, A as roundToFixed, An as PickupZoneOptions, Ar as LabelPlacementOverride, At as DEFAULT_COVER_OPTIONS, B as cloneControlMeasure, Bn as EncirclementOptions, Bt as DEFAULT_BREACH_OPTIONS, C as BaselineFrame, Cn as DEFAULT_MAIN_ATTACK_OPTIONS, Cr as ControlMeasureMetadata, Ct as DEFAULT_SCREEN_OPTIONS, D as createBaselineFrame, Dn as AreaOfOperationsOptions, Dr as AmplifierPlacements, Dt as DEFAULT_DELAY_OPTIONS, E as BaselineFrameOrigin, En as computeInitialWidthPoint, Er as AmplifierPlacement, Et as GuardOptions, F as applyBoxTransformOptions, Fn as AssemblyAreaOptions, Fr as canonicalTextAmplifierKey, Ft as CanalizeOptions, G as ControlMeasureKind, Gn as StyleHints, Gt as DEFAULT_HANDOVER_LINE_OPTIONS, H as CONTROL_MEASURE_IDS, Hn as FinalProtectiveFireOptions, Ht as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, I as freezeOrientationOptions, In as DEFAULT_ASSEMBLY_AREA_OPTIONS, Ir as normalizeTextAmplifiers, It as DEFAULT_CANALIZE_OPTIONS, J as getControlMeasureMetadataByValue, Jn as PrincipalDirectionOfFireOptions, Jt as PhaseLineOptions, K as OptionsByKind, Kn as controlMeasureIdFromFeature, Kt as HandoverLineOptions, L as RenderOptions, Ln as AreaDefenseOptions, Lr as resolveAmplifierPlacement, Lt as BypassOptions, M as SimpleStyleRender, Mn as LandingZoneOptions, Mr as TextAmplifierField, Mt as TacticalArrowOptions, N as toSimpleStyle, Nn as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Nr as TextAmplifierKey, Nt as ClearOptions, O as EPSILON, On as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, Or as CanonicalTextAmplifiers, Ot as DelayOptions, P as resolveStyleHints, Pn as JointTacticalActionAreaOptions, Pr as TextAmplifiers, Pt as DEFAULT_CLEAR_OPTIONS, Q as ObstacleBypassImpossibleOptions, Qn as DirectionOfMainAttackOptions, Qt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, R as renderControlMeasure, Rn as DEFAULT_AREA_DEFENSE_OPTIONS, Rr as AnchorTransformEvent, Rt as DEFAULT_BYPASS_OPTIONS, S as snapToMidpointPerpendicular, Sn as SupportingAttackOptions, Sr as ControlMeasureGeometryType, St as DEFAULT_ANTITANK_DITCH_OPTIONS, T as BaselineFrameOptions, Tn as calculateMetrics, Tr as TextAmplifierDescriptor, Tt as DEFAULT_GUARD_OPTIONS, U as CONTROL_MEASURE_METADATA, Un as ControlMeasureRender, Ut as BattleHandoverLineOptions, V as isKind, Vn as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Vt as BlockMissionTaskOptions, W as ControlMeasureId, Wn as FeaturePartProps, Wt as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, X as listControlMeasureMetadata, Xn as DirectionOfSupportingAttackOptions, Xt as FLOTOptions, Y as getDefaultOptions, Yn as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, Yt as DEFAULT_FLOT_OPTIONS, Z as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, Zn as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, Zt as AttackByFireOptions, _ as MidpointPerpendicularDrawRuleOptions, _n as DEFAULT_BLOCK_ARROW_OPTIONS, _r as unproject, _t as DEFAULT_FORTIFIED_LINE_OPTIONS, a as supportByFireDrawRule, an as DEFAULT_GENERIC_TEXT_OPTIONS, ar as ControlMeasureStyle, at as DEFAULT_FIX_OPTIONS, b as getMidpointPerpendicularSignedDistance, bn as DEFAULT_CLASSIC_ARROW_OPTIONS, br as BoxTransformDelta, bt as DEFAULT_ANTITANK_WALL_OPTIONS, c as line23DrawRule, cn as GenericCircleOptions, cr as GenericC2LineOptions, ct as DisruptOptions, d as ambushDrawRule, dn as DEFAULT_GENERIC_POLYGON_OPTIONS, dr as DEFAULT_LIGHT_LINE_OPTIONS, dt as DEFAULT_TURNING_MOVEMENT_OPTIONS, en as SupportByFireOptions, er as DirectionOfAttackAviationOptions, et as ObstacleBypassDifficultOptions, f as attackByFireDrawRule, fn as GenericPolygonOptions, fr as LightLineOptions, ft as TurningMovementOptions, g as blockDrawRule, gn as BlockArrowOptions, gr as project, gt as FortifiedAreaOptions, h as disruptDrawRule, hn as BlockArrowHeadStyle, hr as haversineDistance, ht as DEFAULT_FORTIFIED_AREA_OPTIONS, i as axis1DrawRule, in as DEFAULT_AIRBORNE_ATTACK_OPTIONS, ir as DEFAULT_BATTLE_POSITION_OPTIONS, it as TurnOptions, j as SimpleStyleProps, jn as DEFAULT_LANDING_ZONE_OPTIONS, jr as TEXT_AMPLIFIER_FIELDS, jt as DEFAULT_TACTICAL_ARROW_OPTIONS, k as getMetersPerPixel, kn as DEFAULT_PICKUP_ZONE_OPTIONS, kr as GeneratedLabelKey, kt as CoverOptions, l as turnDrawRule, ln as DEFAULT_GENERIC_RECTANGLE_OPTIONS, lr as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, lt as BlockOptions, m as centerRadiusDrawRule, mn as GenericLineOptions, mr as Point2D, mt as FrontalAttackOptions, n as DEFAULT_AMBUSH_OPTIONS, nn as DEFAULT_ATTACK_HELICOPTER_OPTIONS, nr as StrongPointOptions, nt as ObstacleBypassEasyOptions, o as line26DrawRule, on as GenericTextOptions, or as FillPattern, ot as FixOptions, p as point12DrawRule, pn as DEFAULT_GENERIC_LINE_OPTIONS, pr as LabelSizeOptions, pt as DEFAULT_FRONTAL_ATTACK_OPTIONS, q as getControlMeasureMetadata, qn as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, qt as DEFAULT_PHASE_LINE_OPTIONS, r as rectangleDrawRule, rn as AirborneAttackOptions, rr as BattlePositionOptions, rt as DEFAULT_TURN_OPTIONS, s as line24DrawRule, sn as DEFAULT_GENERIC_CIRCLE_OPTIONS, sr as DEFAULT_GENERIC_C2_LINE_OPTIONS, st as DEFAULT_DISRUPT_OPTIONS, t as AmbushOptions, tn as AttackHelicopterOptions, tr as DEFAULT_STRONG_POINT_OPTIONS, tt as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, u as line1DrawRule, un as GenericRectangleOptions, ur as EngineerWorkLineOptions, ut as DEFAULT_BLOCK_OPTIONS, v as computeDefaultMidpointPerpendicularPoint, vn as ClassicArrowHeadStyle, vr as BoundaryOptions, vt as FortifiedLineOptions, w as BaselineFrameNormal, wn as MainAttackOptions, wr as ParamDescriptor, wt as ScreenOptions, x as pointOnMidpointPerpendicularAxis, xn as DEFAULT_SUPPORTING_ATTACK_OPTIONS, xr as ControlMeasureGeometry, xt as AntitankDitchOptions, y as createMidpointPerpendicularDrawRule, yn as ClassicArrowOptions, yr as DEFAULT_BOUNDARY_OPTIONS, yt as AntitankWallOptions, z as ControlMeasure, zn as DEFAULT_ENCIRCLEMENT_OPTIONS, zr as ControlMeasureDrawRule, zt as BreachOptions } from "./index-BxApuW__.mjs";
2
- 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 BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type CanonicalTextAmplifiers, type ClassicArrowHeadStyle, type ClassicArrowOptions, type ClearOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasureRender, type ControlMeasureStyle, 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_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_COVER_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_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_TEXT_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, type DelayOptions, type DirectionOfAttackAviationOptions, type DirectionOfMainAttackOptions, type DirectionOfSupportingAttackOptions, type DisruptOptions, EPSILON, type EncirclementOptions, type EngineerWorkLineOptions, type FLOTOptions, type FeaturePartProps, type FillPattern, type FinalProtectiveFireOptions, type FixOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type FrontalAttackOptions, type GeneratedLabelKey, type GenericC2LineOptions, type GenericCircleOptions, type GenericLineOptions, type GenericPolygonOptions, type GenericRectangleOptions, type GenericTextOptions, type GuardOptions, type HandoverLineOptions, type JointTacticalActionAreaOptions, type LabelPlacementOverride, type LabelSizeOptions, type LandingZoneOptions, type LightLineOptions, type MainAttackOptions, type MidpointPerpendicularDrawRuleOptions, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OptionsByKind, type ParamDescriptor, type PhaseLineOptions, type PickupZoneOptions, type Point2D, type PrincipalDirectionOfFireOptions, type RenderOptions, type ScreenOptions, type SimpleStyleProps, type SimpleStyleRender, type StrongPointOptions, type StyleHints, type SupportByFireOptions, type SupportingAttackOptions, TEXT_AMPLIFIER_FIELDS, type TacticalArrowOptions, type TextAmplifierDescriptor, type TextAmplifierField, type TextAmplifierKey, type TextAmplifiers, type TurnOptions, type TurningMovementOptions, ambushDrawRule, applyBoxTransformOptions, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, haversineDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
1
+ import { $ as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, $n as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, $t as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, A as roundToFixed, An as PickupZoneOptions, Ar as CanonicalTextAmplifiers, At as DEFAULT_COVER_OPTIONS, B as cloneControlMeasure, Bn as EncirclementOptions, Br as AnchorTransformEvent, Bt as DEFAULT_BREACH_OPTIONS, C as BaselineFrame, Cn as DEFAULT_MAIN_ATTACK_OPTIONS, Cr as ControlMeasureGeometryType, Ct as DEFAULT_SCREEN_OPTIONS, D as createBaselineFrame, Dn as AreaOfOperationsOptions, Dr as TextAmplifierDescriptor, Dt as DEFAULT_DELAY_OPTIONS, E as BaselineFrameOrigin, En as computeInitialWidthPoint, Er as ParamDescriptor, Et as GuardOptions, F as applyBoxTransformOptions, Fn as AssemblyAreaOptions, Fr as TextAmplifierKey, Ft as CanalizeOptions, G as ControlMeasureKind, Gn as StyleHints, Gt as DEFAULT_HANDOVER_LINE_OPTIONS, H as CONTROL_MEASURE_IDS, Hn as FinalProtectiveFireOptions, Ht as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, I as freezeOrientationOptions, In as DEFAULT_ASSEMBLY_AREA_OPTIONS, Ir as TextAmplifiers, It as DEFAULT_CANALIZE_OPTIONS, J as getControlMeasureMetadataByValue, Jn as PrincipalDirectionOfFireOptions, Jt as PhaseLineOptions, K as OptionsByKind, Kn as controlMeasureIdFromFeature, Kt as HandoverLineOptions, L as RenderOptions, Ln as AreaDefenseOptions, Lr as canonicalTextAmplifierKey, Lt as BypassOptions, M as SimpleStyleRender, Mn as LandingZoneOptions, Mr as LabelPlacementOverride, Mt as TacticalArrowOptions, N as toSimpleStyle, Nn as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Nr as TEXT_AMPLIFIER_FIELDS, Nt as ClearOptions, O as EPSILON, On as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, Or as AmplifierPlacement, Ot as DelayOptions, P as resolveStyleHints, Pn as JointTacticalActionAreaOptions, Pr as TextAmplifierField, Pt as DEFAULT_CLEAR_OPTIONS, Q as ObstacleBypassImpossibleOptions, Qn as DirectionOfMainAttackOptions, Qt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, R as renderControlMeasure, Rn as DEFAULT_AREA_DEFENSE_OPTIONS, Rr as normalizeTextAmplifiers, Rt as DEFAULT_BYPASS_OPTIONS, S as snapToMidpointPerpendicular, Sn as SupportingAttackOptions, Sr as ControlMeasureGeometry, St as DEFAULT_ANTITANK_DITCH_OPTIONS, T as BaselineFrameOptions, Tn as calculateMetrics, Tr as ControlMeasurePaintCapability, Tt as DEFAULT_GUARD_OPTIONS, U as CONTROL_MEASURE_METADATA, Un as ControlMeasureRender, Ut as BattleHandoverLineOptions, V as isKind, Vn as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Vr as ControlMeasureDrawRule, Vt as BlockMissionTaskOptions, W as ControlMeasureId, Wn as FeaturePartProps, Wt as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, X as listControlMeasureMetadata, Xn as DirectionOfSupportingAttackOptions, Xt as FLOTOptions, Y as getDefaultOptions, Yn as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, Yt as DEFAULT_FLOT_OPTIONS, Z as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, Zn as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, Zt as AttackByFireOptions, _ as MidpointPerpendicularDrawRuleOptions, _n as DEFAULT_BLOCK_ARROW_OPTIONS, _r as unproject, _t as DEFAULT_FORTIFIED_LINE_OPTIONS, a as supportByFireDrawRule, an as DEFAULT_GENERIC_TEXT_OPTIONS, ar as ControlMeasureStyle, at as DEFAULT_FIX_OPTIONS, b as getMidpointPerpendicularSignedDistance, bn as DEFAULT_CLASSIC_ARROW_OPTIONS, br as BoxTransformDelta, bt as DEFAULT_ANTITANK_WALL_OPTIONS, c as line23DrawRule, cn as GenericCircleOptions, cr as GenericC2LineOptions, ct as DisruptOptions, d as ambushDrawRule, dn as DEFAULT_GENERIC_POLYGON_OPTIONS, dr as DEFAULT_LIGHT_LINE_OPTIONS, dt as DEFAULT_TURNING_MOVEMENT_OPTIONS, en as SupportByFireOptions, er as DirectionOfAttackAviationOptions, et as ObstacleBypassDifficultOptions, f as attackByFireDrawRule, fn as GenericPolygonOptions, fr as LightLineOptions, ft as TurningMovementOptions, g as blockDrawRule, gn as BlockArrowOptions, gr as project, gt as FortifiedAreaOptions, h as disruptDrawRule, hn as BlockArrowHeadStyle, hr as haversineDistance, ht as DEFAULT_FORTIFIED_AREA_OPTIONS, i as axis1DrawRule, in as DEFAULT_AIRBORNE_ATTACK_OPTIONS, ir as DEFAULT_BATTLE_POSITION_OPTIONS, it as TurnOptions, j as SimpleStyleProps, jn as DEFAULT_LANDING_ZONE_OPTIONS, jr as GeneratedLabelKey, jt as DEFAULT_TACTICAL_ARROW_OPTIONS, k as getMetersPerPixel, kn as DEFAULT_PICKUP_ZONE_OPTIONS, kr as AmplifierPlacements, kt as CoverOptions, l as turnDrawRule, ln as DEFAULT_GENERIC_RECTANGLE_OPTIONS, lr as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, lt as BlockOptions, m as centerRadiusDrawRule, mn as GenericLineOptions, mr as Point2D, mt as FrontalAttackOptions, n as DEFAULT_AMBUSH_OPTIONS, nn as DEFAULT_ATTACK_HELICOPTER_OPTIONS, nr as StrongPointOptions, nt as ObstacleBypassEasyOptions, o as line26DrawRule, on as GenericTextOptions, or as FillPattern, ot as FixOptions, p as point12DrawRule, pn as DEFAULT_GENERIC_LINE_OPTIONS, pr as LabelSizeOptions, pt as DEFAULT_FRONTAL_ATTACK_OPTIONS, q as getControlMeasureMetadata, qn as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, qt as DEFAULT_PHASE_LINE_OPTIONS, r as rectangleDrawRule, rn as AirborneAttackOptions, rr as BattlePositionOptions, rt as DEFAULT_TURN_OPTIONS, s as line24DrawRule, sn as DEFAULT_GENERIC_CIRCLE_OPTIONS, sr as DEFAULT_GENERIC_C2_LINE_OPTIONS, st as DEFAULT_DISRUPT_OPTIONS, t as AmbushOptions, tn as AttackHelicopterOptions, tr as DEFAULT_STRONG_POINT_OPTIONS, tt as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, u as line1DrawRule, un as GenericRectangleOptions, ur as EngineerWorkLineOptions, ut as DEFAULT_BLOCK_OPTIONS, v as computeDefaultMidpointPerpendicularPoint, vn as ClassicArrowHeadStyle, vr as BoundaryOptions, vt as FortifiedLineOptions, w as BaselineFrameNormal, wn as MainAttackOptions, wr as ControlMeasureMetadata, wt as ScreenOptions, x as pointOnMidpointPerpendicularAxis, xn as DEFAULT_SUPPORTING_ATTACK_OPTIONS, xr as ControlMeasureFillCapability, xt as AntitankDitchOptions, y as createMidpointPerpendicularDrawRule, yn as ClassicArrowOptions, yr as DEFAULT_BOUNDARY_OPTIONS, yt as AntitankWallOptions, z as ControlMeasure, zn as DEFAULT_ENCIRCLEMENT_OPTIONS, zr as resolveAmplifierPlacement, zt as BreachOptions } from "./index-B5pIINgW.mjs";
2
+ 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 BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type CanonicalTextAmplifiers, type ClassicArrowHeadStyle, type ClassicArrowOptions, type ClearOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureFillCapability, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasurePaintCapability, type ControlMeasureRender, type ControlMeasureStyle, 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_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_COVER_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_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_TEXT_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, type DelayOptions, type DirectionOfAttackAviationOptions, type DirectionOfMainAttackOptions, type DirectionOfSupportingAttackOptions, type DisruptOptions, EPSILON, type EncirclementOptions, type EngineerWorkLineOptions, type FLOTOptions, type FeaturePartProps, type FillPattern, type FinalProtectiveFireOptions, type FixOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type FrontalAttackOptions, type GeneratedLabelKey, type GenericC2LineOptions, type GenericCircleOptions, type GenericLineOptions, type GenericPolygonOptions, type GenericRectangleOptions, type GenericTextOptions, type GuardOptions, type HandoverLineOptions, type JointTacticalActionAreaOptions, type LabelPlacementOverride, type LabelSizeOptions, type LandingZoneOptions, type LightLineOptions, type MainAttackOptions, type MidpointPerpendicularDrawRuleOptions, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OptionsByKind, type ParamDescriptor, type PhaseLineOptions, type PickupZoneOptions, type Point2D, type PrincipalDirectionOfFireOptions, type RenderOptions, type ScreenOptions, type SimpleStyleProps, type SimpleStyleRender, type StrongPointOptions, type StyleHints, type SupportByFireOptions, type SupportingAttackOptions, TEXT_AMPLIFIER_FIELDS, type TacticalArrowOptions, type TextAmplifierDescriptor, type TextAmplifierField, type TextAmplifierKey, type TextAmplifiers, type TurnOptions, type TurningMovementOptions, ambushDrawRule, applyBoxTransformOptions, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, haversineDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as DEFAULT_BOUNDARY_OPTIONS, A as DEFAULT_FLOT_OPTIONS, At as centerRadiusDrawRule, B as DEFAULT_GENERIC_TEXT_OPTIONS, Bt as computeInitialWidthPoint, C as DEFAULT_SCREEN_OPTIONS, Ct as line24DrawRule, D as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Dt as ambushDrawRule, E as DEFAULT_FORTIFIED_LINE_OPTIONS, Et as line1DrawRule, F as DEFAULT_GUARD_OPTIONS, Ft as getMidpointPerpendicularSignedDistance, G as DEFAULT_CLASSIC_ARROW_OPTIONS, Gt as getMetersPerPixel, H as DEFAULT_GENERIC_POLYGON_OPTIONS, Ht as project, I as DEFAULT_DELAY_OPTIONS, It as pointOnMidpointPerpendicularAxis, J as DEFAULT_BREACH_OPTIONS, K as DEFAULT_CANALIZE_OPTIONS, Kt as roundToFixed, L as DEFAULT_COVER_OPTIONS, Lt as snapToMidpointPerpendicular, M as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Mt as blockDrawRule, N as DEFAULT_ENCIRCLEMENT_OPTIONS, Nt as computeDefaultMidpointPerpendicularPoint, O as DEFAULT_HANDOVER_LINE_OPTIONS, Ot as attackByFireDrawRule, P as DEFAULT_DISRUPT_OPTIONS, Pt as createMidpointPerpendicularDrawRule, Q as DEFAULT_LIGHT_LINE_OPTIONS, R as DEFAULT_TACTICAL_ARROW_OPTIONS, Rt as createBaselineFrame, S as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, St as line26DrawRule, T as DEFAULT_FORTIFIED_AREA_OPTIONS, Tt as turnDrawRule, U as DEFAULT_GENERIC_LINE_OPTIONS, Ut as unproject, V as DEFAULT_GENERIC_RECTANGLE_OPTIONS, Vt as haversineDistance, W as DEFAULT_GENERIC_CIRCLE_OPTIONS, Wt as EPSILON, X as DEFAULT_GENERIC_C2_LINE_OPTIONS, Y as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, Z as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, _ as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, _t as DEFAULT_AMBUSH_OPTIONS, a as DEFINITIONS, at as DEFAULT_ANTITANK_WALL_OPTIONS, b as DEFAULT_MAIN_ATTACK_OPTIONS, bt as axis1DrawRule, c as getDefaultOptions, ct as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, d as DEFAULT_TURN_OPTIONS, dt as canonicalTextAmplifierKey, et as DEFAULT_BLOCK_ARROW_OPTIONS, f as DEFAULT_SUPPORTING_ATTACK_OPTIONS, ft as normalizeTextAmplifiers, g as DEFAULT_PICKUP_ZONE_OPTIONS, gt as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, h as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, ht as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, i as CONTROL_MEASURE_METADATA, it as DEFAULT_ATTACK_BY_FIRE_OPTIONS, j as DEFAULT_FIX_OPTIONS, jt as disruptDrawRule, k as DEFAULT_PHASE_LINE_OPTIONS, kt as point12DrawRule, l as listControlMeasureMetadata, lt as DEFAULT_AREA_DEFENSE_OPTIONS, m as DEFAULT_STRONG_POINT_OPTIONS, mt as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, n as resolveStyleHints, nt as DEFAULT_BATTLE_POSITION_OPTIONS, o as getControlMeasureMetadata, ot as DEFAULT_ANTITANK_DITCH_OPTIONS, p as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, pt as resolveAmplifierPlacement, q as DEFAULT_BYPASS_OPTIONS, r as CONTROL_MEASURE_IDS, rt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, s as getControlMeasureMetadataByValue, st as DEFAULT_ASSEMBLY_AREA_OPTIONS, t as renderControlMeasure, tt as DEFAULT_BLOCK_OPTIONS, u as DEFAULT_TURNING_MOVEMENT_OPTIONS, ut as TEXT_AMPLIFIER_FIELDS, v as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, vt as DEFAULT_AIRBORNE_ATTACK_OPTIONS, w as DEFAULT_FRONTAL_ATTACK_OPTIONS, wt as line23DrawRule, x as DEFAULT_LANDING_ZONE_OPTIONS, xt as supportByFireDrawRule, y as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, yt as rectangleDrawRule, z as DEFAULT_CLEAR_OPTIONS, zt as calculateMetrics } from "./renderControlMeasure-f_N1HeUd.mjs";
1
+ import { $ as DEFAULT_BOUNDARY_OPTIONS, A as DEFAULT_FLOT_OPTIONS, At as centerRadiusDrawRule, B as DEFAULT_GENERIC_TEXT_OPTIONS, Bt as computeInitialWidthPoint, C as DEFAULT_SCREEN_OPTIONS, Ct as line24DrawRule, D as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Dt as ambushDrawRule, E as DEFAULT_FORTIFIED_LINE_OPTIONS, Et as line1DrawRule, F as DEFAULT_GUARD_OPTIONS, Ft as getMidpointPerpendicularSignedDistance, G as DEFAULT_CLASSIC_ARROW_OPTIONS, Gt as getMetersPerPixel, H as DEFAULT_GENERIC_POLYGON_OPTIONS, Ht as project, I as DEFAULT_DELAY_OPTIONS, It as pointOnMidpointPerpendicularAxis, J as DEFAULT_BREACH_OPTIONS, K as DEFAULT_CANALIZE_OPTIONS, Kt as roundToFixed, L as DEFAULT_COVER_OPTIONS, Lt as snapToMidpointPerpendicular, M as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Mt as blockDrawRule, N as DEFAULT_ENCIRCLEMENT_OPTIONS, Nt as computeDefaultMidpointPerpendicularPoint, O as DEFAULT_HANDOVER_LINE_OPTIONS, Ot as attackByFireDrawRule, P as DEFAULT_DISRUPT_OPTIONS, Pt as createMidpointPerpendicularDrawRule, Q as DEFAULT_LIGHT_LINE_OPTIONS, R as DEFAULT_TACTICAL_ARROW_OPTIONS, Rt as createBaselineFrame, S as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, St as line26DrawRule, T as DEFAULT_FORTIFIED_AREA_OPTIONS, Tt as turnDrawRule, U as DEFAULT_GENERIC_LINE_OPTIONS, Ut as unproject, V as DEFAULT_GENERIC_RECTANGLE_OPTIONS, Vt as haversineDistance, W as DEFAULT_GENERIC_CIRCLE_OPTIONS, Wt as EPSILON, X as DEFAULT_GENERIC_C2_LINE_OPTIONS, Y as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, Z as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, _ as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, _t as DEFAULT_AMBUSH_OPTIONS, a as DEFINITIONS, at as DEFAULT_ANTITANK_WALL_OPTIONS, b as DEFAULT_MAIN_ATTACK_OPTIONS, bt as axis1DrawRule, c as getDefaultOptions, ct as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, d as DEFAULT_TURN_OPTIONS, dt as canonicalTextAmplifierKey, et as DEFAULT_BLOCK_ARROW_OPTIONS, f as DEFAULT_SUPPORTING_ATTACK_OPTIONS, ft as normalizeTextAmplifiers, g as DEFAULT_PICKUP_ZONE_OPTIONS, gt as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, h as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, ht as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, i as CONTROL_MEASURE_METADATA, it as DEFAULT_ATTACK_BY_FIRE_OPTIONS, j as DEFAULT_FIX_OPTIONS, jt as disruptDrawRule, k as DEFAULT_PHASE_LINE_OPTIONS, kt as point12DrawRule, l as listControlMeasureMetadata, lt as DEFAULT_AREA_DEFENSE_OPTIONS, m as DEFAULT_STRONG_POINT_OPTIONS, mt as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, n as resolveStyleHints, nt as DEFAULT_BATTLE_POSITION_OPTIONS, o as getControlMeasureMetadata, ot as DEFAULT_ANTITANK_DITCH_OPTIONS, p as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, pt as resolveAmplifierPlacement, q as DEFAULT_BYPASS_OPTIONS, r as CONTROL_MEASURE_IDS, rt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, s as getControlMeasureMetadataByValue, st as DEFAULT_ASSEMBLY_AREA_OPTIONS, t as renderControlMeasure, tt as DEFAULT_BLOCK_OPTIONS, u as DEFAULT_TURNING_MOVEMENT_OPTIONS, ut as TEXT_AMPLIFIER_FIELDS, v as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, vt as DEFAULT_AIRBORNE_ATTACK_OPTIONS, w as DEFAULT_FRONTAL_ATTACK_OPTIONS, wt as line23DrawRule, x as DEFAULT_LANDING_ZONE_OPTIONS, xt as supportByFireDrawRule, y as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, yt as rectangleDrawRule, z as DEFAULT_CLEAR_OPTIONS, zt as calculateMetrics } from "./renderControlMeasure-Chc1sdHN.mjs";
2
2
  //#region src/freeze-orientation.ts
3
3
  /**
4
4
  * Dispatches to a measure kind's `freezeOrientation` hook (see
@@ -1,4 +1,4 @@
1
- import { Pr as TextAmplifiers, W as ControlMeasureId, or as FillPattern } from "../index-BxApuW__.mjs";
1
+ import { Ir as TextAmplifiers, W as ControlMeasureId, or as FillPattern } from "../index-B5pIINgW.mjs";
2
2
  import { FeatureCollection, Geometry } from "geojson";
3
3
 
4
4
  //#region src/preview/index.d.ts
@@ -1,4 +1,4 @@
1
- import { a as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-f_N1HeUd.mjs";
1
+ import { a as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-Chc1sdHN.mjs";
2
2
  //#region src/preview/index.ts
3
3
  /** Side length (SVG units) of the repeating hatch tile in {@link PREVIEW_FILL_PATTERNS}. */
4
4
  const PREVIEW_PATTERN_TILE = 8;
@@ -1540,6 +1540,11 @@ const AIRBORNE_ATTACK_METADATA = {
1540
1540
  minCoordinates: 3,
1541
1541
  geometry: "line",
1542
1542
  geometryTypes: ["LineString"],
1543
+ paints: {
1544
+ stroke: true,
1545
+ fill: "none",
1546
+ text: false
1547
+ },
1543
1548
  drawRule: "Axis1",
1544
1549
  params: ATTACK_SHAFT_PARAMS
1545
1550
  };
@@ -1635,6 +1640,11 @@ const AMBUSH_METADATA = {
1635
1640
  maxCoordinates: 3,
1636
1641
  geometry: "line",
1637
1642
  geometryTypes: ["MultiLineString"],
1643
+ paints: {
1644
+ stroke: true,
1645
+ fill: "none",
1646
+ text: false
1647
+ },
1638
1648
  drawRule: "Line29",
1639
1649
  params: [
1640
1650
  {
@@ -2591,6 +2601,11 @@ const DIRECTION_OF_ATTACK_AVIATION_METADATA = {
2591
2601
  minCoordinates: 2,
2592
2602
  geometry: "line",
2593
2603
  geometryTypes: ["MultiLineString", "Point"],
2604
+ paints: {
2605
+ stroke: true,
2606
+ fill: "none",
2607
+ text: true
2608
+ },
2594
2609
  drawRule: "Line1",
2595
2610
  capturesLabelSize: true,
2596
2611
  params: [
@@ -2817,6 +2832,11 @@ const DIRECTION_OF_MAIN_ATTACK_METADATA = {
2817
2832
  minCoordinates: 2,
2818
2833
  geometry: "line",
2819
2834
  geometryTypes: ["MultiLineString", "Point"],
2835
+ paints: {
2836
+ stroke: true,
2837
+ fill: "none",
2838
+ text: true
2839
+ },
2820
2840
  drawRule: "Line1",
2821
2841
  capturesLabelSize: true,
2822
2842
  params: [
@@ -2879,6 +2899,11 @@ const DIRECTION_OF_SUPPORTING_ATTACK_METADATA = {
2879
2899
  minCoordinates: 2,
2880
2900
  geometry: "line",
2881
2901
  geometryTypes: ["MultiLineString", "Point"],
2902
+ paints: {
2903
+ stroke: true,
2904
+ fill: "none",
2905
+ text: true
2906
+ },
2882
2907
  drawRule: "Line1",
2883
2908
  capturesLabelSize: true,
2884
2909
  params: [...SMOOTH_LINE_PARAMS, ...DIRECTION_OF_ATTACK_PARAMS],
@@ -3536,6 +3561,11 @@ const AREA_METADATA = {
3536
3561
  "MultiLineString",
3537
3562
  "Point"
3538
3563
  ],
3564
+ paints: {
3565
+ stroke: true,
3566
+ fill: "none",
3567
+ text: true
3568
+ },
3539
3569
  drawRule: "Area1",
3540
3570
  capturesLabelSize: true,
3541
3571
  params: LABELED_AREA_PARAMS,
@@ -3606,6 +3636,11 @@ const AREA_DEFENSE_METADATA = {
3606
3636
  "MultiPolygon",
3607
3637
  "Point"
3608
3638
  ],
3639
+ paints: {
3640
+ stroke: true,
3641
+ fill: "fixed",
3642
+ text: true
3643
+ },
3609
3644
  drawRule: "Area15",
3610
3645
  capturesLabelSize: true,
3611
3646
  params: [
@@ -3801,6 +3836,11 @@ const AREA_OF_OPERATIONS_METADATA = {
3801
3836
  "MultiLineString",
3802
3837
  "Point"
3803
3838
  ],
3839
+ paints: {
3840
+ stroke: true,
3841
+ fill: "none",
3842
+ text: true
3843
+ },
3804
3844
  drawRule: "Area1",
3805
3845
  capturesLabelSize: true,
3806
3846
  params: LABELED_AREA_PARAMS,
@@ -3855,6 +3895,11 @@ const NAMED_AREA_OF_INTEREST_METADATA = {
3855
3895
  "MultiLineString",
3856
3896
  "Point"
3857
3897
  ],
3898
+ paints: {
3899
+ stroke: true,
3900
+ fill: "none",
3901
+ text: true
3902
+ },
3858
3903
  drawRule: "Area1",
3859
3904
  capturesLabelSize: true,
3860
3905
  params: LABELED_AREA_PARAMS,
@@ -3909,6 +3954,11 @@ const TARGET_AREA_OF_INTEREST_METADATA = {
3909
3954
  "MultiLineString",
3910
3955
  "Point"
3911
3956
  ],
3957
+ paints: {
3958
+ stroke: true,
3959
+ fill: "none",
3960
+ text: true
3961
+ },
3912
3962
  drawRule: "Area1",
3913
3963
  capturesLabelSize: true,
3914
3964
  params: LABELED_AREA_PARAMS,
@@ -3972,6 +4022,11 @@ const AIRFIELD_ZONE_METADATA = {
3972
4022
  "MultiLineString",
3973
4023
  "Point"
3974
4024
  ],
4025
+ paints: {
4026
+ stroke: true,
4027
+ fill: "none",
4028
+ text: true
4029
+ },
3975
4030
  drawRule: "Area1",
3976
4031
  capturesLabelSize: true,
3977
4032
  params: [
@@ -4151,6 +4206,11 @@ const BASE_CAMP_METADATA = {
4151
4206
  "MultiPolygon",
4152
4207
  "Point"
4153
4208
  ],
4209
+ paints: {
4210
+ stroke: true,
4211
+ fill: "fixed",
4212
+ text: true
4213
+ },
4154
4214
  drawRule: "Area1",
4155
4215
  capturesLabelSize: true,
4156
4216
  params: ECHELON_AREA_PARAMS,
@@ -4204,6 +4264,11 @@ const GUERRILLA_BASE_METADATA = {
4204
4264
  "MultiPolygon",
4205
4265
  "Point"
4206
4266
  ],
4267
+ paints: {
4268
+ stroke: true,
4269
+ fill: "fixed",
4270
+ text: true
4271
+ },
4207
4272
  drawRule: "Area1",
4208
4273
  capturesLabelSize: true,
4209
4274
  params: ECHELON_AREA_PARAMS,
@@ -4262,6 +4327,11 @@ const GENERIC_C2_AREA_METADATA = {
4262
4327
  "MultiLineString",
4263
4328
  "Point"
4264
4329
  ],
4330
+ paints: {
4331
+ stroke: true,
4332
+ fill: "none",
4333
+ text: true
4334
+ },
4265
4335
  drawRule: "Area1",
4266
4336
  capturesLabelSize: true,
4267
4337
  params: LABELED_AREA_PARAMS,
@@ -4312,6 +4382,11 @@ const ASSEMBLY_AREA_METADATA = {
4312
4382
  "MultiLineString",
4313
4383
  "Point"
4314
4384
  ],
4385
+ paints: {
4386
+ stroke: true,
4387
+ fill: "none",
4388
+ text: true
4389
+ },
4315
4390
  drawRule: "Area1",
4316
4391
  capturesLabelSize: true,
4317
4392
  params: LABELED_AREA_PARAMS,
@@ -4434,6 +4509,11 @@ const ANTITANK_DITCH_UNDER_CONSTRUCTION_METADATA = {
4434
4509
  minCoordinates: 2,
4435
4510
  geometry: "line",
4436
4511
  geometryTypes: ["MultiLineString", "Point"],
4512
+ paints: {
4513
+ stroke: true,
4514
+ fill: "none",
4515
+ text: true
4516
+ },
4437
4517
  drawRule: "Line1",
4438
4518
  capturesLabelSize: true,
4439
4519
  params: ANTITANK_DITCH_PARAMS,
@@ -4450,6 +4530,11 @@ const ANTITANK_DITCH_COMPLETED_METADATA = {
4450
4530
  minCoordinates: 2,
4451
4531
  geometry: "line",
4452
4532
  geometryTypes: ["MultiPolygon", "Point"],
4533
+ paints: {
4534
+ stroke: true,
4535
+ fill: "fixed",
4536
+ text: true
4537
+ },
4453
4538
  drawRule: "Line1",
4454
4539
  capturesLabelSize: true,
4455
4540
  params: ANTITANK_DITCH_PARAMS,
@@ -4576,6 +4661,11 @@ const ANTITANK_WALL_METADATA = {
4576
4661
  minCoordinates: 2,
4577
4662
  geometry: "line",
4578
4663
  geometryTypes: ["MultiLineString", "Point"],
4664
+ paints: {
4665
+ stroke: true,
4666
+ fill: "none",
4667
+ text: true
4668
+ },
4579
4669
  drawRule: "Line1",
4580
4670
  capturesLabelSize: true,
4581
4671
  params: ANTITANK_WALL_PARAMS,
@@ -4657,6 +4747,11 @@ const ATTACK_BY_FIRE_METADATA = {
4657
4747
  minCoordinates: 3,
4658
4748
  geometry: "line",
4659
4749
  geometryTypes: ["LineString"],
4750
+ paints: {
4751
+ stroke: true,
4752
+ fill: "none",
4753
+ text: false
4754
+ },
4660
4755
  drawRule: "Area7",
4661
4756
  params: FIRE_ARROW_PARAMS
4662
4757
  };
@@ -4802,6 +4897,11 @@ const ATTACK_HELICOPTER_METADATA = {
4802
4897
  minCoordinates: 3,
4803
4898
  geometry: "line",
4804
4899
  geometryTypes: ["LineString", "Polygon"],
4900
+ paints: {
4901
+ stroke: true,
4902
+ fill: "none",
4903
+ text: false
4904
+ },
4805
4905
  drawRule: "Axis1",
4806
4906
  params: [
4807
4907
  ...ATTACK_SHAFT_PARAMS,
@@ -5022,6 +5122,11 @@ const BATTLE_POSITION_METADATA = {
5022
5122
  "MultiPolygon",
5023
5123
  "Point"
5024
5124
  ],
5125
+ paints: {
5126
+ stroke: true,
5127
+ fill: "fixed",
5128
+ text: true
5129
+ },
5025
5130
  drawRule: "Area1",
5026
5131
  capturesLabelSize: true,
5027
5132
  params: ECHELON_AREA_PARAMS,
@@ -5137,6 +5242,11 @@ const BLOCK_METADATA = {
5137
5242
  minCoordinates: 2,
5138
5243
  geometry: "line",
5139
5244
  geometryTypes: ["LineString"],
5245
+ paints: {
5246
+ stroke: true,
5247
+ fill: "none",
5248
+ text: false
5249
+ },
5140
5250
  drawRule: "Area11"
5141
5251
  };
5142
5252
  const DEFAULT_BLOCK_OPTIONS = {};
@@ -5214,6 +5324,11 @@ const BLOCK_ARROW_METADATA = {
5214
5324
  minCoordinates: 3,
5215
5325
  geometry: "line",
5216
5326
  geometryTypes: ["Polygon"],
5327
+ paints: {
5328
+ stroke: true,
5329
+ fill: "user",
5330
+ text: false
5331
+ },
5217
5332
  drawRule: "Axis1",
5218
5333
  params: [
5219
5334
  {
@@ -5475,6 +5590,11 @@ const BOUNDARY_METADATA = {
5475
5590
  "MultiPolygon",
5476
5591
  "Point"
5477
5592
  ],
5593
+ paints: {
5594
+ stroke: true,
5595
+ fill: "fixed",
5596
+ text: true
5597
+ },
5478
5598
  drawRule: "Line1",
5479
5599
  params: [
5480
5600
  {
@@ -5775,6 +5895,11 @@ const LIGHT_LINE_METADATA = {
5775
5895
  minCoordinates: 2,
5776
5896
  geometry: "line",
5777
5897
  geometryTypes: ["LineString", "Point"],
5898
+ paints: {
5899
+ stroke: true,
5900
+ fill: "none",
5901
+ text: true
5902
+ },
5778
5903
  drawRule: "Line1",
5779
5904
  capturesLabelSize: true,
5780
5905
  params: [
@@ -5846,6 +5971,11 @@ const ENGINEER_WORK_LINE_METADATA = {
5846
5971
  minCoordinates: 2,
5847
5972
  geometry: "line",
5848
5973
  geometryTypes: ["LineString", "Point"],
5974
+ paints: {
5975
+ stroke: true,
5976
+ fill: "none",
5977
+ text: true
5978
+ },
5849
5979
  drawRule: "Line1",
5850
5980
  capturesLabelSize: true,
5851
5981
  params: [
@@ -5981,6 +6111,11 @@ const GENERIC_C2_LINE_METADATA = {
5981
6111
  minCoordinates: 2,
5982
6112
  geometry: "line",
5983
6113
  geometryTypes: ["LineString", "Point"],
6114
+ paints: {
6115
+ stroke: true,
6116
+ fill: "none",
6117
+ text: true
6118
+ },
5984
6119
  drawRule: "Line1",
5985
6120
  capturesLabelSize: true,
5986
6121
  params: [
@@ -6243,6 +6378,11 @@ const BLOCK_MISSION_TASK_METADATA = {
6243
6378
  minCoordinates: 2,
6244
6379
  geometry: "line",
6245
6380
  geometryTypes: ["MultiLineString", "Point"],
6381
+ paints: {
6382
+ stroke: true,
6383
+ fill: "none",
6384
+ text: true
6385
+ },
6246
6386
  drawRule: "Area11",
6247
6387
  capturesLabelSize: true,
6248
6388
  params: [{
@@ -6336,6 +6476,11 @@ const BREACH_METADATA = {
6336
6476
  maxCoordinates: 3,
6337
6477
  geometry: "line",
6338
6478
  geometryTypes: ["MultiLineString", "Point"],
6479
+ paints: {
6480
+ stroke: true,
6481
+ fill: "none",
6482
+ text: true
6483
+ },
6339
6484
  drawRule: "Point12",
6340
6485
  capturesLabelSize: true,
6341
6486
  params: [
@@ -6432,6 +6577,11 @@ const BYPASS_METADATA = {
6432
6577
  maxCoordinates: 3,
6433
6578
  geometry: "line",
6434
6579
  geometryTypes: ["MultiLineString", "Point"],
6580
+ paints: {
6581
+ stroke: true,
6582
+ fill: "none",
6583
+ text: true
6584
+ },
6435
6585
  drawRule: "Point12",
6436
6586
  capturesLabelSize: true,
6437
6587
  params: [{
@@ -6507,6 +6657,11 @@ const CANALIZE_METADATA = {
6507
6657
  maxCoordinates: 3,
6508
6658
  geometry: "line",
6509
6659
  geometryTypes: ["MultiLineString", "Point"],
6660
+ paints: {
6661
+ stroke: true,
6662
+ fill: "none",
6663
+ text: true
6664
+ },
6510
6665
  drawRule: "Point12",
6511
6666
  capturesLabelSize: true,
6512
6667
  params: [
@@ -6605,6 +6760,11 @@ const CLASSIC_ARROW_METADATA = {
6605
6760
  minCoordinates: 2,
6606
6761
  geometry: "line",
6607
6762
  geometryTypes: ["LineString", "Polygon"],
6763
+ paints: {
6764
+ stroke: true,
6765
+ fill: "fixed",
6766
+ text: false
6767
+ },
6608
6768
  drawRule: "Line1",
6609
6769
  params: [
6610
6770
  {
@@ -6945,6 +7105,11 @@ const GENERIC_CIRCLE_METADATA = {
6945
7105
  maxCoordinates: 2,
6946
7106
  geometry: "area",
6947
7107
  geometryTypes: ["Polygon"],
7108
+ paints: {
7109
+ stroke: true,
7110
+ fill: "user",
7111
+ text: false
7112
+ },
6948
7113
  drawRule: "Area15",
6949
7114
  params: FILLED_AREA_PARAMS
6950
7115
  };
@@ -7024,6 +7189,11 @@ const GENERIC_LINE_METADATA = {
7024
7189
  minCoordinates: 2,
7025
7190
  geometry: "line",
7026
7191
  geometryTypes: ["LineString"],
7192
+ paints: {
7193
+ stroke: true,
7194
+ fill: "none",
7195
+ text: false
7196
+ },
7027
7197
  drawRule: "Line1",
7028
7198
  params: SMOOTH_PATH_PARAMS
7029
7199
  };
@@ -7082,6 +7252,11 @@ const GENERIC_POLYGON_METADATA = {
7082
7252
  minCoordinates: 3,
7083
7253
  geometry: "area",
7084
7254
  geometryTypes: ["Polygon"],
7255
+ paints: {
7256
+ stroke: true,
7257
+ fill: "user",
7258
+ text: false
7259
+ },
7085
7260
  drawRule: "Area1",
7086
7261
  params: [...SMOOTH_PATH_PARAMS, ...FILLED_AREA_PARAMS]
7087
7262
  };
@@ -7140,6 +7315,11 @@ const GENERIC_RECTANGLE_METADATA = {
7140
7315
  maxCoordinates: 3,
7141
7316
  geometry: "area",
7142
7317
  geometryTypes: ["Polygon"],
7318
+ paints: {
7319
+ stroke: true,
7320
+ fill: "user",
7321
+ text: false
7322
+ },
7143
7323
  drawRule: "Rectangle",
7144
7324
  params: FILLED_AREA_PARAMS
7145
7325
  };
@@ -7221,6 +7401,11 @@ const GENERIC_TEXT_METADATA = {
7221
7401
  maxCoordinates: 1,
7222
7402
  geometry: "point",
7223
7403
  geometryTypes: ["Point"],
7404
+ paints: {
7405
+ stroke: false,
7406
+ fill: "none",
7407
+ text: true
7408
+ },
7224
7409
  drawRule: "Point1",
7225
7410
  params: [
7226
7411
  {
@@ -7396,6 +7581,11 @@ const CLEAR_METADATA = {
7396
7581
  maxCoordinates: 3,
7397
7582
  geometry: "line",
7398
7583
  geometryTypes: ["MultiLineString", "Point"],
7584
+ paints: {
7585
+ stroke: true,
7586
+ fill: "none",
7587
+ text: true
7588
+ },
7399
7589
  drawRule: "Line23",
7400
7590
  capturesLabelSize: true,
7401
7591
  params: [
@@ -7605,6 +7795,11 @@ const SEARCH_AREA_METADATA = {
7605
7795
  maxCoordinates: 3,
7606
7796
  geometry: "area",
7607
7797
  geometryTypes: ["MultiLineString", "MultiPolygon"],
7798
+ paints: {
7799
+ stroke: true,
7800
+ fill: "fixed",
7801
+ text: false
7802
+ },
7608
7803
  drawRule: "Area21",
7609
7804
  params: [
7610
7805
  {
@@ -7896,6 +8091,11 @@ const COVER_METADATA = {
7896
8091
  maxCoordinates: 4,
7897
8092
  geometry: "line",
7898
8093
  geometryTypes: ["MultiLineString", "Point"],
8094
+ paints: {
8095
+ stroke: true,
8096
+ fill: "none",
8097
+ text: true
8098
+ },
7899
8099
  drawRule: "Line26",
7900
8100
  capturesLabelSize: true,
7901
8101
  params: SECURITY_TASK_PARAMS
@@ -7940,6 +8140,11 @@ const DELAY_METADATA = {
7940
8140
  maxCoordinates: 3,
7941
8141
  geometry: "line",
7942
8142
  geometryTypes: ["MultiLineString", "Point"],
8143
+ paints: {
8144
+ stroke: true,
8145
+ fill: "none",
8146
+ text: true
8147
+ },
7943
8148
  drawRule: "Line24",
7944
8149
  capturesLabelSize: true,
7945
8150
  params: [
@@ -8061,6 +8266,11 @@ const GUARD_METADATA = {
8061
8266
  maxCoordinates: 4,
8062
8267
  geometry: "line",
8063
8268
  geometryTypes: ["MultiLineString", "Point"],
8269
+ paints: {
8270
+ stroke: true,
8271
+ fill: "none",
8272
+ text: true
8273
+ },
8064
8274
  drawRule: "Line26",
8065
8275
  capturesLabelSize: true,
8066
8276
  params: SECURITY_TASK_PARAMS
@@ -8127,6 +8337,11 @@ const DISRUPT_METADATA = {
8127
8337
  minCoordinates: 2,
8128
8338
  geometry: "line",
8129
8339
  geometryTypes: ["MultiLineString", "MultiPolygon"],
8340
+ paints: {
8341
+ stroke: true,
8342
+ fill: "fixed",
8343
+ text: false
8344
+ },
8130
8345
  drawRule: "Area12",
8131
8346
  params: [
8132
8347
  {
@@ -8315,6 +8530,11 @@ const DROP_ZONE_METADATA = {
8315
8530
  "MultiLineString",
8316
8531
  "Point"
8317
8532
  ],
8533
+ paints: {
8534
+ stroke: true,
8535
+ fill: "none",
8536
+ text: true
8537
+ },
8318
8538
  drawRule: "Area1",
8319
8539
  capturesLabelSize: true,
8320
8540
  params: LABELED_AREA_PARAMS,
@@ -8374,6 +8594,11 @@ const ENCIRCLEMENT_METADATA = {
8374
8594
  "MultiLineString",
8375
8595
  "Point"
8376
8596
  ],
8597
+ paints: {
8598
+ stroke: true,
8599
+ fill: "none",
8600
+ text: true
8601
+ },
8377
8602
  drawRule: "Area1",
8378
8603
  capturesLabelSize: true,
8379
8604
  params: ENCIRCLEMENT_PARAMS,
@@ -8522,6 +8747,11 @@ const EXTRACTION_ZONE_METADATA = {
8522
8747
  "MultiLineString",
8523
8748
  "Point"
8524
8749
  ],
8750
+ paints: {
8751
+ stroke: true,
8752
+ fill: "none",
8753
+ text: true
8754
+ },
8525
8755
  drawRule: "Area1",
8526
8756
  capturesLabelSize: true,
8527
8757
  params: LABELED_AREA_PARAMS,
@@ -8566,6 +8796,11 @@ const FPF_SHARED = {
8566
8796
  maxCoordinates: 3,
8567
8797
  geometry: "line",
8568
8798
  geometryTypes: ["MultiLineString", "Polygon"],
8799
+ paints: {
8800
+ stroke: true,
8801
+ fill: "fixed",
8802
+ text: false
8803
+ },
8569
8804
  drawRule: "Line3",
8570
8805
  params: [
8571
8806
  {
@@ -8749,6 +8984,11 @@ const FIX_METADATA = {
8749
8984
  maxCoordinates: 2,
8750
8985
  geometry: "line",
8751
8986
  geometryTypes: ["MultiLineString"],
8987
+ paints: {
8988
+ stroke: true,
8989
+ fill: "none",
8990
+ text: false
8991
+ },
8752
8992
  drawRule: "Line9",
8753
8993
  params: [
8754
8994
  {
@@ -8888,6 +9128,11 @@ const FLOT_METADATA = {
8888
9128
  minCoordinates: 2,
8889
9129
  geometry: "line",
8890
9130
  geometryTypes: ["LineString", "Point"],
9131
+ paints: {
9132
+ stroke: true,
9133
+ fill: "none",
9134
+ text: true
9135
+ },
8891
9136
  drawRule: "Line1",
8892
9137
  capturesLabelSize: true,
8893
9138
  params: [
@@ -9076,6 +9321,11 @@ const PHASE_LINE_METADATA = {
9076
9321
  minCoordinates: 2,
9077
9322
  geometry: "line",
9078
9323
  geometryTypes: ["LineString", "Point"],
9324
+ paints: {
9325
+ stroke: true,
9326
+ fill: "none",
9327
+ text: true
9328
+ },
9079
9329
  drawRule: "Line1",
9080
9330
  capturesLabelSize: true,
9081
9331
  params: [
@@ -9146,6 +9396,11 @@ const HANDOVER_LINE_METADATA = {
9146
9396
  minCoordinates: 2,
9147
9397
  geometry: "line",
9148
9398
  geometryTypes: ["LineString", "Point"],
9399
+ paints: {
9400
+ stroke: true,
9401
+ fill: "none",
9402
+ text: true
9403
+ },
9149
9404
  drawRule: "Line1",
9150
9405
  capturesLabelSize: true,
9151
9406
  params: [
@@ -9217,6 +9472,11 @@ const BATTLE_HANDOVER_LINE_METADATA = {
9217
9472
  minCoordinates: 2,
9218
9473
  geometry: "line",
9219
9474
  geometryTypes: ["LineString", "Point"],
9475
+ paints: {
9476
+ stroke: true,
9477
+ fill: "none",
9478
+ text: true
9479
+ },
9220
9480
  drawRule: "Line1",
9221
9481
  capturesLabelSize: true,
9222
9482
  params: [
@@ -9294,6 +9554,11 @@ const FORTIFIED_LINE_METADATA = {
9294
9554
  minCoordinates: 2,
9295
9555
  geometry: "line",
9296
9556
  geometryTypes: ["LineString", "Point"],
9557
+ paints: {
9558
+ stroke: true,
9559
+ fill: "none",
9560
+ text: true
9561
+ },
9297
9562
  drawRule: "Line1",
9298
9563
  capturesLabelSize: true,
9299
9564
  params: FORTIFIED_PARAMS,
@@ -9449,6 +9714,11 @@ const FORTIFIED_AREA_METADATA = {
9449
9714
  "MultiLineString",
9450
9715
  "Point"
9451
9716
  ],
9717
+ paints: {
9718
+ stroke: true,
9719
+ fill: "none",
9720
+ text: true
9721
+ },
9452
9722
  drawRule: "Area1",
9453
9723
  capturesLabelSize: true,
9454
9724
  params: [...FORTIFIED_AREA_PARAMS, AREA_LABEL_PADDING_PARAM],
@@ -9682,6 +9952,11 @@ const FRONTAL_ATTACK_METADATA = {
9682
9952
  minCoordinates: 3,
9683
9953
  geometry: "line",
9684
9954
  geometryTypes: ["MultiLineString", "Point"],
9955
+ paints: {
9956
+ stroke: true,
9957
+ fill: "none",
9958
+ text: true
9959
+ },
9685
9960
  drawRule: "Axis1",
9686
9961
  capturesLabelSize: true,
9687
9962
  params: [...ATTACK_SHAFT_PARAMS, ...MANEUVER_ARROW_TASK_PARAMS],
@@ -9735,6 +10010,11 @@ const ISOLATE_METADATA = {
9735
10010
  maxCoordinates: 2,
9736
10011
  geometry: "line",
9737
10012
  geometryTypes: ["MultiLineString"],
10013
+ paints: {
10014
+ stroke: true,
10015
+ fill: "none",
10016
+ text: false
10017
+ },
9738
10018
  drawRule: "Area15",
9739
10019
  params: [
9740
10020
  {
@@ -9859,6 +10139,11 @@ const SCREEN_METADATA = {
9859
10139
  maxCoordinates: 4,
9860
10140
  geometry: "line",
9861
10141
  geometryTypes: ["MultiLineString", "Point"],
10142
+ paints: {
10143
+ stroke: true,
10144
+ fill: "none",
10145
+ text: true
10146
+ },
9862
10147
  drawRule: "Line26",
9863
10148
  capturesLabelSize: true,
9864
10149
  params: SECURITY_TASK_PARAMS
@@ -9906,6 +10191,11 @@ const JOINT_TACTICAL_ACTION_AREA_METADATA = {
9906
10191
  "MultiLineString",
9907
10192
  "Point"
9908
10193
  ],
10194
+ paints: {
10195
+ stroke: true,
10196
+ fill: "none",
10197
+ text: true
10198
+ },
9909
10199
  drawRule: "Area1",
9910
10200
  capturesLabelSize: true,
9911
10201
  params: LABELED_AREA_PARAMS,
@@ -9961,6 +10251,11 @@ const LANDING_ZONE_METADATA = {
9961
10251
  "MultiLineString",
9962
10252
  "Point"
9963
10253
  ],
10254
+ paints: {
10255
+ stroke: true,
10256
+ fill: "none",
10257
+ text: true
10258
+ },
9964
10259
  drawRule: "Area1",
9965
10260
  capturesLabelSize: true,
9966
10261
  params: LABELED_AREA_PARAMS,
@@ -10011,6 +10306,11 @@ const LIMITED_ACCESS_AREA_METADATA = {
10011
10306
  "MultiLineString",
10012
10307
  "Point"
10013
10308
  ],
10309
+ paints: {
10310
+ stroke: true,
10311
+ fill: "fixed",
10312
+ text: true
10313
+ },
10014
10314
  drawRule: "Area1",
10015
10315
  capturesLabelSize: true,
10016
10316
  params: [...AREA_SMOOTH_PARAMS, AREA_LABEL_PADDING_PARAM],
@@ -10101,6 +10401,11 @@ const NO_FIRE_AREA_IRREGULAR_METADATA = {
10101
10401
  "MultiLineString",
10102
10402
  "Point"
10103
10403
  ],
10404
+ paints: {
10405
+ stroke: true,
10406
+ fill: "fixed",
10407
+ text: true
10408
+ },
10104
10409
  drawRule: "Area1",
10105
10410
  capturesLabelSize: true,
10106
10411
  params: [...AREA_SMOOTH_PARAMS, AREA_LABEL_PADDING_PARAM],
@@ -10190,6 +10495,11 @@ const MAIN_ATTACK_METADATA = {
10190
10495
  minCoordinates: 3,
10191
10496
  geometry: "line",
10192
10497
  geometryTypes: ["MultiLineString"],
10498
+ paints: {
10499
+ stroke: true,
10500
+ fill: "none",
10501
+ text: false
10502
+ },
10193
10503
  drawRule: "Axis1",
10194
10504
  params: ATTACK_SHAFT_PARAMS
10195
10505
  };
@@ -10290,6 +10600,11 @@ const OBSTACLE_BYPASS_DIFFICULT_METADATA = {
10290
10600
  minCoordinates: 2,
10291
10601
  geometry: "line",
10292
10602
  geometryTypes: ["MultiLineString", "MultiPolygon"],
10603
+ paints: {
10604
+ stroke: true,
10605
+ fill: "fixed",
10606
+ text: false
10607
+ },
10293
10608
  drawRule: "Point12",
10294
10609
  params: [
10295
10610
  ...OBSTACLE_BYPASS_PARAMS,
@@ -10423,6 +10738,11 @@ const OBSTACLE_BYPASS_EASY_METADATA = {
10423
10738
  minCoordinates: 2,
10424
10739
  geometry: "line",
10425
10740
  geometryTypes: ["MultiLineString", "MultiPolygon"],
10741
+ paints: {
10742
+ stroke: true,
10743
+ fill: "fixed",
10744
+ text: false
10745
+ },
10426
10746
  drawRule: "Point12",
10427
10747
  params: OBSTACLE_BYPASS_PARAMS
10428
10748
  };
@@ -10532,6 +10852,11 @@ const OBSTACLE_BYPASS_IMPOSSIBLE_METADATA = {
10532
10852
  minCoordinates: 2,
10533
10853
  geometry: "line",
10534
10854
  geometryTypes: ["MultiLineString", "MultiPolygon"],
10855
+ paints: {
10856
+ stroke: true,
10857
+ fill: "fixed",
10858
+ text: false
10859
+ },
10535
10860
  drawRule: "Point12",
10536
10861
  params: [
10537
10862
  ...OBSTACLE_BYPASS_PARAMS,
@@ -10672,6 +10997,11 @@ const PICKUP_ZONE_METADATA = {
10672
10997
  "MultiLineString",
10673
10998
  "Point"
10674
10999
  ],
11000
+ paints: {
11001
+ stroke: true,
11002
+ fill: "none",
11003
+ text: true
11004
+ },
10675
11005
  drawRule: "Area1",
10676
11006
  capturesLabelSize: true,
10677
11007
  params: LABELED_AREA_PARAMS,
@@ -10722,6 +11052,11 @@ const ASSAULT_POSITION_METADATA = {
10722
11052
  "MultiLineString",
10723
11053
  "Point"
10724
11054
  ],
11055
+ paints: {
11056
+ stroke: true,
11057
+ fill: "none",
11058
+ text: true
11059
+ },
10725
11060
  drawRule: "Area1",
10726
11061
  capturesLabelSize: true,
10727
11062
  params: LABELED_AREA_PARAMS,
@@ -10772,6 +11107,11 @@ const ATTACK_POSITION_METADATA = {
10772
11107
  "MultiLineString",
10773
11108
  "Point"
10774
11109
  ],
11110
+ paints: {
11111
+ stroke: true,
11112
+ fill: "none",
11113
+ text: true
11114
+ },
10775
11115
  drawRule: "Area1",
10776
11116
  capturesLabelSize: true,
10777
11117
  params: LABELED_AREA_PARAMS,
@@ -10822,6 +11162,11 @@ const OBJECTIVE_AREA_METADATA = {
10822
11162
  "MultiLineString",
10823
11163
  "Point"
10824
11164
  ],
11165
+ paints: {
11166
+ stroke: true,
11167
+ fill: "none",
11168
+ text: true
11169
+ },
10825
11170
  drawRule: "Area1",
10826
11171
  capturesLabelSize: true,
10827
11172
  params: LABELED_AREA_PARAMS,
@@ -10869,6 +11214,11 @@ const PRINCIPAL_DIRECTION_OF_FIRE_METADATA = {
10869
11214
  maxCoordinates: 3,
10870
11215
  geometry: "line",
10871
11216
  geometryTypes: ["MultiLineString"],
11217
+ paints: {
11218
+ stroke: true,
11219
+ fill: "none",
11220
+ text: false
11221
+ },
10872
11222
  drawRule: "Line3",
10873
11223
  params: [{
10874
11224
  key: "arrowheadLengthRatio",
@@ -10953,6 +11303,11 @@ const STRONG_POINT_METADATA = {
10953
11303
  "MultiPolygon",
10954
11304
  "Point"
10955
11305
  ],
11306
+ paints: {
11307
+ stroke: true,
11308
+ fill: "fixed",
11309
+ text: true
11310
+ },
10956
11311
  drawRule: "Area1",
10957
11312
  capturesLabelSize: true,
10958
11313
  params: ECHELON_AREA_PARAMS,
@@ -11095,6 +11450,11 @@ const SUBMARINE_ACTION_AREA_METADATA = {
11095
11450
  "MultiLineString",
11096
11451
  "Point"
11097
11452
  ],
11453
+ paints: {
11454
+ stroke: true,
11455
+ fill: "none",
11456
+ text: true
11457
+ },
11098
11458
  drawRule: "Area1",
11099
11459
  capturesLabelSize: true,
11100
11460
  params: LABELED_AREA_PARAMS,
@@ -11150,6 +11510,11 @@ const SUBMARINE_GENERATED_ACTION_AREA_METADATA = {
11150
11510
  "MultiLineString",
11151
11511
  "Point"
11152
11512
  ],
11513
+ paints: {
11514
+ stroke: true,
11515
+ fill: "none",
11516
+ text: true
11517
+ },
11153
11518
  drawRule: "Area1",
11154
11519
  capturesLabelSize: true,
11155
11520
  params: LABELED_AREA_PARAMS,
@@ -11200,6 +11565,11 @@ const SUPPORT_BY_FIRE_METADATA = {
11200
11565
  minCoordinates: 4,
11201
11566
  geometry: "line",
11202
11567
  geometryTypes: ["LineString"],
11568
+ paints: {
11569
+ stroke: true,
11570
+ fill: "none",
11571
+ text: false
11572
+ },
11203
11573
  drawRule: "Area8",
11204
11574
  params: FIRE_ARROW_PARAMS
11205
11575
  };
@@ -11347,6 +11717,11 @@ const SUPPORTING_ATTACK_METADATA = {
11347
11717
  minCoordinates: 3,
11348
11718
  geometry: "line",
11349
11719
  geometryTypes: ["LineString"],
11720
+ paints: {
11721
+ stroke: true,
11722
+ fill: "none",
11723
+ text: false
11724
+ },
11350
11725
  drawRule: "Axis1",
11351
11726
  params: ATTACK_SHAFT_PARAMS
11352
11727
  };
@@ -11408,6 +11783,11 @@ const TURN_METADATA = {
11408
11783
  minCoordinates: 2,
11409
11784
  geometry: "line",
11410
11785
  geometryTypes: ["MultiLineString", "MultiPolygon"],
11786
+ paints: {
11787
+ stroke: true,
11788
+ fill: "fixed",
11789
+ text: false
11790
+ },
11411
11791
  drawRule: "Line10",
11412
11792
  params: [
11413
11793
  {
@@ -11519,6 +11899,11 @@ const TURNING_MOVEMENT_METADATA = {
11519
11899
  minCoordinates: 3,
11520
11900
  geometry: "line",
11521
11901
  geometryTypes: ["MultiLineString", "Point"],
11902
+ paints: {
11903
+ stroke: true,
11904
+ fill: "none",
11905
+ text: true
11906
+ },
11522
11907
  drawRule: "Axis1",
11523
11908
  capturesLabelSize: true,
11524
11909
  params: [...ATTACK_SHAFT_PARAMS, ...MANEUVER_ARROW_TASK_PARAMS],
@@ -11865,18 +12250,32 @@ function dispatchControlMeasure(cm, opts) {
11865
12250
  return generator(cm.controlPoints, cm.options ?? {}, textAmplifiers, { amplifierPlacements: cm.amplifierPlacements });
11866
12251
  }
11867
12252
  /**
11868
- * The control-point *input contract*: at least `metadata.minCoordinates` points,
11869
- * each a finite `[lon, lat]` position. Reports per `validationMode` on
11870
- * violation (`silent` → empty render, `warn` → log, `throw` → raise) and
11871
- * returns whether the points may be passed to the generator. Extra points
11872
- * beyond `maxCoordinates` are ignored, not rejected (ADR-0014).
12253
+ * The control-point *input contract*: `controlPoints` must be present and an
12254
+ * array of at least `metadata.minCoordinates` finite `[lon, lat]` positions.
12255
+ * Reports per `validationMode` on violation (`silent` → empty render, `warn` →
12256
+ * log, `throw` → raise) and returns whether the points may be passed to the
12257
+ * generator. Extra points beyond `maxCoordinates` are ignored, not rejected
12258
+ * (ADR-0014).
12259
+ *
12260
+ * A missing or non-array `controlPoints` is itself a contract violation and is
12261
+ * reported like any other — the validator must never throw a raw `TypeError`
12262
+ * on the very input it exists to diagnose. Passing a GeoJSON `geometry` or a
12263
+ * `coordinates` field instead of `controlPoints` is the common way to land
12264
+ * here.
11873
12265
  */
11874
12266
  function validateInputContract(points, metadata, mode) {
12267
+ if (!Array.isArray(points)) return reportValidationIssue(mode, `"${metadata.id}" requires controlPoints to be an array of [lon, lat] positions; received ${describeValue(points)}.`);
11875
12268
  const minimum = metadata.minCoordinates ?? 0;
11876
12269
  if (points.length < minimum) return reportValidationIssue(mode, `"${metadata.id}" requires at least ${minimum} control points; received ${points.length}.`);
11877
12270
  if (points.some((point) => !isValidPosition(point))) return reportValidationIssue(mode, `"${metadata.id}" control points must contain finite [lon, lat] values.`);
11878
12271
  return true;
11879
12272
  }
12273
+ /** A short, log-safe description of an off-contract value for the report. */
12274
+ function describeValue(value) {
12275
+ if (value === null) return "null";
12276
+ if (value === void 0) return "undefined";
12277
+ return typeof value;
12278
+ }
11880
12279
  /**
11881
12280
  * The `amplifierPlacements` key that repositions this feature, if any: the
11882
12281
  * explicit `labelPlacementKey`, the canonical amplifier field when the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbat-mapper/control-measures",
3
- "version": "0.2.0-alpha.26",
3
+ "version": "0.2.0-alpha.27",
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",