@orbat-mapper/control-measures 0.2.0-alpha.15 → 0.2.0-alpha.16
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.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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-aijO8FNF.mjs";
|
|
2
2
|
//#region src/freeze-orientation.ts
|
|
3
3
|
/**
|
|
4
4
|
* Dispatches to a measure kind's `freezeOrientation` hook (see
|
package/dist/preview/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-
|
|
1
|
+
import { l as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-aijO8FNF.mjs";
|
|
2
2
|
//#region src/preview/index.ts
|
|
3
3
|
/**
|
|
4
4
|
* Unitless `previewSample` points (~`[-1, 1]`) are scaled by this degree offset
|
|
@@ -2325,19 +2325,20 @@ function createDirectionOfAttackLine(coordinates, options, textAmplifiers, confi
|
|
|
2325
2325
|
const tip = vecAdd(last.start, vecScale(last.along, last.length));
|
|
2326
2326
|
const length = Math.min(totalLength, totalLength * nonNegative$1(options.arrowheadLengthRatio, DEFAULT_DIRECTION_ARROWHEAD_LENGTH_RATIO));
|
|
2327
2327
|
const innerHalfWidth = length * nonNegative$1(options.arrowheadWidthRatio, DEFAULT_DIRECTION_ARROWHEAD_WIDTH_RATIO) / 2;
|
|
2328
|
-
const
|
|
2328
|
+
const outlineExtension = config.outlineRatio ? length * Math.max(0, config.outlineRatio) : 0;
|
|
2329
|
+
const innerTip = vecSub(tip, vecScale(last.along, outlineExtension));
|
|
2330
|
+
const base = vecSub(innerTip, vecScale(last.along, length));
|
|
2329
2331
|
const innerLeft = vecAdd(base, vecScale(last.perp, innerHalfWidth));
|
|
2330
2332
|
const innerRight = vecSub(base, vecScale(last.perp, innerHalfWidth));
|
|
2331
2333
|
const arrowhead = config.outlineRatio ? (() => {
|
|
2332
|
-
const
|
|
2333
|
-
const outerHalfWidth = innerHalfWidth * (1 + ratio);
|
|
2334
|
+
const outerHalfWidth = innerHalfWidth * (1 + Math.max(0, config.outlineRatio));
|
|
2334
2335
|
const outerLeft = vecAdd(base, vecScale(last.perp, outerHalfWidth));
|
|
2335
2336
|
return [
|
|
2336
2337
|
innerLeft,
|
|
2337
|
-
|
|
2338
|
+
innerTip,
|
|
2338
2339
|
innerRight,
|
|
2339
2340
|
vecSub(base, vecScale(last.perp, outerHalfWidth)),
|
|
2340
|
-
|
|
2341
|
+
tip,
|
|
2341
2342
|
outerLeft,
|
|
2342
2343
|
innerLeft
|
|
2343
2344
|
];
|
|
@@ -2346,9 +2347,14 @@ function createDirectionOfAttackLine(coordinates, options, textAmplifiers, confi
|
|
|
2346
2347
|
tip,
|
|
2347
2348
|
innerRight
|
|
2348
2349
|
];
|
|
2350
|
+
const shaftVerts = outlineExtension > 0 ? verts.slice(0, -1) : verts;
|
|
2351
|
+
if (outlineExtension > 0) {
|
|
2352
|
+
while (shaftVerts.length > 1 && vecDot(vecSub(shaftVerts[shaftVerts.length - 1], innerTip), last.along) > 0) shaftVerts.pop();
|
|
2353
|
+
shaftVerts.push(innerTip);
|
|
2354
|
+
}
|
|
2349
2355
|
const labelPosition = clampLinePosition(options.labelPosition, DEFAULT_DIRECTION_LABEL_POSITION);
|
|
2350
2356
|
const labelGap = directionLabelGap(totalLength, labelPosition, textAmplifiers.T, options);
|
|
2351
|
-
const lines = [...buildGappedLine(
|
|
2357
|
+
const lines = [...buildGappedLine(shaftVerts, labelGap ? [labelGap] : []), arrowhead.map((point) => unproject(point[0], point[1]))];
|
|
2352
2358
|
const features = [{
|
|
2353
2359
|
type: "Feature",
|
|
2354
2360
|
properties: { part: config.part },
|
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.16",
|
|
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",
|