@orbat-mapper/control-measures 0.2.0-alpha.4 → 0.2.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,6 +36,12 @@ interface ControlMeasureDrawRule {
36
36
  * Defaults to 0 (the entire array is user-clicked spine). See ADR-0008.
37
37
  */
38
38
  readonly trailingFixedSlots?: number;
39
+ /**
40
+ * The user-spine points form a closed ring even though the first point is not
41
+ * duplicated at the end. TacticalDraw uses this to treat the last→first edge
42
+ * like every other edge for completion and midpoint insertion.
43
+ */
44
+ readonly closedRing?: boolean;
39
45
  derive(points: readonly Position[]): Position[];
40
46
  transform(event: AnchorTransformEvent): Position[];
41
47
  }
@@ -43,7 +49,7 @@ interface ControlMeasureDrawRule {
43
49
  //#region src/metadata.d.ts
44
50
  type ControlMeasureGeometryType = Geometry["type"];
45
51
  type ControlMeasureGeometry = "point" | "line" | "area";
46
- declare const DRAW_RULE_IDS: readonly ["Area1", "Area7", "Area8", "Area11", "Area12", "Area15", "Area21", "Axis1", "Line1", "Line3", "Line9", "Line10", "Line23", "Line24", "Line29", "Point12"];
52
+ declare const DRAW_RULE_IDS: readonly ["Area1", "Area7", "Area8", "Area11", "Area12", "Area15", "Area21", "Axis1", "Line1", "Line3", "Line9", "Line10", "Line23", "Line24", "Line29", "Point12", "Rectangle"];
47
53
  type DrawRuleId = (typeof DRAW_RULE_IDS)[number];
48
54
  interface BaseParamDescriptor {
49
55
  key: string;
@@ -613,6 +619,47 @@ declare function createBlockArrow(coordinates: Position[], options?: BlockArrowO
613
619
  fill: boolean;
614
620
  }>;
615
621
  //#endregion
622
+ //#region src/generators/cm99-generic-graphics/params.d.ts
623
+ interface SmoothPathOptions {
624
+ /** Curve the rendered path through the unchanged control points. */
625
+ smooth?: boolean;
626
+ /** Number of samples per segment when smoothing is enabled. */
627
+ smoothResolution?: number;
628
+ }
629
+ interface FilledAreaOptions {
630
+ /** Fill the polygon interior; false renders only its outline. */
631
+ filled?: boolean;
632
+ }
633
+ //#endregion
634
+ //#region src/generators/cm99-generic-graphics/line.d.ts
635
+ type GenericLineOptions = SmoothPathOptions;
636
+ declare const DEFAULT_GENERIC_LINE_OPTIONS: Required<GenericLineOptions>;
637
+ declare function createGenericLine(coordinates: Position[], options?: GenericLineOptions): FeatureCollection<LineString>;
638
+ //#endregion
639
+ //#region src/generators/cm99-generic-graphics/polygon.d.ts
640
+ interface GenericPolygonOptions extends SmoothPathOptions, FilledAreaOptions {}
641
+ declare const DEFAULT_GENERIC_POLYGON_OPTIONS: Required<GenericPolygonOptions>;
642
+ declare function createGenericPolygon(coordinates: Position[], options?: GenericPolygonOptions): FeatureCollection<Polygon, {
643
+ part: string;
644
+ fill: boolean;
645
+ }>;
646
+ //#endregion
647
+ //#region src/generators/cm99-generic-graphics/rectangle.d.ts
648
+ type GenericRectangleOptions = FilledAreaOptions;
649
+ declare const DEFAULT_GENERIC_RECTANGLE_OPTIONS: Required<GenericRectangleOptions>;
650
+ declare function createGenericRectangle(coordinates: Position[], options?: GenericRectangleOptions): FeatureCollection<Polygon, {
651
+ part: string;
652
+ fill: boolean;
653
+ }>;
654
+ //#endregion
655
+ //#region src/generators/cm99-generic-graphics/circle.d.ts
656
+ type GenericCircleOptions = FilledAreaOptions;
657
+ declare const DEFAULT_GENERIC_CIRCLE_OPTIONS: Required<GenericCircleOptions>;
658
+ declare function createGenericCircle(coordinates: Position[], options?: GenericCircleOptions): FeatureCollection<Polygon, {
659
+ part: string;
660
+ fill: boolean;
661
+ }>;
662
+ //#endregion
616
663
  //#region src/generators/cm15-maneuver-areas/airborneAttack.d.ts
617
664
  type AirborneAttackOptions = AttackOptions;
618
665
  declare const DEFAULT_AIRBORNE_ATTACK_OPTIONS: Required<AirborneAttackOptions>;
@@ -1265,6 +1312,10 @@ declare const DEFINITIONS: {
1265
1312
  "supporting-attack": ControlMeasureDefinition<"supporting-attack", typeof createSupportingAttack>;
1266
1313
  "classic-arrow": ControlMeasureDefinition<"classic-arrow", typeof createClassicArrow>;
1267
1314
  "block-arrow": ControlMeasureDefinition<"block-arrow", typeof createBlockArrow>;
1315
+ line: ControlMeasureDefinition<"line", typeof createGenericLine>;
1316
+ polygon: ControlMeasureDefinition<"polygon", typeof createGenericPolygon>;
1317
+ rectangle: ControlMeasureDefinition<"rectangle", typeof createGenericRectangle>;
1318
+ circle: ControlMeasureDefinition<"circle", typeof createGenericCircle>;
1268
1319
  "airborne-attack": ControlMeasureDefinition<"airborne-attack", typeof createAirborneAttack>;
1269
1320
  "attack-helicopter": ControlMeasureDefinition<"attack-helicopter", typeof createAttackHelicopter>;
1270
1321
  "support-by-fire": ControlMeasureDefinition<"support-by-fire", typeof createSupportByFire>;
@@ -1599,6 +1650,9 @@ declare const blockDrawRule: ControlMeasureDrawRule;
1599
1650
  */
1600
1651
  declare const disruptDrawRule: ControlMeasureDrawRule;
1601
1652
  //#endregion
1653
+ //#region src/draw-rules/area15.d.ts
1654
+ declare const centerRadiusDrawRule: ControlMeasureDrawRule;
1655
+ //#endregion
1602
1656
  //#region src/draw-rules/point12.d.ts
1603
1657
  /**
1604
1658
  * Point12 anchor draw rule for the obstacle-bypass family.
@@ -1669,6 +1723,9 @@ declare const supportByFireDrawRule: ControlMeasureDrawRule;
1669
1723
  //#region src/draw-rules/axis1.d.ts
1670
1724
  declare const axis1DrawRule: ControlMeasureDrawRule;
1671
1725
  //#endregion
1726
+ //#region src/draw-rules/rectangle.d.ts
1727
+ declare const rectangleDrawRule: ControlMeasureDrawRule;
1728
+ //#endregion
1672
1729
  //#region src/generators/cm14-maneuver-lines/ambush.d.ts
1673
1730
  /**
1674
1731
  * Configuration options for the Ambush tactical symbol.
@@ -1710,4 +1767,4 @@ interface TacticalArrowOptions {
1710
1767
  */
1711
1768
  declare const DEFAULT_TACTICAL_ARROW_OPTIONS: Required<TacticalArrowOptions>;
1712
1769
  //#endregion
1713
- export { listControlMeasureMetadata as $, DEFAULT_ENCIRCLEMENT_OPTIONS as $t, SimpleStyleProps as A, BreachOptions as At, controlMeasureIdFromFeature as B, AttackHelicopterOptions as Bt, BaselineFrameNormal as C, DelayOptions as Ct, EPSILON as D, DEFAULT_CANALIZE_OPTIONS as Dt, createBaselineFrame as E, CanalizeOptions as Et, renderControlMeasure as F, FLOTOptions as Ft, CONTROL_MEASURE_IDS as G, SupportingAttackOptions as Gt, cloneControlMeasure as H, AirborneAttackOptions as Ht, ControlMeasureRender as I, AttackByFireOptions as It, ControlMeasureKind as J, calculateMetrics as Jt, CONTROL_MEASURE_METADATA as K, DEFAULT_MAIN_ATTACK_OPTIONS as Kt, ControlMeasureSnapshot as L, DEFAULT_ATTACK_BY_FIRE_OPTIONS as Lt, toSimpleStyle as M, BlockMissionTaskOptions as Mt, resolveStyleHints as N, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as Nt, getMetersPerPixel as O, BypassOptions as Ot, RenderOptions as P, DEFAULT_FLOT_OPTIONS as Pt, getDefaultOptions as Q, unproject as Qt, FeaturePartProps as R, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as Rt, BaselineFrame as S, DEFAULT_DELAY_OPTIONS as St, BaselineFrameOrigin as T, DEFAULT_CLEAR_OPTIONS as Tt, isKind as U, DEFAULT_AIRBORNE_ATTACK_OPTIONS as Ut, ControlMeasure as V, DEFAULT_ATTACK_HELICOPTER_OPTIONS as Vt, ControlMeasureStyle as W, DEFAULT_SUPPORTING_ATTACK_OPTIONS as Wt, getControlMeasureMetadata as X, Point2D as Xt, OptionsByKind as Y, computeInitialWidthPoint as Yt, getControlMeasureMetadataByValue as Z, project as Zt, computeDefaultMidpointPerpendicularPoint as _, FortifiedLineOptions as _t, axis1DrawRule as a, DEFAULT_STRONG_POINT_OPTIONS as an, ObstacleBypassEasyOptions as at, pointOnMidpointPerpendicularAxis as b, AntitankDitchOptions as bt, line23DrawRule as c, ControlMeasureGeometryType as cn, DEFAULT_FIX_OPTIONS as ct, ambushDrawRule as d, AnchorTransformEvent as dn, DisruptOptions as dt, EncirclementOptions as en, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as et, attackByFireDrawRule as f, ControlMeasureDrawRule as fn, BlockOptions as ft, MidpointPerpendicularDrawRuleOptions as g, DEFAULT_FORTIFIED_LINE_OPTIONS as gt, blockDrawRule as h, FortifiedAreaOptions as ht, DEFAULT_AMBUSH_OPTIONS as i, PrincipalDirectionOfFireOptions as in, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as it, SimpleStyleRender as j, DEFAULT_BREACH_OPTIONS as jt, roundToFixed as k, DEFAULT_BYPASS_OPTIONS as kt, turnDrawRule as l, ControlMeasureMetadata as ln, FixOptions as lt, disruptDrawRule as m, DEFAULT_FORTIFIED_AREA_OPTIONS as mt, TacticalArrowOptions as n, FinalProtectiveFireOptions as nn, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as nt, supportByFireDrawRule as o, StrongPointOptions as on, DEFAULT_TURN_OPTIONS as ot, point12DrawRule as p, DEFAULT_BLOCK_OPTIONS as pt, ControlMeasureId as q, MainAttackOptions as qt, AmbushOptions as r, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as rn, ObstacleBypassDifficultOptions as rt, line24DrawRule as s, ControlMeasureGeometry as sn, TurnOptions as st, DEFAULT_TACTICAL_ARROW_OPTIONS as t, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as tn, ObstacleBypassImpossibleOptions as tt, line1DrawRule as u, ParamDescriptor as un, DEFAULT_DISRUPT_OPTIONS as ut, createMidpointPerpendicularDrawRule as v, AntitankWallOptions as vt, BaselineFrameOptions as w, ClearOptions as wt, snapToMidpointPerpendicular as x, DEFAULT_ANTITANK_DITCH_OPTIONS as xt, getMidpointPerpendicularSignedDistance as y, DEFAULT_ANTITANK_WALL_OPTIONS as yt, StyleHints as z, SupportByFireOptions as zt };
1770
+ export { getControlMeasureMetadataByValue as $, GenericLineOptions as $t, getMetersPerPixel as A, BypassOptions as At, FeaturePartProps as B, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as Bt, snapToMidpointPerpendicular as C, DEFAULT_ANTITANK_DITCH_OPTIONS as Ct, BaselineFrameOrigin as D, DEFAULT_CLEAR_OPTIONS as Dt, BaselineFrameOptions as E, ClearOptions as Et, resolveStyleHints as F, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as Ft, isKind as G, DEFAULT_AIRBORNE_ATTACK_OPTIONS as Gt, controlMeasureIdFromFeature as H, AttackHelicopterOptions as Ht, RenderOptions as I, DEFAULT_FLOT_OPTIONS as It, CONTROL_MEASURE_METADATA as J, DEFAULT_GENERIC_RECTANGLE_OPTIONS as Jt, ControlMeasureStyle as K, DEFAULT_GENERIC_CIRCLE_OPTIONS as Kt, renderControlMeasure as L, FLOTOptions as Lt, SimpleStyleProps as M, BreachOptions as Mt, SimpleStyleRender as N, DEFAULT_BREACH_OPTIONS as Nt, createBaselineFrame as O, CanalizeOptions as Ot, toSimpleStyle as P, BlockMissionTaskOptions as Pt, getControlMeasureMetadata as Q, DEFAULT_GENERIC_LINE_OPTIONS as Qt, ControlMeasureRender as R, AttackByFireOptions as Rt, pointOnMidpointPerpendicularAxis as S, ControlMeasureDrawRule as Sn, AntitankDitchOptions as St, BaselineFrameNormal as T, DelayOptions as Tt, ControlMeasure as U, DEFAULT_ATTACK_HELICOPTER_OPTIONS as Ut, StyleHints as V, SupportByFireOptions as Vt, cloneControlMeasure as W, AirborneAttackOptions as Wt, ControlMeasureKind as X, DEFAULT_GENERIC_POLYGON_OPTIONS as Xt, ControlMeasureId as Y, GenericRectangleOptions as Yt, OptionsByKind as Z, GenericPolygonOptions as Zt, blockDrawRule as _, ControlMeasureGeometry as _n, FortifiedAreaOptions as _t, rectangleDrawRule as a, computeInitialWidthPoint as an, ObstacleBypassDifficultOptions as at, createMidpointPerpendicularDrawRule as b, ParamDescriptor as bn, AntitankWallOptions as bt, line24DrawRule as c, unproject as cn, DEFAULT_TURN_OPTIONS as ct, line1DrawRule as d, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as dn, FixOptions as dt, DEFAULT_SUPPORTING_ATTACK_OPTIONS as en, getDefaultOptions as et, ambushDrawRule as f, FinalProtectiveFireOptions as fn, DEFAULT_DISRUPT_OPTIONS as ft, disruptDrawRule as g, StrongPointOptions as gn, DEFAULT_FORTIFIED_AREA_OPTIONS as gt, centerRadiusDrawRule as h, DEFAULT_STRONG_POINT_OPTIONS as hn, DEFAULT_BLOCK_OPTIONS as ht, DEFAULT_AMBUSH_OPTIONS as i, calculateMetrics as in, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as it, roundToFixed as j, DEFAULT_BYPASS_OPTIONS as jt, EPSILON as k, DEFAULT_CANALIZE_OPTIONS as kt, line23DrawRule as l, DEFAULT_ENCIRCLEMENT_OPTIONS as ln, TurnOptions as lt, point12DrawRule as m, PrincipalDirectionOfFireOptions as mn, BlockOptions as mt, TacticalArrowOptions as n, DEFAULT_MAIN_ATTACK_OPTIONS as nn, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as nt, axis1DrawRule as o, Point2D as on, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as ot, attackByFireDrawRule as p, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as pn, DisruptOptions as pt, CONTROL_MEASURE_IDS as q, GenericCircleOptions as qt, AmbushOptions as r, MainAttackOptions as rn, ObstacleBypassImpossibleOptions as rt, supportByFireDrawRule as s, project as sn, ObstacleBypassEasyOptions as st, DEFAULT_TACTICAL_ARROW_OPTIONS as t, SupportingAttackOptions as tn, listControlMeasureMetadata as tt, turnDrawRule as u, EncirclementOptions as un, DEFAULT_FIX_OPTIONS as ut, MidpointPerpendicularDrawRuleOptions as v, ControlMeasureGeometryType as vn, DEFAULT_FORTIFIED_LINE_OPTIONS as vt, BaselineFrame as w, DEFAULT_DELAY_OPTIONS as wt, getMidpointPerpendicularSignedDistance as x, AnchorTransformEvent as xn, DEFAULT_ANTITANK_WALL_OPTIONS as xt, computeDefaultMidpointPerpendicularPoint as y, ControlMeasureMetadata as yn, FortifiedLineOptions as yt, ControlMeasureSnapshot as z, DEFAULT_ATTACK_BY_FIRE_OPTIONS as zt };
package/dist/index.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as listControlMeasureMetadata, $t as DEFAULT_ENCIRCLEMENT_OPTIONS, A as SimpleStyleProps, At as BreachOptions, B as controlMeasureIdFromFeature, Bt as AttackHelicopterOptions, C as BaselineFrameNormal, Ct as DelayOptions, D as EPSILON, Dt as DEFAULT_CANALIZE_OPTIONS, E as createBaselineFrame, Et as CanalizeOptions, F as renderControlMeasure, Ft as FLOTOptions, G as CONTROL_MEASURE_IDS, Gt as SupportingAttackOptions, H as cloneControlMeasure, Ht as AirborneAttackOptions, I as ControlMeasureRender, It as AttackByFireOptions, J as ControlMeasureKind, Jt as calculateMetrics, K as CONTROL_MEASURE_METADATA, Kt as DEFAULT_MAIN_ATTACK_OPTIONS, L as ControlMeasureSnapshot, Lt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, M as toSimpleStyle, Mt as BlockMissionTaskOptions, N as resolveStyleHints, Nt as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, O as getMetersPerPixel, Ot as BypassOptions, P as RenderOptions, Pt as DEFAULT_FLOT_OPTIONS, Q as getDefaultOptions, Qt as unproject, R as FeaturePartProps, Rt as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, S as BaselineFrame, St as DEFAULT_DELAY_OPTIONS, T as BaselineFrameOrigin, Tt as DEFAULT_CLEAR_OPTIONS, U as isKind, Ut as DEFAULT_AIRBORNE_ATTACK_OPTIONS, V as ControlMeasure, Vt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, W as ControlMeasureStyle, Wt as DEFAULT_SUPPORTING_ATTACK_OPTIONS, X as getControlMeasureMetadata, Xt as Point2D, Y as OptionsByKind, Yt as computeInitialWidthPoint, Z as getControlMeasureMetadataByValue, Zt as project, _ as computeDefaultMidpointPerpendicularPoint, _t as FortifiedLineOptions, a as axis1DrawRule, an as DEFAULT_STRONG_POINT_OPTIONS, at as ObstacleBypassEasyOptions, b as pointOnMidpointPerpendicularAxis, bt as AntitankDitchOptions, c as line23DrawRule, cn as ControlMeasureGeometryType, ct as DEFAULT_FIX_OPTIONS, d as ambushDrawRule, dn as AnchorTransformEvent, dt as DisruptOptions, en as EncirclementOptions, et as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, f as attackByFireDrawRule, fn as ControlMeasureDrawRule, ft as BlockOptions, g as MidpointPerpendicularDrawRuleOptions, gt as DEFAULT_FORTIFIED_LINE_OPTIONS, h as blockDrawRule, ht as FortifiedAreaOptions, i as DEFAULT_AMBUSH_OPTIONS, in as PrincipalDirectionOfFireOptions, it as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, j as SimpleStyleRender, jt as DEFAULT_BREACH_OPTIONS, k as roundToFixed, kt as DEFAULT_BYPASS_OPTIONS, l as turnDrawRule, ln as ControlMeasureMetadata, lt as FixOptions, m as disruptDrawRule, mt as DEFAULT_FORTIFIED_AREA_OPTIONS, n as TacticalArrowOptions, nn as FinalProtectiveFireOptions, nt as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, o as supportByFireDrawRule, on as StrongPointOptions, ot as DEFAULT_TURN_OPTIONS, p as point12DrawRule, pt as DEFAULT_BLOCK_OPTIONS, q as ControlMeasureId, qt as MainAttackOptions, r as AmbushOptions, rn as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, rt as ObstacleBypassDifficultOptions, s as line24DrawRule, sn as ControlMeasureGeometry, st as TurnOptions, t as DEFAULT_TACTICAL_ARROW_OPTIONS, tn as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, tt as ObstacleBypassImpossibleOptions, u as line1DrawRule, un as ParamDescriptor, ut as DEFAULT_DISRUPT_OPTIONS, v as createMidpointPerpendicularDrawRule, vt as AntitankWallOptions, w as BaselineFrameOptions, wt as ClearOptions, x as snapToMidpointPerpendicular, xt as DEFAULT_ANTITANK_DITCH_OPTIONS, y as getMidpointPerpendicularSignedDistance, yt as DEFAULT_ANTITANK_WALL_OPTIONS, z as StyleHints, zt as SupportByFireOptions } from "./index-BJYbQlzo.mjs";
2
- export { type AirborneAttackOptions, type AmbushOptions, type AnchorTransformEvent, type AntitankDitchOptions, type AntitankWallOptions, type AttackByFireOptions, type AttackHelicopterOptions, type BaselineFrame, type BaselineFrameNormal, type BaselineFrameOptions, type BaselineFrameOrigin, type BlockMissionTaskOptions, type BlockOptions, type BreachOptions, type BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type ClearOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasureRender, type ControlMeasureSnapshot, type ControlMeasureStyle, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURN_OPTIONS, type DelayOptions, type DisruptOptions, EPSILON, type EncirclementOptions, type FLOTOptions, type FeaturePartProps, type FinalProtectiveFireOptions, type FixOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type MainAttackOptions, type MidpointPerpendicularDrawRuleOptions, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OptionsByKind, type ParamDescriptor, type Point2D, type PrincipalDirectionOfFireOptions, type RenderOptions, type SimpleStyleProps, type SimpleStyleRender, type StrongPointOptions, type StyleHints, type SupportByFireOptions, type SupportingAttackOptions, type TacticalArrowOptions, type TurnOptions, ambushDrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, listControlMeasureMetadata, point12DrawRule, pointOnMidpointPerpendicularAxis, project, renderControlMeasure, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
1
+ import { $ as getControlMeasureMetadataByValue, $t as GenericLineOptions, A as getMetersPerPixel, At as BypassOptions, B as FeaturePartProps, Bt as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, C as snapToMidpointPerpendicular, Ct as DEFAULT_ANTITANK_DITCH_OPTIONS, D as BaselineFrameOrigin, Dt as DEFAULT_CLEAR_OPTIONS, E as BaselineFrameOptions, Et as ClearOptions, F as resolveStyleHints, Ft as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, G as isKind, Gt as DEFAULT_AIRBORNE_ATTACK_OPTIONS, H as controlMeasureIdFromFeature, Ht as AttackHelicopterOptions, I as RenderOptions, It as DEFAULT_FLOT_OPTIONS, J as CONTROL_MEASURE_METADATA, Jt as DEFAULT_GENERIC_RECTANGLE_OPTIONS, K as ControlMeasureStyle, Kt as DEFAULT_GENERIC_CIRCLE_OPTIONS, L as renderControlMeasure, Lt as FLOTOptions, M as SimpleStyleProps, Mt as BreachOptions, N as SimpleStyleRender, Nt as DEFAULT_BREACH_OPTIONS, O as createBaselineFrame, Ot as CanalizeOptions, P as toSimpleStyle, Pt as BlockMissionTaskOptions, Q as getControlMeasureMetadata, Qt as DEFAULT_GENERIC_LINE_OPTIONS, R as ControlMeasureRender, Rt as AttackByFireOptions, S as pointOnMidpointPerpendicularAxis, Sn as ControlMeasureDrawRule, St as AntitankDitchOptions, T as BaselineFrameNormal, Tt as DelayOptions, U as ControlMeasure, Ut as DEFAULT_ATTACK_HELICOPTER_OPTIONS, V as StyleHints, Vt as SupportByFireOptions, W as cloneControlMeasure, Wt as AirborneAttackOptions, X as ControlMeasureKind, Xt as DEFAULT_GENERIC_POLYGON_OPTIONS, Y as ControlMeasureId, Yt as GenericRectangleOptions, Z as OptionsByKind, Zt as GenericPolygonOptions, _ as blockDrawRule, _n as ControlMeasureGeometry, _t as FortifiedAreaOptions, a as rectangleDrawRule, an as computeInitialWidthPoint, at as ObstacleBypassDifficultOptions, b as createMidpointPerpendicularDrawRule, bn as ParamDescriptor, bt as AntitankWallOptions, c as line24DrawRule, cn as unproject, ct as DEFAULT_TURN_OPTIONS, d as line1DrawRule, dn as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, dt as FixOptions, en as DEFAULT_SUPPORTING_ATTACK_OPTIONS, et as getDefaultOptions, f as ambushDrawRule, fn as FinalProtectiveFireOptions, ft as DEFAULT_DISRUPT_OPTIONS, g as disruptDrawRule, gn as StrongPointOptions, gt as DEFAULT_FORTIFIED_AREA_OPTIONS, h as centerRadiusDrawRule, hn as DEFAULT_STRONG_POINT_OPTIONS, ht as DEFAULT_BLOCK_OPTIONS, i as DEFAULT_AMBUSH_OPTIONS, in as calculateMetrics, it as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, j as roundToFixed, jt as DEFAULT_BYPASS_OPTIONS, k as EPSILON, kt as DEFAULT_CANALIZE_OPTIONS, l as line23DrawRule, ln as DEFAULT_ENCIRCLEMENT_OPTIONS, lt as TurnOptions, m as point12DrawRule, mn as PrincipalDirectionOfFireOptions, mt as BlockOptions, n as TacticalArrowOptions, nn as DEFAULT_MAIN_ATTACK_OPTIONS, nt as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, o as axis1DrawRule, on as Point2D, ot as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, p as attackByFireDrawRule, pn as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, pt as DisruptOptions, q as CONTROL_MEASURE_IDS, qt as GenericCircleOptions, r as AmbushOptions, rn as MainAttackOptions, rt as ObstacleBypassImpossibleOptions, s as supportByFireDrawRule, sn as project, st as ObstacleBypassEasyOptions, t as DEFAULT_TACTICAL_ARROW_OPTIONS, tn as SupportingAttackOptions, tt as listControlMeasureMetadata, u as turnDrawRule, un as EncirclementOptions, ut as DEFAULT_FIX_OPTIONS, v as MidpointPerpendicularDrawRuleOptions, vn as ControlMeasureGeometryType, vt as DEFAULT_FORTIFIED_LINE_OPTIONS, w as BaselineFrame, wt as DEFAULT_DELAY_OPTIONS, x as getMidpointPerpendicularSignedDistance, xn as AnchorTransformEvent, xt as DEFAULT_ANTITANK_WALL_OPTIONS, y as computeDefaultMidpointPerpendicularPoint, yn as ControlMeasureMetadata, yt as FortifiedLineOptions, z as ControlMeasureSnapshot, zt as DEFAULT_ATTACK_BY_FIRE_OPTIONS } from "./index-Ddt-obht.mjs";
2
+ export { type AirborneAttackOptions, type AmbushOptions, type AnchorTransformEvent, type AntitankDitchOptions, type AntitankWallOptions, type AttackByFireOptions, type AttackHelicopterOptions, type BaselineFrame, type BaselineFrameNormal, type BaselineFrameOptions, type BaselineFrameOrigin, type BlockMissionTaskOptions, type BlockOptions, type BreachOptions, type BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type ClearOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasureRender, type ControlMeasureSnapshot, type ControlMeasureStyle, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURN_OPTIONS, type DelayOptions, type DisruptOptions, EPSILON, type EncirclementOptions, type FLOTOptions, type FeaturePartProps, type FinalProtectiveFireOptions, type FixOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type GenericCircleOptions, type GenericLineOptions, type GenericPolygonOptions, type GenericRectangleOptions, type MainAttackOptions, type MidpointPerpendicularDrawRuleOptions, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OptionsByKind, type ParamDescriptor, type Point2D, type PrincipalDirectionOfFireOptions, type RenderOptions, type SimpleStyleProps, type SimpleStyleRender, type StrongPointOptions, type StyleHints, type SupportByFireOptions, type SupportingAttackOptions, type TacticalArrowOptions, type TurnOptions, ambushDrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, listControlMeasureMetadata, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as getMidpointPerpendicularSignedDistance, A as DEFAULT_BYPASS_OPTIONS, B as axis1DrawRule, C as DEFAULT_FIX_OPTIONS, D as DEFAULT_DELAY_OPTIONS, E as DEFAULT_DISRUPT_OPTIONS, F as DEFAULT_ATTACK_BY_FIRE_OPTIONS, G as line1DrawRule, H as line24DrawRule, I as DEFAULT_ANTITANK_WALL_OPTIONS, J as point12DrawRule, K as ambushDrawRule, L as DEFAULT_ANTITANK_DITCH_OPTIONS, M as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, N as DEFAULT_BLOCK_OPTIONS, O as DEFAULT_CLEAR_OPTIONS, P as DEFAULT_ATTACK_HELICOPTER_OPTIONS, Q as createMidpointPerpendicularDrawRule, R as DEFAULT_AMBUSH_OPTIONS, S as DEFAULT_FLOT_OPTIONS, T as DEFAULT_ENCIRCLEMENT_OPTIONS, U as line23DrawRule, V as supportByFireDrawRule, W as turnDrawRule, X as blockDrawRule, Y as disruptDrawRule, Z as computeDefaultMidpointPerpendicularPoint, _ as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, at as project, b as DEFAULT_FORTIFIED_AREA_OPTIONS, c as getDefaultOptions, ct as getMetersPerPixel, d as DEFAULT_SUPPORTING_ATTACK_OPTIONS, et as pointOnMidpointPerpendicularAxis, f as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, g as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, h as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, i as CONTROL_MEASURE_METADATA, it as computeInitialWidthPoint, j as DEFAULT_BREACH_OPTIONS, k as DEFAULT_CANALIZE_OPTIONS, l as listControlMeasureMetadata, lt as roundToFixed, m as DEFAULT_TACTICAL_ARROW_OPTIONS, n as resolveStyleHints, nt as createBaselineFrame, o as getControlMeasureMetadata, ot as unproject, p as DEFAULT_STRONG_POINT_OPTIONS, q as attackByFireDrawRule, r as CONTROL_MEASURE_IDS, rt as calculateMetrics, s as getControlMeasureMetadataByValue, st as EPSILON, t as renderControlMeasure, tt as snapToMidpointPerpendicular, u as DEFAULT_TURN_OPTIONS, v as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, w as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, x as DEFAULT_FORTIFIED_LINE_OPTIONS, y as DEFAULT_MAIN_ATTACK_OPTIONS, z as DEFAULT_AIRBORNE_ATTACK_OPTIONS } from "./renderControlMeasure-CONa8M6M.mjs";
1
+ import { $ as point12DrawRule, A as DEFAULT_GENERIC_POLYGON_OPTIONS, B as DEFAULT_ANTITANK_WALL_OPTIONS, C as DEFAULT_FIX_OPTIONS, D as DEFAULT_DELAY_OPTIONS, E as DEFAULT_DISRUPT_OPTIONS, F as DEFAULT_BREACH_OPTIONS, G as axis1DrawRule, H as DEFAULT_AMBUSH_OPTIONS, I as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, J as line23DrawRule, K as supportByFireDrawRule, L as DEFAULT_BLOCK_OPTIONS, M as DEFAULT_GENERIC_CIRCLE_OPTIONS, N as DEFAULT_CANALIZE_OPTIONS, O as DEFAULT_CLEAR_OPTIONS, P as DEFAULT_BYPASS_OPTIONS, Q as attackByFireDrawRule, R as DEFAULT_ATTACK_HELICOPTER_OPTIONS, S as DEFAULT_FLOT_OPTIONS, T as DEFAULT_ENCIRCLEMENT_OPTIONS, U as DEFAULT_AIRBORNE_ATTACK_OPTIONS, V as DEFAULT_ANTITANK_DITCH_OPTIONS, W as rectangleDrawRule, X as line1DrawRule, Y as turnDrawRule, Z as ambushDrawRule, _ as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, at as getMidpointPerpendicularSignedDistance, b as DEFAULT_FORTIFIED_AREA_OPTIONS, c as getDefaultOptions, ct as createBaselineFrame, d as DEFAULT_SUPPORTING_ATTACK_OPTIONS, dt as project, et as centerRadiusDrawRule, f as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, ft as unproject, g as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, h as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, ht as roundToFixed, i as CONTROL_MEASURE_METADATA, it as createMidpointPerpendicularDrawRule, j as DEFAULT_GENERIC_LINE_OPTIONS, k as DEFAULT_GENERIC_RECTANGLE_OPTIONS, l as listControlMeasureMetadata, lt as calculateMetrics, m as DEFAULT_TACTICAL_ARROW_OPTIONS, mt as getMetersPerPixel, n as resolveStyleHints, nt as blockDrawRule, o as getControlMeasureMetadata, ot as pointOnMidpointPerpendicularAxis, p as DEFAULT_STRONG_POINT_OPTIONS, pt as EPSILON, q as line24DrawRule, r as CONTROL_MEASURE_IDS, rt as computeDefaultMidpointPerpendicularPoint, s as getControlMeasureMetadataByValue, st as snapToMidpointPerpendicular, t as renderControlMeasure, tt as disruptDrawRule, u as DEFAULT_TURN_OPTIONS, ut as computeInitialWidthPoint, v as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, w as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, x as DEFAULT_FORTIFIED_LINE_OPTIONS, y as DEFAULT_MAIN_ATTACK_OPTIONS, z as DEFAULT_ATTACK_BY_FIRE_OPTIONS } from "./renderControlMeasure-CDCoQlZ-.mjs";
2
2
  //#region src/instance.ts
3
3
  function isKind(cm, kind) {
4
4
  return cm.kind === kind;
@@ -99,4 +99,4 @@ function toHexChannel(value) {
99
99
  return Math.max(0, Math.min(255, Math.round(value))).toString(16).padStart(2, "0");
100
100
  }
101
101
  //#endregion
102
- export { CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURN_OPTIONS, EPSILON, ambushDrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, listControlMeasureMetadata, point12DrawRule, pointOnMidpointPerpendicularAxis, project, renderControlMeasure, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
102
+ export { CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURN_OPTIONS, EPSILON, ambushDrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, listControlMeasureMetadata, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
@@ -1,4 +1,4 @@
1
- import { q as ControlMeasureId } from "../index-BJYbQlzo.mjs";
1
+ import { Y as ControlMeasureId } from "../index-Ddt-obht.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-CONa8M6M.mjs";
1
+ import { a as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-CDCoQlZ-.mjs";
2
2
  //#region src/preview/index.ts
3
3
  /**
4
4
  * Unitless `previewSample` points (~`[-1, 1]`) are scaled by this degree offset
@@ -484,7 +484,7 @@ function samePosition(a, b) {
484
484
  }
485
485
  //#endregion
486
486
  //#region src/draw-rules/area1.ts
487
- function derive$7(points) {
487
+ function derive$8(points) {
488
488
  return clonePositions(points);
489
489
  }
490
490
  /**
@@ -503,9 +503,10 @@ function derive$7(points) {
503
503
  const area1DrawRule = {
504
504
  id: "area1",
505
505
  minimumUserPoints: 3,
506
- derive: derive$7,
506
+ closedRing: true,
507
+ derive: derive$8,
507
508
  transform(event) {
508
- return derive$7(event.next);
509
+ return derive$8(event.next);
509
510
  }
510
511
  };
511
512
  //#endregion
@@ -531,14 +532,14 @@ const disruptDrawRule = createMidpointPerpendicularDrawRule({
531
532
  * that fixes both the radius and the bearing of the symbol's opening. Both
532
533
  * points are user-clicked, so the canonical array is just the (clamped) input.
533
534
  */
534
- function derive$6(points) {
535
+ function derive$7(points) {
535
536
  return clonePositions(points.slice(0, 2));
536
537
  }
537
- const isolateDrawRule = {
538
- id: "area15:isolate",
538
+ const centerRadiusDrawRule = {
539
+ id: "area15:center-radius",
539
540
  minimumUserPoints: 2,
540
541
  canonicalPointCount: 2,
541
- derive: derive$6,
542
+ derive: derive$7,
542
543
  transform(event) {
543
544
  const { previous, next, activePointIndex } = event;
544
545
  if (activePointIndex === 0 && previous.length >= 2 && next.length >= 2) {
@@ -547,9 +548,11 @@ const isolateDrawRule = {
547
548
  const origin = previous[1];
548
549
  return [clonePosition(next[0]), [origin[0] + dx, origin[1] + dy]];
549
550
  }
550
- return derive$6(next);
551
+ return derive$7(next);
551
552
  }
552
553
  };
554
+ /** Backward-compatible doctrinal name for Area15's shared center-radius rule. */
555
+ const isolateDrawRule = centerRadiusDrawRule;
553
556
  //#endregion
554
557
  //#region src/draw-rules/point12.ts
555
558
  /**
@@ -590,20 +593,20 @@ const ambushDrawRule = createMidpointPerpendicularDrawRule({
590
593
  });
591
594
  //#endregion
592
595
  //#region src/draw-rules/line1.ts
593
- function derive$5(points) {
596
+ function derive$6(points) {
594
597
  return clonePositions(points);
595
598
  }
596
599
  const line1DrawRule = {
597
600
  id: "line1",
598
601
  minimumUserPoints: 2,
599
- derive: derive$5,
602
+ derive: derive$6,
600
603
  transform(event) {
601
- return derive$5(event.next);
604
+ return derive$6(event.next);
602
605
  }
603
606
  };
604
607
  //#endregion
605
608
  //#region src/draw-rules/line3.ts
606
- function derive$4(points) {
609
+ function derive$5(points) {
607
610
  return clonePositions(points);
608
611
  }
609
612
  /**
@@ -618,23 +621,23 @@ const line3DrawRule = {
618
621
  id: "line3",
619
622
  minimumUserPoints: 3,
620
623
  canonicalPointCount: 3,
621
- derive: derive$4,
624
+ derive: derive$5,
622
625
  transform(event) {
623
- return derive$4(event.next);
626
+ return derive$5(event.next);
624
627
  }
625
628
  };
626
629
  //#endregion
627
630
  //#region src/draw-rules/line9.ts
628
- function derive$3(points) {
631
+ function derive$4(points) {
629
632
  return clonePositions(points);
630
633
  }
631
634
  const line9DrawRule = {
632
635
  id: "line9",
633
636
  minimumUserPoints: 2,
634
637
  canonicalPointCount: 2,
635
- derive: derive$3,
638
+ derive: derive$4,
636
639
  transform(event) {
637
- return derive$3(event.next);
640
+ return derive$4(event.next);
638
641
  }
639
642
  };
640
643
  //#endregion
@@ -740,7 +743,7 @@ const line24DrawRule = createMidpointPerpendicularDrawRule({
740
743
  });
741
744
  //#endregion
742
745
  //#region src/draw-rules/area8.ts
743
- function derive$2(points) {
746
+ function derive$3(points) {
744
747
  if (points.length < 2) return clonePositions(points);
745
748
  if (points.length !== 2) return clonePositions(points.slice(0, 4));
746
749
  const p1 = clonePosition(points[0]);
@@ -764,16 +767,16 @@ const supportByFireDrawRule = {
764
767
  id: "area8:support-by-fire",
765
768
  minimumUserPoints: 2,
766
769
  canonicalPointCount: 4,
767
- derive: derive$2,
770
+ derive: derive$3,
768
771
  transform(event) {
769
772
  const { next } = event;
770
773
  if (next.length === 4) return clonePositions(next);
771
- return derive$2(next);
774
+ return derive$3(next);
772
775
  }
773
776
  };
774
777
  //#endregion
775
778
  //#region src/draw-rules/axis1.ts
776
- function derive$1(points) {
779
+ function derive$2(points) {
777
780
  if (points.length < 2) return clonePositions(points);
778
781
  if (points.length === 2) {
779
782
  const tip = clonePosition(points[0]);
@@ -811,10 +814,10 @@ const axis1DrawRule = {
811
814
  id: "axis1",
812
815
  minimumUserPoints: 2,
813
816
  trailingFixedSlots: 1,
814
- derive: derive$1,
817
+ derive: derive$2,
815
818
  transform(event) {
816
819
  const { previous, next, activePointIndex } = event;
817
- if (next.length < 3 || previous.length < 3) return derive$1(next);
820
+ if (next.length < 3 || previous.length < 3) return derive$2(next);
818
821
  if (!(activePointIndex === 0 || activePointIndex === 1)) return clonePositions(next);
819
822
  const metrics = calculateMetrics(previous);
820
823
  if (!metrics) return clonePositions(next);
@@ -825,7 +828,7 @@ const axis1DrawRule = {
825
828
  };
826
829
  //#endregion
827
830
  //#region src/draw-rules/area21.ts
828
- function derive(points) {
831
+ function derive$1(points) {
829
832
  if (points.length === 2) return clonePositions([
830
833
  points[0],
831
834
  points[1],
@@ -838,6 +841,24 @@ const searchAreaDrawRule = {
838
841
  minimumUserPoints: 3,
839
842
  minimumPreviewPoints: 2,
840
843
  canonicalPointCount: 3,
844
+ derive: derive$1,
845
+ transform(event) {
846
+ return derive$1(event.next);
847
+ }
848
+ };
849
+ //#endregion
850
+ //#region src/draw-rules/rectangle.ts
851
+ /**
852
+ * Axis-aligned rectangle: P1 and P2 are opposite corners. Both are user-clicked
853
+ * and persisted; the generator derives the other two corners.
854
+ */
855
+ function derive(points) {
856
+ return clonePositions(points.slice(0, 2));
857
+ }
858
+ const rectangleDrawRule = {
859
+ id: "rectangle",
860
+ minimumUserPoints: 2,
861
+ canonicalPointCount: 2,
841
862
  derive,
842
863
  transform(event) {
843
864
  return derive(event.next);
@@ -2594,7 +2615,7 @@ const BLOCK_ARROW_METADATA = {
2594
2615
  id: "block-arrow",
2595
2616
  name: "Block Arrow",
2596
2617
  description: "Solid filled arrow with a controllable shaft width and selectable head (triangle, barbed, concave, diamond, harpoon, swallowtail, tee). Not a doctrinal symbol.",
2597
- entity: "Generic Arrows",
2618
+ entity: "Generic Graphics",
2598
2619
  entityType: "Illustrative Arrow",
2599
2620
  entitySubtype: "Block Arrow",
2600
2621
  value: "990001",
@@ -3622,7 +3643,7 @@ const CLASSIC_ARROW_METADATA = {
3622
3643
  id: "classic-arrow",
3623
3644
  name: "Classic Arrow",
3624
3645
  description: "Clean straight arrow with a selectable head (triangle, barbed, concave, diamond, harpoon, swallowtail, chevron, circle, tee, open). Not a doctrinal symbol.",
3625
- entity: "Generic Arrows",
3646
+ entity: "Generic Graphics",
3626
3647
  entityType: "Illustrative Arrow",
3627
3648
  entitySubtype: "Classic Arrow",
3628
3649
  value: "990002",
@@ -3905,6 +3926,256 @@ function normalizeSmoothResolution(value) {
3905
3926
  return Math.min(MAX_SMOOTH_RESOLUTION, Math.max(MIN_SMOOTH_RESOLUTION, Math.round(value)));
3906
3927
  }
3907
3928
  //#endregion
3929
+ //#region src/generators/cm99-generic-graphics/params.ts
3930
+ const SMOOTH_PATH_PARAMS = [{
3931
+ key: "smooth",
3932
+ label: "Smooth",
3933
+ description: "Curve the path through the control points.",
3934
+ type: "boolean"
3935
+ }, {
3936
+ key: "smoothResolution",
3937
+ label: "Smooth resolution",
3938
+ description: "Number of samples per segment when smooth mode is enabled.",
3939
+ type: "number",
3940
+ min: 2,
3941
+ max: 64,
3942
+ step: 1,
3943
+ visibleWhen: (opts) => Boolean(opts.smooth)
3944
+ }];
3945
+ const FILLED_AREA_PARAMS = [{
3946
+ key: "filled",
3947
+ label: "Filled",
3948
+ description: "Fill the interior instead of rendering an outline only.",
3949
+ type: "boolean"
3950
+ }];
3951
+ //#endregion
3952
+ //#region src/generators/cm99-generic-graphics/circle.ts
3953
+ const CIRCLE_SEGMENTS = 64;
3954
+ const DEFAULT_GENERIC_CIRCLE_OPTIONS = { filled: false };
3955
+ const GENERIC_CIRCLE_METADATA = {
3956
+ id: "circle",
3957
+ name: "Circle",
3958
+ description: "A non-doctrinal circle defined by a center and radius point.",
3959
+ entity: "Generic Graphics",
3960
+ entityType: "Basic Shape",
3961
+ entitySubtype: "Circle",
3962
+ value: "990104",
3963
+ minCoordinates: 2,
3964
+ maxCoordinates: 2,
3965
+ geometry: "area",
3966
+ geometryTypes: ["Polygon"],
3967
+ drawRule: "Area15",
3968
+ params: FILLED_AREA_PARAMS
3969
+ };
3970
+ function createGenericCircle(coordinates, options = {}) {
3971
+ const center = project(coordinates[0][0], coordinates[0][1]);
3972
+ const radiusVector = vecSub(project(coordinates[1][0], coordinates[1][1]), center);
3973
+ const radius = vecMag(radiusVector);
3974
+ if (radius < 1e-6) return {
3975
+ type: "FeatureCollection",
3976
+ features: []
3977
+ };
3978
+ const startAngle = Math.atan2(radiusVector[1], radiusVector[0]);
3979
+ const ring = [];
3980
+ for (let index = 0; index <= CIRCLE_SEGMENTS; index++) {
3981
+ const angle = startAngle + index / CIRCLE_SEGMENTS * Math.PI * 2;
3982
+ ring.push(unproject(center[0] + Math.cos(angle) * radius, center[1] + Math.sin(angle) * radius));
3983
+ }
3984
+ return {
3985
+ type: "FeatureCollection",
3986
+ features: [{
3987
+ type: "Feature",
3988
+ properties: {
3989
+ part: "circle",
3990
+ fill: options.filled ?? DEFAULT_GENERIC_CIRCLE_OPTIONS.filled
3991
+ },
3992
+ geometry: {
3993
+ type: "Polygon",
3994
+ coordinates: [ring]
3995
+ }
3996
+ }]
3997
+ };
3998
+ }
3999
+ const GENERIC_CIRCLE = defineControlMeasure({
4000
+ metadata: GENERIC_CIRCLE_METADATA,
4001
+ generator: createGenericCircle,
4002
+ defaultOptions: DEFAULT_GENERIC_CIRCLE_OPTIONS,
4003
+ rule: centerRadiusDrawRule,
4004
+ previewSample: { controlPoints: [[0, 0], [.8, 0]] }
4005
+ });
4006
+ //#endregion
4007
+ //#region src/generators/cm99-generic-graphics/line.ts
4008
+ const DEFAULT_GENERIC_LINE_OPTIONS = {
4009
+ smooth: false,
4010
+ smoothResolution: 12
4011
+ };
4012
+ const GENERIC_LINE_METADATA = {
4013
+ id: "line",
4014
+ name: "Line",
4015
+ description: "A non-doctrinal free polyline through two or more control points.",
4016
+ entity: "Generic Graphics",
4017
+ entityType: "Basic Shape",
4018
+ entitySubtype: "Line",
4019
+ value: "990101",
4020
+ minCoordinates: 2,
4021
+ geometry: "line",
4022
+ geometryTypes: ["LineString"],
4023
+ drawRule: "Line1",
4024
+ params: SMOOTH_PATH_PARAMS
4025
+ };
4026
+ function createGenericLine(coordinates, options = {}) {
4027
+ const projected = coordinates.map((point) => project(point[0], point[1]));
4028
+ if (!projected.some((point, index) => {
4029
+ const next = projected[index + 1];
4030
+ return next ? Math.hypot(next[0] - point[0], next[1] - point[1]) >= 1e-6 : false;
4031
+ })) return {
4032
+ type: "FeatureCollection",
4033
+ features: []
4034
+ };
4035
+ const { smooth, smoothResolution } = {
4036
+ ...DEFAULT_GENERIC_LINE_OPTIONS,
4037
+ ...options
4038
+ };
4039
+ const resolution = normalizeSmoothResolution$2(smoothResolution, 12);
4040
+ return {
4041
+ type: "FeatureCollection",
4042
+ features: [{
4043
+ type: "Feature",
4044
+ properties: { part: "line" },
4045
+ geometry: {
4046
+ type: "LineString",
4047
+ coordinates: (smooth ? catmullRom(projected, resolution) : projected).map((point) => unproject(point[0], point[1]))
4048
+ }
4049
+ }]
4050
+ };
4051
+ }
4052
+ const GENERIC_LINE = defineControlMeasure({
4053
+ metadata: GENERIC_LINE_METADATA,
4054
+ generator: createGenericLine,
4055
+ defaultOptions: DEFAULT_GENERIC_LINE_OPTIONS,
4056
+ rule: line1DrawRule,
4057
+ previewSample: { controlPoints: [
4058
+ [-1, -.4],
4059
+ [0, .5],
4060
+ [1, -.2]
4061
+ ] }
4062
+ });
4063
+ //#endregion
4064
+ //#region src/generators/cm99-generic-graphics/polygon.ts
4065
+ const DEFAULT_GENERIC_POLYGON_OPTIONS = {
4066
+ smooth: false,
4067
+ smoothResolution: 12,
4068
+ filled: false
4069
+ };
4070
+ const GENERIC_POLYGON_METADATA = {
4071
+ id: "polygon",
4072
+ name: "Polygon",
4073
+ description: "A non-doctrinal free polygon with one outer ring.",
4074
+ entity: "Generic Graphics",
4075
+ entityType: "Basic Shape",
4076
+ entitySubtype: "Polygon",
4077
+ value: "990102",
4078
+ minCoordinates: 3,
4079
+ geometry: "area",
4080
+ geometryTypes: ["Polygon"],
4081
+ drawRule: "Area1",
4082
+ params: [...SMOOTH_PATH_PARAMS, ...FILLED_AREA_PARAMS]
4083
+ };
4084
+ function createGenericPolygon(coordinates, options = {}) {
4085
+ const projected = coordinates.map((point) => project(point[0], point[1]));
4086
+ const ringPoints = projected.length > 1 && vecMag(vecSub(projected[0], projected.at(-1))) < 1e-6 ? projected.slice(0, -1) : projected;
4087
+ if (ringPoints.length < 3) return {
4088
+ type: "FeatureCollection",
4089
+ features: []
4090
+ };
4091
+ const { smooth, smoothResolution, filled } = {
4092
+ ...DEFAULT_GENERIC_POLYGON_OPTIONS,
4093
+ ...options
4094
+ };
4095
+ const resolution = normalizeSmoothResolution$2(smoothResolution, 12);
4096
+ const ring = smooth ? closedCatmullRom(ringPoints, resolution) : [...ringPoints, ringPoints[0]];
4097
+ return {
4098
+ type: "FeatureCollection",
4099
+ features: [{
4100
+ type: "Feature",
4101
+ properties: {
4102
+ part: "polygon",
4103
+ fill: filled
4104
+ },
4105
+ geometry: {
4106
+ type: "Polygon",
4107
+ coordinates: [ring.map((point) => unproject(point[0], point[1]))]
4108
+ }
4109
+ }]
4110
+ };
4111
+ }
4112
+ const GENERIC_POLYGON = defineControlMeasure({
4113
+ metadata: GENERIC_POLYGON_METADATA,
4114
+ generator: createGenericPolygon,
4115
+ defaultOptions: DEFAULT_GENERIC_POLYGON_OPTIONS,
4116
+ rule: area1DrawRule,
4117
+ previewSample: { controlPoints: [
4118
+ [-.9, -.7],
4119
+ [.8, -.6],
4120
+ [1, .5],
4121
+ [-.4, .8]
4122
+ ] }
4123
+ });
4124
+ //#endregion
4125
+ //#region src/generators/cm99-generic-graphics/rectangle.ts
4126
+ const DEFAULT_GENERIC_RECTANGLE_OPTIONS = { filled: false };
4127
+ const GENERIC_RECTANGLE_METADATA = {
4128
+ id: "rectangle",
4129
+ name: "Rectangle",
4130
+ description: "A non-doctrinal axis-aligned rectangle defined by two opposite corners.",
4131
+ entity: "Generic Graphics",
4132
+ entityType: "Basic Shape",
4133
+ entitySubtype: "Rectangle",
4134
+ value: "990103",
4135
+ minCoordinates: 2,
4136
+ maxCoordinates: 2,
4137
+ geometry: "area",
4138
+ geometryTypes: ["Polygon"],
4139
+ drawRule: "Rectangle",
4140
+ params: FILLED_AREA_PARAMS
4141
+ };
4142
+ function createGenericRectangle(coordinates, options = {}) {
4143
+ const p1 = project(coordinates[0][0], coordinates[0][1]);
4144
+ const p2 = project(coordinates[1][0], coordinates[1][1]);
4145
+ if (Math.abs(p2[0] - p1[0]) < 1e-6 || Math.abs(p2[1] - p1[1]) < 1e-6) return {
4146
+ type: "FeatureCollection",
4147
+ features: []
4148
+ };
4149
+ const ring = [
4150
+ p1,
4151
+ [p2[0], p1[1]],
4152
+ p2,
4153
+ [p1[0], p2[1]],
4154
+ p1
4155
+ ].map((point) => unproject(point[0], point[1]));
4156
+ return {
4157
+ type: "FeatureCollection",
4158
+ features: [{
4159
+ type: "Feature",
4160
+ properties: {
4161
+ part: "rectangle",
4162
+ fill: options.filled ?? DEFAULT_GENERIC_RECTANGLE_OPTIONS.filled
4163
+ },
4164
+ geometry: {
4165
+ type: "Polygon",
4166
+ coordinates: [ring]
4167
+ }
4168
+ }]
4169
+ };
4170
+ }
4171
+ const GENERIC_RECTANGLE = defineControlMeasure({
4172
+ metadata: GENERIC_RECTANGLE_METADATA,
4173
+ generator: createGenericRectangle,
4174
+ defaultOptions: DEFAULT_GENERIC_RECTANGLE_OPTIONS,
4175
+ rule: rectangleDrawRule,
4176
+ previewSample: { controlPoints: [[-.9, -.55], [.9, .55]] }
4177
+ });
4178
+ //#endregion
3908
4179
  //#region src/generators/cm34-mission-tasks/clear.ts
3909
4180
  /**
3910
4181
  * Default options for the CLEAR symbol.
@@ -6654,6 +6925,10 @@ const DEFINITIONS = {
6654
6925
  "supporting-attack": SUPPORTING_ATTACK,
6655
6926
  "classic-arrow": CLASSIC_ARROW,
6656
6927
  "block-arrow": BLOCK_ARROW,
6928
+ line: GENERIC_LINE,
6929
+ polygon: GENERIC_POLYGON,
6930
+ rectangle: GENERIC_RECTANGLE,
6931
+ circle: GENERIC_CIRCLE,
6657
6932
  "airborne-attack": AIRBORNE_ATTACK,
6658
6933
  "attack-helicopter": ATTACK_HELICOPTER,
6659
6934
  "support-by-fire": SUPPORT_BY_FIRE,
@@ -6904,4 +7179,4 @@ function assertNever(value) {
6904
7179
  throw new Error(`Unhandled control measure kind: ${String(value)}`);
6905
7180
  }
6906
7181
  //#endregion
6907
- export { getMidpointPerpendicularSignedDistance as $, DEFAULT_BYPASS_OPTIONS as A, axis1DrawRule as B, DEFAULT_FIX_OPTIONS as C, DEFAULT_DELAY_OPTIONS as D, DEFAULT_DISRUPT_OPTIONS as E, DEFAULT_ATTACK_BY_FIRE_OPTIONS as F, line1DrawRule as G, line24DrawRule as H, DEFAULT_ANTITANK_WALL_OPTIONS as I, point12DrawRule as J, ambushDrawRule as K, DEFAULT_ANTITANK_DITCH_OPTIONS as L, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as M, DEFAULT_BLOCK_OPTIONS as N, DEFAULT_CLEAR_OPTIONS as O, DEFAULT_ATTACK_HELICOPTER_OPTIONS as P, createMidpointPerpendicularDrawRule as Q, DEFAULT_AMBUSH_OPTIONS as R, DEFAULT_FLOT_OPTIONS as S, DEFAULT_ENCIRCLEMENT_OPTIONS as T, line23DrawRule as U, supportByFireDrawRule as V, turnDrawRule as W, blockDrawRule as X, disruptDrawRule as Y, computeDefaultMidpointPerpendicularPoint as Z, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as _, DEFINITIONS as a, project as at, DEFAULT_FORTIFIED_AREA_OPTIONS as b, getDefaultOptions as c, getMetersPerPixel as ct, DEFAULT_SUPPORTING_ATTACK_OPTIONS as d, pointOnMidpointPerpendicularAxis as et, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as f, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as g, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as h, CONTROL_MEASURE_METADATA as i, computeInitialWidthPoint as it, DEFAULT_BREACH_OPTIONS as j, DEFAULT_CANALIZE_OPTIONS as k, listControlMeasureMetadata as l, roundToFixed as lt, DEFAULT_TACTICAL_ARROW_OPTIONS as m, resolveStyleHints as n, createBaselineFrame as nt, getControlMeasureMetadata as o, unproject as ot, DEFAULT_STRONG_POINT_OPTIONS as p, attackByFireDrawRule as q, CONTROL_MEASURE_IDS as r, calculateMetrics as rt, getControlMeasureMetadataByValue as s, EPSILON as st, renderControlMeasure as t, snapToMidpointPerpendicular as tt, DEFAULT_TURN_OPTIONS as u, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as v, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as w, DEFAULT_FORTIFIED_LINE_OPTIONS as x, DEFAULT_MAIN_ATTACK_OPTIONS as y, DEFAULT_AIRBORNE_ATTACK_OPTIONS as z };
7182
+ export { point12DrawRule as $, DEFAULT_GENERIC_POLYGON_OPTIONS as A, DEFAULT_ANTITANK_WALL_OPTIONS as B, DEFAULT_FIX_OPTIONS as C, DEFAULT_DELAY_OPTIONS as D, DEFAULT_DISRUPT_OPTIONS as E, DEFAULT_BREACH_OPTIONS as F, axis1DrawRule as G, DEFAULT_AMBUSH_OPTIONS as H, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as I, line23DrawRule as J, supportByFireDrawRule as K, DEFAULT_BLOCK_OPTIONS as L, DEFAULT_GENERIC_CIRCLE_OPTIONS as M, DEFAULT_CANALIZE_OPTIONS as N, DEFAULT_CLEAR_OPTIONS as O, DEFAULT_BYPASS_OPTIONS as P, attackByFireDrawRule as Q, DEFAULT_ATTACK_HELICOPTER_OPTIONS as R, DEFAULT_FLOT_OPTIONS as S, DEFAULT_ENCIRCLEMENT_OPTIONS as T, DEFAULT_AIRBORNE_ATTACK_OPTIONS as U, DEFAULT_ANTITANK_DITCH_OPTIONS as V, rectangleDrawRule as W, line1DrawRule as X, turnDrawRule as Y, ambushDrawRule as Z, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as _, DEFINITIONS as a, getMidpointPerpendicularSignedDistance as at, DEFAULT_FORTIFIED_AREA_OPTIONS as b, getDefaultOptions as c, createBaselineFrame as ct, DEFAULT_SUPPORTING_ATTACK_OPTIONS as d, project as dt, centerRadiusDrawRule as et, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as f, unproject as ft, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as g, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as h, roundToFixed as ht, CONTROL_MEASURE_METADATA as i, createMidpointPerpendicularDrawRule as it, DEFAULT_GENERIC_LINE_OPTIONS as j, DEFAULT_GENERIC_RECTANGLE_OPTIONS as k, listControlMeasureMetadata as l, calculateMetrics as lt, DEFAULT_TACTICAL_ARROW_OPTIONS as m, getMetersPerPixel as mt, resolveStyleHints as n, blockDrawRule as nt, getControlMeasureMetadata as o, pointOnMidpointPerpendicularAxis as ot, DEFAULT_STRONG_POINT_OPTIONS as p, EPSILON as pt, line24DrawRule as q, CONTROL_MEASURE_IDS as r, computeDefaultMidpointPerpendicularPoint as rt, getControlMeasureMetadataByValue as s, snapToMidpointPerpendicular as st, renderControlMeasure as t, disruptDrawRule as tt, DEFAULT_TURN_OPTIONS as u, computeInitialWidthPoint as ut, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as v, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as w, DEFAULT_FORTIFIED_LINE_OPTIONS as x, DEFAULT_MAIN_ATTACK_OPTIONS as y, DEFAULT_ATTACK_BY_FIRE_OPTIONS as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbat-mapper/control-measures",
3
- "version": "0.2.0-alpha.4",
3
+ "version": "0.2.0-alpha.5",
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",