@orbat-mapper/control-measures 0.2.0-alpha.13 → 0.2.0-alpha.15
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-h8S1sTjc.d.mts → index-BCn2uBC0.d.mts} +24 -19
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +3 -3
- package/dist/preview/index.d.mts +1 -1
- package/dist/preview/index.mjs +1 -1
- package/dist/{renderControlMeasure-CoBRpbJT.mjs → renderControlMeasure-VOKiZO2O.mjs} +35 -20
- package/package.json +1 -1
|
@@ -153,10 +153,29 @@ type TextAmplifiers = Partial<Record<TextAmplifierKey | FriendlyKey, string>>;
|
|
|
153
153
|
*/
|
|
154
154
|
type GeneratedLabelKey = `label:${string}`;
|
|
155
155
|
/**
|
|
156
|
-
*
|
|
157
|
-
*
|
|
156
|
+
* Object form of a per-label override. `rotation` is in stored radians — the
|
|
157
|
+
* same convention as `FeaturePartProps.rotation` (adapters render the
|
|
158
|
+
* on-screen angle as `π − rotation`).
|
|
158
159
|
*/
|
|
159
|
-
|
|
160
|
+
interface LabelPlacementOverride {
|
|
161
|
+
position?: Position;
|
|
162
|
+
rotation?: number;
|
|
163
|
+
}
|
|
164
|
+
/** A per-label override: a bare anchor (legacy shorthand) or the object form. */
|
|
165
|
+
type AmplifierPlacement = Position | LabelPlacementOverride;
|
|
166
|
+
/**
|
|
167
|
+
* User-adjusted anchor positions (and, optionally, rotations) for doctrinal
|
|
168
|
+
* and generated text labels, keyed by a canonical `TextAmplifierKey` or a
|
|
169
|
+
* synthesized `GeneratedLabelKey`.
|
|
170
|
+
*/
|
|
171
|
+
type AmplifierPlacements = Record<string, AmplifierPlacement | undefined>;
|
|
172
|
+
/**
|
|
173
|
+
* Resolves a raw placement entry to its object form: a bare `Position` is
|
|
174
|
+
* legacy shorthand for `{ position }`; an object form passes through only the
|
|
175
|
+
* fields that are actually valid (`position` must be a finite `[lon, lat]`,
|
|
176
|
+
* `rotation` a finite number); `undefined` resolves to `{}`.
|
|
177
|
+
*/
|
|
178
|
+
declare function resolveAmplifierPlacement(value: AmplifierPlacement | undefined): LabelPlacementOverride;
|
|
160
179
|
/** Amplifier values resolved to canonical doctrinal keys, as generators receive them. */
|
|
161
180
|
type CanonicalTextAmplifiers = Readonly<Partial<Record<TextAmplifierKey, string>>>;
|
|
162
181
|
/**
|
|
@@ -2314,7 +2333,7 @@ declare function isKind<K extends ControlMeasureKind>(cm: ControlMeasure, kind:
|
|
|
2314
2333
|
/**
|
|
2315
2334
|
* Deep-clone a `ControlMeasure` so held references survive mutations to the
|
|
2316
2335
|
* original (and vice versa). Used by the session façade to build the
|
|
2317
|
-
* `
|
|
2336
|
+
* `graphic` half of TacticalDraw's `GraphicSnapshot`. Nested values inside
|
|
2318
2337
|
* `options`, `style`, `properties`, and `textAmplifiers` are cloned too —
|
|
2319
2338
|
* `properties` is `Record<string, unknown>` and may carry arbitrary host
|
|
2320
2339
|
* metadata, so a shallow copy would leak shared references.
|
|
@@ -2388,20 +2407,6 @@ interface FeaturePartProps {
|
|
|
2388
2407
|
* features satisfy the `FeaturePartProps` stable-id contract. See ADR-0010.
|
|
2389
2408
|
*/
|
|
2390
2409
|
type ControlMeasureRender = FeatureCollection<Geometry, FeaturePartProps>;
|
|
2391
|
-
/**
|
|
2392
|
-
* A `ControlMeasure` paired with its `Render` at a single point in time.
|
|
2393
|
-
*
|
|
2394
|
-
* The unit delivered to `EditChangeEvent` listeners (as `measure` and
|
|
2395
|
-
* `previous`) and resolved from `TacticalDraw.draw()` / `.edit()`. The
|
|
2396
|
-
* `measure` half is a defensive clone (see `cloneControlMeasure`) so held
|
|
2397
|
-
* references remain valid after the originating session has closed.
|
|
2398
|
-
*
|
|
2399
|
-
* See ADR-0010.
|
|
2400
|
-
*/
|
|
2401
|
-
interface ControlMeasureSnapshot<K extends ControlMeasureKind = ControlMeasureKind> {
|
|
2402
|
-
measure: ControlMeasure<K>;
|
|
2403
|
-
render: ControlMeasureRender;
|
|
2404
|
-
}
|
|
2405
2410
|
/**
|
|
2406
2411
|
* Recover the originating control measure id (`cmId`) from a feature emitted
|
|
2407
2412
|
* by `renderControlMeasure`. The feature id must match the stable-id contract
|
|
@@ -2695,4 +2700,4 @@ interface AmbushOptions {
|
|
|
2695
2700
|
}
|
|
2696
2701
|
declare const DEFAULT_AMBUSH_OPTIONS: Required<AmbushOptions>;
|
|
2697
2702
|
//#endregion
|
|
2698
|
-
export {
|
|
2703
|
+
export { getDefaultOptions as $, DEFAULT_STRONG_POINT_OPTIONS as $n, DEFAULT_FLOT_OPTIONS as $t, roundToFixed as A, DEFAULT_AREA_OF_OPERATIONS_OPTIONS as An, normalizeTextAmplifiers as Ar, GuardOptions as At, StyleHints as B, DEFAULT_AREA_DEFENSE_OPTIONS as Bn, DEFAULT_CANALIZE_OPTIONS as Bt, BaselineFrame as C, DEFAULT_SUPPORTING_ATTACK_OPTIONS as Cn, GeneratedLabelKey as Cr, AntitankWallOptions as Ct, createBaselineFrame as D, calculateMetrics as Dn, TextAmplifierKey as Dr, DEFAULT_SCREEN_OPTIONS as Dt, BaselineFrameOrigin as E, MainAttackOptions as En, TextAmplifierField as Er, DEFAULT_ANTITANK_DITCH_OPTIONS as Et, freezeOrientationOptions as F, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS as Fn, DEFAULT_TACTICAL_ARROW_OPTIONS as Ft, ControlMeasureStyle as G, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as Gn, BlockMissionTaskOptions as Gt, ControlMeasure as H, EncirclementOptions as Hn, DEFAULT_BYPASS_OPTIONS as Ht, RenderOptions as I, JointTacticalActionAreaOptions as In, TacticalArrowOptions as It, ControlMeasureId as J, DirectionOfSupportingAttackOptions as Jn, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS as Jt, CONTROL_MEASURE_IDS as K, PrincipalDirectionOfFireOptions as Kn, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as Kt, renderControlMeasure as L, AssemblyAreaOptions as Ln, ClearOptions as Lt, SimpleStyleRender as M, PickupZoneOptions as Mn, AnchorTransformEvent as Mr, DelayOptions as Mt, toSimpleStyle as N, DEFAULT_LANDING_ZONE_OPTIONS as Nn, ControlMeasureDrawRule as Nr, CoverOptions as Nt, EPSILON as O, computeInitialWidthPoint as On, TextAmplifiers as Or, ScreenOptions as Ot, resolveStyleHints as P, LandingZoneOptions as Pn, DEFAULT_COVER_OPTIONS as Pt, getControlMeasureMetadataByValue as Q, DirectionOfAttackAviationOptions as Qn, PhaseLineOptions as Qt, ControlMeasureRender as R, DEFAULT_ASSEMBLY_AREA_OPTIONS as Rn, DEFAULT_CLEAR_OPTIONS as Rt, snapToMidpointPerpendicular as S, DEFAULT_CLASSIC_ARROW_OPTIONS as Sn, CanonicalTextAmplifiers as Sr, FortifiedLineOptions as St, BaselineFrameOptions as T, DEFAULT_MAIN_ATTACK_OPTIONS as Tn, TEXT_AMPLIFIER_FIELDS as Tr, AntitankDitchOptions as Tt, cloneControlMeasure as U, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as Un, BreachOptions as Ut, controlMeasureIdFromFeature as V, DEFAULT_ENCIRCLEMENT_OPTIONS as Vn, BypassOptions as Vt, isKind as W, FinalProtectiveFireOptions as Wn, DEFAULT_BREACH_OPTIONS as Wt, OptionsByKind as X, DirectionOfMainAttackOptions as Xn, HandoverLineOptions as Xt, ControlMeasureKind as Y, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS as Yn, DEFAULT_HANDOVER_LINE_OPTIONS as Yt, getControlMeasureMetadata as Z, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS as Zn, DEFAULT_PHASE_LINE_OPTIONS as Zt, MidpointPerpendicularDrawRuleOptions as _, BlockArrowHeadStyle as _n, ControlMeasureMetadata as _r, DEFAULT_FRONTAL_ATTACK_OPTIONS as _t, supportByFireDrawRule as a, AttackHelicopterOptions as an, DEFAULT_ENGINEER_WORK_LINE_OPTIONS as ar, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as at, getMidpointPerpendicularSignedDistance as b, ClassicArrowHeadStyle as bn, AmplifierPlacement as br, FortifiedAreaOptions as bt, line23DrawRule as c, DEFAULT_AIRBORNE_ATTACK_OPTIONS as cn, LightLineOptions as cr, TurnOptions as ct, ambushDrawRule as d, DEFAULT_GENERIC_RECTANGLE_OPTIONS as dn, project as dr, DEFAULT_DISRUPT_OPTIONS as dt, FLOTOptions as en, StrongPointOptions as er, listControlMeasureMetadata as et, attackByFireDrawRule as f, GenericRectangleOptions as fn, unproject as fr, DisruptOptions as ft, blockDrawRule as g, GenericLineOptions as gn, ControlMeasureGeometryType as gr, TurningMovementOptions as gt, disruptDrawRule as h, DEFAULT_GENERIC_LINE_OPTIONS as hn, ControlMeasureGeometry as hr, DEFAULT_TURNING_MOVEMENT_OPTIONS as ht, axis1DrawRule as i, SupportByFireOptions as in, GenericC2LineOptions as ir, ObstacleBypassDifficultOptions as it, SimpleStyleProps as j, DEFAULT_PICKUP_ZONE_OPTIONS as jn, resolveAmplifierPlacement as jr, DEFAULT_DELAY_OPTIONS as jt, getMetersPerPixel as k, AreaOfOperationsOptions as kn, canonicalTextAmplifierKey as kr, DEFAULT_GUARD_OPTIONS as kt, turnDrawRule as l, DEFAULT_GENERIC_CIRCLE_OPTIONS as ln, LabelSizeOptions as lr, DEFAULT_FIX_OPTIONS as lt, centerRadiusDrawRule as m, GenericPolygonOptions as mn, DEFAULT_BOUNDARY_OPTIONS as mr, DEFAULT_BLOCK_OPTIONS as mt, DEFAULT_AMBUSH_OPTIONS as n, DEFAULT_ATTACK_BY_FIRE_OPTIONS as nn, DEFAULT_BATTLE_POSITION_OPTIONS as nr, ObstacleBypassImpossibleOptions as nt, line26DrawRule as o, DEFAULT_ATTACK_HELICOPTER_OPTIONS as on, EngineerWorkLineOptions as or, ObstacleBypassEasyOptions as ot, point12DrawRule as p, DEFAULT_GENERIC_POLYGON_OPTIONS as pn, BoundaryOptions as pr, BlockOptions as pt, CONTROL_MEASURE_METADATA as q, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS as qn, BattleHandoverLineOptions as qt, rectangleDrawRule as r, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as rn, DEFAULT_GENERIC_C2_LINE_OPTIONS as rr, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as rt, line24DrawRule as s, AirborneAttackOptions as sn, DEFAULT_LIGHT_LINE_OPTIONS as sr, DEFAULT_TURN_OPTIONS as st, AmbushOptions as t, AttackByFireOptions as tn, BattlePositionOptions as tr, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as tt, line1DrawRule as u, GenericCircleOptions as un, Point2D as ur, FixOptions as ut, computeDefaultMidpointPerpendicularPoint as v, BlockArrowOptions as vn, ParamDescriptor as vr, FrontalAttackOptions as vt, BaselineFrameNormal as w, SupportingAttackOptions as wn, LabelPlacementOverride as wr, DEFAULT_ANTITANK_WALL_OPTIONS as wt, pointOnMidpointPerpendicularAxis as x, ClassicArrowOptions as xn, AmplifierPlacements as xr, DEFAULT_FORTIFIED_LINE_OPTIONS as xt, createMidpointPerpendicularDrawRule as y, DEFAULT_BLOCK_ARROW_OPTIONS as yn, TextAmplifierDescriptor as yr, DEFAULT_FORTIFIED_AREA_OPTIONS as yt, FeaturePartProps as z, AreaDefenseOptions as zn, CanalizeOptions as zt };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { type AirborneAttackOptions, type AmbushOptions, 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 BreachOptions, type BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type CanonicalTextAmplifiers, type ClassicArrowHeadStyle, type ClassicArrowOptions, type ClearOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasureRender, type
|
|
1
|
+
import { $ as getDefaultOptions, $n as DEFAULT_STRONG_POINT_OPTIONS, $t as DEFAULT_FLOT_OPTIONS, A as roundToFixed, An as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, Ar as normalizeTextAmplifiers, At as GuardOptions, B as StyleHints, Bn as DEFAULT_AREA_DEFENSE_OPTIONS, Bt as DEFAULT_CANALIZE_OPTIONS, C as BaselineFrame, Cn as DEFAULT_SUPPORTING_ATTACK_OPTIONS, Cr as GeneratedLabelKey, Ct as AntitankWallOptions, D as createBaselineFrame, Dn as calculateMetrics, Dr as TextAmplifierKey, Dt as DEFAULT_SCREEN_OPTIONS, E as BaselineFrameOrigin, En as MainAttackOptions, Er as TextAmplifierField, Et as DEFAULT_ANTITANK_DITCH_OPTIONS, F as freezeOrientationOptions, Fn as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Ft as DEFAULT_TACTICAL_ARROW_OPTIONS, G as ControlMeasureStyle, Gn as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, Gt as BlockMissionTaskOptions, H as ControlMeasure, Hn as EncirclementOptions, Ht as DEFAULT_BYPASS_OPTIONS, I as RenderOptions, In as JointTacticalActionAreaOptions, It as TacticalArrowOptions, J as ControlMeasureId, Jn as DirectionOfSupportingAttackOptions, Jt as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, K as CONTROL_MEASURE_IDS, Kn as PrincipalDirectionOfFireOptions, Kt as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, L as renderControlMeasure, Ln as AssemblyAreaOptions, Lt as ClearOptions, M as SimpleStyleRender, Mn as PickupZoneOptions, Mr as AnchorTransformEvent, Mt as DelayOptions, N as toSimpleStyle, Nn as DEFAULT_LANDING_ZONE_OPTIONS, Nr as ControlMeasureDrawRule, Nt as CoverOptions, O as EPSILON, On as computeInitialWidthPoint, Or as TextAmplifiers, Ot as ScreenOptions, P as resolveStyleHints, Pn as LandingZoneOptions, Pt as DEFAULT_COVER_OPTIONS, Q as getControlMeasureMetadataByValue, Qn as DirectionOfAttackAviationOptions, Qt as PhaseLineOptions, R as ControlMeasureRender, Rn as DEFAULT_ASSEMBLY_AREA_OPTIONS, Rt as DEFAULT_CLEAR_OPTIONS, S as snapToMidpointPerpendicular, Sn as DEFAULT_CLASSIC_ARROW_OPTIONS, Sr as CanonicalTextAmplifiers, St as FortifiedLineOptions, T as BaselineFrameOptions, Tn as DEFAULT_MAIN_ATTACK_OPTIONS, Tr as TEXT_AMPLIFIER_FIELDS, Tt as AntitankDitchOptions, U as cloneControlMeasure, Un as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Ut as BreachOptions, V as controlMeasureIdFromFeature, Vn as DEFAULT_ENCIRCLEMENT_OPTIONS, Vt as BypassOptions, W as isKind, Wn as FinalProtectiveFireOptions, Wt as DEFAULT_BREACH_OPTIONS, X as OptionsByKind, Xn as DirectionOfMainAttackOptions, Xt as HandoverLineOptions, Y as ControlMeasureKind, Yn as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, Yt as DEFAULT_HANDOVER_LINE_OPTIONS, Z as getControlMeasureMetadata, Zn as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, Zt as DEFAULT_PHASE_LINE_OPTIONS, _ as MidpointPerpendicularDrawRuleOptions, _n as BlockArrowHeadStyle, _r as ControlMeasureMetadata, _t as DEFAULT_FRONTAL_ATTACK_OPTIONS, a as supportByFireDrawRule, an as AttackHelicopterOptions, ar as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, at as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, b as getMidpointPerpendicularSignedDistance, bn as ClassicArrowHeadStyle, br as AmplifierPlacement, bt as FortifiedAreaOptions, c as line23DrawRule, cn as DEFAULT_AIRBORNE_ATTACK_OPTIONS, cr as LightLineOptions, ct as TurnOptions, d as ambushDrawRule, dn as DEFAULT_GENERIC_RECTANGLE_OPTIONS, dr as project, dt as DEFAULT_DISRUPT_OPTIONS, en as FLOTOptions, er as StrongPointOptions, et as listControlMeasureMetadata, f as attackByFireDrawRule, fn as GenericRectangleOptions, fr as unproject, ft as DisruptOptions, g as blockDrawRule, gn as GenericLineOptions, gr as ControlMeasureGeometryType, gt as TurningMovementOptions, h as disruptDrawRule, hn as DEFAULT_GENERIC_LINE_OPTIONS, hr as ControlMeasureGeometry, ht as DEFAULT_TURNING_MOVEMENT_OPTIONS, i as axis1DrawRule, in as SupportByFireOptions, ir as GenericC2LineOptions, it as ObstacleBypassDifficultOptions, j as SimpleStyleProps, jn as DEFAULT_PICKUP_ZONE_OPTIONS, jr as resolveAmplifierPlacement, jt as DEFAULT_DELAY_OPTIONS, k as getMetersPerPixel, kn as AreaOfOperationsOptions, kr as canonicalTextAmplifierKey, kt as DEFAULT_GUARD_OPTIONS, l as turnDrawRule, ln as DEFAULT_GENERIC_CIRCLE_OPTIONS, lr as LabelSizeOptions, lt as DEFAULT_FIX_OPTIONS, m as centerRadiusDrawRule, mn as GenericPolygonOptions, mr as DEFAULT_BOUNDARY_OPTIONS, mt as DEFAULT_BLOCK_OPTIONS, n as DEFAULT_AMBUSH_OPTIONS, nn as DEFAULT_ATTACK_BY_FIRE_OPTIONS, nr as DEFAULT_BATTLE_POSITION_OPTIONS, nt as ObstacleBypassImpossibleOptions, o as line26DrawRule, on as DEFAULT_ATTACK_HELICOPTER_OPTIONS, or as EngineerWorkLineOptions, ot as ObstacleBypassEasyOptions, p as point12DrawRule, pn as DEFAULT_GENERIC_POLYGON_OPTIONS, pr as BoundaryOptions, pt as BlockOptions, q as CONTROL_MEASURE_METADATA, qn as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, qt as BattleHandoverLineOptions, r as rectangleDrawRule, rn as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, rr as DEFAULT_GENERIC_C2_LINE_OPTIONS, rt as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, s as line24DrawRule, sn as AirborneAttackOptions, sr as DEFAULT_LIGHT_LINE_OPTIONS, st as DEFAULT_TURN_OPTIONS, t as AmbushOptions, tn as AttackByFireOptions, tr as BattlePositionOptions, tt as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, u as line1DrawRule, un as GenericCircleOptions, ur as Point2D, ut as FixOptions, v as computeDefaultMidpointPerpendicularPoint, vn as BlockArrowOptions, vr as ParamDescriptor, vt as FrontalAttackOptions, w as BaselineFrameNormal, wn as SupportingAttackOptions, wr as LabelPlacementOverride, wt as DEFAULT_ANTITANK_WALL_OPTIONS, x as pointOnMidpointPerpendicularAxis, xn as ClassicArrowOptions, xr as AmplifierPlacements, xt as DEFAULT_FORTIFIED_LINE_OPTIONS, y as createMidpointPerpendicularDrawRule, yn as DEFAULT_BLOCK_ARROW_OPTIONS, yr as TextAmplifierDescriptor, yt as DEFAULT_FORTIFIED_AREA_OPTIONS, z as FeaturePartProps, zn as AreaDefenseOptions, zt as CanalizeOptions } from "./index-BCn2uBC0.mjs";
|
|
2
|
+
export { type AirborneAttackOptions, type AmbushOptions, type AmplifierPlacement, type AmplifierPlacements, type AnchorTransformEvent, type AntitankDitchOptions, type AntitankWallOptions, type AreaDefenseOptions, type AreaOfOperationsOptions, type AssemblyAreaOptions, type AttackByFireOptions, type AttackHelicopterOptions, type BaselineFrame, type BaselineFrameNormal, type BaselineFrameOptions, type BaselineFrameOrigin, type BattleHandoverLineOptions, type BattlePositionOptions, type BlockArrowHeadStyle, type BlockArrowOptions, type BlockMissionTaskOptions, type BlockOptions, type BoundaryOptions, type BreachOptions, type BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type CanonicalTextAmplifiers, type ClassicArrowHeadStyle, type ClassicArrowOptions, type ClearOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasureRender, type ControlMeasureStyle, type CoverOptions, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_AREA_DEFENSE_OPTIONS, DEFAULT_AREA_OF_OPERATIONS_OPTIONS, DEFAULT_ASSEMBLY_AREA_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, DEFAULT_BATTLE_POSITION_OPTIONS, DEFAULT_BLOCK_ARROW_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BOUNDARY_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_COVER_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, type DelayOptions, type DirectionOfAttackAviationOptions, type DirectionOfMainAttackOptions, type DirectionOfSupportingAttackOptions, type DisruptOptions, EPSILON, type EncirclementOptions, type EngineerWorkLineOptions, type FLOTOptions, type FeaturePartProps, type FinalProtectiveFireOptions, type FixOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type FrontalAttackOptions, type GeneratedLabelKey, type GenericC2LineOptions, type GenericCircleOptions, type GenericLineOptions, type GenericPolygonOptions, type GenericRectangleOptions, type GuardOptions, type HandoverLineOptions, type JointTacticalActionAreaOptions, type LabelPlacementOverride, type LabelSizeOptions, type LandingZoneOptions, type LightLineOptions, type MainAttackOptions, type MidpointPerpendicularDrawRuleOptions, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OptionsByKind, type ParamDescriptor, type PhaseLineOptions, type PickupZoneOptions, type Point2D, type PrincipalDirectionOfFireOptions, type RenderOptions, type ScreenOptions, type SimpleStyleProps, type SimpleStyleRender, type StrongPointOptions, type StyleHints, type SupportByFireOptions, type SupportingAttackOptions, TEXT_AMPLIFIER_FIELDS, type TacticalArrowOptions, type TextAmplifierDescriptor, type TextAmplifierField, type TextAmplifierKey, type TextAmplifiers, type TurnOptions, type TurningMovementOptions, ambushDrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as DEFAULT_GENERIC_C2_LINE_OPTIONS, A as DEFAULT_FORTIFIED_LINE_OPTIONS, At as disruptDrawRule, B as DEFAULT_DELAY_OPTIONS, Bt as project, C as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, Ct as line23DrawRule, D as DEFAULT_SCREEN_OPTIONS, Dt as attackByFireDrawRule, E as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Et as ambushDrawRule, F as DEFAULT_FIX_OPTIONS, Ft as pointOnMidpointPerpendicularAxis, G as DEFAULT_GENERIC_POLYGON_OPTIONS, H as DEFAULT_TACTICAL_ARROW_OPTIONS, Ht as EPSILON, I as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, It as snapToMidpointPerpendicular, J as DEFAULT_CLASSIC_ARROW_OPTIONS, K as DEFAULT_GENERIC_LINE_OPTIONS, L as DEFAULT_ENCIRCLEMENT_OPTIONS, Lt as createBaselineFrame, M as DEFAULT_HANDOVER_LINE_OPTIONS, Mt as computeDefaultMidpointPerpendicularPoint, N as DEFAULT_PHASE_LINE_OPTIONS, Nt as createMidpointPerpendicularDrawRule, O as DEFAULT_FRONTAL_ATTACK_OPTIONS, Ot as point12DrawRule, P as DEFAULT_FLOT_OPTIONS, Pt as getMidpointPerpendicularSignedDistance, Q as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, R as DEFAULT_DISRUPT_OPTIONS, Rt as calculateMetrics, S as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, St as line24DrawRule, T as DEFAULT_LANDING_ZONE_OPTIONS, Tt as line1DrawRule, U as DEFAULT_CLEAR_OPTIONS, Ut as getMetersPerPixel, V as DEFAULT_COVER_OPTIONS, Vt as unproject, W as DEFAULT_GENERIC_RECTANGLE_OPTIONS, Wt as roundToFixed, X as DEFAULT_BYPASS_OPTIONS, Y as DEFAULT_CANALIZE_OPTIONS, Z as DEFAULT_BREACH_OPTIONS, _ as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, _t as DEFAULT_AIRBORNE_ATTACK_OPTIONS, a as resolveAmplifierPlacement, at as DEFAULT_BATTLE_POSITION_OPTIONS, b as DEFAULT_PICKUP_ZONE_OPTIONS, bt as supportByFireDrawRule, c as CONTROL_MEASURE_METADATA, ct as DEFAULT_ANTITANK_WALL_OPTIONS, d as getControlMeasureMetadataByValue, dt as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, et as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, f as getDefaultOptions, ft as DEFAULT_AREA_DEFENSE_OPTIONS, g as DEFAULT_SUPPORTING_ATTACK_OPTIONS, gt as DEFAULT_AMBUSH_OPTIONS, h as DEFAULT_TURN_OPTIONS, ht as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, i as normalizeTextAmplifiers, it as DEFAULT_BLOCK_OPTIONS, j as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, jt as blockDrawRule, k as DEFAULT_FORTIFIED_AREA_OPTIONS, kt as centerRadiusDrawRule, l as DEFINITIONS, lt as DEFAULT_ANTITANK_DITCH_OPTIONS, m as DEFAULT_TURNING_MOVEMENT_OPTIONS, mt as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, n as TEXT_AMPLIFIER_FIELDS, nt as DEFAULT_BOUNDARY_OPTIONS, o as resolveStyleHints, ot as DEFAULT_ATTACK_HELICOPTER_OPTIONS, p as listControlMeasureMetadata, pt as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, q as DEFAULT_GENERIC_CIRCLE_OPTIONS, r as canonicalTextAmplifierKey, rt as DEFAULT_BLOCK_ARROW_OPTIONS, s as CONTROL_MEASURE_IDS, st as DEFAULT_ATTACK_BY_FIRE_OPTIONS, t as renderControlMeasure, tt as DEFAULT_LIGHT_LINE_OPTIONS, u as getControlMeasureMetadata, ut as DEFAULT_ASSEMBLY_AREA_OPTIONS, v as DEFAULT_STRONG_POINT_OPTIONS, vt as rectangleDrawRule, w as DEFAULT_MAIN_ATTACK_OPTIONS, wt as turnDrawRule, x as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, xt as line26DrawRule, y as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, yt as axis1DrawRule, z as DEFAULT_GUARD_OPTIONS, zt as computeInitialWidthPoint } from "./renderControlMeasure-VOKiZO2O.mjs";
|
|
2
2
|
//#region src/freeze-orientation.ts
|
|
3
3
|
/**
|
|
4
4
|
* Dispatches to a measure kind's `freezeOrientation` hook (see
|
|
@@ -21,7 +21,7 @@ function isKind(cm, kind) {
|
|
|
21
21
|
/**
|
|
22
22
|
* Deep-clone a `ControlMeasure` so held references survive mutations to the
|
|
23
23
|
* original (and vice versa). Used by the session façade to build the
|
|
24
|
-
* `
|
|
24
|
+
* `graphic` half of TacticalDraw's `GraphicSnapshot`. Nested values inside
|
|
25
25
|
* `options`, `style`, `properties`, and `textAmplifiers` are cloned too —
|
|
26
26
|
* `properties` is `Record<string, unknown>` and may carry arbitrary host
|
|
27
27
|
* metadata, so a shallow copy would leak shared references.
|
|
@@ -114,4 +114,4 @@ function toHexChannel(value) {
|
|
|
114
114
|
return Math.max(0, Math.min(255, Math.round(value))).toString(16).padStart(2, "0");
|
|
115
115
|
}
|
|
116
116
|
//#endregion
|
|
117
|
-
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_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_COVER_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, EPSILON, TEXT_AMPLIFIER_FIELDS, ambushDrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
|
|
117
|
+
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_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_COVER_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, EPSILON, TEXT_AMPLIFIER_FIELDS, ambushDrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getDefaultOptions, getMetersPerPixel, getMidpointPerpendicularSignedDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, point12DrawRule, pointOnMidpointPerpendicularAxis, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveStyleHints, roundToFixed, snapToMidpointPerpendicular, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
|
package/dist/preview/index.d.mts
CHANGED
package/dist/preview/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { l as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-VOKiZO2O.mjs";
|
|
2
2
|
//#region src/preview/index.ts
|
|
3
3
|
/**
|
|
4
4
|
* Unitless `previewSample` points (~`[-1, 1]`) are scaled by this degree offset
|
|
@@ -4259,7 +4259,7 @@ const DEFAULT_ATTACK_BY_FIRE_OPTIONS = {
|
|
|
4259
4259
|
const ATTACK_BY_FIRE_METADATA = {
|
|
4260
4260
|
id: "attack-by-fire",
|
|
4261
4261
|
name: "Attack by Fire",
|
|
4262
|
-
description: "
|
|
4262
|
+
description: "Uses direct and indirect fires to engage an enemy from a distance without closing, normally to destroy, suppress, fix, or deceive it. Unlike support by fire, it does not support another maneuvering force.",
|
|
4263
4263
|
entity: "Maneuver Areas",
|
|
4264
4264
|
entityType: "Attack by Fire",
|
|
4265
4265
|
value: "152000",
|
|
@@ -4733,7 +4733,7 @@ const DEFAULT_STEM_RATIO$1 = 1.5;
|
|
|
4733
4733
|
const BLOCK_METADATA = {
|
|
4734
4734
|
id: "block",
|
|
4735
4735
|
name: "Block",
|
|
4736
|
-
description: "
|
|
4736
|
+
description: "Integrates fires and obstacles to stop an attacker along an avenue of approach or prevent it from passing through an engagement area. Establishes a limit of enemy advance.",
|
|
4737
4737
|
entity: "Protection Areas",
|
|
4738
4738
|
entityType: "Obstacle Effects",
|
|
4739
4739
|
entitySubtype: "Block",
|
|
@@ -5807,7 +5807,7 @@ const DEFAULT_BLOCK_MISSION_TASK_OPTIONS = { labelGapRatio: .2 };
|
|
|
5807
5807
|
const BLOCK_MISSION_TASK_METADATA = {
|
|
5808
5808
|
id: "block-mission-task",
|
|
5809
5809
|
name: "Block",
|
|
5810
|
-
description: "Denies the enemy access to an area or
|
|
5810
|
+
description: "Denies the enemy access to an area or avenue of approach, normally for a specified time or until a specified event occurs. The enemy may still move in other directions.",
|
|
5811
5811
|
entity: "Mission Tasks",
|
|
5812
5812
|
entityType: "Block",
|
|
5813
5813
|
value: "340100",
|
|
@@ -5899,7 +5899,7 @@ const DEFAULT_BREACH_OPTIONS = {
|
|
|
5899
5899
|
const BREACH_METADATA = {
|
|
5900
5900
|
id: "breach",
|
|
5901
5901
|
name: "Breach",
|
|
5902
|
-
description: "
|
|
5902
|
+
description: "Breaks through or establishes a passage through enemy defenses, obstacles, minefields, or fortifications using synchronized combined arms.",
|
|
5903
5903
|
entity: "Mission Tasks",
|
|
5904
5904
|
entityType: "Breach",
|
|
5905
5905
|
value: "340200",
|
|
@@ -5995,7 +5995,7 @@ const DEFAULT_BYPASS_OPTIONS = {
|
|
|
5995
5995
|
const BYPASS_METADATA = {
|
|
5996
5996
|
id: "bypass",
|
|
5997
5997
|
name: "Bypass",
|
|
5998
|
-
description: "
|
|
5998
|
+
description: "Deliberately avoids contact with an obstacle or enemy force to maintain momentum and avoid unnecessary combat.",
|
|
5999
5999
|
entity: "Mission Tasks",
|
|
6000
6000
|
entityType: "Bypass",
|
|
6001
6001
|
value: "340300",
|
|
@@ -6070,7 +6070,7 @@ const DEFAULT_CANALIZE_OPTIONS = {
|
|
|
6070
6070
|
const CANALIZE_METADATA = {
|
|
6071
6071
|
id: "canalize",
|
|
6072
6072
|
name: "Canalize",
|
|
6073
|
-
description: "Restricts enemy movement to a narrow zone
|
|
6073
|
+
description: "Restricts enemy movement to a narrow zone using terrain, obstacles, fires, or friendly maneuver, making the enemy vulnerable to piecemeal destruction.",
|
|
6074
6074
|
entity: "Mission Tasks",
|
|
6075
6075
|
entityType: "Canalize",
|
|
6076
6076
|
value: "340400",
|
|
@@ -6730,7 +6730,7 @@ const DEFAULT_CLEAR_OPTIONS = {
|
|
|
6730
6730
|
const CLEAR_METADATA = {
|
|
6731
6731
|
id: "clear",
|
|
6732
6732
|
name: "Clear",
|
|
6733
|
-
description: "
|
|
6733
|
+
description: "Eliminates enemy forces within an assigned area by destroying, capturing, or forcing their withdrawal so they cannot offer organized resistance.",
|
|
6734
6734
|
entity: "Mission Tasks",
|
|
6735
6735
|
entityType: "Clear",
|
|
6736
6736
|
value: "340500",
|
|
@@ -6939,7 +6939,7 @@ const DEFAULT_TACTICAL_ARROW_OPTIONS = {
|
|
|
6939
6939
|
const SEARCH_AREA_METADATA = {
|
|
6940
6940
|
id: "search-area",
|
|
6941
6941
|
name: "Search Area",
|
|
6942
|
-
description: "
|
|
6942
|
+
description: "Designates an area to examine systematically for specified persons, forces, materiel, or information.",
|
|
6943
6943
|
entity: "Maneuver Areas",
|
|
6944
6944
|
entityType: "Search Area",
|
|
6945
6945
|
value: "152200",
|
|
@@ -7460,7 +7460,7 @@ const DEFAULT_DISRUPT_OPTIONS = {
|
|
|
7460
7460
|
const DISRUPT_METADATA = {
|
|
7461
7461
|
id: "disrupt",
|
|
7462
7462
|
name: "Disrupt",
|
|
7463
|
-
description: "
|
|
7463
|
+
description: "Integrates fires and obstacles to break up an enemy's formation and tempo, interrupt its timetable, commit breaching assets prematurely, and force a piecemeal attack.",
|
|
7464
7464
|
entity: "Protection Areas",
|
|
7465
7465
|
entityType: "Obstacle Effects",
|
|
7466
7466
|
entitySubtype: "Disrupt",
|
|
@@ -8077,7 +8077,7 @@ const DEFAULT_FIX_OPTIONS = {
|
|
|
8077
8077
|
const FIX_METADATA = {
|
|
8078
8078
|
id: "fix",
|
|
8079
8079
|
name: "Fix",
|
|
8080
|
-
description: "
|
|
8080
|
+
description: "Slows an attacker within a specified area, giving friendly forces time to acquire, target, and destroy it throughout the area's depth.",
|
|
8081
8081
|
entity: "Protection Areas",
|
|
8082
8082
|
entityType: "Obstacle Effects",
|
|
8083
8083
|
entitySubtype: "Fix",
|
|
@@ -9047,7 +9047,7 @@ const DEFAULT_ISOLATE_OPTIONS = {
|
|
|
9047
9047
|
const ISOLATE_METADATA = {
|
|
9048
9048
|
id: "isolate",
|
|
9049
9049
|
name: "Isolate",
|
|
9050
|
-
description: "Seals
|
|
9050
|
+
description: "Seals an enemy off from support, denies freedom of movement, and prevents contact with other enemy forces while offensive action continues against it.",
|
|
9051
9051
|
entity: "Mission Tasks",
|
|
9052
9052
|
entityType: "Isolate",
|
|
9053
9053
|
value: "341500",
|
|
@@ -9320,7 +9320,7 @@ const DEFAULT_MAIN_ATTACK_OPTIONS = {
|
|
|
9320
9320
|
const MAIN_ATTACK_METADATA = {
|
|
9321
9321
|
id: "main-attack",
|
|
9322
9322
|
name: "Main Attack",
|
|
9323
|
-
description: "
|
|
9323
|
+
description: "Receives the preponderance of available combat power to accomplish the operation's primary purpose.",
|
|
9324
9324
|
entity: "Maneuver Areas",
|
|
9325
9325
|
entityType: "Axis of Advance",
|
|
9326
9326
|
entitySubtype: "Main Attack",
|
|
@@ -10304,7 +10304,7 @@ const DEFAULT_SUPPORT_BY_FIRE_OPTIONS = {
|
|
|
10304
10304
|
const SUPPORT_BY_FIRE_METADATA = {
|
|
10305
10305
|
id: "support-by-fire",
|
|
10306
10306
|
name: "Support By Fire",
|
|
10307
|
-
description: "
|
|
10307
|
+
description: "Engages the enemy by direct fire in support of another maneuvering force, normally to fix or suppress the enemy so it cannot effectively fire on that force.",
|
|
10308
10308
|
entity: "Maneuver Areas",
|
|
10309
10309
|
entityType: "Support by Fire",
|
|
10310
10310
|
value: "152100",
|
|
@@ -10450,7 +10450,7 @@ const DEFAULT_SUPPORTING_ATTACK_OPTIONS = {
|
|
|
10450
10450
|
const SUPPORTING_ATTACK_METADATA = {
|
|
10451
10451
|
id: "supporting-attack",
|
|
10452
10452
|
name: "Supporting Attack",
|
|
10453
|
-
description: "
|
|
10453
|
+
description: "Supports the main attack by fixing, deceiving, or preventing enemy forces from interfering with it.",
|
|
10454
10454
|
entity: "Maneuver Areas",
|
|
10455
10455
|
entityType: "Axis of Advance",
|
|
10456
10456
|
entitySubtype: "Supporting Attack",
|
|
@@ -10511,7 +10511,7 @@ const DEFAULT_TURN_OPTIONS = {
|
|
|
10511
10511
|
const TURN_METADATA = {
|
|
10512
10512
|
id: "turn",
|
|
10513
10513
|
name: "Turn",
|
|
10514
|
-
description: "
|
|
10514
|
+
description: "Diverts an enemy formation from one avenue of approach to another or into an engagement area. The arrow indicates the desired direction of turn.",
|
|
10515
10515
|
entity: "Protection Areas",
|
|
10516
10516
|
entityType: "Obstacle Effects",
|
|
10517
10517
|
entitySubtype: "Turn",
|
|
@@ -10918,6 +10918,20 @@ const CANONICAL_KEYS = new Set(Object.keys(TEXT_AMPLIFIER_FIELDS).flatMap((code)
|
|
|
10918
10918
|
`${code}1`,
|
|
10919
10919
|
`${code}2`
|
|
10920
10920
|
]));
|
|
10921
|
+
/**
|
|
10922
|
+
* Resolves a raw placement entry to its object form: a bare `Position` is
|
|
10923
|
+
* legacy shorthand for `{ position }`; an object form passes through only the
|
|
10924
|
+
* fields that are actually valid (`position` must be a finite `[lon, lat]`,
|
|
10925
|
+
* `rotation` a finite number); `undefined` resolves to `{}`.
|
|
10926
|
+
*/
|
|
10927
|
+
function resolveAmplifierPlacement(value) {
|
|
10928
|
+
if (value === void 0) return {};
|
|
10929
|
+
if (Array.isArray(value)) return isValidPosition(value) ? { position: value } : {};
|
|
10930
|
+
const result = {};
|
|
10931
|
+
if (value.position !== void 0 && isValidPosition(value.position)) result.position = value.position;
|
|
10932
|
+
if (typeof value.rotation === "number" && Number.isFinite(value.rotation)) result.rotation = value.rotation;
|
|
10933
|
+
return result;
|
|
10934
|
+
}
|
|
10921
10935
|
const EMPTY_TEXT_AMPLIFIERS = Object.freeze({});
|
|
10922
10936
|
/** Splits a key like `"country1"` into its base (`"country"`) and suffix (`"1"`). */
|
|
10923
10937
|
function splitSuffix(key) {
|
|
@@ -11051,11 +11065,12 @@ function normalizeFeature(id, feature, index, generatedLabelOrdinal, measureStyl
|
|
|
11051
11065
|
const textAnchor = sourceProps.textAnchor === "start" || sourceProps.textAnchor === "end" ? sourceProps.textAnchor : void 0;
|
|
11052
11066
|
const amplifierField = typeof sourceProps.amplifierField === "string" ? canonicalTextAmplifierKey(sourceProps.amplifierField) : void 0;
|
|
11053
11067
|
const labelPlacementKey = resolveLabelPlacementKey(sourceProps, amplifierField, text, feature.geometry.type, part, generatedLabelOrdinal);
|
|
11054
|
-
const
|
|
11055
|
-
const geometry =
|
|
11068
|
+
const resolvedPlacement = labelPlacementKey ? resolveAmplifierPlacement(amplifierPlacements?.[labelPlacementKey]) : void 0;
|
|
11069
|
+
const geometry = resolvedPlacement?.position && feature.geometry.type === "Point" ? {
|
|
11056
11070
|
...feature.geometry,
|
|
11057
|
-
coordinates: [...
|
|
11071
|
+
coordinates: [...resolvedPlacement.position]
|
|
11058
11072
|
} : feature.geometry;
|
|
11073
|
+
const resolvedRotation = resolvedPlacement?.rotation !== void 0 && labelPlacementKey && feature.geometry.type === "Point" ? resolvedPlacement.rotation : rotation;
|
|
11059
11074
|
return {
|
|
11060
11075
|
type: "Feature",
|
|
11061
11076
|
id: `${id}:${part}:${index}`,
|
|
@@ -11064,7 +11079,7 @@ function normalizeFeature(id, feature, index, generatedLabelOrdinal, measureStyl
|
|
|
11064
11079
|
index,
|
|
11065
11080
|
style,
|
|
11066
11081
|
...text !== void 0 ? { text } : {},
|
|
11067
|
-
...
|
|
11082
|
+
...resolvedRotation !== void 0 ? { rotation: resolvedRotation } : {},
|
|
11068
11083
|
...textAnchor !== void 0 ? { textAnchor } : {},
|
|
11069
11084
|
...amplifierField !== void 0 ? { amplifierField } : {},
|
|
11070
11085
|
...labelPlacementKey !== void 0 ? { labelPlacementKey } : {},
|
|
@@ -11120,4 +11135,4 @@ function assertNever(value) {
|
|
|
11120
11135
|
throw new Error(`Unhandled control measure kind: ${String(value)}`);
|
|
11121
11136
|
}
|
|
11122
11137
|
//#endregion
|
|
11123
|
-
export {
|
|
11138
|
+
export { DEFAULT_GENERIC_C2_LINE_OPTIONS as $, DEFAULT_FORTIFIED_LINE_OPTIONS as A, disruptDrawRule as At, DEFAULT_DELAY_OPTIONS as B, project as Bt, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS as C, line23DrawRule as Ct, DEFAULT_SCREEN_OPTIONS as D, attackByFireDrawRule as Dt, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS as E, ambushDrawRule as Et, DEFAULT_FIX_OPTIONS as F, pointOnMidpointPerpendicularAxis as Ft, DEFAULT_GENERIC_POLYGON_OPTIONS as G, DEFAULT_TACTICAL_ARROW_OPTIONS as H, EPSILON as Ht, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS as I, snapToMidpointPerpendicular as It, DEFAULT_CLASSIC_ARROW_OPTIONS as J, DEFAULT_GENERIC_LINE_OPTIONS as K, DEFAULT_ENCIRCLEMENT_OPTIONS as L, createBaselineFrame as Lt, DEFAULT_HANDOVER_LINE_OPTIONS as M, computeDefaultMidpointPerpendicularPoint as Mt, DEFAULT_PHASE_LINE_OPTIONS as N, createMidpointPerpendicularDrawRule as Nt, DEFAULT_FRONTAL_ATTACK_OPTIONS as O, point12DrawRule as Ot, DEFAULT_FLOT_OPTIONS as P, getMidpointPerpendicularSignedDistance as Pt, DEFAULT_BLOCK_MISSION_TASK_OPTIONS as Q, DEFAULT_DISRUPT_OPTIONS as R, calculateMetrics as Rt, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS as S, line24DrawRule as St, DEFAULT_LANDING_ZONE_OPTIONS as T, line1DrawRule as Tt, DEFAULT_CLEAR_OPTIONS as U, getMetersPerPixel as Ut, DEFAULT_COVER_OPTIONS as V, unproject as Vt, DEFAULT_GENERIC_RECTANGLE_OPTIONS as W, roundToFixed as Wt, DEFAULT_BYPASS_OPTIONS as X, DEFAULT_CANALIZE_OPTIONS as Y, DEFAULT_BREACH_OPTIONS as Z, DEFAULT_SUPPORT_BY_FIRE_OPTIONS as _, DEFAULT_AIRBORNE_ATTACK_OPTIONS as _t, resolveAmplifierPlacement as a, DEFAULT_BATTLE_POSITION_OPTIONS as at, DEFAULT_PICKUP_ZONE_OPTIONS as b, supportByFireDrawRule as bt, CONTROL_MEASURE_METADATA as c, DEFAULT_ANTITANK_WALL_OPTIONS as ct, getControlMeasureMetadataByValue as d, DEFAULT_AREA_OF_OPERATIONS_OPTIONS as dt, DEFAULT_ENGINEER_WORK_LINE_OPTIONS as et, getDefaultOptions as f, DEFAULT_AREA_DEFENSE_OPTIONS as ft, DEFAULT_SUPPORTING_ATTACK_OPTIONS as g, DEFAULT_AMBUSH_OPTIONS as gt, DEFAULT_TURN_OPTIONS as h, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS as ht, normalizeTextAmplifiers as i, DEFAULT_BLOCK_OPTIONS as it, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS as j, blockDrawRule as jt, DEFAULT_FORTIFIED_AREA_OPTIONS as k, centerRadiusDrawRule as kt, DEFINITIONS as l, DEFAULT_ANTITANK_DITCH_OPTIONS as lt, DEFAULT_TURNING_MOVEMENT_OPTIONS as m, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS as mt, TEXT_AMPLIFIER_FIELDS as n, DEFAULT_BOUNDARY_OPTIONS as nt, resolveStyleHints as o, DEFAULT_ATTACK_HELICOPTER_OPTIONS as ot, listControlMeasureMetadata as p, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS as pt, DEFAULT_GENERIC_CIRCLE_OPTIONS as q, canonicalTextAmplifierKey as r, DEFAULT_BLOCK_ARROW_OPTIONS as rt, CONTROL_MEASURE_IDS as s, DEFAULT_ATTACK_BY_FIRE_OPTIONS as st, renderControlMeasure as t, DEFAULT_LIGHT_LINE_OPTIONS as tt, getControlMeasureMetadata as u, DEFAULT_ASSEMBLY_AREA_OPTIONS as ut, DEFAULT_STRONG_POINT_OPTIONS as v, rectangleDrawRule as vt, DEFAULT_MAIN_ATTACK_OPTIONS as w, turnDrawRule as wt, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS as x, line26DrawRule as xt, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS as y, axis1DrawRule as yt, DEFAULT_GUARD_OPTIONS as z, computeInitialWidthPoint as zt };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orbat-mapper/control-measures",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.15",
|
|
4
4
|
"description": "Library for drawing tactical graphics and control measures according to MIL-STD-2525 and APP-6 standards.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Orbat Mapper",
|