@orbat-mapper/control-measures 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-CwSQl5SE.d.mts → index-IeI0ELGA.d.mts} +42 -10
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +24 -2
- package/dist/preview/index.d.mts +1 -1
- package/dist/preview/index.mjs +1 -1
- package/dist/{renderControlMeasure-DJo_s-lN.mjs → renderControlMeasure-CclYDSlM.mjs} +227 -50
- package/package.json +1 -1
|
@@ -420,6 +420,24 @@ interface ControlMeasureGeneratorContext {
|
|
|
420
420
|
};
|
|
421
421
|
measureText?: (request: MeasureTextRequest) => MeasuredText;
|
|
422
422
|
}
|
|
423
|
+
/** A definition-owned edit handle whose drag updates generator options rather than control points. */
|
|
424
|
+
interface ControlMeasureOptionHandle {
|
|
425
|
+
/** Stable within one measure definition and used to route drag updates. */
|
|
426
|
+
id: string;
|
|
427
|
+
/** Resting handle position in GeoJSON longitude/latitude coordinates. */
|
|
428
|
+
position: Position;
|
|
429
|
+
}
|
|
430
|
+
interface ControlMeasureOptionHandleDragEvent<Options> {
|
|
431
|
+
controlPoints: readonly Position[];
|
|
432
|
+
options: Options;
|
|
433
|
+
handleId: string;
|
|
434
|
+
position: Position;
|
|
435
|
+
}
|
|
436
|
+
/** Placement and drag mapping for option-backed reshape handles. */
|
|
437
|
+
interface ControlMeasureOptionHandles<Options> {
|
|
438
|
+
get(controlPoints: readonly Position[], options: Options): readonly ControlMeasureOptionHandle[];
|
|
439
|
+
drag(event: ControlMeasureOptionHandleDragEvent<Options>): Partial<Options> | undefined;
|
|
440
|
+
}
|
|
423
441
|
/**
|
|
424
442
|
* A generator's call signature, constrained only by its inputs and output. The
|
|
425
443
|
* options parameter is typed `never` so that a generator with *any* concrete
|
|
@@ -492,6 +510,8 @@ interface ControlMeasureDefinition<Id extends string, G extends ControlMeasureGe
|
|
|
492
510
|
* clockwise-on-screen while the delta is radians). See ADR-0017/0023.
|
|
493
511
|
*/
|
|
494
512
|
transformOptions?: (options: NonNullable<Parameters<G>[1]>, delta: BoxTransformDelta) => Partial<NonNullable<Parameters<G>[1]>> | undefined;
|
|
513
|
+
/** Optional reshape handles that persist their result in generator options. */
|
|
514
|
+
optionHandles?: ControlMeasureOptionHandles<NonNullable<Parameters<G>[1]>>;
|
|
495
515
|
}
|
|
496
516
|
/**
|
|
497
517
|
* A box transform gesture's screen-space delta, folded into orientation- and
|
|
@@ -1620,6 +1640,10 @@ interface AttackOptions {
|
|
|
1620
1640
|
smooth?: boolean;
|
|
1621
1641
|
smoothResolution?: number;
|
|
1622
1642
|
}
|
|
1643
|
+
interface VariableWidthAttackOptions extends AttackOptions {
|
|
1644
|
+
/** Rear width as a ratio of the arrowhead width; defaults to `shaftWidthRatio`. */
|
|
1645
|
+
rearWidthRatio?: number;
|
|
1646
|
+
}
|
|
1623
1647
|
/**
|
|
1624
1648
|
* Calculates the relative metrics (longitudinal and lateral) of the width point
|
|
1625
1649
|
* relative to the Tip-Neck axis.
|
|
@@ -1627,7 +1651,7 @@ interface AttackOptions {
|
|
|
1627
1651
|
* @param pts - Array of positions [Tip, Neck, ..., WidthPoint]
|
|
1628
1652
|
* @returns { longitudinal: number, lateral: number } | null
|
|
1629
1653
|
*/
|
|
1630
|
-
declare function calculateMetrics(pts: Position[]): {
|
|
1654
|
+
declare function calculateMetrics(pts: readonly Position[]): {
|
|
1631
1655
|
longitudinal: number;
|
|
1632
1656
|
lateral: number;
|
|
1633
1657
|
} | null;
|
|
@@ -1642,14 +1666,14 @@ declare function calculateMetrics(pts: Position[]): {
|
|
|
1642
1666
|
declare function computeInitialWidthPoint(tip: Position, neck: Position): Position;
|
|
1643
1667
|
//#endregion
|
|
1644
1668
|
//#region src/generators/cm15-maneuver-areas/mainAttack.d.ts
|
|
1645
|
-
declare const DEFAULT_MAIN_ATTACK_OPTIONS: Required<
|
|
1646
|
-
type MainAttackOptions =
|
|
1669
|
+
declare const DEFAULT_MAIN_ATTACK_OPTIONS: Required<VariableWidthAttackOptions>;
|
|
1670
|
+
type MainAttackOptions = VariableWidthAttackOptions;
|
|
1647
1671
|
/**
|
|
1648
1672
|
* Generates a GeoJSON FeatureCollection for a Main Attack tactical symbol.
|
|
1649
1673
|
*
|
|
1650
1674
|
* The symbol consists of a single MultiLineString feature containing:
|
|
1651
1675
|
* 1. **Arrowhead**: A line forming a "chevron" or "roof" shape.
|
|
1652
|
-
* 2. **Shaft**: Two
|
|
1676
|
+
* 2. **Shaft**: Two boundary lines behind the arrow, optionally flared toward the rear.
|
|
1653
1677
|
*
|
|
1654
1678
|
* The shaft is calculated to terminate exactly where it touches the inner walls
|
|
1655
1679
|
* of the arrowhead, creating a seamless connection.
|
|
@@ -1665,7 +1689,7 @@ type MainAttackOptions = AttackOptions;
|
|
|
1665
1689
|
declare function createMainAttack(coordinates: Position[], options?: MainAttackOptions): FeatureCollection<MultiLineString>;
|
|
1666
1690
|
//#endregion
|
|
1667
1691
|
//#region src/generators/cm15-maneuver-areas/supportingAttack.d.ts
|
|
1668
|
-
type SupportingAttackOptions =
|
|
1692
|
+
type SupportingAttackOptions = VariableWidthAttackOptions;
|
|
1669
1693
|
declare const DEFAULT_SUPPORTING_ATTACK_OPTIONS: Required<SupportingAttackOptions>;
|
|
1670
1694
|
/**
|
|
1671
1695
|
* Generates a GeoJSON FeatureCollection for a Supporting Attack tactical symbol.
|
|
@@ -1746,6 +1770,8 @@ type BlockArrowHeadStyle = "triangle" | "barbed" | "concave" | "diamond" | "harp
|
|
|
1746
1770
|
interface BlockArrowOptions {
|
|
1747
1771
|
/** Shaft band width as a fraction of the total path length. */
|
|
1748
1772
|
shaftWidthRatio?: number;
|
|
1773
|
+
/** Rear width as a fraction of the total path length; defaults to `shaftWidthRatio`. */
|
|
1774
|
+
rearWidthRatio?: number;
|
|
1749
1775
|
/** Arrowhead silhouette. */
|
|
1750
1776
|
arrowheadStyle?: BlockArrowHeadStyle;
|
|
1751
1777
|
/** Arrowhead base width as a fraction of the total path length. */
|
|
@@ -1880,7 +1906,7 @@ declare const RADAR_SEARCH_DOCTRINE_FILL_COLOR = "rgba(51, 136, 136, 0.25)";
|
|
|
1880
1906
|
declare function createRadarSearchDoctrine(coordinates: Position[], options?: RadarSearchDoctrineOptions, textAmplifiers?: CanonicalTextAmplifiers): FeatureCollection<Polygon | Point>;
|
|
1881
1907
|
//#endregion
|
|
1882
1908
|
//#region src/generators/cm15-maneuver-areas/airborneAttack.d.ts
|
|
1883
|
-
type AirborneAttackOptions =
|
|
1909
|
+
type AirborneAttackOptions = VariableWidthAttackOptions;
|
|
1884
1910
|
declare const DEFAULT_AIRBORNE_ATTACK_OPTIONS: Required<AirborneAttackOptions>;
|
|
1885
1911
|
/**
|
|
1886
1912
|
* Generates a GeoJSON FeatureCollection for an Airborne Attack tactical symbol.
|
|
@@ -1895,7 +1921,7 @@ declare const DEFAULT_AIRBORNE_ATTACK_OPTIONS: Required<AirborneAttackOptions>;
|
|
|
1895
1921
|
declare function createAirborneAttack(coordinates: Position[], options?: AirborneAttackOptions): FeatureCollection<LineString>;
|
|
1896
1922
|
//#endregion
|
|
1897
1923
|
//#region src/generators/cm15-maneuver-areas/attackHelicopter.d.ts
|
|
1898
|
-
interface AttackHelicopterOptions extends
|
|
1924
|
+
interface AttackHelicopterOptions extends VariableWidthAttackOptions {
|
|
1899
1925
|
symbolHeightRatio?: number;
|
|
1900
1926
|
triangleSizeRatio?: number;
|
|
1901
1927
|
bottomBarWidthRatio?: number;
|
|
@@ -2390,7 +2416,7 @@ declare const DEFAULT_CLEAR_OPTIONS: Required<Omit<ClearOptions, "labelSize" | "
|
|
|
2390
2416
|
declare function createClearSymbol(coordinates: Position[], options?: ClearOptions): FeatureCollection<MultiLineString | Point>;
|
|
2391
2417
|
//#endregion
|
|
2392
2418
|
//#region src/generators/cm34-mission-tasks/counterattack.d.ts
|
|
2393
|
-
interface CounterattackOptions extends
|
|
2419
|
+
interface CounterattackOptions extends VariableWidthAttackOptions, LabelSizeOptions {
|
|
2394
2420
|
/** CATK label position along the shaft, from tail (0) to arrowhead base (1). */
|
|
2395
2421
|
labelPosition?: number;
|
|
2396
2422
|
}
|
|
@@ -2749,7 +2775,7 @@ declare const DEFAULT_FORTIFIED_AREA_OPTIONS: FortifiedAreaOptions;
|
|
|
2749
2775
|
declare function createFortifiedArea(positions: Position[], options?: FortifiedAreaOptions, textAmplifiers?: CanonicalTextAmplifiers, context?: ControlMeasureGeneratorContext): FeatureCollection<Polygon | MultiLineString | Point>;
|
|
2750
2776
|
//#endregion
|
|
2751
2777
|
//#region src/generators/cm15-maneuver-areas/maneuver-arrow-task-shared.d.ts
|
|
2752
|
-
interface ManeuverArrowTaskOptions extends
|
|
2778
|
+
interface ManeuverArrowTaskOptions extends VariableWidthAttackOptions, LabelSizeOptions {
|
|
2753
2779
|
/** Straight crossbar length as a multiple of the arrowhead base width. */
|
|
2754
2780
|
crossbarLengthRatio?: number;
|
|
2755
2781
|
/** Field T position along the shaft, from tail (0) to head (1). */
|
|
@@ -3189,6 +3215,12 @@ declare function freezeOrientationOptions<K extends ControlMeasureKind>(kind: K,
|
|
|
3189
3215
|
declare function foldsBoxTransformOptions(kind: ControlMeasureKind): boolean;
|
|
3190
3216
|
declare function applyBoxTransformOptions<K extends ControlMeasureKind>(kind: K, options: OptionsByKind[K] | undefined, delta: BoxTransformDelta): Partial<OptionsByKind[K]> | undefined;
|
|
3191
3217
|
//#endregion
|
|
3218
|
+
//#region src/option-handles.d.ts
|
|
3219
|
+
/** Resolve the option-backed reshape handles declared by a measure definition. */
|
|
3220
|
+
declare function getControlMeasureOptionHandles<K extends ControlMeasureKind>(kind: K, controlPoints: readonly Position[], options: OptionsByKind[K] | undefined): readonly ControlMeasureOptionHandle[];
|
|
3221
|
+
/** Map a dragged option handle coordinate to the definition-owned options patch. */
|
|
3222
|
+
declare function dragControlMeasureOptionHandle<K extends ControlMeasureKind>(kind: K, controlPoints: readonly Position[], options: OptionsByKind[K] | undefined, handleId: string, position: Position): Partial<OptionsByKind[K]> | undefined;
|
|
3223
|
+
//#endregion
|
|
3192
3224
|
//#region src/styleResolver.d.ts
|
|
3193
3225
|
/**
|
|
3194
3226
|
* Three-layer style precedence for `renderControlMeasure`.
|
|
@@ -3510,4 +3542,4 @@ interface AmbushOptions {
|
|
|
3510
3542
|
}
|
|
3511
3543
|
declare const DEFAULT_AMBUSH_OPTIONS: Required<AmbushOptions>;
|
|
3512
3544
|
//#endregion
|
|
3513
|
-
export {
|
|
3545
|
+
export { CONTROL_MEASURE_METADATA as $, ControlMeasurePaintCapability as $i, DEFAULT_ATTACK_HELICOPTER_OPTIONS as $n, StyleHints as $r, DEFAULT_DISRUPT_MISSION_TASK_OPTIONS as $t, BaselineFrame as A, sphericalBearing as Ai, DEFAULT_LIMIT_OF_ADVANCE_OPTIONS as An, AreaOfOperationsOptions as Ar, FortifiedAreaOptions as At, toSimpleStyle as B, DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS as Bi, BridgeheadLineOptions as Bn, DEFAULT_ASSEMBLY_AREA_OPTIONS as Br, WithdrawOptions as Bt, area27DrawRule as C, EngineerWorkLineOptions as Ci, DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS as Cn, DEFAULT_CLASSIC_ARROW_OPTIONS as Cr, BlockOptions as Ct, getMidpointPerpendicularSignedDistance as D, Point2D as Di, LineOfDepartureContactOptions as Dn, MainAttackOptions as Dr, DEFAULT_FRONTAL_ATTACK_OPTIONS as Dt, createMidpointPerpendicularDrawRule as E, LabelSizeOptions as Ei, DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS as En, DEFAULT_MAIN_ATTACK_OPTIONS as Er, TurningMovementOptions as Et, EPSILON as F, ControlMeasureOptionHandle as Fi, HandoverLineOptions as Fn, DEFAULT_LANDING_ZONE_OPTIONS as Fr, AntitankDitchOptions as Ft, foldsBoxTransformOptions as G, DEFAULT_STROKE_WIDTH_CSS_PIXELS as Gi, PhaseLineOptions as Gn, AreaDefenseOptions as Gr, DEFAULT_RETIRE_OPTIONS as Gt, dragControlMeasureOptionHandle as H, DEFAULT_LINE_JOIN as Hi, DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS as Hn, MobileDefenseOptions as Hr, SeizeOptions as Ht, getMetersPerPixel as I, ControlMeasureOptionHandleDragEvent as Ii, DEFAULT_RELEASE_LINE_OPTIONS as In, LandingZoneOptions as Ir, DEFAULT_ANTITANK_DITCH_OPTIONS as It, renderControlMeasure as J, MeasuredText as Ji, AttackByFireOptions as Jn, EncirclementOptions as Jr, RearwardPassageOfLinesOptions as Jt, freezeOrientationOptions as K, LogicalTextStyle as Ki, DEFAULT_FLOT_OPTIONS as Kn, DEFAULT_AREA_DEFENSE_OPTIONS as Kr, RetireOptions as Kt, roundToFixed as L, ControlMeasureOptionHandles as Li, ReleaseLineOptions as Ln, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS as Lr, DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS as Lt, BaselineFrameOptions as M, BoundaryOptions as Mi, BattleHandoverLineOptions as Mn, DEFAULT_PICKUP_ZONE_OPTIONS as Mr, FortifiedLineOptions as Mt, BaselineFrameOrigin as N, DEFAULT_BOUNDARY_OPTIONS as Ni, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS as Nn, PickupZoneOptions as Nr, AntitankWallOptions as Nt, pointOnMidpointPerpendicularAxis as O, haversineDistance as Oi, DEFAULT_LINE_OF_DEPARTURE_OPTIONS as On, calculateMetrics as Or, FrontalAttackOptions as Ot, createBaselineFrame as P, BoxTransformDelta as Pi, DEFAULT_HANDOVER_LINE_OPTIONS as Pn, MineType as Pr, DEFAULT_ANTITANK_WALL_OPTIONS as Pt, CONTROL_MEASURE_IDS as Q, ControlMeasureMetadata as Qi, AttackHelicopterOptions as Qn, FeaturePartProps as Qr, GuardOptions as Qt, SimpleStyleProps as R, ControlMeasureRenderContext as Ri, DEFAULT_HOLDING_LINE_OPTIONS as Rn, JointTacticalActionAreaOptions as Rr, WithdrawUnderPressureOptions as Rt, containDrawRule as S, DEFAULT_ENGINEER_WORK_LINE_OPTIONS as Si, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as Sn, ClassicArrowOptions as Sr, DisruptOptions as St, computeDefaultMidpointPerpendicularPoint as T, LightLineOptions as Ti, ProbableLineOfDeploymentOptions as Tn, SupportingAttackOptions as Tr, DEFAULT_TURNING_MOVEMENT_OPTIONS as Tt, getControlMeasureOptionHandles as U, DEFAULT_PORTRAYAL as Ui, ForwardEdgeOfBattleAreaOptions as Un, DEFAULT_ENGAGEMENT_AREA_OPTIONS as Ur, DEFAULT_SCREEN_OPTIONS as Ut, resolveStyleHints as V, DEFAULT_LINE_CAP as Vi, DEFAULT_BRIDGEHEAD_LINE_OPTIONS as Vn, DEFAULT_MOBILE_DEFENSE_OPTIONS as Vr, DEFAULT_SEIZE_OPTIONS as Vt, applyBoxTransformOptions as W, DEFAULT_STROKE_DASH_CSS_PIXELS as Wi, DEFAULT_PHASE_LINE_OPTIONS as Wn, EngagementAreaOptions as Wr, ScreenOptions as Wt, cloneControlMeasure as X, ControlMeasureGeometry as Xi, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as Xn, FinalProtectiveFireOptions as Xr, PenetrateOptions as Xt, ControlMeasure as Y, ControlMeasureFillCapability as Yi, DEFAULT_ATTACK_BY_FIRE_OPTIONS as Yn, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as Yr, DEFAULT_PENETRATE_OPTIONS as Yt, isKind as Z, ControlMeasureGeometryType as Zi, SupportByFireOptions as Zn, ControlMeasureRender as Zr, DEFAULT_GUARD_OPTIONS as Zt, point12DrawRule as _, canonicalTextAmplifierKey as _a, DEFAULT_CONTAIN_OPTIONS as _i, BypassOptions as _n, GenericLineOptions as _r, DEFAULT_FIX_MISSION_TASK_OPTIONS as _t, axis1DrawRule as a, parameterPresentationTierRank as aa, PrincipalDirectionOfFireOptions as ai, CoverOptions as an, RadarSearchDoctrineOptions as ar, getDefaultOptions as at, disruptDrawRule as b, AnchorTransformEvent as ba, DEFAULT_GENERIC_C2_LINE_OPTIONS as bi, DEFAULT_BREACH_OPTIONS as bn, DEFAULT_BLOCK_ARROW_OPTIONS as br, FixOptions as bt, line26DrawRule as c, AmplifierPlacement as ca, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS as ci, TacticalArrowOptions as cn, DEFAULT_GENERIC_SECTOR_OPTIONS as cr, ObstacleBypassImpossibleOptions as ct, turnDrawRule as d, GeneratedLabelKey as da, DirectionOfAttackAviationOptions as di, CounterattackOptions as dn, GenericCircleOptions as dr, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as dt, PARAMETER_PRESENTATION_TIERS as ea, controlMeasureIdFromFeature as ei, DisruptMissionTaskOptions as en, AirborneAttackOptions as er, ControlMeasureId as et, line1DrawRule as f, LabelPlacementOverride as fa, DEFAULT_RETAIN_OPTIONS as fi, DEFAULT_COUNTERATTACK_OPTIONS as fn, DEFAULT_GENERIC_RECTANGLE_OPTIONS as fr, ObstacleBypassEasyOptions as ft, staticPointDrawRule as g, TextAmplifiers as ga, ContainOptions as gi, DEFAULT_CANALIZE_OPTIONS as gn, DEFAULT_GENERIC_LINE_OPTIONS as gr, TurnOptions as gt, dynamicPointDrawRule as h, TextAmplifierKey as ha, StrongPointOptions as hi, CanalizeOptions as hn, GenericPolygonOptions as hr, DEFAULT_TURN_OPTIONS as ht, rectangleDrawRule as i, TextAmplifierDescriptor as ia, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as ii, DelayOptions as in, RADAR_SEARCH_DOCTRINE_STROKE_COLOR as ir, getControlMeasureMetadataByValue as it, BaselineFrameNormal as j, unproject as ji, LimitOfAdvanceOptions as jn, DEFAULT_AREA_OF_OPERATIONS_OPTIONS as jr, DEFAULT_FORTIFIED_LINE_OPTIONS as jt, snapToMidpointPerpendicular as k, project as ki, LineOfDepartureOptions as kn, computeInitialWidthPoint as kr, DEFAULT_FORTIFIED_AREA_OPTIONS as kt, line24DrawRule as l, AmplifierPlacements as la, DirectionOfMainAttackOptions as li, CounterattackByFireOptions as ln, GenericSectorOptions as lr, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as lt, attackByFireDrawRule as m, TextAmplifierField as ma, DEFAULT_STRONG_POINT_OPTIONS as mi, DEFAULT_CLEAR_OPTIONS as mn, DEFAULT_GENERIC_POLYGON_OPTIONS as mr, MinefieldOptions as mt, DEFAULT_AMBUSH_OPTIONS as n, ParameterPresentationTier as na, SECONDARY_DIRECTION_OF_FIRE_DASH as ni, DisengageOptions as nn, DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS as nr, OptionsByKind as nt, supportByFireDrawRule as o, resolveParameterPresentationTier as oa, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS as oi, DEFAULT_COVER_OPTIONS as on, DEFAULT_GENERIC_TEXT_OPTIONS as or, listControlMeasureMetadata as ot, ambushDrawRule as p, TEXT_AMPLIFIER_FIELDS as pa, RetainOptions as pi, ClearOptions as pn, GenericRectangleOptions as pr, DEFAULT_MINEFIELD_OPTIONS as pt, RenderOptions as q, MeasureTextRequest as qi, FLOTOptions as qn, DEFAULT_ENCIRCLEMENT_OPTIONS as qr, DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS as qt, sectorDrawRule as r, ParameterSemanticRole as ra, SecondaryDirectionOfFireOptions as ri, DEFAULT_DELAY_OPTIONS as rn, RADAR_SEARCH_DOCTRINE_FILL_COLOR as rr, getControlMeasureMetadata as rt, line27DrawRule as s, resolveParameterSemanticRole as sa, DirectionOfSupportingAttackOptions as si, DEFAULT_TACTICAL_ARROW_OPTIONS as sn, GenericTextOptions as sr, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as st, AmbushOptions as t, ParamDescriptor as ta, DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS as ti, DEFAULT_DISENGAGE_OPTIONS as tn, DEFAULT_AIRBORNE_ATTACK_OPTIONS as tr, ControlMeasureKind as tt, line23DrawRule as u, CanonicalTextAmplifiers as ua, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS as ui, DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS as un, DEFAULT_GENERIC_CIRCLE_OPTIONS as ur, ObstacleBypassDifficultOptions as ut, penetrateDrawRule as v, normalizeTextAmplifiers as va, BattlePositionOptions as vi, DEFAULT_BYPASS_OPTIONS as vn, BlockArrowHeadStyle as vr, FixMissionTaskOptions as vt, MidpointPerpendicularDrawRuleOptions as w, DEFAULT_LIGHT_LINE_OPTIONS as wi, PROBABLE_LINE_OF_DEPLOYMENT_DASH as wn, DEFAULT_SUPPORTING_ATTACK_OPTIONS as wr, DEFAULT_BLOCK_OPTIONS as wt, blockDrawRule as x, ControlMeasureDrawRule as xa, GenericC2LineOptions as xi, BlockMissionTaskOptions as xn, ClassicArrowHeadStyle as xr, DEFAULT_DISRUPT_OPTIONS as xt, centerRadiusDrawRule as y, resolveAmplifierPlacement as ya, DEFAULT_BATTLE_POSITION_OPTIONS as yi, BreachOptions as yn, BlockArrowOptions as yr, DEFAULT_FIX_OPTIONS as yt, SimpleStyleRender as z, DEFAULT_LABEL_HEIGHT_CSS_PIXELS as zi, HoldingLineOptions as zn, AssemblyAreaOptions as zr, DEFAULT_WITHDRAW_OPTIONS as zt };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as CONTROL_MEASURE_METADATA, $i as ControlMeasurePaintCapability, $n as DEFAULT_ATTACK_HELICOPTER_OPTIONS, $r as StyleHints, $t as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, A as BaselineFrame, Ai as sphericalBearing, An as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, Ar as AreaOfOperationsOptions, At as FortifiedAreaOptions, B as toSimpleStyle, Bi as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, Bn as BridgeheadLineOptions, Br as DEFAULT_ASSEMBLY_AREA_OPTIONS, Bt as WithdrawOptions, C as area27DrawRule, Ci as EngineerWorkLineOptions, Cn as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, Cr as DEFAULT_CLASSIC_ARROW_OPTIONS, Ct as BlockOptions, D as getMidpointPerpendicularSignedDistance, Di as Point2D, Dn as LineOfDepartureContactOptions, Dr as MainAttackOptions, Dt as DEFAULT_FRONTAL_ATTACK_OPTIONS, E as createMidpointPerpendicularDrawRule, Ei as LabelSizeOptions, En as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Er as DEFAULT_MAIN_ATTACK_OPTIONS, Et as TurningMovementOptions, F as EPSILON, Fi as ControlMeasureOptionHandle, Fn as HandoverLineOptions, Fr as DEFAULT_LANDING_ZONE_OPTIONS, Ft as AntitankDitchOptions, G as foldsBoxTransformOptions, Gi as DEFAULT_STROKE_WIDTH_CSS_PIXELS, Gn as PhaseLineOptions, Gr as AreaDefenseOptions, Gt as DEFAULT_RETIRE_OPTIONS, H as dragControlMeasureOptionHandle, Hi as DEFAULT_LINE_JOIN, Hn as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Hr as MobileDefenseOptions, Ht as SeizeOptions, I as getMetersPerPixel, Ii as ControlMeasureOptionHandleDragEvent, In as DEFAULT_RELEASE_LINE_OPTIONS, Ir as LandingZoneOptions, It as DEFAULT_ANTITANK_DITCH_OPTIONS, J as renderControlMeasure, Ji as MeasuredText, Jn as AttackByFireOptions, Jr as EncirclementOptions, Jt as RearwardPassageOfLinesOptions, K as freezeOrientationOptions, Ki as LogicalTextStyle, Kn as DEFAULT_FLOT_OPTIONS, Kr as DEFAULT_AREA_DEFENSE_OPTIONS, Kt as RetireOptions, L as roundToFixed, Li as ControlMeasureOptionHandles, Ln as ReleaseLineOptions, Lr as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Lt as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, M as BaselineFrameOptions, Mi as BoundaryOptions, Mn as BattleHandoverLineOptions, Mr as DEFAULT_PICKUP_ZONE_OPTIONS, Mt as FortifiedLineOptions, N as BaselineFrameOrigin, Ni as DEFAULT_BOUNDARY_OPTIONS, Nn as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Nr as PickupZoneOptions, Nt as AntitankWallOptions, O as pointOnMidpointPerpendicularAxis, Oi as haversineDistance, On as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, Or as calculateMetrics, Ot as FrontalAttackOptions, P as createBaselineFrame, Pi as BoxTransformDelta, Pn as DEFAULT_HANDOVER_LINE_OPTIONS, Pr as MineType, Pt as DEFAULT_ANTITANK_WALL_OPTIONS, Q as CONTROL_MEASURE_IDS, Qi as ControlMeasureMetadata, Qn as AttackHelicopterOptions, Qr as FeaturePartProps, Qt as GuardOptions, R as SimpleStyleProps, Ri as ControlMeasureRenderContext, Rn as DEFAULT_HOLDING_LINE_OPTIONS, Rr as JointTacticalActionAreaOptions, Rt as WithdrawUnderPressureOptions, S as containDrawRule, Si as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, Sn as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, Sr as ClassicArrowOptions, St as DisruptOptions, T as computeDefaultMidpointPerpendicularPoint, Ti as LightLineOptions, Tn as ProbableLineOfDeploymentOptions, Tr as SupportingAttackOptions, Tt as DEFAULT_TURNING_MOVEMENT_OPTIONS, U as getControlMeasureOptionHandles, Ui as DEFAULT_PORTRAYAL, Un as ForwardEdgeOfBattleAreaOptions, Ur as DEFAULT_ENGAGEMENT_AREA_OPTIONS, Ut as DEFAULT_SCREEN_OPTIONS, V as resolveStyleHints, Vi as DEFAULT_LINE_CAP, Vn as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, Vr as DEFAULT_MOBILE_DEFENSE_OPTIONS, Vt as DEFAULT_SEIZE_OPTIONS, W as applyBoxTransformOptions, Wi as DEFAULT_STROKE_DASH_CSS_PIXELS, Wn as DEFAULT_PHASE_LINE_OPTIONS, Wr as EngagementAreaOptions, Wt as ScreenOptions, X as cloneControlMeasure, Xi as ControlMeasureGeometry, Xn as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, Xr as FinalProtectiveFireOptions, Xt as PenetrateOptions, Y as ControlMeasure, Yi as ControlMeasureFillCapability, Yn as DEFAULT_ATTACK_BY_FIRE_OPTIONS, Yr as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Yt as DEFAULT_PENETRATE_OPTIONS, Z as isKind, Zi as ControlMeasureGeometryType, Zn as SupportByFireOptions, Zr as ControlMeasureRender, Zt as DEFAULT_GUARD_OPTIONS, _ as point12DrawRule, _a as canonicalTextAmplifierKey, _i as DEFAULT_CONTAIN_OPTIONS, _n as BypassOptions, _r as GenericLineOptions, _t as DEFAULT_FIX_MISSION_TASK_OPTIONS, a as axis1DrawRule, aa as parameterPresentationTierRank, ai as PrincipalDirectionOfFireOptions, an as CoverOptions, ar as RadarSearchDoctrineOptions, at as getDefaultOptions, b as disruptDrawRule, ba as AnchorTransformEvent, bi as DEFAULT_GENERIC_C2_LINE_OPTIONS, bn as DEFAULT_BREACH_OPTIONS, br as DEFAULT_BLOCK_ARROW_OPTIONS, bt as FixOptions, c as line26DrawRule, ca as AmplifierPlacement, ci as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, cn as TacticalArrowOptions, cr as DEFAULT_GENERIC_SECTOR_OPTIONS, ct as ObstacleBypassImpossibleOptions, d as turnDrawRule, da as GeneratedLabelKey, di as DirectionOfAttackAviationOptions, dn as CounterattackOptions, dr as GenericCircleOptions, dt as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, ea as PARAMETER_PRESENTATION_TIERS, ei as controlMeasureIdFromFeature, en as DisruptMissionTaskOptions, er as AirborneAttackOptions, et as ControlMeasureId, f as line1DrawRule, fa as LabelPlacementOverride, fi as DEFAULT_RETAIN_OPTIONS, fn as DEFAULT_COUNTERATTACK_OPTIONS, fr as DEFAULT_GENERIC_RECTANGLE_OPTIONS, ft as ObstacleBypassEasyOptions, g as staticPointDrawRule, ga as TextAmplifiers, gi as ContainOptions, gn as DEFAULT_CANALIZE_OPTIONS, gr as DEFAULT_GENERIC_LINE_OPTIONS, gt as TurnOptions, h as dynamicPointDrawRule, ha as TextAmplifierKey, hi as StrongPointOptions, hn as CanalizeOptions, hr as GenericPolygonOptions, ht as DEFAULT_TURN_OPTIONS, i as rectangleDrawRule, ia as TextAmplifierDescriptor, ii as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, in as DelayOptions, ir as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, it as getControlMeasureMetadataByValue, j as BaselineFrameNormal, ji as unproject, jn as LimitOfAdvanceOptions, jr as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, jt as DEFAULT_FORTIFIED_LINE_OPTIONS, k as snapToMidpointPerpendicular, ki as project, kn as LineOfDepartureOptions, kr as computeInitialWidthPoint, kt as DEFAULT_FORTIFIED_AREA_OPTIONS, l as line24DrawRule, la as AmplifierPlacements, li as DirectionOfMainAttackOptions, ln as CounterattackByFireOptions, lr as GenericSectorOptions, lt as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, m as attackByFireDrawRule, ma as TextAmplifierField, mi as DEFAULT_STRONG_POINT_OPTIONS, mn as DEFAULT_CLEAR_OPTIONS, mr as DEFAULT_GENERIC_POLYGON_OPTIONS, mt as MinefieldOptions, n as DEFAULT_AMBUSH_OPTIONS, na as ParameterPresentationTier, ni as SECONDARY_DIRECTION_OF_FIRE_DASH, nn as DisengageOptions, nr as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, nt as OptionsByKind, o as supportByFireDrawRule, oa as resolveParameterPresentationTier, oi as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, on as DEFAULT_COVER_OPTIONS, or as DEFAULT_GENERIC_TEXT_OPTIONS, ot as listControlMeasureMetadata, p as ambushDrawRule, pa as TEXT_AMPLIFIER_FIELDS, pi as RetainOptions, pn as ClearOptions, pr as GenericRectangleOptions, pt as DEFAULT_MINEFIELD_OPTIONS, q as RenderOptions, qi as MeasureTextRequest, qn as FLOTOptions, qr as DEFAULT_ENCIRCLEMENT_OPTIONS, qt as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, r as sectorDrawRule, ra as ParameterSemanticRole, ri as SecondaryDirectionOfFireOptions, rn as DEFAULT_DELAY_OPTIONS, rr as RADAR_SEARCH_DOCTRINE_FILL_COLOR, rt as getControlMeasureMetadata, s as line27DrawRule, sa as resolveParameterSemanticRole, si as DirectionOfSupportingAttackOptions, sn as DEFAULT_TACTICAL_ARROW_OPTIONS, sr as GenericTextOptions, st as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, t as AmbushOptions, ta as ParamDescriptor, ti as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, tn as DEFAULT_DISENGAGE_OPTIONS, tr as DEFAULT_AIRBORNE_ATTACK_OPTIONS, tt as ControlMeasureKind, u as line23DrawRule, ua as CanonicalTextAmplifiers, ui as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, un as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, ur as DEFAULT_GENERIC_CIRCLE_OPTIONS, ut as ObstacleBypassDifficultOptions, v as penetrateDrawRule, va as normalizeTextAmplifiers, vi as BattlePositionOptions, vn as DEFAULT_BYPASS_OPTIONS, vr as BlockArrowHeadStyle, vt as FixMissionTaskOptions, w as MidpointPerpendicularDrawRuleOptions, wi as DEFAULT_LIGHT_LINE_OPTIONS, wn as PROBABLE_LINE_OF_DEPLOYMENT_DASH, wr as DEFAULT_SUPPORTING_ATTACK_OPTIONS, wt as DEFAULT_BLOCK_OPTIONS, x as blockDrawRule, xa as ControlMeasureDrawRule, xi as GenericC2LineOptions, xn as BlockMissionTaskOptions, xr as ClassicArrowHeadStyle, xt as DEFAULT_DISRUPT_OPTIONS, y as centerRadiusDrawRule, ya as resolveAmplifierPlacement, yi as DEFAULT_BATTLE_POSITION_OPTIONS, yn as BreachOptions, yr as BlockArrowOptions, yt as DEFAULT_FIX_OPTIONS, z as SimpleStyleRender, zi as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, zn as HoldingLineOptions, zr as AssemblyAreaOptions, zt as DEFAULT_WITHDRAW_OPTIONS } from "./index-IeI0ELGA.mjs";
|
|
2
2
|
import { a as PatternId, c as PatternPoint, d as ControlMeasureStyle, f as FillPattern, i as NON_SOLID_FILL_PATTERNS, l as PatternStroke, n as FillPatternCommand, o as PatternPaint, r as FillPatternDefinition, s as PatternPathOperation, t as FILL_PATTERN_DEFINITIONS, u as getFillPatternDefinition } from "./patterns-CcQmmOuJ.mjs";
|
|
3
|
-
export { type AirborneAttackOptions, type AmbushOptions, type AmplifierPlacement, type AmplifierPlacements, type AnchorTransformEvent, type AntitankDitchOptions, type AntitankWallOptions, type AreaDefenseOptions, type AreaOfOperationsOptions, type AssemblyAreaOptions, type AttackByFireOptions, type AttackHelicopterOptions, type BaselineFrame, type BaselineFrameNormal, type BaselineFrameOptions, type BaselineFrameOrigin, type BattleHandoverLineOptions, type BattlePositionOptions, type BlockArrowHeadStyle, type BlockArrowOptions, type BlockMissionTaskOptions, type BlockOptions, type BoundaryOptions, type BoxTransformDelta, type BreachOptions, type BridgeheadLineOptions, type BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type CanonicalTextAmplifiers, type ClassicArrowHeadStyle, type ClassicArrowOptions, type ClearOptions, type ContainOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureFillCapability, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasurePaintCapability, type ControlMeasureRender, type ControlMeasureRenderContext, type ControlMeasureStyle, type CounterattackByFireOptions, type CounterattackOptions, type CoverOptions, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_AREA_DEFENSE_OPTIONS, DEFAULT_AREA_OF_OPERATIONS_OPTIONS, DEFAULT_ASSEMBLY_AREA_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, DEFAULT_BATTLE_POSITION_OPTIONS, DEFAULT_BLOCK_ARROW_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BOUNDARY_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BRIDGEHEAD_LINE_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_CONTAIN_OPTIONS, DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, DEFAULT_COUNTERATTACK_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_DISENGAGE_OPTIONS, DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGAGEMENT_AREA_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_MISSION_TASK_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GENERIC_SECTOR_OPTIONS, DEFAULT_GENERIC_TEXT_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_HOLDING_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LABEL_HEIGHT_CSS_PIXELS, DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, DEFAULT_LINE_OF_DEPARTURE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_MINEFIELD_OPTIONS, DEFAULT_MOBILE_DEFENSE_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PENETRATE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PORTRAYAL, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, DEFAULT_RELEASE_LINE_OPTIONS, DEFAULT_RETAIN_OPTIONS, DEFAULT_RETIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SEIZE_OPTIONS, DEFAULT_STROKE_DASH_CSS_PIXELS, DEFAULT_STROKE_WIDTH_CSS_PIXELS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, DEFAULT_WITHDRAW_OPTIONS, DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, type DelayOptions, type DirectionOfAttackAviationOptions, type DirectionOfMainAttackOptions, type DirectionOfSupportingAttackOptions, type DisengageOptions, type DisruptMissionTaskOptions, type DisruptOptions, EPSILON, type EncirclementOptions, type EngagementAreaOptions, type EngineerWorkLineOptions, FILL_PATTERN_DEFINITIONS, type FLOTOptions, type FeaturePartProps, type FillPattern, type FillPatternCommand, type FillPatternDefinition, type FinalProtectiveFireOptions, type FixMissionTaskOptions, type FixOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type ForwardEdgeOfBattleAreaOptions, type FrontalAttackOptions, type GeneratedLabelKey, type GenericC2LineOptions, type GenericCircleOptions, type GenericLineOptions, type GenericPolygonOptions, type GenericRectangleOptions, type GenericSectorOptions, type GenericTextOptions, type GuardOptions, type HandoverLineOptions, type HoldingLineOptions, type JointTacticalActionAreaOptions, type LabelPlacementOverride, type LabelSizeOptions, type LandingZoneOptions, type LightLineOptions, type LimitOfAdvanceOptions, type LineOfDepartureContactOptions, type LineOfDepartureOptions, type LogicalTextStyle, type MainAttackOptions, type MeasureTextRequest, type MeasuredText, type MidpointPerpendicularDrawRuleOptions, type MineType, type MinefieldOptions, type MobileDefenseOptions, NON_SOLID_FILL_PATTERNS, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OptionsByKind, PARAMETER_PRESENTATION_TIERS, PROBABLE_LINE_OF_DEPLOYMENT_DASH, type ParamDescriptor, type ParameterPresentationTier, type ParameterSemanticRole, type PatternId, type PatternPaint, type PatternPathOperation, type PatternPoint, type PatternStroke, type PenetrateOptions, type PhaseLineOptions, type PickupZoneOptions, type Point2D, type PrincipalDirectionOfFireOptions, type ProbableLineOfDeploymentOptions, RADAR_SEARCH_DOCTRINE_FILL_COLOR, RADAR_SEARCH_DOCTRINE_STROKE_COLOR, type RadarSearchDoctrineOptions, type RearwardPassageOfLinesOptions, type ReleaseLineOptions, type RenderOptions, type RetainOptions, type RetireOptions, SECONDARY_DIRECTION_OF_FIRE_DASH, type ScreenOptions, type SecondaryDirectionOfFireOptions, type SeizeOptions, 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, type WithdrawOptions, type WithdrawUnderPressureOptions, ambushDrawRule, applyBoxTransformOptions, area27DrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, containDrawRule, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, dynamicPointDrawRule, foldsBoxTransformOptions, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getFillPatternDefinition, getMetersPerPixel, getMidpointPerpendicularSignedDistance, haversineDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, line27DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, parameterPresentationTierRank, penetrateDrawRule, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveParameterPresentationTier, resolveParameterSemanticRole, resolveStyleHints, roundToFixed, sectorDrawRule, snapToMidpointPerpendicular, sphericalBearing, staticPointDrawRule, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
|
|
3
|
+
export { type AirborneAttackOptions, type AmbushOptions, type AmplifierPlacement, type AmplifierPlacements, type AnchorTransformEvent, type AntitankDitchOptions, type AntitankWallOptions, type AreaDefenseOptions, type AreaOfOperationsOptions, type AssemblyAreaOptions, type AttackByFireOptions, type AttackHelicopterOptions, type BaselineFrame, type BaselineFrameNormal, type BaselineFrameOptions, type BaselineFrameOrigin, type BattleHandoverLineOptions, type BattlePositionOptions, type BlockArrowHeadStyle, type BlockArrowOptions, type BlockMissionTaskOptions, type BlockOptions, type BoundaryOptions, type BoxTransformDelta, type BreachOptions, type BridgeheadLineOptions, type BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type CanonicalTextAmplifiers, type ClassicArrowHeadStyle, type ClassicArrowOptions, type ClearOptions, type ContainOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureFillCapability, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasureOptionHandle, type ControlMeasureOptionHandleDragEvent, type ControlMeasureOptionHandles, type ControlMeasurePaintCapability, type ControlMeasureRender, type ControlMeasureRenderContext, type ControlMeasureStyle, type CounterattackByFireOptions, type CounterattackOptions, type CoverOptions, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_AREA_DEFENSE_OPTIONS, DEFAULT_AREA_OF_OPERATIONS_OPTIONS, DEFAULT_ASSEMBLY_AREA_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, DEFAULT_BATTLE_POSITION_OPTIONS, DEFAULT_BLOCK_ARROW_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BOUNDARY_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BRIDGEHEAD_LINE_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_CONTAIN_OPTIONS, DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, DEFAULT_COUNTERATTACK_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_DISENGAGE_OPTIONS, DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGAGEMENT_AREA_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_MISSION_TASK_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GENERIC_SECTOR_OPTIONS, DEFAULT_GENERIC_TEXT_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_HOLDING_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LABEL_HEIGHT_CSS_PIXELS, DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, DEFAULT_LINE_OF_DEPARTURE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_MINEFIELD_OPTIONS, DEFAULT_MOBILE_DEFENSE_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PENETRATE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PORTRAYAL, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, DEFAULT_RELEASE_LINE_OPTIONS, DEFAULT_RETAIN_OPTIONS, DEFAULT_RETIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SEIZE_OPTIONS, DEFAULT_STROKE_DASH_CSS_PIXELS, DEFAULT_STROKE_WIDTH_CSS_PIXELS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, DEFAULT_WITHDRAW_OPTIONS, DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, type DelayOptions, type DirectionOfAttackAviationOptions, type DirectionOfMainAttackOptions, type DirectionOfSupportingAttackOptions, type DisengageOptions, type DisruptMissionTaskOptions, type DisruptOptions, EPSILON, type EncirclementOptions, type EngagementAreaOptions, type EngineerWorkLineOptions, FILL_PATTERN_DEFINITIONS, type FLOTOptions, type FeaturePartProps, type FillPattern, type FillPatternCommand, type FillPatternDefinition, type FinalProtectiveFireOptions, type FixMissionTaskOptions, type FixOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type ForwardEdgeOfBattleAreaOptions, type FrontalAttackOptions, type GeneratedLabelKey, type GenericC2LineOptions, type GenericCircleOptions, type GenericLineOptions, type GenericPolygonOptions, type GenericRectangleOptions, type GenericSectorOptions, type GenericTextOptions, type GuardOptions, type HandoverLineOptions, type HoldingLineOptions, type JointTacticalActionAreaOptions, type LabelPlacementOverride, type LabelSizeOptions, type LandingZoneOptions, type LightLineOptions, type LimitOfAdvanceOptions, type LineOfDepartureContactOptions, type LineOfDepartureOptions, type LogicalTextStyle, type MainAttackOptions, type MeasureTextRequest, type MeasuredText, type MidpointPerpendicularDrawRuleOptions, type MineType, type MinefieldOptions, type MobileDefenseOptions, NON_SOLID_FILL_PATTERNS, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OptionsByKind, PARAMETER_PRESENTATION_TIERS, PROBABLE_LINE_OF_DEPLOYMENT_DASH, type ParamDescriptor, type ParameterPresentationTier, type ParameterSemanticRole, type PatternId, type PatternPaint, type PatternPathOperation, type PatternPoint, type PatternStroke, type PenetrateOptions, type PhaseLineOptions, type PickupZoneOptions, type Point2D, type PrincipalDirectionOfFireOptions, type ProbableLineOfDeploymentOptions, RADAR_SEARCH_DOCTRINE_FILL_COLOR, RADAR_SEARCH_DOCTRINE_STROKE_COLOR, type RadarSearchDoctrineOptions, type RearwardPassageOfLinesOptions, type ReleaseLineOptions, type RenderOptions, type RetainOptions, type RetireOptions, SECONDARY_DIRECTION_OF_FIRE_DASH, type ScreenOptions, type SecondaryDirectionOfFireOptions, type SeizeOptions, 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, type WithdrawOptions, type WithdrawUnderPressureOptions, ambushDrawRule, applyBoxTransformOptions, area27DrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, containDrawRule, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, dragControlMeasureOptionHandle, dynamicPointDrawRule, foldsBoxTransformOptions, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getControlMeasureOptionHandles, getDefaultOptions, getFillPatternDefinition, getMetersPerPixel, getMidpointPerpendicularSignedDistance, haversineDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, line27DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, parameterPresentationTierRank, penetrateDrawRule, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveParameterPresentationTier, resolveParameterSemanticRole, resolveStyleHints, roundToFixed, sectorDrawRule, snapToMidpointPerpendicular, sphericalBearing, staticPointDrawRule, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as DEFAULT_DISRUPT_OPTIONS, $t as DEFAULT_STROKE_DASH_CSS_PIXELS, A as DEFAULT_RETIRE_OPTIONS, An as createBaselineFrame, At as DEFAULT_CONTAIN_OPTIONS, B as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, Bt as DEFAULT_AREA_DEFENSE_OPTIONS, C as DEFAULT_MAIN_ATTACK_OPTIONS, Cn as containDrawRule, Ct as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, D as DEFAULT_WITHDRAW_OPTIONS, Dn as getMidpointPerpendicularSignedDistance, Dt as DEFAULT_BOUNDARY_OPTIONS, E as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, En as createMidpointPerpendicularDrawRule, Et as DEFAULT_LIGHT_LINE_OPTIONS, F as DEFAULT_FORTIFIED_LINE_OPTIONS, Fn as sphericalBearing, Ft as DEFAULT_ANTITANK_DITCH_OPTIONS, G as DEFAULT_HOLDING_LINE_OPTIONS, Gt as canonicalTextAmplifierKey, H as DEFAULT_HANDOVER_LINE_OPTIONS, Ht as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, I as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, In as unproject, It as DEFAULT_ASSEMBLY_AREA_OPTIONS, J as DEFAULT_FLOT_OPTIONS, Jt as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, K as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, Kt as normalizeTextAmplifiers, L as PROBABLE_LINE_OF_DEPLOYMENT_DASH, Ln as EPSILON, Lt as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, M as DEFAULT_PENETRATE_OPTIONS, Mn as computeInitialWidthPoint, Mt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, N as DEFAULT_FRONTAL_ATTACK_OPTIONS, Nn as haversineDistance, Nt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, O as DEFAULT_SEIZE_OPTIONS, On as pointOnMidpointPerpendicularAxis, Ot as DEFAULT_BLOCK_ARROW_OPTIONS, P as DEFAULT_FORTIFIED_AREA_OPTIONS, Pn as project, Pt as DEFAULT_ANTITANK_WALL_OPTIONS, Q as DEFAULT_ENCIRCLEMENT_OPTIONS, Qt as DEFAULT_PORTRAYAL, R as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Rn as getMetersPerPixel, Rt as DEFAULT_MOBILE_DEFENSE_OPTIONS, S as DEFAULT_MINEFIELD_OPTIONS, Sn as centerRadiusDrawRule, St as DEFAULT_BREACH_OPTIONS, T as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Tn as computeDefaultMidpointPerpendicularPoint, Tt as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, U as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Ut as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, V as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Vt as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, W as DEFAULT_RELEASE_LINE_OPTIONS, Wt as TEXT_AMPLIFIER_FIELDS, X as DEFAULT_FIX_OPTIONS, Xt as DEFAULT_LINE_CAP, Y as DEFAULT_FIX_MISSION_TASK_OPTIONS, Yt as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, Z as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Zt as DEFAULT_LINE_JOIN, _ as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, _n as staticPointDrawRule, _t as DEFAULT_GENERIC_LINE_OPTIONS, a as DEFINITIONS, an as axis1DrawRule, at as DEFAULT_TACTICAL_ARROW_OPTIONS, b as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, bn as disruptDrawRule, bt as DEFAULT_CANALIZE_OPTIONS, c as getDefaultOptions, cn as line26DrawRule, ct as DEFAULT_SUPPORTING_ATTACK_OPTIONS, d as DEFAULT_TURN_OPTIONS, dn as turnDrawRule, dt as RADAR_SEARCH_DOCTRINE_FILL_COLOR, en as DEFAULT_STROKE_WIDTH_CSS_PIXELS, et as DEFAULT_GUARD_OPTIONS, f as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, fn as line1DrawRule, ft as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, g as SECONDARY_DIRECTION_OF_FIRE_DASH, gn as sectorDrawRule, gt as DEFAULT_GENERIC_POLYGON_OPTIONS, h as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, hn as dynamicPointDrawRule, ht as DEFAULT_GENERIC_RECTANGLE_OPTIONS, i as CONTROL_MEASURE_METADATA, in as rectangleDrawRule, it as DEFAULT_COVER_OPTIONS, j as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, jn as calculateMetrics, jt as DEFAULT_BATTLE_POSITION_OPTIONS, k as DEFAULT_SCREEN_OPTIONS, kn as snapToMidpointPerpendicular, kt as DEFAULT_BLOCK_OPTIONS, l as listControlMeasureMetadata, ln as line24DrawRule, lt as DEFAULT_CLEAR_OPTIONS, m as DEFAULT_STRONG_POINT_OPTIONS, mn as attackByFireDrawRule, mt as DEFAULT_GENERIC_SECTOR_OPTIONS, n as resolveStyleHints, nn as DEFAULT_AMBUSH_OPTIONS, nt as DEFAULT_DISENGAGE_OPTIONS, o as getControlMeasureMetadata, on as supportByFireDrawRule, ot as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, p as DEFAULT_RETAIN_OPTIONS, pn as ambushDrawRule, pt as DEFAULT_GENERIC_TEXT_OPTIONS, q as DEFAULT_PHASE_LINE_OPTIONS, qt as resolveAmplifierPlacement, r as CONTROL_MEASURE_IDS, rn as DEFAULT_AIRBORNE_ATTACK_OPTIONS, rt as DEFAULT_DELAY_OPTIONS, s as getControlMeasureMetadataByValue, sn as line27DrawRule, st as DEFAULT_COUNTERATTACK_OPTIONS, t as renderControlMeasure, tt as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, u as DEFAULT_TURNING_MOVEMENT_OPTIONS, un as line23DrawRule, ut as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, v as DEFAULT_PICKUP_ZONE_OPTIONS, vn as point12DrawRule, vt as DEFAULT_GENERIC_CIRCLE_OPTIONS, w as DEFAULT_LANDING_ZONE_OPTIONS, wn as area27DrawRule, wt as DEFAULT_GENERIC_C2_LINE_OPTIONS, x as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, xn as blockDrawRule, xt as DEFAULT_BYPASS_OPTIONS, y as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, yn as penetrateDrawRule, yt as DEFAULT_CLASSIC_ARROW_OPTIONS, z as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, zn as roundToFixed, zt as DEFAULT_ENGAGEMENT_AREA_OPTIONS } from "./renderControlMeasure-
|
|
1
|
+
import { $ as DEFAULT_DISRUPT_OPTIONS, $t as DEFAULT_STROKE_DASH_CSS_PIXELS, A as DEFAULT_RETIRE_OPTIONS, An as createBaselineFrame, At as DEFAULT_CONTAIN_OPTIONS, B as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, Bt as DEFAULT_AREA_DEFENSE_OPTIONS, C as DEFAULT_MAIN_ATTACK_OPTIONS, Cn as containDrawRule, Ct as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, D as DEFAULT_WITHDRAW_OPTIONS, Dn as getMidpointPerpendicularSignedDistance, Dt as DEFAULT_BOUNDARY_OPTIONS, E as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, En as createMidpointPerpendicularDrawRule, Et as DEFAULT_LIGHT_LINE_OPTIONS, F as DEFAULT_FORTIFIED_LINE_OPTIONS, Fn as sphericalBearing, Ft as DEFAULT_ANTITANK_DITCH_OPTIONS, G as DEFAULT_HOLDING_LINE_OPTIONS, Gt as canonicalTextAmplifierKey, H as DEFAULT_HANDOVER_LINE_OPTIONS, Ht as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, I as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, In as unproject, It as DEFAULT_ASSEMBLY_AREA_OPTIONS, J as DEFAULT_FLOT_OPTIONS, Jt as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, K as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, Kt as normalizeTextAmplifiers, L as PROBABLE_LINE_OF_DEPLOYMENT_DASH, Ln as EPSILON, Lt as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, M as DEFAULT_PENETRATE_OPTIONS, Mn as computeInitialWidthPoint, Mt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, N as DEFAULT_FRONTAL_ATTACK_OPTIONS, Nn as haversineDistance, Nt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, O as DEFAULT_SEIZE_OPTIONS, On as pointOnMidpointPerpendicularAxis, Ot as DEFAULT_BLOCK_ARROW_OPTIONS, P as DEFAULT_FORTIFIED_AREA_OPTIONS, Pn as project, Pt as DEFAULT_ANTITANK_WALL_OPTIONS, Q as DEFAULT_ENCIRCLEMENT_OPTIONS, Qt as DEFAULT_PORTRAYAL, R as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Rn as getMetersPerPixel, Rt as DEFAULT_MOBILE_DEFENSE_OPTIONS, S as DEFAULT_MINEFIELD_OPTIONS, Sn as centerRadiusDrawRule, St as DEFAULT_BREACH_OPTIONS, T as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Tn as computeDefaultMidpointPerpendicularPoint, Tt as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, U as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Ut as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, V as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Vt as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, W as DEFAULT_RELEASE_LINE_OPTIONS, Wt as TEXT_AMPLIFIER_FIELDS, X as DEFAULT_FIX_OPTIONS, Xt as DEFAULT_LINE_CAP, Y as DEFAULT_FIX_MISSION_TASK_OPTIONS, Yt as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, Z as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Zt as DEFAULT_LINE_JOIN, _ as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, _n as staticPointDrawRule, _t as DEFAULT_GENERIC_LINE_OPTIONS, a as DEFINITIONS, an as axis1DrawRule, at as DEFAULT_TACTICAL_ARROW_OPTIONS, b as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, bn as disruptDrawRule, bt as DEFAULT_CANALIZE_OPTIONS, c as getDefaultOptions, cn as line26DrawRule, ct as DEFAULT_SUPPORTING_ATTACK_OPTIONS, d as DEFAULT_TURN_OPTIONS, dn as turnDrawRule, dt as RADAR_SEARCH_DOCTRINE_FILL_COLOR, en as DEFAULT_STROKE_WIDTH_CSS_PIXELS, et as DEFAULT_GUARD_OPTIONS, f as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, fn as line1DrawRule, ft as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, g as SECONDARY_DIRECTION_OF_FIRE_DASH, gn as sectorDrawRule, gt as DEFAULT_GENERIC_POLYGON_OPTIONS, h as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, hn as dynamicPointDrawRule, ht as DEFAULT_GENERIC_RECTANGLE_OPTIONS, i as CONTROL_MEASURE_METADATA, in as rectangleDrawRule, it as DEFAULT_COVER_OPTIONS, j as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, jn as calculateMetrics, jt as DEFAULT_BATTLE_POSITION_OPTIONS, k as DEFAULT_SCREEN_OPTIONS, kn as snapToMidpointPerpendicular, kt as DEFAULT_BLOCK_OPTIONS, l as listControlMeasureMetadata, ln as line24DrawRule, lt as DEFAULT_CLEAR_OPTIONS, m as DEFAULT_STRONG_POINT_OPTIONS, mn as attackByFireDrawRule, mt as DEFAULT_GENERIC_SECTOR_OPTIONS, n as resolveStyleHints, nn as DEFAULT_AMBUSH_OPTIONS, nt as DEFAULT_DISENGAGE_OPTIONS, o as getControlMeasureMetadata, on as supportByFireDrawRule, ot as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, p as DEFAULT_RETAIN_OPTIONS, pn as ambushDrawRule, pt as DEFAULT_GENERIC_TEXT_OPTIONS, q as DEFAULT_PHASE_LINE_OPTIONS, qt as resolveAmplifierPlacement, r as CONTROL_MEASURE_IDS, rn as DEFAULT_AIRBORNE_ATTACK_OPTIONS, rt as DEFAULT_DELAY_OPTIONS, s as getControlMeasureMetadataByValue, sn as line27DrawRule, st as DEFAULT_COUNTERATTACK_OPTIONS, t as renderControlMeasure, tt as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, u as DEFAULT_TURNING_MOVEMENT_OPTIONS, un as line23DrawRule, ut as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, v as DEFAULT_PICKUP_ZONE_OPTIONS, vn as point12DrawRule, vt as DEFAULT_GENERIC_CIRCLE_OPTIONS, w as DEFAULT_LANDING_ZONE_OPTIONS, wn as area27DrawRule, wt as DEFAULT_GENERIC_C2_LINE_OPTIONS, x as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, xn as blockDrawRule, xt as DEFAULT_BYPASS_OPTIONS, y as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, yn as penetrateDrawRule, yt as DEFAULT_CLASSIC_ARROW_OPTIONS, z as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, zn as roundToFixed, zt as DEFAULT_ENGAGEMENT_AREA_OPTIONS } from "./renderControlMeasure-CclYDSlM.mjs";
|
|
2
2
|
import { FILL_PATTERN_DEFINITIONS, NON_SOLID_FILL_PATTERNS, getFillPatternDefinition } from "./patterns.mjs";
|
|
3
3
|
//#region src/metadata.ts
|
|
4
4
|
const PARAMETER_PRESENTATION_TIERS = [
|
|
@@ -56,6 +56,28 @@ function applyBoxTransformOptions(kind, options, delta) {
|
|
|
56
56
|
return definition.transformOptions(options ?? {}, delta);
|
|
57
57
|
}
|
|
58
58
|
//#endregion
|
|
59
|
+
//#region src/option-handles.ts
|
|
60
|
+
/** Resolve the option-backed reshape handles declared by a measure definition. */
|
|
61
|
+
function getControlMeasureOptionHandles(kind, controlPoints, options) {
|
|
62
|
+
const definition = DEFINITIONS[kind];
|
|
63
|
+
if (!definition.optionHandles) return [];
|
|
64
|
+
return definition.optionHandles.get(controlPoints, options ?? {}).map((handle) => ({
|
|
65
|
+
id: handle.id,
|
|
66
|
+
position: [...handle.position]
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
/** Map a dragged option handle coordinate to the definition-owned options patch. */
|
|
70
|
+
function dragControlMeasureOptionHandle(kind, controlPoints, options, handleId, position) {
|
|
71
|
+
const definition = DEFINITIONS[kind];
|
|
72
|
+
if (!definition.optionHandles) return void 0;
|
|
73
|
+
return definition.optionHandles.drag({
|
|
74
|
+
controlPoints,
|
|
75
|
+
options: options ?? {},
|
|
76
|
+
handleId,
|
|
77
|
+
position
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
59
81
|
//#region src/instance.ts
|
|
60
82
|
function isKind(cm, kind) {
|
|
61
83
|
return cm.kind === kind;
|
|
@@ -157,4 +179,4 @@ function toHexChannel(value) {
|
|
|
157
179
|
return Math.max(0, Math.min(255, Math.round(value))).toString(16).padStart(2, "0");
|
|
158
180
|
}
|
|
159
181
|
//#endregion
|
|
160
|
-
export { CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_AREA_DEFENSE_OPTIONS, DEFAULT_AREA_OF_OPERATIONS_OPTIONS, DEFAULT_ASSEMBLY_AREA_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, DEFAULT_BATTLE_POSITION_OPTIONS, DEFAULT_BLOCK_ARROW_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BOUNDARY_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BRIDGEHEAD_LINE_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_CONTAIN_OPTIONS, DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, DEFAULT_COUNTERATTACK_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_DISENGAGE_OPTIONS, DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGAGEMENT_AREA_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_MISSION_TASK_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GENERIC_SECTOR_OPTIONS, DEFAULT_GENERIC_TEXT_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_HOLDING_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LABEL_HEIGHT_CSS_PIXELS, DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, DEFAULT_LINE_OF_DEPARTURE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_MINEFIELD_OPTIONS, DEFAULT_MOBILE_DEFENSE_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PENETRATE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PORTRAYAL, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, DEFAULT_RELEASE_LINE_OPTIONS, DEFAULT_RETAIN_OPTIONS, DEFAULT_RETIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SEIZE_OPTIONS, DEFAULT_STROKE_DASH_CSS_PIXELS, DEFAULT_STROKE_WIDTH_CSS_PIXELS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, DEFAULT_WITHDRAW_OPTIONS, DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, EPSILON, FILL_PATTERN_DEFINITIONS, NON_SOLID_FILL_PATTERNS, PARAMETER_PRESENTATION_TIERS, PROBABLE_LINE_OF_DEPLOYMENT_DASH, RADAR_SEARCH_DOCTRINE_FILL_COLOR, RADAR_SEARCH_DOCTRINE_STROKE_COLOR, SECONDARY_DIRECTION_OF_FIRE_DASH, TEXT_AMPLIFIER_FIELDS, ambushDrawRule, applyBoxTransformOptions, area27DrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, containDrawRule, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, dynamicPointDrawRule, foldsBoxTransformOptions, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getFillPatternDefinition, getMetersPerPixel, getMidpointPerpendicularSignedDistance, haversineDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, line27DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, parameterPresentationTierRank, penetrateDrawRule, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveParameterPresentationTier, resolveParameterSemanticRole, resolveStyleHints, roundToFixed, sectorDrawRule, snapToMidpointPerpendicular, sphericalBearing, staticPointDrawRule, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
|
|
182
|
+
export { CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_AREA_DEFENSE_OPTIONS, DEFAULT_AREA_OF_OPERATIONS_OPTIONS, DEFAULT_ASSEMBLY_AREA_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, DEFAULT_BATTLE_POSITION_OPTIONS, DEFAULT_BLOCK_ARROW_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BOUNDARY_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BRIDGEHEAD_LINE_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_CONTAIN_OPTIONS, DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, DEFAULT_COUNTERATTACK_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_DISENGAGE_OPTIONS, DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGAGEMENT_AREA_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_MISSION_TASK_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GENERIC_SECTOR_OPTIONS, DEFAULT_GENERIC_TEXT_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_HOLDING_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LABEL_HEIGHT_CSS_PIXELS, DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, DEFAULT_LINE_OF_DEPARTURE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_MINEFIELD_OPTIONS, DEFAULT_MOBILE_DEFENSE_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PENETRATE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PORTRAYAL, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, DEFAULT_RELEASE_LINE_OPTIONS, DEFAULT_RETAIN_OPTIONS, DEFAULT_RETIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SEIZE_OPTIONS, DEFAULT_STROKE_DASH_CSS_PIXELS, DEFAULT_STROKE_WIDTH_CSS_PIXELS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, DEFAULT_WITHDRAW_OPTIONS, DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, EPSILON, FILL_PATTERN_DEFINITIONS, NON_SOLID_FILL_PATTERNS, PARAMETER_PRESENTATION_TIERS, PROBABLE_LINE_OF_DEPLOYMENT_DASH, RADAR_SEARCH_DOCTRINE_FILL_COLOR, RADAR_SEARCH_DOCTRINE_STROKE_COLOR, SECONDARY_DIRECTION_OF_FIRE_DASH, TEXT_AMPLIFIER_FIELDS, ambushDrawRule, applyBoxTransformOptions, area27DrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, containDrawRule, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, dragControlMeasureOptionHandle, dynamicPointDrawRule, foldsBoxTransformOptions, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getControlMeasureOptionHandles, getDefaultOptions, getFillPatternDefinition, getMetersPerPixel, getMidpointPerpendicularSignedDistance, haversineDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, line27DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, parameterPresentationTierRank, penetrateDrawRule, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveParameterPresentationTier, resolveParameterSemanticRole, resolveStyleHints, roundToFixed, sectorDrawRule, snapToMidpointPerpendicular, sphericalBearing, staticPointDrawRule, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
|
package/dist/preview/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { et as ControlMeasureId, ga as TextAmplifiers } from "../index-IeI0ELGA.mjs";
|
|
2
2
|
import { f as FillPattern } from "../patterns-CcQmmOuJ.mjs";
|
|
3
3
|
import { FeatureCollection, Geometry } from "geojson";
|
|
4
4
|
|
package/dist/preview/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-
|
|
1
|
+
import { a as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-CclYDSlM.mjs";
|
|
2
2
|
import { FILL_PATTERN_DEFINITIONS, NON_SOLID_FILL_PATTERNS } from "../patterns.mjs";
|
|
3
3
|
//#region src/preview/index.ts
|
|
4
4
|
/** Side length (SVG units) of the repeating non-mine tile in {@link PREVIEW_FILL_PATTERNS}. */
|
|
@@ -130,15 +130,27 @@ const destinationPoint = (origin, distance, bearing) => {
|
|
|
130
130
|
//#endregion
|
|
131
131
|
//#region src/internal/vector-utils.ts
|
|
132
132
|
/**
|
|
133
|
-
* Offsets a polyline using Miter Joins or Round Joins.
|
|
133
|
+
* Offsets a polyline to both sides at once, using Miter Joins or Round Joins.
|
|
134
|
+
* `offsets` carries one half-width per vertex, so the outline may taper along
|
|
135
|
+
* its centerline; both sides read the same array rather than materialising a
|
|
136
|
+
* negated copy per geometry pass.
|
|
134
137
|
*/
|
|
135
|
-
function
|
|
138
|
+
function offsetPolylineSides(points, offsets, rounded = false, segments = 5) {
|
|
139
|
+
return {
|
|
140
|
+
left: offsetPolylineWithOffsets(points, offsets, rounded, segments, 1),
|
|
141
|
+
right: offsetPolylineWithOffsets(points, offsets, rounded, segments, -1)
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/** One side of {@link offsetPolylineSides}; `sign` picks which. */
|
|
145
|
+
function offsetPolylineWithOffsets(points, offsets, rounded, segments, sign) {
|
|
136
146
|
if (points.length < 2) return points;
|
|
147
|
+
if (offsets.length !== points.length) return points;
|
|
137
148
|
const result = [];
|
|
138
149
|
const N = points.length;
|
|
139
150
|
for (let i = 0; i < N; i++) {
|
|
140
151
|
const p = points[i];
|
|
141
152
|
if (!p) continue;
|
|
153
|
+
const offset = offsets[i] * sign;
|
|
142
154
|
if (i === 0) {
|
|
143
155
|
const next = points[i + 1];
|
|
144
156
|
if (next) {
|
|
@@ -195,6 +207,17 @@ function offsetPolyline(points, offset, rounded = false, segments = 5) {
|
|
|
195
207
|
}
|
|
196
208
|
return result;
|
|
197
209
|
}
|
|
210
|
+
/** Linearly interpolates values by distance along a polyline, not vertex count. */
|
|
211
|
+
function interpolatePolylineValues(points, startValue, endValue) {
|
|
212
|
+
const distances = [0];
|
|
213
|
+
for (let i = 1; i < points.length; i++) distances.push(distances[i - 1] + vecMag(vecSub(points[i], points[i - 1])));
|
|
214
|
+
const totalLength = distances.at(-1) ?? 0;
|
|
215
|
+
if (totalLength < 1e-6) return points.map(() => endValue);
|
|
216
|
+
return distances.map((distance) => {
|
|
217
|
+
const progress = distance / totalLength;
|
|
218
|
+
return startValue + (endValue - startValue) * progress;
|
|
219
|
+
});
|
|
220
|
+
}
|
|
198
221
|
function vecAdd(a, b) {
|
|
199
222
|
return [a[0] + b[0], a[1] + b[1]];
|
|
200
223
|
}
|
|
@@ -248,9 +271,81 @@ function lineIntersection(p1, p2, p3, p4) {
|
|
|
248
271
|
}
|
|
249
272
|
//#endregion
|
|
250
273
|
//#region src/attack-utils.ts
|
|
251
|
-
const DEFAULT_SHAFT_WIDTH_RATIO = .6;
|
|
274
|
+
const DEFAULT_SHAFT_WIDTH_RATIO$1 = .6;
|
|
275
|
+
const DEFAULT_REAR_WIDTH_RATIO = DEFAULT_SHAFT_WIDTH_RATIO$1;
|
|
252
276
|
const SHAFT_MIN_RATIO = .1;
|
|
253
277
|
const SHAFT_MAX_RATIO = .9;
|
|
278
|
+
const REAR_WIDTH_OPTION_HANDLE_ID = "rear-width";
|
|
279
|
+
const SHAFT_WIDTH_OPTION_HANDLE_ID = "shaft-width";
|
|
280
|
+
/**
|
|
281
|
+
* Creates the definition-owned rear-/shaft-width handle pair shared by every
|
|
282
|
+
* variable-width arrow body. Callers supply only how their own geometry maps
|
|
283
|
+
* onto {@link WidthHandleGeometry}; placement (the two ends of the left edge)
|
|
284
|
+
* and the drag math (perpendicular distance from the dragged point to the
|
|
285
|
+
* matching centerline segment, over the reference half-width) live here once.
|
|
286
|
+
*/
|
|
287
|
+
function createWidthOptionHandles(config) {
|
|
288
|
+
return {
|
|
289
|
+
get(controlPoints, options) {
|
|
290
|
+
const geometry = config.geometry(controlPoints, options);
|
|
291
|
+
const rearLeft = geometry?.leftEdge[0];
|
|
292
|
+
const neckLeft = geometry?.leftEdge.at(-1);
|
|
293
|
+
if (!rearLeft || !neckLeft) return [];
|
|
294
|
+
return [{
|
|
295
|
+
id: REAR_WIDTH_OPTION_HANDLE_ID,
|
|
296
|
+
position: unproject(rearLeft[0], rearLeft[1])
|
|
297
|
+
}, {
|
|
298
|
+
id: SHAFT_WIDTH_OPTION_HANDLE_ID,
|
|
299
|
+
position: unproject(neckLeft[0], neckLeft[1])
|
|
300
|
+
}];
|
|
301
|
+
},
|
|
302
|
+
drag({ controlPoints, options, handleId, position }) {
|
|
303
|
+
const geometry = config.geometry(controlPoints, options);
|
|
304
|
+
if (!geometry || geometry.referenceHalfWidth < 1e-6) return void 0;
|
|
305
|
+
const rear = handleId === REAR_WIDTH_OPTION_HANDLE_ID;
|
|
306
|
+
if (!rear && !(handleId === "shaft-width")) return void 0;
|
|
307
|
+
const from = rear ? geometry.spine[0] : geometry.spine.at(-2);
|
|
308
|
+
const to = rear ? geometry.spine[1] : geometry.spine.at(-1);
|
|
309
|
+
if (!from || !to) return void 0;
|
|
310
|
+
const ratio = clamp(pointToInfiniteLineDistance(project(position[0], position[1]), from, to) / geometry.referenceHalfWidth, config.minRatio, rear ? config.maxRearRatio : config.maxShaftRatio);
|
|
311
|
+
return rear ? { rearWidthRatio: ratio } : { shaftWidthRatio: ratio };
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* The width handles for attack bodies built by {@link processAttackGeometry},
|
|
317
|
+
* whose ratios are fractions of the arrowhead half-width. A coordinate resolver
|
|
318
|
+
* lets derivative measures (Counterattack by Fire) map their authored Axis1
|
|
319
|
+
* points to the body coordinates first.
|
|
320
|
+
*/
|
|
321
|
+
function createVariableWidthAttackOptionHandles(resolveCoordinates = (points) => points) {
|
|
322
|
+
return createWidthOptionHandles({
|
|
323
|
+
geometry(controlPoints, options) {
|
|
324
|
+
const coordinates = resolveCoordinates(controlPoints);
|
|
325
|
+
if (!coordinates) return null;
|
|
326
|
+
const { geometry } = processAttackGeometry(coordinates, options);
|
|
327
|
+
const outerLeft = geometry?.headRing[0];
|
|
328
|
+
if (!geometry || !outerLeft) return null;
|
|
329
|
+
return {
|
|
330
|
+
spine: geometry.shaftCenterline,
|
|
331
|
+
leftEdge: geometry.shaftLeft,
|
|
332
|
+
referenceHalfWidth: vecMag(vecSub(outerLeft, geometry.ptBase))
|
|
333
|
+
};
|
|
334
|
+
},
|
|
335
|
+
minRatio: SHAFT_MIN_RATIO,
|
|
336
|
+
maxRearRatio: 3,
|
|
337
|
+
maxShaftRatio: SHAFT_MAX_RATIO
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
const variableWidthAttackOptionHandles = createVariableWidthAttackOptionHandles();
|
|
341
|
+
/**
|
|
342
|
+
* The single home of the "rear inherits shaft" rule: an omitted `rearWidthRatio`
|
|
343
|
+
* leaves the body parallel by matching the effective shaft ratio. Every
|
|
344
|
+
* variable-width body resolves the option through here so the rule cannot drift.
|
|
345
|
+
*/
|
|
346
|
+
function resolveRearWidthRatio(options, shaftRatio) {
|
|
347
|
+
return options.rearWidthRatio ?? shaftRatio;
|
|
348
|
+
}
|
|
254
349
|
/**
|
|
255
350
|
* Processes input coordinates and options to generate the core symbol geometry.
|
|
256
351
|
* This handles validation, default values, projection, and geometry calculation.
|
|
@@ -259,6 +354,7 @@ function processAttackGeometry(coordinates, options = {}) {
|
|
|
259
354
|
const shaftRatio = clamp(options.shaftWidthRatio ?? .6, SHAFT_MIN_RATIO, SHAFT_MAX_RATIO);
|
|
260
355
|
const smooth = options.smooth ?? false;
|
|
261
356
|
const smoothResolution = options.smoothResolution ?? 5;
|
|
357
|
+
const rearRatio = clamp(resolveRearWidthRatio(options, shaftRatio), SHAFT_MIN_RATIO, 3);
|
|
262
358
|
const points = coordinates.map((c) => project(c[0], c[1]));
|
|
263
359
|
const numPoints = points.length;
|
|
264
360
|
const ptTip = points[0];
|
|
@@ -268,9 +364,9 @@ function processAttackGeometry(coordinates, options = {}) {
|
|
|
268
364
|
const p = points[i];
|
|
269
365
|
if (p) spinePoints.push(p);
|
|
270
366
|
}
|
|
271
|
-
return { geometry: calculateSymbolGeometry(ptTip, ptWidth, spinePoints, shaftRatio, smooth, smoothResolution) };
|
|
367
|
+
return { geometry: calculateSymbolGeometry(ptTip, ptWidth, spinePoints, shaftRatio, rearRatio, smooth, smoothResolution) };
|
|
272
368
|
}
|
|
273
|
-
function calculateSymbolGeometry(ptTip, ptWidth, spine, shaftRatio, smooth, smoothResolution) {
|
|
369
|
+
function calculateSymbolGeometry(ptTip, ptWidth, spine, shaftRatio, rearWidthRatio, smooth, smoothResolution) {
|
|
274
370
|
const initialNeck = spine[spine.length - 1];
|
|
275
371
|
if (!initialNeck) return null;
|
|
276
372
|
const initialTipDir = vecNorm(vecSub(ptTip, initialNeck));
|
|
@@ -323,10 +419,11 @@ function calculateSymbolGeometry(ptTip, ptWidth, spine, shaftRatio, smooth, smoo
|
|
|
323
419
|
outerLeft
|
|
324
420
|
];
|
|
325
421
|
const fullSpine = [...remainingSpine, shaftEndCenter];
|
|
422
|
+
const { left: shaftLeft, right: shaftRight } = offsetPolylineSides(fullSpine, interpolatePolylineValues(fullSpine, headHalfWidth * rearWidthRatio, shaftHalfWidth), smooth, smoothResolution);
|
|
326
423
|
return {
|
|
327
424
|
shaftCenterline: fullSpine,
|
|
328
|
-
shaftLeft
|
|
329
|
-
shaftRight
|
|
425
|
+
shaftLeft,
|
|
426
|
+
shaftRight,
|
|
330
427
|
headRing,
|
|
331
428
|
ptTip,
|
|
332
429
|
ptNeck,
|
|
@@ -1726,6 +1823,16 @@ const ATTACK_SHAFT_PARAMS = [
|
|
|
1726
1823
|
max: 1,
|
|
1727
1824
|
step: .05
|
|
1728
1825
|
},
|
|
1826
|
+
{
|
|
1827
|
+
key: "rearWidthRatio",
|
|
1828
|
+
presentationTier: "advanced",
|
|
1829
|
+
label: "Rear width",
|
|
1830
|
+
description: "Width at the rear of the shaft as a ratio of the arrowhead width.",
|
|
1831
|
+
type: "number",
|
|
1832
|
+
min: .1,
|
|
1833
|
+
max: 2,
|
|
1834
|
+
step: .05
|
|
1835
|
+
},
|
|
1729
1836
|
{
|
|
1730
1837
|
key: "smooth",
|
|
1731
1838
|
label: "Smooth",
|
|
@@ -1954,7 +2061,8 @@ const AREA_TEXT_AMPLIFIERS_DESIGNATION_HOSTILE = AREA_TEXT_AMPLIFIERS.filter((d)
|
|
|
1954
2061
|
//#endregion
|
|
1955
2062
|
//#region src/generators/cm15-maneuver-areas/airborneAttack.ts
|
|
1956
2063
|
const DEFAULT_AIRBORNE_ATTACK_OPTIONS = {
|
|
1957
|
-
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO,
|
|
2064
|
+
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO$1,
|
|
2065
|
+
rearWidthRatio: DEFAULT_REAR_WIDTH_RATIO,
|
|
1958
2066
|
smooth: false,
|
|
1959
2067
|
smoothResolution: 5
|
|
1960
2068
|
};
|
|
@@ -2019,7 +2127,8 @@ const AIRBORNE_ATTACK = defineControlMeasure({
|
|
|
2019
2127
|
metadata: AIRBORNE_ATTACK_METADATA,
|
|
2020
2128
|
generator: createAirborneAttack,
|
|
2021
2129
|
defaultOptions: DEFAULT_AIRBORNE_ATTACK_OPTIONS,
|
|
2022
|
-
rule: axis1DrawRule
|
|
2130
|
+
rule: axis1DrawRule,
|
|
2131
|
+
optionHandles: variableWidthAttackOptionHandles
|
|
2023
2132
|
});
|
|
2024
2133
|
/**
|
|
2025
2134
|
* Reacts to an **input-contract** violation according to `mode`: `throw`
|
|
@@ -5856,7 +5965,8 @@ const ATTACK_BY_FIRE = defineControlMeasure({
|
|
|
5856
5965
|
//#endregion
|
|
5857
5966
|
//#region src/generators/cm15-maneuver-areas/attackHelicopter.ts
|
|
5858
5967
|
const DEFAULT_ATTACK_HELICOPTER_OPTIONS = {
|
|
5859
|
-
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO,
|
|
5968
|
+
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO$1,
|
|
5969
|
+
rearWidthRatio: DEFAULT_REAR_WIDTH_RATIO,
|
|
5860
5970
|
smooth: false,
|
|
5861
5971
|
smoothResolution: 5,
|
|
5862
5972
|
symbolHeightRatio: .45,
|
|
@@ -6075,7 +6185,8 @@ const ATTACK_HELICOPTER = defineControlMeasure({
|
|
|
6075
6185
|
metadata: ATTACK_HELICOPTER_METADATA,
|
|
6076
6186
|
generator: createAttackHelicopter,
|
|
6077
6187
|
defaultOptions: DEFAULT_ATTACK_HELICOPTER_OPTIONS,
|
|
6078
|
-
rule: axis1DrawRule
|
|
6188
|
+
rule: axis1DrawRule,
|
|
6189
|
+
optionHandles: variableWidthAttackOptionHandles
|
|
6079
6190
|
});
|
|
6080
6191
|
//#endregion
|
|
6081
6192
|
//#region src/generators/cm15-maneuver-areas/battlePosition.ts
|
|
@@ -6710,8 +6821,12 @@ const BRIDGE_OR_GAP = defineControlMeasure({
|
|
|
6710
6821
|
const DEFAULT_SMOOTH_RESOLUTION$5 = 12;
|
|
6711
6822
|
const MIN_SMOOTH_RESOLUTION$1 = 2;
|
|
6712
6823
|
const MAX_SMOOTH_RESOLUTION$1 = 64;
|
|
6824
|
+
const DEFAULT_SHAFT_WIDTH_RATIO = .06;
|
|
6825
|
+
const MIN_SHAFT_WIDTH_RATIO = .01;
|
|
6826
|
+
const MAX_SHAFT_WIDTH_RATIO = .3;
|
|
6713
6827
|
const DEFAULT_BLOCK_ARROW_OPTIONS = {
|
|
6714
|
-
shaftWidthRatio:
|
|
6828
|
+
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO,
|
|
6829
|
+
rearWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO,
|
|
6715
6830
|
arrowheadStyle: "triangle",
|
|
6716
6831
|
arrowheadWidthRatio: .18,
|
|
6717
6832
|
arrowheadLengthRatio: .22,
|
|
@@ -6743,8 +6858,18 @@ const BLOCK_ARROW_METADATA = {
|
|
|
6743
6858
|
label: "Shaft width",
|
|
6744
6859
|
description: "Shaft band width as a fraction of the total path length",
|
|
6745
6860
|
type: "number",
|
|
6746
|
-
min:
|
|
6747
|
-
max:
|
|
6861
|
+
min: MIN_SHAFT_WIDTH_RATIO,
|
|
6862
|
+
max: MAX_SHAFT_WIDTH_RATIO,
|
|
6863
|
+
step: .01
|
|
6864
|
+
},
|
|
6865
|
+
{
|
|
6866
|
+
key: "rearWidthRatio",
|
|
6867
|
+
presentationTier: "advanced",
|
|
6868
|
+
label: "Rear width",
|
|
6869
|
+
description: "Width at the rear of the shaft as a fraction of the total path length",
|
|
6870
|
+
type: "number",
|
|
6871
|
+
min: MIN_SHAFT_WIDTH_RATIO,
|
|
6872
|
+
max: MAX_SHAFT_WIDTH_RATIO,
|
|
6748
6873
|
step: .01
|
|
6749
6874
|
},
|
|
6750
6875
|
{
|
|
@@ -6835,25 +6960,42 @@ const BLOCK_ARROW_METADATA = {
|
|
|
6835
6960
|
* right side of the shaft.
|
|
6836
6961
|
*/
|
|
6837
6962
|
function createBlockArrow(coordinates, options = {}) {
|
|
6838
|
-
const
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
};
|
|
6842
|
-
const axis1 = axis1Geometry(coordinates);
|
|
6843
|
-
const axis = arrowAxis(axis1.path);
|
|
6844
|
-
if (!axis) return {
|
|
6963
|
+
const resolved = resolveBlockArrowOptions(options);
|
|
6964
|
+
const geometry = calculateBlockArrowGeometry(coordinates, resolved);
|
|
6965
|
+
if (!geometry) return {
|
|
6845
6966
|
type: "FeatureCollection",
|
|
6846
6967
|
features: []
|
|
6847
6968
|
};
|
|
6969
|
+
const { ring } = geometry;
|
|
6970
|
+
return {
|
|
6971
|
+
type: "FeatureCollection",
|
|
6972
|
+
features: [{
|
|
6973
|
+
type: "Feature",
|
|
6974
|
+
properties: {
|
|
6975
|
+
part: "body",
|
|
6976
|
+
fill: resolved.filled
|
|
6977
|
+
},
|
|
6978
|
+
geometry: {
|
|
6979
|
+
type: "Polygon",
|
|
6980
|
+
coordinates: [ring.map((p) => unproject(p[0], p[1]))]
|
|
6981
|
+
}
|
|
6982
|
+
}]
|
|
6983
|
+
};
|
|
6984
|
+
}
|
|
6985
|
+
function calculateBlockArrowGeometry(coordinates, options) {
|
|
6986
|
+
const axis1 = axis1Geometry(coordinates);
|
|
6987
|
+
const axis = arrowAxis(axis1.path);
|
|
6988
|
+
if (!axis) return null;
|
|
6848
6989
|
const { pts, pathLength, tip, dir, perp, segLength } = axis;
|
|
6849
|
-
const requestedHeadLen = axis1.headLength ?? pathLength * arrowheadLengthRatio;
|
|
6990
|
+
const requestedHeadLen = axis1.headLength ?? pathLength * options.arrowheadLengthRatio;
|
|
6850
6991
|
const headLen = Math.min(requestedHeadLen, segLength * .95);
|
|
6851
|
-
const halfShaft = pathLength * shaftWidthRatio / 2;
|
|
6852
|
-
const
|
|
6992
|
+
const halfShaft = pathLength * options.shaftWidthRatio / 2;
|
|
6993
|
+
const halfRear = pathLength * options.rearWidthRatio / 2;
|
|
6994
|
+
const halfHead = axis1.headHalfWidth ?? pathLength * options.arrowheadWidthRatio / 2;
|
|
6853
6995
|
const onAxis = (d, side = 0) => [tip[0] - dir[0] * d + perp[0] * side, tip[1] - dir[1] * d + perp[1] * side];
|
|
6854
6996
|
let shaftEndDist;
|
|
6855
6997
|
let headPts;
|
|
6856
|
-
switch (arrowheadStyle) {
|
|
6998
|
+
switch (options.arrowheadStyle) {
|
|
6857
6999
|
case "barbed":
|
|
6858
7000
|
shaftEndDist = headLen * .55;
|
|
6859
7001
|
headPts = [
|
|
@@ -6911,9 +7053,9 @@ function createBlockArrow(coordinates, options = {}) {
|
|
|
6911
7053
|
break;
|
|
6912
7054
|
}
|
|
6913
7055
|
let spine = [...pts.slice(0, -1), onAxis(shaftEndDist)];
|
|
6914
|
-
if (smooth) spine = catmullRom(spine, normalizeSmoothResolution$1(smoothResolution));
|
|
6915
|
-
const
|
|
6916
|
-
const rightSide =
|
|
7056
|
+
if (options.smooth) spine = catmullRom(spine, normalizeSmoothResolution$1(options.smoothResolution));
|
|
7057
|
+
const widths = interpolatePolylineValues(spine, halfRear, halfShaft);
|
|
7058
|
+
const { left: leftSide, right: rightSide } = offsetPolylineSides(spine, widths);
|
|
6917
7059
|
const ring = [
|
|
6918
7060
|
...leftSide,
|
|
6919
7061
|
...headPts,
|
|
@@ -6921,18 +7063,20 @@ function createBlockArrow(coordinates, options = {}) {
|
|
|
6921
7063
|
];
|
|
6922
7064
|
ring.push(ring[0]);
|
|
6923
7065
|
return {
|
|
6924
|
-
|
|
6925
|
-
|
|
6926
|
-
|
|
6927
|
-
|
|
6928
|
-
|
|
6929
|
-
|
|
6930
|
-
|
|
6931
|
-
|
|
6932
|
-
|
|
6933
|
-
|
|
6934
|
-
|
|
6935
|
-
|
|
7066
|
+
ring,
|
|
7067
|
+
spine,
|
|
7068
|
+
leftSide,
|
|
7069
|
+
pathLength
|
|
7070
|
+
};
|
|
7071
|
+
}
|
|
7072
|
+
function resolveBlockArrowOptions(options) {
|
|
7073
|
+
const resolved = {
|
|
7074
|
+
...DEFAULT_BLOCK_ARROW_OPTIONS,
|
|
7075
|
+
...options
|
|
7076
|
+
};
|
|
7077
|
+
return {
|
|
7078
|
+
...resolved,
|
|
7079
|
+
rearWidthRatio: resolveRearWidthRatio(options, resolved.shaftWidthRatio)
|
|
6936
7080
|
};
|
|
6937
7081
|
}
|
|
6938
7082
|
const BLOCK_ARROW = defineControlMeasure({
|
|
@@ -6940,6 +7084,20 @@ const BLOCK_ARROW = defineControlMeasure({
|
|
|
6940
7084
|
generator: createBlockArrow,
|
|
6941
7085
|
defaultOptions: DEFAULT_BLOCK_ARROW_OPTIONS,
|
|
6942
7086
|
rule: axis1DrawRule,
|
|
7087
|
+
optionHandles: createWidthOptionHandles({
|
|
7088
|
+
geometry(controlPoints, options) {
|
|
7089
|
+
const geometry = calculateBlockArrowGeometry(controlPoints, resolveBlockArrowOptions(options));
|
|
7090
|
+
if (!geometry) return null;
|
|
7091
|
+
return {
|
|
7092
|
+
spine: geometry.spine,
|
|
7093
|
+
leftEdge: geometry.leftSide,
|
|
7094
|
+
referenceHalfWidth: geometry.pathLength / 2
|
|
7095
|
+
};
|
|
7096
|
+
},
|
|
7097
|
+
minRatio: MIN_SHAFT_WIDTH_RATIO,
|
|
7098
|
+
maxRearRatio: MAX_SHAFT_WIDTH_RATIO,
|
|
7099
|
+
maxShaftRatio: MAX_SHAFT_WIDTH_RATIO
|
|
7100
|
+
}),
|
|
6943
7101
|
previewSample: {
|
|
6944
7102
|
controlPoints: [
|
|
6945
7103
|
[1.4, 0],
|
|
@@ -9392,7 +9550,8 @@ const CLEAR = defineControlMeasure({
|
|
|
9392
9550
|
//#endregion
|
|
9393
9551
|
//#region src/generators/cm15-maneuver-areas/supportingAttack.ts
|
|
9394
9552
|
const DEFAULT_SUPPORTING_ATTACK_OPTIONS = {
|
|
9395
|
-
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO,
|
|
9553
|
+
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO$1,
|
|
9554
|
+
rearWidthRatio: DEFAULT_REAR_WIDTH_RATIO,
|
|
9396
9555
|
smooth: false,
|
|
9397
9556
|
smoothResolution: 5
|
|
9398
9557
|
};
|
|
@@ -9464,12 +9623,14 @@ const SUPPORTING_ATTACK = defineControlMeasure({
|
|
|
9464
9623
|
metadata: SUPPORTING_ATTACK_METADATA,
|
|
9465
9624
|
generator: createSupportingAttack,
|
|
9466
9625
|
defaultOptions: DEFAULT_SUPPORTING_ATTACK_OPTIONS,
|
|
9467
|
-
rule: axis1DrawRule
|
|
9626
|
+
rule: axis1DrawRule,
|
|
9627
|
+
optionHandles: variableWidthAttackOptionHandles
|
|
9468
9628
|
});
|
|
9469
9629
|
//#endregion
|
|
9470
9630
|
//#region src/generators/cm34-mission-tasks/counterattack.ts
|
|
9471
9631
|
const DEFAULT_COUNTERATTACK_OPTIONS = {
|
|
9472
|
-
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO,
|
|
9632
|
+
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO$1,
|
|
9633
|
+
rearWidthRatio: DEFAULT_REAR_WIDTH_RATIO,
|
|
9473
9634
|
smooth: false,
|
|
9474
9635
|
smoothResolution: 5,
|
|
9475
9636
|
labelPosition: 1
|
|
@@ -9554,6 +9715,7 @@ const COUNTERATTACK = defineControlMeasure({
|
|
|
9554
9715
|
generator: createCounterattack,
|
|
9555
9716
|
defaultOptions: DEFAULT_COUNTERATTACK_OPTIONS,
|
|
9556
9717
|
rule: axis1DrawRule,
|
|
9718
|
+
optionHandles: variableWidthAttackOptionHandles,
|
|
9557
9719
|
previewSample: {
|
|
9558
9720
|
controlPoints: [
|
|
9559
9721
|
[1, 0],
|
|
@@ -9714,6 +9876,7 @@ const COUNTERATTACK_BY_FIRE = defineControlMeasure({
|
|
|
9714
9876
|
generator: createCounterattackByFire,
|
|
9715
9877
|
defaultOptions: DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS,
|
|
9716
9878
|
rule: counterattackByFireDrawRule,
|
|
9879
|
+
optionHandles: createVariableWidthAttackOptionHandles(counterattackByFireBodyCoordinates),
|
|
9717
9880
|
previewSample: {
|
|
9718
9881
|
controlPoints: [
|
|
9719
9882
|
[1.35, 0],
|
|
@@ -13153,7 +13316,8 @@ const FORTIFIED_AREA = defineControlMeasure({
|
|
|
13153
13316
|
//#endregion
|
|
13154
13317
|
//#region src/generators/cm15-maneuver-areas/maneuver-arrow-task-shared.ts
|
|
13155
13318
|
const DEFAULT_MANEUVER_ARROW_TASK_OPTIONS = {
|
|
13156
|
-
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO,
|
|
13319
|
+
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO$1,
|
|
13320
|
+
rearWidthRatio: DEFAULT_REAR_WIDTH_RATIO,
|
|
13157
13321
|
smooth: false,
|
|
13158
13322
|
smoothResolution: 5,
|
|
13159
13323
|
crossbarLengthRatio: 1.1,
|
|
@@ -13162,10 +13326,14 @@ const DEFAULT_MANEUVER_ARROW_TASK_OPTIONS = {
|
|
|
13162
13326
|
labelPadding: 0
|
|
13163
13327
|
};
|
|
13164
13328
|
function createManeuverArrowTask(coordinates, options, textAmplifiers, config) {
|
|
13165
|
-
const
|
|
13329
|
+
const merged = {
|
|
13166
13330
|
...DEFAULT_MANEUVER_ARROW_TASK_OPTIONS,
|
|
13167
13331
|
...options
|
|
13168
13332
|
};
|
|
13333
|
+
const resolved = {
|
|
13334
|
+
...merged,
|
|
13335
|
+
rearWidthRatio: resolveRearWidthRatio(options, merged.shaftWidthRatio)
|
|
13336
|
+
};
|
|
13169
13337
|
const { geometry } = processAttackGeometry(coordinates, resolved);
|
|
13170
13338
|
if (!geometry) return {
|
|
13171
13339
|
type: "FeatureCollection",
|
|
@@ -13186,17 +13354,22 @@ function createManeuverArrowTask(coordinates, options, textAmplifiers, config) {
|
|
|
13186
13354
|
};
|
|
13187
13355
|
const tipVector = vecSub(geometry.ptTip, geometry.ptBase);
|
|
13188
13356
|
const tipDirection = vecNorm(tipVector);
|
|
13189
|
-
const
|
|
13357
|
+
const headWidth = vecMag(vecSub(geometry.headRing[0], geometry.headRing[2]));
|
|
13190
13358
|
let crossbarCenter;
|
|
13191
13359
|
let crossbarAlong;
|
|
13360
|
+
let crossbarBaseWidth = headWidth;
|
|
13192
13361
|
if (config.crossbarAt === "tip") {
|
|
13193
13362
|
crossbarCenter = geometry.ptTip;
|
|
13194
13363
|
crossbarAlong = tipDirection;
|
|
13195
13364
|
} else {
|
|
13196
|
-
const
|
|
13365
|
+
const shaftPosition = Number.isFinite(config.crossbarAt.shaftPosition) ? clamp01(config.crossbarAt.shaftPosition) : 0;
|
|
13366
|
+
const crossbarFrame = pointAlongPolyline(segments, totalLength, shaftPosition);
|
|
13197
13367
|
crossbarCenter = crossbarFrame.point;
|
|
13198
13368
|
crossbarAlong = crossbarFrame.along;
|
|
13369
|
+
const rearWidth = vecMag(vecSub(geometry.shaftLeft[0], geometry.shaftRight[0]));
|
|
13370
|
+
crossbarBaseWidth = rearWidth + (vecMag(vecSub(geometry.shaftLeft.at(-1), geometry.shaftRight.at(-1))) - rearWidth) * shaftPosition;
|
|
13199
13371
|
}
|
|
13372
|
+
const crossbarLength = crossbarBaseWidth * Math.max(1, resolved.crossbarLengthRatio);
|
|
13200
13373
|
const crossbarPerp = [-crossbarAlong[1], crossbarAlong[0]];
|
|
13201
13374
|
const crossbar = [vecAdd(crossbarCenter, vecScale(crossbarPerp, crossbarLength / 2)), vecSub(crossbarCenter, vecScale(crossbarPerp, crossbarLength / 2))];
|
|
13202
13375
|
const features = [{
|
|
@@ -13336,6 +13509,7 @@ const FRONTAL_ATTACK = defineControlMeasure({
|
|
|
13336
13509
|
generator: createFrontalAttack,
|
|
13337
13510
|
defaultOptions: DEFAULT_FRONTAL_ATTACK_OPTIONS,
|
|
13338
13511
|
rule: axis1DrawRule,
|
|
13512
|
+
optionHandles: variableWidthAttackOptionHandles,
|
|
13339
13513
|
previewSample: {
|
|
13340
13514
|
controlPoints: [
|
|
13341
13515
|
[1, 0],
|
|
@@ -14373,7 +14547,8 @@ const NO_FIRE_AREA_IRREGULAR = defineControlMeasure({
|
|
|
14373
14547
|
//#endregion
|
|
14374
14548
|
//#region src/generators/cm15-maneuver-areas/mainAttack.ts
|
|
14375
14549
|
const DEFAULT_MAIN_ATTACK_OPTIONS = {
|
|
14376
|
-
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO,
|
|
14550
|
+
shaftWidthRatio: DEFAULT_SHAFT_WIDTH_RATIO$1,
|
|
14551
|
+
rearWidthRatio: DEFAULT_REAR_WIDTH_RATIO,
|
|
14377
14552
|
smooth: false,
|
|
14378
14553
|
smoothResolution: 5
|
|
14379
14554
|
};
|
|
@@ -14401,7 +14576,7 @@ const MAIN_ATTACK_METADATA = {
|
|
|
14401
14576
|
*
|
|
14402
14577
|
* The symbol consists of a single MultiLineString feature containing:
|
|
14403
14578
|
* 1. **Arrowhead**: A line forming a "chevron" or "roof" shape.
|
|
14404
|
-
* 2. **Shaft**: Two
|
|
14579
|
+
* 2. **Shaft**: Two boundary lines behind the arrow, optionally flared toward the rear.
|
|
14405
14580
|
*
|
|
14406
14581
|
* The shaft is calculated to terminate exactly where it touches the inner walls
|
|
14407
14582
|
* of the arrowhead, creating a seamless connection.
|
|
@@ -14440,7 +14615,8 @@ const MAIN_ATTACK = defineControlMeasure({
|
|
|
14440
14615
|
metadata: MAIN_ATTACK_METADATA,
|
|
14441
14616
|
generator: createMainAttack,
|
|
14442
14617
|
defaultOptions: DEFAULT_MAIN_ATTACK_OPTIONS,
|
|
14443
|
-
rule: axis1DrawRule
|
|
14618
|
+
rule: axis1DrawRule,
|
|
14619
|
+
optionHandles: variableWidthAttackOptionHandles
|
|
14444
14620
|
});
|
|
14445
14621
|
//#endregion
|
|
14446
14622
|
//#region src/generators/cm27-protection-areas/mine-types.ts
|
|
@@ -16659,6 +16835,7 @@ const DEFINITIONS = {
|
|
|
16659
16835
|
generator: createTurningMovement,
|
|
16660
16836
|
defaultOptions: DEFAULT_TURNING_MOVEMENT_OPTIONS,
|
|
16661
16837
|
rule: axis1DrawRule,
|
|
16838
|
+
optionHandles: variableWidthAttackOptionHandles,
|
|
16662
16839
|
previewSample: {
|
|
16663
16840
|
controlPoints: [
|
|
16664
16841
|
[1, 0],
|
package/package.json
CHANGED