@orbat-mapper/control-measures 0.4.0 → 0.5.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-D2Osbvgz.d.mts → index-B4PZpprJ.d.mts} +37 -15
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +18 -2
- package/dist/preview/index.d.mts +4 -2
- package/dist/preview/index.mjs +36 -1
- package/dist/{renderControlMeasure-DUGzcmdb.mjs → renderControlMeasure-o7IpeFDt.mjs} +377 -47
- package/package.json +1 -1
|
@@ -1446,6 +1446,7 @@ const AREA_SMOOTH_PARAMS = [{
|
|
|
1446
1446
|
type: "boolean"
|
|
1447
1447
|
}, {
|
|
1448
1448
|
key: "smoothResolution",
|
|
1449
|
+
presentationTier: "advanced",
|
|
1449
1450
|
label: "Smooth resolution",
|
|
1450
1451
|
description: "Number of samples per segment when smooth mode is enabled.",
|
|
1451
1452
|
type: "number",
|
|
@@ -1457,6 +1458,7 @@ const AREA_SMOOTH_PARAMS = [{
|
|
|
1457
1458
|
const ATTACK_SHAFT_PARAMS = [
|
|
1458
1459
|
{
|
|
1459
1460
|
key: "shaftWidthRatio",
|
|
1461
|
+
presentationTier: "advanced",
|
|
1460
1462
|
label: "Shaft width",
|
|
1461
1463
|
description: "Arrow shaft width as a ratio of the arrowhead width",
|
|
1462
1464
|
type: "number",
|
|
@@ -1472,6 +1474,7 @@ const ATTACK_SHAFT_PARAMS = [
|
|
|
1472
1474
|
},
|
|
1473
1475
|
{
|
|
1474
1476
|
key: "smoothResolution",
|
|
1477
|
+
presentationTier: "advanced",
|
|
1475
1478
|
label: "Smooth resolution",
|
|
1476
1479
|
description: "Number of segments approximating each rounded bend when smooth mode is enabled.",
|
|
1477
1480
|
type: "number",
|
|
@@ -1484,6 +1487,7 @@ const ATTACK_SHAFT_PARAMS = [
|
|
|
1484
1487
|
const FIRE_ARROW_PARAMS = [
|
|
1485
1488
|
{
|
|
1486
1489
|
key: "arrowheadWidthRatio",
|
|
1490
|
+
presentationTier: "advanced",
|
|
1487
1491
|
label: "Arrowhead width",
|
|
1488
1492
|
description: "Arrowhead width as a ratio of the shaft length",
|
|
1489
1493
|
type: "number",
|
|
@@ -1493,6 +1497,7 @@ const FIRE_ARROW_PARAMS = [
|
|
|
1493
1497
|
},
|
|
1494
1498
|
{
|
|
1495
1499
|
key: "rearLineLengthRatio",
|
|
1500
|
+
presentationTier: "advanced",
|
|
1496
1501
|
label: "Rear line length",
|
|
1497
1502
|
description: "Length of the rear flare lines as a ratio of the head",
|
|
1498
1503
|
type: "number",
|
|
@@ -1502,6 +1507,7 @@ const FIRE_ARROW_PARAMS = [
|
|
|
1502
1507
|
},
|
|
1503
1508
|
{
|
|
1504
1509
|
key: "rearLineAngle",
|
|
1510
|
+
presentationTier: "advanced",
|
|
1505
1511
|
label: "Rear line angle",
|
|
1506
1512
|
description: "Angle of the rear flare lines, in degrees",
|
|
1507
1513
|
type: "number",
|
|
@@ -1538,6 +1544,7 @@ const ENCIRCLEMENT_PARAMS = [
|
|
|
1538
1544
|
},
|
|
1539
1545
|
{
|
|
1540
1546
|
key: "smoothResolution",
|
|
1547
|
+
presentationTier: "advanced",
|
|
1541
1548
|
label: "Smooth resolution",
|
|
1542
1549
|
description: "Number of samples per segment when smooth mode is enabled.",
|
|
1543
1550
|
type: "number",
|
|
@@ -1548,6 +1555,7 @@ const ENCIRCLEMENT_PARAMS = [
|
|
|
1548
1555
|
},
|
|
1549
1556
|
{
|
|
1550
1557
|
key: "barbSpacingRatio",
|
|
1558
|
+
presentationTier: "advanced",
|
|
1551
1559
|
label: "Spacing",
|
|
1552
1560
|
description: "Spacing between barbs as a ratio of the symbol radius (smaller is denser).",
|
|
1553
1561
|
type: "number",
|
|
@@ -1557,6 +1565,7 @@ const ENCIRCLEMENT_PARAMS = [
|
|
|
1557
1565
|
},
|
|
1558
1566
|
{
|
|
1559
1567
|
key: "barbLengthRatio",
|
|
1568
|
+
presentationTier: "advanced",
|
|
1560
1569
|
label: "Barb length",
|
|
1561
1570
|
description: "Barb height as a ratio of the symbol radius (amplitude).",
|
|
1562
1571
|
type: "number",
|
|
@@ -1568,6 +1577,7 @@ const ENCIRCLEMENT_PARAMS = [
|
|
|
1568
1577
|
const FORTIFIED_AREA_PARAMS = [...AREA_SMOOTH_PARAMS, ...FORTIFIED_AREA_SIZE_PARAMS];
|
|
1569
1578
|
const AREA_LABEL_PADDING_PARAM = {
|
|
1570
1579
|
key: "labelPadding",
|
|
1580
|
+
presentationTier: "advanced",
|
|
1571
1581
|
label: "Label padding",
|
|
1572
1582
|
description: "Extra spacing between the area's label rows, as a ratio of the label height",
|
|
1573
1583
|
type: "number",
|
|
@@ -1583,6 +1593,8 @@ const ECHELON_AREA_PARAMS = [
|
|
|
1583
1593
|
label: "Echelon",
|
|
1584
1594
|
description: "Field B unit-size amplifier, drawn on the boundary.",
|
|
1585
1595
|
type: "enum",
|
|
1596
|
+
presentationTier: "primary",
|
|
1597
|
+
semanticRole: "doctrinal",
|
|
1586
1598
|
options: ECHELON_PARAM_OPTIONS
|
|
1587
1599
|
},
|
|
1588
1600
|
{
|
|
@@ -1607,6 +1619,7 @@ const ECHELON_AREA_PARAMS = [
|
|
|
1607
1619
|
},
|
|
1608
1620
|
{
|
|
1609
1621
|
key: "echelonPadding",
|
|
1622
|
+
presentationTier: "advanced",
|
|
1610
1623
|
label: "Echelon padding",
|
|
1611
1624
|
description: "Gap on each side of the echelon, as a ratio of its height.",
|
|
1612
1625
|
type: "number",
|
|
@@ -1616,6 +1629,7 @@ const ECHELON_AREA_PARAMS = [
|
|
|
1616
1629
|
},
|
|
1617
1630
|
{
|
|
1618
1631
|
key: "echelonPosition",
|
|
1632
|
+
presentationTier: "advanced",
|
|
1619
1633
|
label: "Echelon position",
|
|
1620
1634
|
description: "Slide the echelon along the boundary, as a fraction of the perimeter from the bottom edge.",
|
|
1621
1635
|
type: "number",
|
|
@@ -1804,6 +1818,7 @@ const AMBUSH_METADATA = {
|
|
|
1804
1818
|
params: [
|
|
1805
1819
|
{
|
|
1806
1820
|
key: "arrowheadLengthRatio",
|
|
1821
|
+
presentationTier: "advanced",
|
|
1807
1822
|
label: "Arrowhead length",
|
|
1808
1823
|
description: "Arrowhead length as a ratio of the chord span",
|
|
1809
1824
|
type: "number",
|
|
@@ -1813,6 +1828,7 @@ const AMBUSH_METADATA = {
|
|
|
1813
1828
|
},
|
|
1814
1829
|
{
|
|
1815
1830
|
key: "arrowheadWidthRatio",
|
|
1831
|
+
presentationTier: "advanced",
|
|
1816
1832
|
label: "Arrowhead width",
|
|
1817
1833
|
description: "Arrowhead base width as a multiple of the arrowhead length",
|
|
1818
1834
|
type: "number",
|
|
@@ -1822,6 +1838,7 @@ const AMBUSH_METADATA = {
|
|
|
1822
1838
|
},
|
|
1823
1839
|
{
|
|
1824
1840
|
key: "hatchLengthRatio",
|
|
1841
|
+
presentationTier: "advanced",
|
|
1825
1842
|
label: "Hatch length",
|
|
1826
1843
|
description: "Length of the parallel hatches as a fraction of the chord span",
|
|
1827
1844
|
type: "number",
|
|
@@ -1831,6 +1848,7 @@ const AMBUSH_METADATA = {
|
|
|
1831
1848
|
},
|
|
1832
1849
|
{
|
|
1833
1850
|
key: "hatchCount",
|
|
1851
|
+
presentationTier: "advanced",
|
|
1834
1852
|
label: "Hatch count",
|
|
1835
1853
|
description: "Number of parallel hatches spaced along the curve",
|
|
1836
1854
|
type: "number",
|
|
@@ -1840,6 +1858,7 @@ const AMBUSH_METADATA = {
|
|
|
1840
1858
|
},
|
|
1841
1859
|
{
|
|
1842
1860
|
key: "curveDepthRatio",
|
|
1861
|
+
presentationTier: "advanced",
|
|
1843
1862
|
label: "Curve depth",
|
|
1844
1863
|
description: "How far the back line bends toward the tip, as a fraction of the chord span",
|
|
1845
1864
|
type: "number",
|
|
@@ -1852,6 +1871,7 @@ const AMBUSH_METADATA = {
|
|
|
1852
1871
|
label: "Arc segments",
|
|
1853
1872
|
description: "Number of segments used to render the curve",
|
|
1854
1873
|
type: "number",
|
|
1874
|
+
presentationTier: "advanced",
|
|
1855
1875
|
min: 4,
|
|
1856
1876
|
max: 96,
|
|
1857
1877
|
step: 1
|
|
@@ -2110,6 +2130,7 @@ const SMOOTH_LINE_PARAMS = [{
|
|
|
2110
2130
|
type: "boolean"
|
|
2111
2131
|
}, {
|
|
2112
2132
|
key: "smoothResolution",
|
|
2133
|
+
presentationTier: "advanced",
|
|
2113
2134
|
label: "Smooth resolution",
|
|
2114
2135
|
description: "Number of samples per segment when smooth mode is enabled.",
|
|
2115
2136
|
type: "number",
|
|
@@ -2443,6 +2464,7 @@ const HOSTILE_LINE_AMPLIFIER = {
|
|
|
2443
2464
|
/** Label-padding control shared by newly label-bearing Line1 graphics. */
|
|
2444
2465
|
const LINE_LABEL_PADDING_PARAM = {
|
|
2445
2466
|
key: "labelPadding",
|
|
2467
|
+
presentationTier: "advanced",
|
|
2446
2468
|
label: "Label padding",
|
|
2447
2469
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
2448
2470
|
type: "number",
|
|
@@ -2905,6 +2927,7 @@ function createDirectionOfAttackLine(coordinates, options, textAmplifiers, confi
|
|
|
2905
2927
|
const DIRECTION_OF_ATTACK_PARAMS = [
|
|
2906
2928
|
{
|
|
2907
2929
|
key: "arrowheadLengthRatio",
|
|
2930
|
+
presentationTier: "advanced",
|
|
2908
2931
|
label: "Arrowhead length",
|
|
2909
2932
|
description: "Arrowhead length as a ratio of the route's total length",
|
|
2910
2933
|
type: "number",
|
|
@@ -2914,6 +2937,7 @@ const DIRECTION_OF_ATTACK_PARAMS = [
|
|
|
2914
2937
|
},
|
|
2915
2938
|
{
|
|
2916
2939
|
key: "arrowheadWidthRatio",
|
|
2940
|
+
presentationTier: "advanced",
|
|
2917
2941
|
label: "Arrowhead width",
|
|
2918
2942
|
description: "Arrowhead total width as a ratio of its length",
|
|
2919
2943
|
type: "number",
|
|
@@ -2923,6 +2947,7 @@ const DIRECTION_OF_ATTACK_PARAMS = [
|
|
|
2923
2947
|
},
|
|
2924
2948
|
{
|
|
2925
2949
|
key: "labelPosition",
|
|
2950
|
+
presentationTier: "advanced",
|
|
2926
2951
|
label: "Label position",
|
|
2927
2952
|
description: "Position of the T/W/W1 group along the route, from tail (0) to tip (1)",
|
|
2928
2953
|
type: "number",
|
|
@@ -2932,6 +2957,7 @@ const DIRECTION_OF_ATTACK_PARAMS = [
|
|
|
2932
2957
|
},
|
|
2933
2958
|
{
|
|
2934
2959
|
key: "labelPadding",
|
|
2960
|
+
presentationTier: "advanced",
|
|
2935
2961
|
label: "Label padding",
|
|
2936
2962
|
description: "Extra spacing between the route and the date-time rows, in label heights",
|
|
2937
2963
|
type: "number",
|
|
@@ -3006,6 +3032,7 @@ const DIRECTION_OF_ATTACK_AVIATION_METADATA = {
|
|
|
3006
3032
|
...SMOOTH_LINE_PARAMS,
|
|
3007
3033
|
{
|
|
3008
3034
|
key: "arrowheadLengthRatio",
|
|
3035
|
+
presentationTier: "advanced",
|
|
3009
3036
|
label: "Arrowhead length",
|
|
3010
3037
|
description: "Arrowhead length as a ratio of the route's total length",
|
|
3011
3038
|
type: "number",
|
|
@@ -3015,6 +3042,7 @@ const DIRECTION_OF_ATTACK_AVIATION_METADATA = {
|
|
|
3015
3042
|
},
|
|
3016
3043
|
{
|
|
3017
3044
|
key: "arrowheadWidthRatio",
|
|
3045
|
+
presentationTier: "advanced",
|
|
3018
3046
|
label: "Arrowhead width",
|
|
3019
3047
|
description: "Arrowhead total width as a ratio of its length",
|
|
3020
3048
|
type: "number",
|
|
@@ -3024,6 +3052,7 @@ const DIRECTION_OF_ATTACK_AVIATION_METADATA = {
|
|
|
3024
3052
|
},
|
|
3025
3053
|
{
|
|
3026
3054
|
key: "bowTieLengthRatio",
|
|
3055
|
+
presentationTier: "advanced",
|
|
3027
3056
|
label: "Bow-tie length",
|
|
3028
3057
|
description: "Aviation mark length as a ratio of the route's total length",
|
|
3029
3058
|
type: "number",
|
|
@@ -3033,6 +3062,7 @@ const DIRECTION_OF_ATTACK_AVIATION_METADATA = {
|
|
|
3033
3062
|
},
|
|
3034
3063
|
{
|
|
3035
3064
|
key: "bowTieWidthRatio",
|
|
3065
|
+
presentationTier: "advanced",
|
|
3036
3066
|
label: "Bow-tie width",
|
|
3037
3067
|
description: "Aviation mark total width as a ratio of its length",
|
|
3038
3068
|
type: "number",
|
|
@@ -3042,6 +3072,7 @@ const DIRECTION_OF_ATTACK_AVIATION_METADATA = {
|
|
|
3042
3072
|
},
|
|
3043
3073
|
{
|
|
3044
3074
|
key: "bowTiePosition",
|
|
3075
|
+
presentationTier: "advanced",
|
|
3045
3076
|
label: "Bow-tie position",
|
|
3046
3077
|
description: "Position of the aviation mark along the route, from tail (0) to tip (1)",
|
|
3047
3078
|
type: "number",
|
|
@@ -3051,6 +3082,7 @@ const DIRECTION_OF_ATTACK_AVIATION_METADATA = {
|
|
|
3051
3082
|
},
|
|
3052
3083
|
{
|
|
3053
3084
|
key: "labelPosition",
|
|
3085
|
+
presentationTier: "advanced",
|
|
3054
3086
|
label: "Label position",
|
|
3055
3087
|
description: "Position of the T/W/W1 group along the route, from tail (0) to tip (1)",
|
|
3056
3088
|
type: "number",
|
|
@@ -3060,6 +3092,7 @@ const DIRECTION_OF_ATTACK_AVIATION_METADATA = {
|
|
|
3060
3092
|
},
|
|
3061
3093
|
{
|
|
3062
3094
|
key: "labelPadding",
|
|
3095
|
+
presentationTier: "advanced",
|
|
3063
3096
|
label: "Label padding",
|
|
3064
3097
|
description: "Extra spacing between the route and the date-time rows, in label heights",
|
|
3065
3098
|
type: "number",
|
|
@@ -3238,6 +3271,7 @@ const DIRECTION_OF_MAIN_ATTACK_METADATA = {
|
|
|
3238
3271
|
...DIRECTION_OF_ATTACK_PARAMS,
|
|
3239
3272
|
{
|
|
3240
3273
|
key: "arrowheadOutlineRatio",
|
|
3274
|
+
presentationTier: "advanced",
|
|
3241
3275
|
label: "Arrowhead outline",
|
|
3242
3276
|
description: "Outlined arrowhead thickness as a ratio of its length",
|
|
3243
3277
|
type: "number",
|
|
@@ -3721,24 +3755,21 @@ function ringLabelAnchor(verts) {
|
|
|
3721
3755
|
return anchor ?? centroid;
|
|
3722
3756
|
}
|
|
3723
3757
|
/**
|
|
3724
|
-
* Emits
|
|
3725
|
-
*
|
|
3726
|
-
*
|
|
3727
|
-
*
|
|
3728
|
-
* place: a marker the user has dragged masks only while its text box still
|
|
3729
|
-
* overlaps the *finite* contacted edge, while an undragged marker always
|
|
3730
|
-
* masks. Callers own the anchors, rotation convention, and clearance.
|
|
3758
|
+
* Emits boundary text markers and returns the knockout gaps they carve in
|
|
3759
|
+
* `maskVerts` (ADR-0023). Movable markers mask only while their text box still
|
|
3760
|
+
* overlaps the finite contacted edge; intrinsic markers always mask. Callers
|
|
3761
|
+
* own marker names, anchors, rotation, clearance, placement keys, and fields.
|
|
3731
3762
|
*/
|
|
3732
|
-
function
|
|
3763
|
+
function pushBoundaryMarkers(out, maskVerts, text, anchors, options, amplifierPlacements) {
|
|
3733
3764
|
const { rotation, textHeight, clearance, sizeProps } = options;
|
|
3734
3765
|
const textWidth = estimatedTextWidth(text, textHeight);
|
|
3735
3766
|
const gaps = [];
|
|
3736
3767
|
for (const anchor of anchors) {
|
|
3737
|
-
const labelPlacementKey =
|
|
3738
|
-
const placement = resolveAmplifierPlacement(amplifierPlacements?.[labelPlacementKey]);
|
|
3768
|
+
const labelPlacementKey = options.placementKeyPrefix ? `${options.placementKeyPrefix}:${anchor.side}` : void 0;
|
|
3769
|
+
const placement = resolveAmplifierPlacement(labelPlacementKey ? amplifierPlacements?.[labelPlacementKey] : void 0);
|
|
3739
3770
|
const labelPoint = placement.position ? project(placement.position[0], placement.position[1]) : anchor.point;
|
|
3740
3771
|
const boxRotation = placement.rotation ?? rotation;
|
|
3741
|
-
pushLabel(out, labelPoint, text, options.followPlacementRotation ? boxRotation : rotation, sizeProps, void 0,
|
|
3772
|
+
pushLabel(out, labelPoint, text, options.followPlacementRotation ? boxRotation : rotation, sizeProps, void 0, options.amplifierField, labelPlacementKey);
|
|
3742
3773
|
const contact = placement.position !== void 0 || options.rescanDefaultAnchors === true || anchor.contact === void 0 ? nearestPointOnPolyline(maskVerts, labelPoint) : anchor.contact;
|
|
3743
3774
|
if (!contact) continue;
|
|
3744
3775
|
if (placement.position && !labelBoxIntersectsSegment(labelPoint, ...contact.edge, textWidth, textHeight, boxRotation)) continue;
|
|
@@ -3747,6 +3778,14 @@ function pushHostileMarkers(out, maskVerts, text, anchors, options, amplifierPla
|
|
|
3747
3778
|
}
|
|
3748
3779
|
return gaps;
|
|
3749
3780
|
}
|
|
3781
|
+
/** Emits movable Field N markers using the generic boundary-marker knockout path. */
|
|
3782
|
+
function pushHostileMarkers(out, maskVerts, text, anchors, options, amplifierPlacements) {
|
|
3783
|
+
return pushBoundaryMarkers(out, maskVerts, text, anchors, {
|
|
3784
|
+
...options,
|
|
3785
|
+
placementKeyPrefix: "label:N",
|
|
3786
|
+
amplifierField: "N"
|
|
3787
|
+
}, amplifierPlacements);
|
|
3788
|
+
}
|
|
3750
3789
|
function pushAreaLabels(out, ringVerts, texts, options = {}, amplifierPlacements, maskBoundary) {
|
|
3751
3790
|
if (ringVerts.length < 2) return [];
|
|
3752
3791
|
const sizeProps = labelSizeProps(options);
|
|
@@ -3986,6 +4025,7 @@ const AREA_DEFENSE_METADATA = {
|
|
|
3986
4025
|
params: [
|
|
3987
4026
|
{
|
|
3988
4027
|
key: "arrowOpeningAngle",
|
|
4028
|
+
presentationTier: "advanced",
|
|
3989
4029
|
label: "Arrow opening",
|
|
3990
4030
|
description: "Angular opening between the two arrow tips, in degrees",
|
|
3991
4031
|
type: "number",
|
|
@@ -3995,6 +4035,7 @@ const AREA_DEFENSE_METADATA = {
|
|
|
3995
4035
|
},
|
|
3996
4036
|
{
|
|
3997
4037
|
key: "labelOpeningAngle",
|
|
4038
|
+
presentationTier: "advanced",
|
|
3998
4039
|
label: "AD opening",
|
|
3999
4040
|
description: "Angular opening occupied by the AD label, in degrees",
|
|
4000
4041
|
type: "number",
|
|
@@ -4004,6 +4045,7 @@ const AREA_DEFENSE_METADATA = {
|
|
|
4004
4045
|
},
|
|
4005
4046
|
{
|
|
4006
4047
|
key: "barbCount",
|
|
4048
|
+
presentationTier: "advanced",
|
|
4007
4049
|
label: "Barbs",
|
|
4008
4050
|
description: "Number of filled outward barbs distributed around the defense",
|
|
4009
4051
|
type: "number",
|
|
@@ -4013,6 +4055,7 @@ const AREA_DEFENSE_METADATA = {
|
|
|
4013
4055
|
},
|
|
4014
4056
|
{
|
|
4015
4057
|
key: "barbLengthRatio",
|
|
4058
|
+
presentationTier: "advanced",
|
|
4016
4059
|
label: "Barb length",
|
|
4017
4060
|
description: "Barb height as a ratio of the symbol radius",
|
|
4018
4061
|
type: "number",
|
|
@@ -4022,6 +4065,7 @@ const AREA_DEFENSE_METADATA = {
|
|
|
4022
4065
|
},
|
|
4023
4066
|
{
|
|
4024
4067
|
key: "arrowheadLengthRatio",
|
|
4068
|
+
presentationTier: "advanced",
|
|
4025
4069
|
label: "Arrowhead length",
|
|
4026
4070
|
description: "Open-arrowhead length as a ratio of the symbol radius",
|
|
4027
4071
|
type: "number",
|
|
@@ -4806,6 +4850,7 @@ const ANTITANK_DITCH_PARAMS = [
|
|
|
4806
4850
|
},
|
|
4807
4851
|
{
|
|
4808
4852
|
key: "toothWidthRatio",
|
|
4853
|
+
presentationTier: "advanced",
|
|
4809
4854
|
label: "Tooth width ratio",
|
|
4810
4855
|
description: "Tooth base span as a multiple of height",
|
|
4811
4856
|
type: "number",
|
|
@@ -4818,6 +4863,7 @@ const ANTITANK_DITCH_PARAMS = [
|
|
|
4818
4863
|
];
|
|
4819
4864
|
const ANTITANK_WALL_PARAMS = [...ANTITANK_DITCH_PARAMS, {
|
|
4820
4865
|
key: "toothSpacingRatio",
|
|
4866
|
+
presentationTier: "advanced",
|
|
4821
4867
|
label: "Tooth spacing ratio",
|
|
4822
4868
|
description: "Gap between teeth as a multiple of base width",
|
|
4823
4869
|
type: "number",
|
|
@@ -5247,6 +5293,7 @@ const ATTACK_HELICOPTER_METADATA = {
|
|
|
5247
5293
|
...ATTACK_SHAFT_PARAMS,
|
|
5248
5294
|
{
|
|
5249
5295
|
key: "symbolHeightRatio",
|
|
5296
|
+
presentationTier: "advanced",
|
|
5250
5297
|
label: "Symbol height",
|
|
5251
5298
|
description: "Height of the helicopter symbol as a ratio of the head width.",
|
|
5252
5299
|
type: "number",
|
|
@@ -5256,6 +5303,7 @@ const ATTACK_HELICOPTER_METADATA = {
|
|
|
5256
5303
|
},
|
|
5257
5304
|
{
|
|
5258
5305
|
key: "triangleSizeRatio",
|
|
5306
|
+
presentationTier: "advanced",
|
|
5259
5307
|
label: "Triangle size",
|
|
5260
5308
|
description: "Size of the top triangle relative to the reference unit.",
|
|
5261
5309
|
type: "number",
|
|
@@ -5265,6 +5313,7 @@ const ATTACK_HELICOPTER_METADATA = {
|
|
|
5265
5313
|
},
|
|
5266
5314
|
{
|
|
5267
5315
|
key: "bottomBarWidthRatio",
|
|
5316
|
+
presentationTier: "advanced",
|
|
5268
5317
|
label: "Bottom bar width",
|
|
5269
5318
|
description: "Width of the bottom bar relative to the reference triangle.",
|
|
5270
5319
|
type: "number",
|
|
@@ -5274,6 +5323,7 @@ const ATTACK_HELICOPTER_METADATA = {
|
|
|
5274
5323
|
},
|
|
5275
5324
|
{
|
|
5276
5325
|
key: "bowtieWidthRatio",
|
|
5326
|
+
presentationTier: "advanced",
|
|
5277
5327
|
label: "Bowtie width",
|
|
5278
5328
|
description: "Size of the central bowtie relative to the reference triangle.",
|
|
5279
5329
|
type: "number",
|
|
@@ -5673,6 +5723,7 @@ const BLOCK_ARROW_METADATA = {
|
|
|
5673
5723
|
params: [
|
|
5674
5724
|
{
|
|
5675
5725
|
key: "shaftWidthRatio",
|
|
5726
|
+
presentationTier: "advanced",
|
|
5676
5727
|
label: "Shaft width",
|
|
5677
5728
|
description: "Shaft band width as a fraction of the total path length",
|
|
5678
5729
|
type: "number",
|
|
@@ -5718,6 +5769,7 @@ const BLOCK_ARROW_METADATA = {
|
|
|
5718
5769
|
},
|
|
5719
5770
|
{
|
|
5720
5771
|
key: "arrowheadWidthRatio",
|
|
5772
|
+
presentationTier: "advanced",
|
|
5721
5773
|
label: "Arrowhead width",
|
|
5722
5774
|
description: "Arrowhead base width as a ratio of the total path length",
|
|
5723
5775
|
type: "number",
|
|
@@ -5727,6 +5779,7 @@ const BLOCK_ARROW_METADATA = {
|
|
|
5727
5779
|
},
|
|
5728
5780
|
{
|
|
5729
5781
|
key: "arrowheadLengthRatio",
|
|
5782
|
+
presentationTier: "advanced",
|
|
5730
5783
|
label: "Arrowhead length",
|
|
5731
5784
|
description: "Arrowhead length as a ratio of the total path length",
|
|
5732
5785
|
type: "number",
|
|
@@ -5742,6 +5795,7 @@ const BLOCK_ARROW_METADATA = {
|
|
|
5742
5795
|
},
|
|
5743
5796
|
{
|
|
5744
5797
|
key: "smoothResolution",
|
|
5798
|
+
presentationTier: "advanced",
|
|
5745
5799
|
label: "Smooth resolution",
|
|
5746
5800
|
description: "Number of samples per segment when smooth mode is enabled",
|
|
5747
5801
|
type: "number",
|
|
@@ -5945,6 +5999,7 @@ const BOUNDARY_METADATA = {
|
|
|
5945
5999
|
},
|
|
5946
6000
|
{
|
|
5947
6001
|
key: "smoothResolution",
|
|
6002
|
+
presentationTier: "advanced",
|
|
5948
6003
|
label: "Smooth resolution",
|
|
5949
6004
|
description: "Number of samples per segment when smooth mode is enabled.",
|
|
5950
6005
|
type: "number",
|
|
@@ -5955,6 +6010,8 @@ const BOUNDARY_METADATA = {
|
|
|
5955
6010
|
},
|
|
5956
6011
|
{
|
|
5957
6012
|
key: "echelon",
|
|
6013
|
+
presentationTier: "primary",
|
|
6014
|
+
semanticRole: "doctrinal",
|
|
5958
6015
|
label: "Echelon",
|
|
5959
6016
|
description: "Field B unit-size amplifier, drawn on the line",
|
|
5960
6017
|
type: "enum",
|
|
@@ -5982,6 +6039,7 @@ const BOUNDARY_METADATA = {
|
|
|
5982
6039
|
},
|
|
5983
6040
|
{
|
|
5984
6041
|
key: "echelonPadding",
|
|
6042
|
+
presentationTier: "advanced",
|
|
5985
6043
|
label: "Echelon padding",
|
|
5986
6044
|
description: "Gap on each side of the echelon, as a ratio of its height",
|
|
5987
6045
|
type: "number",
|
|
@@ -5991,6 +6049,7 @@ const BOUNDARY_METADATA = {
|
|
|
5991
6049
|
},
|
|
5992
6050
|
{
|
|
5993
6051
|
key: "labelRepetitions",
|
|
6052
|
+
presentationTier: "advanced",
|
|
5994
6053
|
label: "Label groups",
|
|
5995
6054
|
description: "Number of label groups spaced evenly along the whole boundary",
|
|
5996
6055
|
type: "number",
|
|
@@ -6000,6 +6059,7 @@ const BOUNDARY_METADATA = {
|
|
|
6000
6059
|
},
|
|
6001
6060
|
{
|
|
6002
6061
|
key: "labelPosition",
|
|
6062
|
+
presentationTier: "advanced",
|
|
6003
6063
|
label: "Label position",
|
|
6004
6064
|
description: "Position of the label group along the boundary, from the first point (0) to the last (1)",
|
|
6005
6065
|
type: "number",
|
|
@@ -6010,6 +6070,7 @@ const BOUNDARY_METADATA = {
|
|
|
6010
6070
|
},
|
|
6011
6071
|
{
|
|
6012
6072
|
key: "labelSpacing",
|
|
6073
|
+
presentationTier: "advanced",
|
|
6013
6074
|
label: "Label spacing",
|
|
6014
6075
|
description: "Spread of label groups: 1 spreads evenly, lower clusters them toward the middle.",
|
|
6015
6076
|
type: "number",
|
|
@@ -6020,6 +6081,7 @@ const BOUNDARY_METADATA = {
|
|
|
6020
6081
|
},
|
|
6021
6082
|
{
|
|
6022
6083
|
key: "labelPadding",
|
|
6084
|
+
presentationTier: "advanced",
|
|
6023
6085
|
label: "Label padding",
|
|
6024
6086
|
description: "Gap between the line/echelon and the unit labels, as a ratio of the echelon height",
|
|
6025
6087
|
type: "number",
|
|
@@ -6029,6 +6091,7 @@ const BOUNDARY_METADATA = {
|
|
|
6029
6091
|
},
|
|
6030
6092
|
{
|
|
6031
6093
|
key: "labelOrientation",
|
|
6094
|
+
presentationTier: "advanced",
|
|
6032
6095
|
label: "Label orientation",
|
|
6033
6096
|
description: "Unit labels along the line, or per MIL-STD-2525E Figure L-10: on mostly north–south segments the label group rotates perpendicular to the line as a single row crossing it.",
|
|
6034
6097
|
type: "enum",
|
|
@@ -6246,6 +6309,8 @@ const LIGHT_LINE_METADATA = {
|
|
|
6246
6309
|
...SMOOTH_LINE_PARAMS,
|
|
6247
6310
|
{
|
|
6248
6311
|
key: "phaseLineName",
|
|
6312
|
+
presentationTier: "primary",
|
|
6313
|
+
semanticRole: "doctrinal",
|
|
6249
6314
|
label: "Phase line name",
|
|
6250
6315
|
description: "Name the line as a phase line — rendered \"PL <name>\" beyond each end of the line.",
|
|
6251
6316
|
type: "text",
|
|
@@ -6262,6 +6327,7 @@ const LIGHT_LINE_METADATA = {
|
|
|
6262
6327
|
},
|
|
6263
6328
|
{
|
|
6264
6329
|
key: "labelPadding",
|
|
6330
|
+
presentationTier: "advanced",
|
|
6265
6331
|
label: "Label padding",
|
|
6266
6332
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
6267
6333
|
type: "number",
|
|
@@ -6322,6 +6388,8 @@ const ENGINEER_WORK_LINE_METADATA = {
|
|
|
6322
6388
|
...SMOOTH_LINE_PARAMS,
|
|
6323
6389
|
{
|
|
6324
6390
|
key: "phaseLineName",
|
|
6391
|
+
presentationTier: "primary",
|
|
6392
|
+
semanticRole: "doctrinal",
|
|
6325
6393
|
label: "Phase line name",
|
|
6326
6394
|
description: "Name the line as a phase line — rendered \"PL <name>\" beyond each end of the line.",
|
|
6327
6395
|
type: "text",
|
|
@@ -6338,6 +6406,7 @@ const ENGINEER_WORK_LINE_METADATA = {
|
|
|
6338
6406
|
},
|
|
6339
6407
|
{
|
|
6340
6408
|
key: "labelPadding",
|
|
6409
|
+
presentationTier: "advanced",
|
|
6341
6410
|
label: "Label padding",
|
|
6342
6411
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
6343
6412
|
type: "number",
|
|
@@ -6462,6 +6531,8 @@ const GENERIC_C2_LINE_METADATA = {
|
|
|
6462
6531
|
...SMOOTH_LINE_PARAMS,
|
|
6463
6532
|
{
|
|
6464
6533
|
key: "phaseLineName",
|
|
6534
|
+
presentationTier: "primary",
|
|
6535
|
+
semanticRole: "doctrinal",
|
|
6465
6536
|
label: "Phase line name",
|
|
6466
6537
|
description: "Name the line as a phase line — rendered \"PL <name>\" beyond each end of the line.",
|
|
6467
6538
|
type: "text",
|
|
@@ -6478,6 +6549,7 @@ const GENERIC_C2_LINE_METADATA = {
|
|
|
6478
6549
|
},
|
|
6479
6550
|
{
|
|
6480
6551
|
key: "labelPadding",
|
|
6552
|
+
presentationTier: "advanced",
|
|
6481
6553
|
label: "Label padding",
|
|
6482
6554
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
6483
6555
|
type: "number",
|
|
@@ -6727,6 +6799,7 @@ const BLOCK_MISSION_TASK_METADATA = {
|
|
|
6727
6799
|
capturesLabelSize: true,
|
|
6728
6800
|
params: [{
|
|
6729
6801
|
key: "labelGapRatio",
|
|
6802
|
+
presentationTier: "advanced",
|
|
6730
6803
|
label: "Label gap",
|
|
6731
6804
|
description: "Size of the shaft gap holding the 'B' label, as a ratio of the front length",
|
|
6732
6805
|
type: "number",
|
|
@@ -6826,6 +6899,7 @@ const BREACH_METADATA = {
|
|
|
6826
6899
|
params: [
|
|
6827
6900
|
{
|
|
6828
6901
|
key: "tickLengthRatio",
|
|
6902
|
+
presentationTier: "advanced",
|
|
6829
6903
|
label: "Tick length",
|
|
6830
6904
|
description: "Length of the outward end ticks, as a ratio of the front opening width",
|
|
6831
6905
|
type: "number",
|
|
@@ -6835,6 +6909,7 @@ const BREACH_METADATA = {
|
|
|
6835
6909
|
},
|
|
6836
6910
|
{
|
|
6837
6911
|
key: "tickAngle",
|
|
6912
|
+
presentationTier: "advanced",
|
|
6838
6913
|
label: "Tick angle",
|
|
6839
6914
|
description: "Outward lean of the end ticks from perpendicular, in degrees",
|
|
6840
6915
|
type: "number",
|
|
@@ -6844,6 +6919,7 @@ const BREACH_METADATA = {
|
|
|
6844
6919
|
},
|
|
6845
6920
|
{
|
|
6846
6921
|
key: "labelGapRatio",
|
|
6922
|
+
presentationTier: "advanced",
|
|
6847
6923
|
label: "Label gap",
|
|
6848
6924
|
description: "Size of the rear-line gap holding the 'B' label, as a ratio of the front length",
|
|
6849
6925
|
type: "number",
|
|
@@ -6926,6 +7002,7 @@ const BYPASS_METADATA = {
|
|
|
6926
7002
|
capturesLabelSize: true,
|
|
6927
7003
|
params: [{
|
|
6928
7004
|
key: "arrowheadLengthRatio",
|
|
7005
|
+
presentationTier: "advanced",
|
|
6929
7006
|
label: "Arrowhead length",
|
|
6930
7007
|
description: "Arrowhead length as a ratio of the front opening width",
|
|
6931
7008
|
type: "number",
|
|
@@ -6934,6 +7011,7 @@ const BYPASS_METADATA = {
|
|
|
6934
7011
|
step: .01
|
|
6935
7012
|
}, {
|
|
6936
7013
|
key: "labelGapRatio",
|
|
7014
|
+
presentationTier: "advanced",
|
|
6937
7015
|
label: "Label gap",
|
|
6938
7016
|
description: "Size of the rear-line gap holding the 'B' label, as a ratio of the front length",
|
|
6939
7017
|
type: "number",
|
|
@@ -7007,6 +7085,7 @@ const CANALIZE_METADATA = {
|
|
|
7007
7085
|
params: [
|
|
7008
7086
|
{
|
|
7009
7087
|
key: "tickLengthRatio",
|
|
7088
|
+
presentationTier: "advanced",
|
|
7010
7089
|
label: "Tick length",
|
|
7011
7090
|
description: "Length of the inward end ticks, as a ratio of the front opening width",
|
|
7012
7091
|
type: "number",
|
|
@@ -7016,6 +7095,7 @@ const CANALIZE_METADATA = {
|
|
|
7016
7095
|
},
|
|
7017
7096
|
{
|
|
7018
7097
|
key: "tickAngle",
|
|
7098
|
+
presentationTier: "advanced",
|
|
7019
7099
|
label: "Tick angle",
|
|
7020
7100
|
description: "Inward lean of the end ticks from perpendicular, in degrees",
|
|
7021
7101
|
type: "number",
|
|
@@ -7025,6 +7105,7 @@ const CANALIZE_METADATA = {
|
|
|
7025
7105
|
},
|
|
7026
7106
|
{
|
|
7027
7107
|
key: "labelGapRatio",
|
|
7108
|
+
presentationTier: "advanced",
|
|
7028
7109
|
label: "Label gap",
|
|
7029
7110
|
description: "Size of the rear-line gap holding the 'C' label, as a ratio of the front length",
|
|
7030
7111
|
type: "number",
|
|
@@ -7115,6 +7196,7 @@ const CLASSIC_ARROW_METADATA = {
|
|
|
7115
7196
|
},
|
|
7116
7197
|
{
|
|
7117
7198
|
key: "smoothResolution",
|
|
7199
|
+
presentationTier: "advanced",
|
|
7118
7200
|
label: "Smooth resolution",
|
|
7119
7201
|
description: "Number of samples per segment when smooth mode is enabled",
|
|
7120
7202
|
type: "number",
|
|
@@ -7173,6 +7255,7 @@ const CLASSIC_ARROW_METADATA = {
|
|
|
7173
7255
|
},
|
|
7174
7256
|
{
|
|
7175
7257
|
key: "arrowheadLengthRatio",
|
|
7258
|
+
presentationTier: "advanced",
|
|
7176
7259
|
label: "Arrowhead length",
|
|
7177
7260
|
description: "Arrowhead length as a ratio of the total path length",
|
|
7178
7261
|
type: "number",
|
|
@@ -7182,6 +7265,7 @@ const CLASSIC_ARROW_METADATA = {
|
|
|
7182
7265
|
},
|
|
7183
7266
|
{
|
|
7184
7267
|
key: "arrowheadWidthRatio",
|
|
7268
|
+
presentationTier: "advanced",
|
|
7185
7269
|
label: "Arrowhead width",
|
|
7186
7270
|
description: "Arrowhead base width as a ratio of the total path length",
|
|
7187
7271
|
type: "number",
|
|
@@ -7390,6 +7474,7 @@ const SMOOTH_PATH_PARAMS = [{
|
|
|
7390
7474
|
type: "boolean"
|
|
7391
7475
|
}, {
|
|
7392
7476
|
key: "smoothResolution",
|
|
7477
|
+
presentationTier: "advanced",
|
|
7393
7478
|
label: "Smooth resolution",
|
|
7394
7479
|
description: "Number of samples per segment when smooth mode is enabled.",
|
|
7395
7480
|
type: "number",
|
|
@@ -7749,7 +7834,9 @@ const GENERIC_TEXT_METADATA = {
|
|
|
7749
7834
|
description: "The text to render. Explicit line breaks are honored; it never auto-wraps.",
|
|
7750
7835
|
type: "text",
|
|
7751
7836
|
placeholder: "Text",
|
|
7752
|
-
multiline: true
|
|
7837
|
+
multiline: true,
|
|
7838
|
+
presentationTier: "primary",
|
|
7839
|
+
semanticRole: "content"
|
|
7753
7840
|
},
|
|
7754
7841
|
{
|
|
7755
7842
|
key: "textAlign",
|
|
@@ -7919,6 +8006,7 @@ const CLEAR_METADATA = {
|
|
|
7919
8006
|
params: [
|
|
7920
8007
|
{
|
|
7921
8008
|
key: "arrowInsetRatio",
|
|
8009
|
+
presentationTier: "advanced",
|
|
7922
8010
|
label: "Arrow padding",
|
|
7923
8011
|
description: "Padding between the line endpoints and the outer arrows, as a ratio of height",
|
|
7924
8012
|
type: "number",
|
|
@@ -7928,6 +8016,7 @@ const CLEAR_METADATA = {
|
|
|
7928
8016
|
},
|
|
7929
8017
|
{
|
|
7930
8018
|
key: "arrowheadLengthRatio",
|
|
8019
|
+
presentationTier: "advanced",
|
|
7931
8020
|
label: "Arrowhead length",
|
|
7932
8021
|
description: "Arrowhead length as a ratio of the symbol height",
|
|
7933
8022
|
type: "number",
|
|
@@ -7937,6 +8026,7 @@ const CLEAR_METADATA = {
|
|
|
7937
8026
|
},
|
|
7938
8027
|
{
|
|
7939
8028
|
key: "arrowheadWidthRatio",
|
|
8029
|
+
presentationTier: "advanced",
|
|
7940
8030
|
label: "Arrowhead width",
|
|
7941
8031
|
description: "Arrowhead base width as a ratio of the symbol height",
|
|
7942
8032
|
type: "number",
|
|
@@ -7946,6 +8036,7 @@ const CLEAR_METADATA = {
|
|
|
7946
8036
|
},
|
|
7947
8037
|
{
|
|
7948
8038
|
key: "labelGapRatio",
|
|
8039
|
+
presentationTier: "advanced",
|
|
7949
8040
|
label: "Label gap",
|
|
7950
8041
|
description: "Size of the shaft gap holding the 'C' label, as a ratio of the shaft length",
|
|
7951
8042
|
type: "number",
|
|
@@ -8152,6 +8243,7 @@ const COUNTERATTACK_METADATA = {
|
|
|
8152
8243
|
capturesLabelSize: true,
|
|
8153
8244
|
params: [...ATTACK_SHAFT_PARAMS, {
|
|
8154
8245
|
key: "labelPosition",
|
|
8246
|
+
presentationTier: "advanced",
|
|
8155
8247
|
label: "Label position",
|
|
8156
8248
|
description: "Position of the CATK label along the shaft, from tail (0) to head (1)",
|
|
8157
8249
|
type: "number",
|
|
@@ -8271,6 +8363,7 @@ const COUNTERATTACK_BY_FIRE_METADATA = {
|
|
|
8271
8363
|
capturesLabelSize: true,
|
|
8272
8364
|
params: [...ATTACK_SHAFT_PARAMS, {
|
|
8273
8365
|
key: "labelPosition",
|
|
8366
|
+
presentationTier: "advanced",
|
|
8274
8367
|
label: "Label position",
|
|
8275
8368
|
description: "Position of the CATK label along the shaft, from tail (0) to head (1)",
|
|
8276
8369
|
type: "number",
|
|
@@ -8486,6 +8579,7 @@ const SEARCH_AREA_METADATA = {
|
|
|
8486
8579
|
params: [
|
|
8487
8580
|
{
|
|
8488
8581
|
key: "arrowheadLengthRatio",
|
|
8582
|
+
presentationTier: "advanced",
|
|
8489
8583
|
label: "Arrowhead length",
|
|
8490
8584
|
description: "Arrowhead length as a ratio of the total leg length",
|
|
8491
8585
|
type: "number",
|
|
@@ -8495,6 +8589,7 @@ const SEARCH_AREA_METADATA = {
|
|
|
8495
8589
|
},
|
|
8496
8590
|
{
|
|
8497
8591
|
key: "arrowheadWidthRatio",
|
|
8592
|
+
presentationTier: "advanced",
|
|
8498
8593
|
label: "Arrowhead width",
|
|
8499
8594
|
description: "Arrowhead base width as a multiple of the arrowhead length",
|
|
8500
8595
|
type: "number",
|
|
@@ -8504,6 +8599,7 @@ const SEARCH_AREA_METADATA = {
|
|
|
8504
8599
|
},
|
|
8505
8600
|
{
|
|
8506
8601
|
key: "zigzagStart",
|
|
8602
|
+
presentationTier: "advanced",
|
|
8507
8603
|
label: "Zigzag start",
|
|
8508
8604
|
description: "Point along the leg where the zigzag begins (0-1).",
|
|
8509
8605
|
type: "number",
|
|
@@ -8513,6 +8609,7 @@ const SEARCH_AREA_METADATA = {
|
|
|
8513
8609
|
},
|
|
8514
8610
|
{
|
|
8515
8611
|
key: "zigzagEnd",
|
|
8612
|
+
presentationTier: "advanced",
|
|
8516
8613
|
label: "Zigzag end",
|
|
8517
8614
|
description: "Point along the leg where the zigzag returns (0-1).",
|
|
8518
8615
|
type: "number",
|
|
@@ -8522,6 +8619,7 @@ const SEARCH_AREA_METADATA = {
|
|
|
8522
8619
|
},
|
|
8523
8620
|
{
|
|
8524
8621
|
key: "zigzagAmplitudeRatio",
|
|
8622
|
+
presentationTier: "advanced",
|
|
8525
8623
|
label: "Zigzag amplitude",
|
|
8526
8624
|
description: "Perpendicular kink offset as a ratio of leg length.",
|
|
8527
8625
|
type: "number",
|
|
@@ -8631,6 +8729,7 @@ const DEFAULT_SECURITY_TASK_OPTIONS = {
|
|
|
8631
8729
|
const SECURITY_TASK_PARAMS = [
|
|
8632
8730
|
{
|
|
8633
8731
|
key: "arrowheadLengthRatio",
|
|
8732
|
+
presentationTier: "advanced",
|
|
8634
8733
|
label: "Arrowhead length",
|
|
8635
8734
|
description: "Arrowhead length as a ratio of the total leg length",
|
|
8636
8735
|
type: "number",
|
|
@@ -8640,6 +8739,7 @@ const SECURITY_TASK_PARAMS = [
|
|
|
8640
8739
|
},
|
|
8641
8740
|
{
|
|
8642
8741
|
key: "arrowheadWidthRatio",
|
|
8742
|
+
presentationTier: "advanced",
|
|
8643
8743
|
label: "Arrowhead width",
|
|
8644
8744
|
description: "Arrowhead base width as a multiple of the arrowhead length",
|
|
8645
8745
|
type: "number",
|
|
@@ -8649,6 +8749,7 @@ const SECURITY_TASK_PARAMS = [
|
|
|
8649
8749
|
},
|
|
8650
8750
|
{
|
|
8651
8751
|
key: "zigzagStart",
|
|
8752
|
+
presentationTier: "advanced",
|
|
8652
8753
|
label: "Zigzag start",
|
|
8653
8754
|
description: "Point along the leg where the zigzag begins (0-1).",
|
|
8654
8755
|
type: "number",
|
|
@@ -8658,6 +8759,7 @@ const SECURITY_TASK_PARAMS = [
|
|
|
8658
8759
|
},
|
|
8659
8760
|
{
|
|
8660
8761
|
key: "zigzagEnd",
|
|
8762
|
+
presentationTier: "advanced",
|
|
8661
8763
|
label: "Zigzag end",
|
|
8662
8764
|
description: "Point along the leg where the zigzag returns (0-1).",
|
|
8663
8765
|
type: "number",
|
|
@@ -8667,6 +8769,7 @@ const SECURITY_TASK_PARAMS = [
|
|
|
8667
8769
|
},
|
|
8668
8770
|
{
|
|
8669
8771
|
key: "zigzagAmplitudeRatio",
|
|
8772
|
+
presentationTier: "advanced",
|
|
8670
8773
|
label: "Zigzag amplitude",
|
|
8671
8774
|
description: "Perpendicular kink offset as a ratio of leg length.",
|
|
8672
8775
|
type: "number",
|
|
@@ -8676,6 +8779,7 @@ const SECURITY_TASK_PARAMS = [
|
|
|
8676
8779
|
},
|
|
8677
8780
|
{
|
|
8678
8781
|
key: "labelInsetRatio",
|
|
8782
|
+
presentationTier: "advanced",
|
|
8679
8783
|
label: "Letter position",
|
|
8680
8784
|
description: "Inset of each task letter from PT. 2 or PT. 3 across the center opening",
|
|
8681
8785
|
type: "number",
|
|
@@ -8814,6 +8918,7 @@ const DEFAULT_DELAY_OPTIONS = {
|
|
|
8814
8918
|
const DELAY_PARAMS = [
|
|
8815
8919
|
{
|
|
8816
8920
|
key: "arrowheadLengthRatio",
|
|
8921
|
+
presentationTier: "advanced",
|
|
8817
8922
|
label: "Arrowhead length",
|
|
8818
8923
|
description: "Arrowhead length as a ratio of the straight-line length",
|
|
8819
8924
|
type: "number",
|
|
@@ -8823,6 +8928,7 @@ const DELAY_PARAMS = [
|
|
|
8823
8928
|
},
|
|
8824
8929
|
{
|
|
8825
8930
|
key: "arrowheadWidthRatio",
|
|
8931
|
+
presentationTier: "advanced",
|
|
8826
8932
|
label: "Arrowhead width",
|
|
8827
8933
|
description: "Arrowhead base width as a ratio of the straight-line length",
|
|
8828
8934
|
type: "number",
|
|
@@ -8832,6 +8938,7 @@ const DELAY_PARAMS = [
|
|
|
8832
8938
|
},
|
|
8833
8939
|
{
|
|
8834
8940
|
key: "labelGapRatio",
|
|
8941
|
+
presentationTier: "advanced",
|
|
8835
8942
|
label: "Label gap",
|
|
8836
8943
|
description: "Size of the shaft gap holding the task label, as a ratio of the shaft length",
|
|
8837
8944
|
type: "number",
|
|
@@ -8841,6 +8948,7 @@ const DELAY_PARAMS = [
|
|
|
8841
8948
|
},
|
|
8842
8949
|
{
|
|
8843
8950
|
key: "arcSegments",
|
|
8951
|
+
presentationTier: "advanced",
|
|
8844
8952
|
label: "Arc segments",
|
|
8845
8953
|
description: "Number of straight segments used to approximate the semicircular arc",
|
|
8846
8954
|
type: "number",
|
|
@@ -9028,6 +9136,7 @@ const DISRUPT_MISSION_TASK_METADATA = {
|
|
|
9028
9136
|
params: [
|
|
9029
9137
|
{
|
|
9030
9138
|
key: "middleArrowLengthRatio",
|
|
9139
|
+
presentationTier: "advanced",
|
|
9031
9140
|
label: "Middle arrow length",
|
|
9032
9141
|
description: "Middle arrow length as a ratio of the PT.3-controlled top arrow",
|
|
9033
9142
|
type: "number",
|
|
@@ -9037,6 +9146,7 @@ const DISRUPT_MISSION_TASK_METADATA = {
|
|
|
9037
9146
|
},
|
|
9038
9147
|
{
|
|
9039
9148
|
key: "bottomArrowLengthRatio",
|
|
9149
|
+
presentationTier: "advanced",
|
|
9040
9150
|
label: "Bottom arrow length",
|
|
9041
9151
|
description: "Bottom arrow length as a ratio of the PT.3-controlled top arrow",
|
|
9042
9152
|
type: "number",
|
|
@@ -9046,6 +9156,7 @@ const DISRUPT_MISSION_TASK_METADATA = {
|
|
|
9046
9156
|
},
|
|
9047
9157
|
{
|
|
9048
9158
|
key: "shaftLengthRatio",
|
|
9159
|
+
presentationTier: "advanced",
|
|
9049
9160
|
label: "Rear shaft length",
|
|
9050
9161
|
description: "Middle shaft extension behind the spine, as a ratio of the top arrow",
|
|
9051
9162
|
type: "number",
|
|
@@ -9055,6 +9166,7 @@ const DISRUPT_MISSION_TASK_METADATA = {
|
|
|
9055
9166
|
},
|
|
9056
9167
|
{
|
|
9057
9168
|
key: "arrowheadLengthRatio",
|
|
9169
|
+
presentationTier: "advanced",
|
|
9058
9170
|
label: "Arrowhead length",
|
|
9059
9171
|
description: "Arrowhead length as a ratio of the spine length",
|
|
9060
9172
|
type: "number",
|
|
@@ -9064,6 +9176,7 @@ const DISRUPT_MISSION_TASK_METADATA = {
|
|
|
9064
9176
|
},
|
|
9065
9177
|
{
|
|
9066
9178
|
key: "arrowheadWidthRatio",
|
|
9179
|
+
presentationTier: "advanced",
|
|
9067
9180
|
label: "Arrowhead width",
|
|
9068
9181
|
description: "Arrowhead base width as a ratio of the spine length",
|
|
9069
9182
|
type: "number",
|
|
@@ -9073,6 +9186,7 @@ const DISRUPT_MISSION_TASK_METADATA = {
|
|
|
9073
9186
|
},
|
|
9074
9187
|
{
|
|
9075
9188
|
key: "labelGapRatio",
|
|
9189
|
+
presentationTier: "advanced",
|
|
9076
9190
|
label: "Label gap",
|
|
9077
9191
|
description: "Size of the middle-shaft gap holding the 'D' label",
|
|
9078
9192
|
type: "number",
|
|
@@ -9226,6 +9340,7 @@ const DISRUPT_METADATA = {
|
|
|
9226
9340
|
params: [
|
|
9227
9341
|
{
|
|
9228
9342
|
key: "middleArrowLengthRatio",
|
|
9343
|
+
presentationTier: "advanced",
|
|
9229
9344
|
label: "Middle arrow length",
|
|
9230
9345
|
description: "Middle arrow length as a ratio of the longest (top) arrow.",
|
|
9231
9346
|
type: "number",
|
|
@@ -9235,6 +9350,7 @@ const DISRUPT_METADATA = {
|
|
|
9235
9350
|
},
|
|
9236
9351
|
{
|
|
9237
9352
|
key: "bottomArrowLengthRatio",
|
|
9353
|
+
presentationTier: "advanced",
|
|
9238
9354
|
label: "Bottom arrow length",
|
|
9239
9355
|
description: "Bottom arrow length as a ratio of the longest (top) arrow.",
|
|
9240
9356
|
type: "number",
|
|
@@ -9244,6 +9360,7 @@ const DISRUPT_METADATA = {
|
|
|
9244
9360
|
},
|
|
9245
9361
|
{
|
|
9246
9362
|
key: "shaftLengthRatio",
|
|
9363
|
+
presentationTier: "advanced",
|
|
9247
9364
|
label: "Shaft length",
|
|
9248
9365
|
description: "Center shaft length as a ratio of the longest arrow, extending opposite.",
|
|
9249
9366
|
type: "number",
|
|
@@ -9253,6 +9370,7 @@ const DISRUPT_METADATA = {
|
|
|
9253
9370
|
},
|
|
9254
9371
|
{
|
|
9255
9372
|
key: "arrowheadLengthRatio",
|
|
9373
|
+
presentationTier: "advanced",
|
|
9256
9374
|
label: "Arrowhead length",
|
|
9257
9375
|
description: "Arrowhead length as a ratio of the longest arrow",
|
|
9258
9376
|
type: "number",
|
|
@@ -9262,6 +9380,7 @@ const DISRUPT_METADATA = {
|
|
|
9262
9380
|
},
|
|
9263
9381
|
{
|
|
9264
9382
|
key: "arrowheadWidthRatio",
|
|
9383
|
+
presentationTier: "advanced",
|
|
9265
9384
|
label: "Arrowhead width",
|
|
9266
9385
|
description: "Arrowhead base width as a ratio of the longest arrow",
|
|
9267
9386
|
type: "number",
|
|
@@ -9685,6 +9804,7 @@ const FPF_SHARED = {
|
|
|
9685
9804
|
params: [
|
|
9686
9805
|
{
|
|
9687
9806
|
key: "arrowheadLengthRatio",
|
|
9807
|
+
presentationTier: "advanced",
|
|
9688
9808
|
label: "Arrowhead length",
|
|
9689
9809
|
description: "Arrowhead length as a ratio of each arm's length",
|
|
9690
9810
|
type: "number",
|
|
@@ -9694,6 +9814,7 @@ const FPF_SHARED = {
|
|
|
9694
9814
|
},
|
|
9695
9815
|
{
|
|
9696
9816
|
key: "arrowheadWidthRatio",
|
|
9817
|
+
presentationTier: "advanced",
|
|
9697
9818
|
label: "Arrowhead width",
|
|
9698
9819
|
description: "Arrowhead base width as a multiple of the arrowhead length",
|
|
9699
9820
|
type: "number",
|
|
@@ -9703,6 +9824,7 @@ const FPF_SHARED = {
|
|
|
9703
9824
|
},
|
|
9704
9825
|
{
|
|
9705
9826
|
key: "bladeHeightRatio",
|
|
9827
|
+
presentationTier: "advanced",
|
|
9706
9828
|
label: "Blade height",
|
|
9707
9829
|
description: "Blade's perpendicular reach into the V, as a fraction of its arm's length",
|
|
9708
9830
|
type: "number",
|
|
@@ -9873,6 +9995,7 @@ const FIX_METADATA = {
|
|
|
9873
9995
|
params: [
|
|
9874
9996
|
{
|
|
9875
9997
|
key: "arrowheadAngle",
|
|
9998
|
+
presentationTier: "advanced",
|
|
9876
9999
|
label: "Arrowhead angle",
|
|
9877
10000
|
description: "Half-angle of the open arrowhead wings, in degrees.",
|
|
9878
10001
|
type: "number",
|
|
@@ -9882,6 +10005,7 @@ const FIX_METADATA = {
|
|
|
9882
10005
|
},
|
|
9883
10006
|
{
|
|
9884
10007
|
key: "arrowheadLengthRatio",
|
|
10008
|
+
presentationTier: "advanced",
|
|
9885
10009
|
label: "Arrowhead length",
|
|
9886
10010
|
description: "Arrowhead length as a ratio of the axis length",
|
|
9887
10011
|
type: "number",
|
|
@@ -9891,6 +10015,7 @@ const FIX_METADATA = {
|
|
|
9891
10015
|
},
|
|
9892
10016
|
{
|
|
9893
10017
|
key: "endSegmentRatio",
|
|
10018
|
+
presentationTier: "advanced",
|
|
9894
10019
|
label: "End segment",
|
|
9895
10020
|
description: "Flat end segment length as a ratio of the axis (capped at 0.35).",
|
|
9896
10021
|
type: "number",
|
|
@@ -10015,6 +10140,7 @@ const FIX_MISSION_TASK_METADATA = {
|
|
|
10015
10140
|
params: [
|
|
10016
10141
|
{
|
|
10017
10142
|
key: "arrowheadLengthRatio",
|
|
10143
|
+
presentationTier: "advanced",
|
|
10018
10144
|
label: "Arrowhead length",
|
|
10019
10145
|
description: "Arrowhead length as a ratio of the axis length",
|
|
10020
10146
|
type: "number",
|
|
@@ -10024,6 +10150,7 @@ const FIX_MISSION_TASK_METADATA = {
|
|
|
10024
10150
|
},
|
|
10025
10151
|
{
|
|
10026
10152
|
key: "arrowheadWidthRatio",
|
|
10153
|
+
presentationTier: "advanced",
|
|
10027
10154
|
label: "Arrowhead width",
|
|
10028
10155
|
description: "Arrowhead base width as a ratio of the axis length",
|
|
10029
10156
|
type: "number",
|
|
@@ -10033,6 +10160,7 @@ const FIX_MISSION_TASK_METADATA = {
|
|
|
10033
10160
|
},
|
|
10034
10161
|
{
|
|
10035
10162
|
key: "zigzagStartRatio",
|
|
10163
|
+
presentationTier: "advanced",
|
|
10036
10164
|
label: "Zigzag start",
|
|
10037
10165
|
description: "Position where the zigzag begins, measured from PT2",
|
|
10038
10166
|
type: "number",
|
|
@@ -10042,6 +10170,7 @@ const FIX_MISSION_TASK_METADATA = {
|
|
|
10042
10170
|
},
|
|
10043
10171
|
{
|
|
10044
10172
|
key: "zigzagEndRatio",
|
|
10173
|
+
presentationTier: "advanced",
|
|
10045
10174
|
label: "Zigzag end",
|
|
10046
10175
|
description: "Position where the zigzag ends, measured from PT2",
|
|
10047
10176
|
type: "number",
|
|
@@ -10051,6 +10180,7 @@ const FIX_MISSION_TASK_METADATA = {
|
|
|
10051
10180
|
},
|
|
10052
10181
|
{
|
|
10053
10182
|
key: "zigzagPeakCount",
|
|
10183
|
+
presentationTier: "advanced",
|
|
10054
10184
|
label: "Zigzag peaks",
|
|
10055
10185
|
description: "Number of upward peaks in the zigzag body",
|
|
10056
10186
|
type: "number",
|
|
@@ -10060,6 +10190,7 @@ const FIX_MISSION_TASK_METADATA = {
|
|
|
10060
10190
|
},
|
|
10061
10191
|
{
|
|
10062
10192
|
key: "labelPositionRatio",
|
|
10193
|
+
presentationTier: "advanced",
|
|
10063
10194
|
label: "Label position",
|
|
10064
10195
|
description: "Position of the F label along the axis, measured from PT2",
|
|
10065
10196
|
type: "number",
|
|
@@ -10069,6 +10200,7 @@ const FIX_MISSION_TASK_METADATA = {
|
|
|
10069
10200
|
},
|
|
10070
10201
|
{
|
|
10071
10202
|
key: "labelGapRatio",
|
|
10203
|
+
presentationTier: "advanced",
|
|
10072
10204
|
label: "Label gap",
|
|
10073
10205
|
description: "Size of the shaft gap holding the F label",
|
|
10074
10206
|
type: "number",
|
|
@@ -10209,6 +10341,7 @@ const FLOT_METADATA = {
|
|
|
10209
10341
|
LINE_LABEL_PADDING_PARAM,
|
|
10210
10342
|
{
|
|
10211
10343
|
key: "arcSegments",
|
|
10344
|
+
presentationTier: "advanced",
|
|
10212
10345
|
label: "Arc segments",
|
|
10213
10346
|
description: "Number of points used to render each semicircle",
|
|
10214
10347
|
type: "number",
|
|
@@ -10387,6 +10520,7 @@ const PHASE_LINE_METADATA = {
|
|
|
10387
10520
|
},
|
|
10388
10521
|
{
|
|
10389
10522
|
key: "labelPadding",
|
|
10523
|
+
presentationTier: "advanced",
|
|
10390
10524
|
label: "Label padding",
|
|
10391
10525
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
10392
10526
|
type: "number",
|
|
@@ -10456,6 +10590,8 @@ const BRIDGEHEAD_LINE_METADATA = {
|
|
|
10456
10590
|
...SMOOTH_LINE_PARAMS,
|
|
10457
10591
|
{
|
|
10458
10592
|
key: "phaseLineName",
|
|
10593
|
+
presentationTier: "primary",
|
|
10594
|
+
semanticRole: "doctrinal",
|
|
10459
10595
|
label: "Phase line name",
|
|
10460
10596
|
description: "Name the line as a phase line — rendered \"PL <name>\" beyond each end of the line.",
|
|
10461
10597
|
type: "text",
|
|
@@ -10472,6 +10608,7 @@ const BRIDGEHEAD_LINE_METADATA = {
|
|
|
10472
10608
|
},
|
|
10473
10609
|
{
|
|
10474
10610
|
key: "labelPadding",
|
|
10611
|
+
presentationTier: "advanced",
|
|
10475
10612
|
label: "Label padding",
|
|
10476
10613
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
10477
10614
|
type: "number",
|
|
@@ -10529,6 +10666,8 @@ const HOLDING_LINE_METADATA = {
|
|
|
10529
10666
|
...SMOOTH_LINE_PARAMS,
|
|
10530
10667
|
{
|
|
10531
10668
|
key: "phaseLineName",
|
|
10669
|
+
presentationTier: "primary",
|
|
10670
|
+
semanticRole: "doctrinal",
|
|
10532
10671
|
label: "Phase line name",
|
|
10533
10672
|
description: "Name the line as a phase line — rendered \"PL <name>\" beyond each end of the line.",
|
|
10534
10673
|
type: "text",
|
|
@@ -10545,6 +10684,7 @@ const HOLDING_LINE_METADATA = {
|
|
|
10545
10684
|
},
|
|
10546
10685
|
{
|
|
10547
10686
|
key: "labelPadding",
|
|
10687
|
+
presentationTier: "advanced",
|
|
10548
10688
|
label: "Label padding",
|
|
10549
10689
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
10550
10690
|
type: "number",
|
|
@@ -10602,6 +10742,8 @@ const RELEASE_LINE_METADATA = {
|
|
|
10602
10742
|
...SMOOTH_LINE_PARAMS,
|
|
10603
10743
|
{
|
|
10604
10744
|
key: "phaseLineName",
|
|
10745
|
+
presentationTier: "primary",
|
|
10746
|
+
semanticRole: "doctrinal",
|
|
10605
10747
|
label: "Phase line name",
|
|
10606
10748
|
description: "Name the line as a phase line — rendered \"PL <name>\" beyond each end of the line.",
|
|
10607
10749
|
type: "text",
|
|
@@ -10618,6 +10760,7 @@ const RELEASE_LINE_METADATA = {
|
|
|
10618
10760
|
},
|
|
10619
10761
|
{
|
|
10620
10762
|
key: "labelPadding",
|
|
10763
|
+
presentationTier: "advanced",
|
|
10621
10764
|
label: "Label padding",
|
|
10622
10765
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
10623
10766
|
type: "number",
|
|
@@ -10675,6 +10818,8 @@ const FORWARD_EDGE_OF_BATTLE_AREA_METADATA = {
|
|
|
10675
10818
|
...SMOOTH_LINE_PARAMS,
|
|
10676
10819
|
{
|
|
10677
10820
|
key: "phaseLineName",
|
|
10821
|
+
presentationTier: "primary",
|
|
10822
|
+
semanticRole: "doctrinal",
|
|
10678
10823
|
label: "Phase line name",
|
|
10679
10824
|
description: "Name the line as a phase line — rendered \"PL <name>\" beyond each end of the line.",
|
|
10680
10825
|
type: "text",
|
|
@@ -10691,6 +10836,7 @@ const FORWARD_EDGE_OF_BATTLE_AREA_METADATA = {
|
|
|
10691
10836
|
},
|
|
10692
10837
|
{
|
|
10693
10838
|
key: "labelPadding",
|
|
10839
|
+
presentationTier: "advanced",
|
|
10694
10840
|
label: "Label padding",
|
|
10695
10841
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
10696
10842
|
type: "number",
|
|
@@ -10756,7 +10902,9 @@ const HANDOVER_LINE_METADATA = {
|
|
|
10756
10902
|
type: "text",
|
|
10757
10903
|
placeholder: "DAVID",
|
|
10758
10904
|
maxLength: 21,
|
|
10759
|
-
field: "T"
|
|
10905
|
+
field: "T",
|
|
10906
|
+
presentationTier: "primary",
|
|
10907
|
+
semanticRole: "doctrinal"
|
|
10760
10908
|
},
|
|
10761
10909
|
{
|
|
10762
10910
|
key: "includePrefix",
|
|
@@ -10767,6 +10915,7 @@ const HANDOVER_LINE_METADATA = {
|
|
|
10767
10915
|
},
|
|
10768
10916
|
{
|
|
10769
10917
|
key: "labelPadding",
|
|
10918
|
+
presentationTier: "advanced",
|
|
10770
10919
|
label: "Label padding",
|
|
10771
10920
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
10772
10921
|
type: "number",
|
|
@@ -10827,6 +10976,8 @@ const BATTLE_HANDOVER_LINE_METADATA = {
|
|
|
10827
10976
|
...SMOOTH_LINE_PARAMS,
|
|
10828
10977
|
{
|
|
10829
10978
|
key: "phaseLineName",
|
|
10979
|
+
presentationTier: "primary",
|
|
10980
|
+
semanticRole: "doctrinal",
|
|
10830
10981
|
label: "Phase line name",
|
|
10831
10982
|
description: "Name the line as a phase line — rendered \"PL <name>\" beyond each end of the line.",
|
|
10832
10983
|
type: "text",
|
|
@@ -10843,6 +10994,7 @@ const BATTLE_HANDOVER_LINE_METADATA = {
|
|
|
10843
10994
|
},
|
|
10844
10995
|
{
|
|
10845
10996
|
key: "labelPadding",
|
|
10997
|
+
presentationTier: "advanced",
|
|
10846
10998
|
label: "Label padding",
|
|
10847
10999
|
description: "Extra clearance between the line and its labels, as a ratio of the label height",
|
|
10848
11000
|
type: "number",
|
|
@@ -11228,6 +11380,7 @@ function createManeuverArrowTask(coordinates, options, textAmplifiers, config) {
|
|
|
11228
11380
|
const MANEUVER_ARROW_TASK_PARAMS = [
|
|
11229
11381
|
{
|
|
11230
11382
|
key: "crossbarLengthRatio",
|
|
11383
|
+
presentationTier: "advanced",
|
|
11231
11384
|
label: "Straight line length",
|
|
11232
11385
|
description: "Crossbar length as a multiple of the arrowhead base width",
|
|
11233
11386
|
type: "number",
|
|
@@ -11237,6 +11390,7 @@ const MANEUVER_ARROW_TASK_PARAMS = [
|
|
|
11237
11390
|
},
|
|
11238
11391
|
{
|
|
11239
11392
|
key: "labelPosition",
|
|
11393
|
+
presentationTier: "advanced",
|
|
11240
11394
|
label: "Designation position",
|
|
11241
11395
|
description: "Position of Field T along the shaft, from tail (0) to head (1)",
|
|
11242
11396
|
type: "number",
|
|
@@ -11246,6 +11400,7 @@ const MANEUVER_ARROW_TASK_PARAMS = [
|
|
|
11246
11400
|
},
|
|
11247
11401
|
{
|
|
11248
11402
|
key: "dtgPosition",
|
|
11403
|
+
presentationTier: "advanced",
|
|
11249
11404
|
label: "Date-time position",
|
|
11250
11405
|
description: "Position of Fields W/W1 along the shaft, from tail (0) to head (1)",
|
|
11251
11406
|
type: "number",
|
|
@@ -11255,6 +11410,7 @@ const MANEUVER_ARROW_TASK_PARAMS = [
|
|
|
11255
11410
|
},
|
|
11256
11411
|
{
|
|
11257
11412
|
key: "labelPadding",
|
|
11413
|
+
presentationTier: "advanced",
|
|
11258
11414
|
label: "Label padding",
|
|
11259
11415
|
description: "Extra spacing between the W and W1 rows, in label heights",
|
|
11260
11416
|
type: "number",
|
|
@@ -11364,6 +11520,7 @@ const ISOLATE_METADATA = {
|
|
|
11364
11520
|
params: [
|
|
11365
11521
|
{
|
|
11366
11522
|
key: "openingAngle",
|
|
11523
|
+
presentationTier: "advanced",
|
|
11367
11524
|
label: "Opening",
|
|
11368
11525
|
description: "Angular width of the gap on the friendly side, in degrees",
|
|
11369
11526
|
type: "number",
|
|
@@ -11373,6 +11530,7 @@ const ISOLATE_METADATA = {
|
|
|
11373
11530
|
},
|
|
11374
11531
|
{
|
|
11375
11532
|
key: "barbCount",
|
|
11533
|
+
presentationTier: "advanced",
|
|
11376
11534
|
label: "Barbs",
|
|
11377
11535
|
description: "Number of inward-pointing barbs spaced along the closed arc",
|
|
11378
11536
|
type: "number",
|
|
@@ -11382,6 +11540,7 @@ const ISOLATE_METADATA = {
|
|
|
11382
11540
|
},
|
|
11383
11541
|
{
|
|
11384
11542
|
key: "barbLengthRatio",
|
|
11543
|
+
presentationTier: "advanced",
|
|
11385
11544
|
label: "Barb length",
|
|
11386
11545
|
description: "Length of each inward barb, as a ratio of the symbol radius",
|
|
11387
11546
|
type: "number",
|
|
@@ -11497,6 +11656,7 @@ const PENETRATE_METADATA = {
|
|
|
11497
11656
|
params: [
|
|
11498
11657
|
{
|
|
11499
11658
|
key: "arrowheadLengthRatio",
|
|
11659
|
+
presentationTier: "advanced",
|
|
11500
11660
|
label: "Arrowhead length",
|
|
11501
11661
|
description: "Arrowhead length as a ratio of the barrier length",
|
|
11502
11662
|
type: "number",
|
|
@@ -11506,6 +11666,7 @@ const PENETRATE_METADATA = {
|
|
|
11506
11666
|
},
|
|
11507
11667
|
{
|
|
11508
11668
|
key: "arrowheadWidthRatio",
|
|
11669
|
+
presentationTier: "advanced",
|
|
11509
11670
|
label: "Arrowhead width",
|
|
11510
11671
|
description: "Arrowhead base width as a ratio of the barrier length",
|
|
11511
11672
|
type: "number",
|
|
@@ -11515,6 +11676,7 @@ const PENETRATE_METADATA = {
|
|
|
11515
11676
|
},
|
|
11516
11677
|
{
|
|
11517
11678
|
key: "labelGapRatio",
|
|
11679
|
+
presentationTier: "advanced",
|
|
11518
11680
|
label: "Label gap",
|
|
11519
11681
|
description: "Size of the shaft gap holding the 'P' label",
|
|
11520
11682
|
type: "number",
|
|
@@ -11738,6 +11900,7 @@ const SEIZE_METADATA = {
|
|
|
11738
11900
|
params: [
|
|
11739
11901
|
{
|
|
11740
11902
|
key: "arrowheadLengthRatio",
|
|
11903
|
+
presentationTier: "advanced",
|
|
11741
11904
|
label: "Arrowhead length",
|
|
11742
11905
|
description: "Arrowhead length as a ratio of the PT. 2-to-PT. 4 span",
|
|
11743
11906
|
type: "number",
|
|
@@ -11747,6 +11910,7 @@ const SEIZE_METADATA = {
|
|
|
11747
11910
|
},
|
|
11748
11911
|
{
|
|
11749
11912
|
key: "arrowheadWidthRatio",
|
|
11913
|
+
presentationTier: "advanced",
|
|
11750
11914
|
label: "Arrowhead width",
|
|
11751
11915
|
description: "Arrowhead base width as a ratio of the PT. 2-to-PT. 4 span",
|
|
11752
11916
|
type: "number",
|
|
@@ -11756,6 +11920,7 @@ const SEIZE_METADATA = {
|
|
|
11756
11920
|
},
|
|
11757
11921
|
{
|
|
11758
11922
|
key: "labelGapRatio",
|
|
11923
|
+
presentationTier: "advanced",
|
|
11759
11924
|
label: "Label gap",
|
|
11760
11925
|
description: "Size of the curve gap holding the S label",
|
|
11761
11926
|
type: "number",
|
|
@@ -11765,6 +11930,7 @@ const SEIZE_METADATA = {
|
|
|
11765
11930
|
},
|
|
11766
11931
|
{
|
|
11767
11932
|
key: "curveSegments",
|
|
11933
|
+
presentationTier: "advanced",
|
|
11768
11934
|
label: "Curve segments",
|
|
11769
11935
|
description: "Number of straight segments used to approximate the circular arc",
|
|
11770
11936
|
type: "number",
|
|
@@ -11774,6 +11940,7 @@ const SEIZE_METADATA = {
|
|
|
11774
11940
|
},
|
|
11775
11941
|
{
|
|
11776
11942
|
key: "circleSegments",
|
|
11943
|
+
presentationTier: "advanced",
|
|
11777
11944
|
label: "Circle segments",
|
|
11778
11945
|
description: "Number of straight segments used to approximate the assigned-unit circle",
|
|
11779
11946
|
type: "number",
|
|
@@ -12364,6 +12531,54 @@ const MAIN_ATTACK = defineControlMeasure({
|
|
|
12364
12531
|
rule: axis1DrawRule
|
|
12365
12532
|
});
|
|
12366
12533
|
//#endregion
|
|
12534
|
+
//#region src/generators/cm27-protection-areas/mine-types.ts
|
|
12535
|
+
/** Shared Modifier 1 parameter used by all minefield and mined-area graphics. */
|
|
12536
|
+
const MINE_TYPE_PARAM = {
|
|
12537
|
+
key: "mineType",
|
|
12538
|
+
label: "Mine type",
|
|
12539
|
+
description: "Modifier 1 (symbol set 25 values 13–18).",
|
|
12540
|
+
type: "enum",
|
|
12541
|
+
presentationTier: "primary",
|
|
12542
|
+
semanticRole: "doctrinal",
|
|
12543
|
+
options: [
|
|
12544
|
+
{
|
|
12545
|
+
label: "Unspecified mine (13)",
|
|
12546
|
+
value: "unspecified"
|
|
12547
|
+
},
|
|
12548
|
+
{
|
|
12549
|
+
label: "Antipersonnel mine (14)",
|
|
12550
|
+
value: "antipersonnel"
|
|
12551
|
+
},
|
|
12552
|
+
{
|
|
12553
|
+
label: "Antipersonnel mine with directional effects (15)",
|
|
12554
|
+
value: "antipersonnel-directional"
|
|
12555
|
+
},
|
|
12556
|
+
{
|
|
12557
|
+
label: "Antitank mine (16)",
|
|
12558
|
+
value: "antitank"
|
|
12559
|
+
},
|
|
12560
|
+
{
|
|
12561
|
+
label: "Antitank mine with antihandling device (17)",
|
|
12562
|
+
value: "antitank-antihandling"
|
|
12563
|
+
},
|
|
12564
|
+
{
|
|
12565
|
+
label: "Wide area antitank mine (18)",
|
|
12566
|
+
value: "wide-area-antitank"
|
|
12567
|
+
}
|
|
12568
|
+
]
|
|
12569
|
+
};
|
|
12570
|
+
const MINE_FILL_PATTERNS = {
|
|
12571
|
+
unspecified: "mine-unspecified",
|
|
12572
|
+
antipersonnel: "mine-antipersonnel",
|
|
12573
|
+
"antipersonnel-directional": "mine-antipersonnel-directional",
|
|
12574
|
+
antitank: "mine-antitank",
|
|
12575
|
+
"antitank-antihandling": "mine-antitank-antihandling",
|
|
12576
|
+
"wide-area-antitank": "mine-wide-area-antitank"
|
|
12577
|
+
};
|
|
12578
|
+
function mineFillPattern(mineType) {
|
|
12579
|
+
return MINE_FILL_PATTERNS[mineType];
|
|
12580
|
+
}
|
|
12581
|
+
//#endregion
|
|
12367
12582
|
//#region src/generators/cm27-protection-areas/minefield.ts
|
|
12368
12583
|
const DEFAULT_MINEFIELD_OPTIONS = {
|
|
12369
12584
|
mineType: "unspecified",
|
|
@@ -12377,8 +12592,8 @@ const MINEFIELD_METADATA = {
|
|
|
12377
12592
|
name: "Minefield",
|
|
12378
12593
|
description: "A static point symbol identifying a minefield and its mine type.",
|
|
12379
12594
|
entity: "Protection Areas",
|
|
12380
|
-
entityType: "Minefield",
|
|
12381
|
-
entitySubtype: "Minefield",
|
|
12595
|
+
entityType: "Minefield Symbol",
|
|
12596
|
+
entitySubtype: "Minefield (Static)",
|
|
12382
12597
|
value: "270701",
|
|
12383
12598
|
minCoordinates: 1,
|
|
12384
12599
|
maxCoordinates: 1,
|
|
@@ -12396,38 +12611,7 @@ const MINEFIELD_METADATA = {
|
|
|
12396
12611
|
},
|
|
12397
12612
|
drawRule: "Point2",
|
|
12398
12613
|
params: [
|
|
12399
|
-
|
|
12400
|
-
key: "mineType",
|
|
12401
|
-
label: "Mine type",
|
|
12402
|
-
description: "Modifier 1 (symbol set 25 values 13–18).",
|
|
12403
|
-
type: "enum",
|
|
12404
|
-
options: [
|
|
12405
|
-
{
|
|
12406
|
-
label: "Unspecified mine (13)",
|
|
12407
|
-
value: "unspecified"
|
|
12408
|
-
},
|
|
12409
|
-
{
|
|
12410
|
-
label: "Antipersonnel mine (14)",
|
|
12411
|
-
value: "antipersonnel"
|
|
12412
|
-
},
|
|
12413
|
-
{
|
|
12414
|
-
label: "Antipersonnel mine with directional effects (15)",
|
|
12415
|
-
value: "antipersonnel-directional"
|
|
12416
|
-
},
|
|
12417
|
-
{
|
|
12418
|
-
label: "Antitank mine (16)",
|
|
12419
|
-
value: "antitank"
|
|
12420
|
-
},
|
|
12421
|
-
{
|
|
12422
|
-
label: "Antitank mine with antihandling device (17)",
|
|
12423
|
-
value: "antitank-antihandling"
|
|
12424
|
-
},
|
|
12425
|
-
{
|
|
12426
|
-
label: "Wide area antitank mine (18)",
|
|
12427
|
-
value: "wide-area-antitank"
|
|
12428
|
-
}
|
|
12429
|
-
]
|
|
12430
|
-
},
|
|
12614
|
+
MINE_TYPE_PARAM,
|
|
12431
12615
|
{
|
|
12432
12616
|
key: "sizeMeters",
|
|
12433
12617
|
label: "Size",
|
|
@@ -12652,10 +12836,140 @@ const MINEFIELD = defineControlMeasure({
|
|
|
12652
12836
|
}
|
|
12653
12837
|
});
|
|
12654
12838
|
//#endregion
|
|
12839
|
+
//#region src/generators/cm27-protection-areas/mine-areas.ts
|
|
12840
|
+
const DEFAULT_MINE_AREA_OPTIONS = {
|
|
12841
|
+
mineType: "unspecified",
|
|
12842
|
+
smooth: false,
|
|
12843
|
+
smoothResolution: 16
|
|
12844
|
+
};
|
|
12845
|
+
const COMMON_METADATA = {
|
|
12846
|
+
entity: "Protection Areas",
|
|
12847
|
+
minCoordinates: 3,
|
|
12848
|
+
geometry: "area",
|
|
12849
|
+
geometryTypes: [
|
|
12850
|
+
"Polygon",
|
|
12851
|
+
"MultiLineString",
|
|
12852
|
+
"Point"
|
|
12853
|
+
],
|
|
12854
|
+
paints: {
|
|
12855
|
+
stroke: true,
|
|
12856
|
+
fill: "fixed",
|
|
12857
|
+
text: true
|
|
12858
|
+
},
|
|
12859
|
+
drawRule: "Area1",
|
|
12860
|
+
capturesLabelSize: true,
|
|
12861
|
+
params: [
|
|
12862
|
+
MINE_TYPE_PARAM,
|
|
12863
|
+
...AREA_SMOOTH_PARAMS,
|
|
12864
|
+
AREA_LABEL_PADDING_PARAM
|
|
12865
|
+
],
|
|
12866
|
+
textAmplifiers: [AREA_HOSTILE_AMPLIFIER]
|
|
12867
|
+
};
|
|
12868
|
+
const DYNAMIC_MINEFIELD_METADATA = {
|
|
12869
|
+
...COMMON_METADATA,
|
|
12870
|
+
id: "minefield-dynamic",
|
|
12871
|
+
name: "Minefield (Dynamic)",
|
|
12872
|
+
description: "A free-area minefield filled with the selected Modifier 1 mine pictogram.",
|
|
12873
|
+
entityType: "Minefield Symbol",
|
|
12874
|
+
entitySubtype: "Minefield (Dynamic)",
|
|
12875
|
+
value: "270707"
|
|
12876
|
+
};
|
|
12877
|
+
const MINED_AREA_METADATA = {
|
|
12878
|
+
...COMMON_METADATA,
|
|
12879
|
+
id: "mined-area",
|
|
12880
|
+
name: "Mined Area",
|
|
12881
|
+
description: "An area dangerous because of the presence or suspected presence of mines.",
|
|
12882
|
+
entityType: "Mined Area",
|
|
12883
|
+
value: "270800"
|
|
12884
|
+
};
|
|
12885
|
+
function axisIntersections(ring, axis, target) {
|
|
12886
|
+
const other = axis === 0 ? 1 : 0;
|
|
12887
|
+
const intersections = [];
|
|
12888
|
+
for (let index = 0; index < ring.length - 1; index++) {
|
|
12889
|
+
const a = ring[index];
|
|
12890
|
+
const b = ring[index + 1];
|
|
12891
|
+
const av = a[axis];
|
|
12892
|
+
const bv = b[axis];
|
|
12893
|
+
if (Math.min(av, bv) <= target && target < Math.max(av, bv)) {
|
|
12894
|
+
const ratio = (target - av) / (bv - av);
|
|
12895
|
+
const point = [0, 0];
|
|
12896
|
+
point[axis] = target;
|
|
12897
|
+
point[other] = a[other] + ratio * (b[other] - a[other]);
|
|
12898
|
+
intersections.push(point);
|
|
12899
|
+
}
|
|
12900
|
+
}
|
|
12901
|
+
return intersections;
|
|
12902
|
+
}
|
|
12903
|
+
function cardinalBoundaryPoints(ring, sideOffset = 0) {
|
|
12904
|
+
const center = ringLabelAnchor(ring);
|
|
12905
|
+
const fallback = ring.slice(0, -1);
|
|
12906
|
+
const scans = /* @__PURE__ */ new Map();
|
|
12907
|
+
const extremeAt = (fixedAxis, target, resultAxis, direction) => {
|
|
12908
|
+
const key = `${fixedAxis}:${target}`;
|
|
12909
|
+
let crossings = scans.get(key);
|
|
12910
|
+
if (!crossings) {
|
|
12911
|
+
crossings = axisIntersections(ring, fixedAxis, target);
|
|
12912
|
+
scans.set(key, crossings);
|
|
12913
|
+
}
|
|
12914
|
+
return (crossings.length > 0 ? crossings : fallback).reduce((best, point) => point[resultAxis] * direction > best[resultAxis] * direction ? point : best);
|
|
12915
|
+
};
|
|
12916
|
+
return [
|
|
12917
|
+
extremeAt(0, center[0], 1, 1),
|
|
12918
|
+
extremeAt(1, center[1] + sideOffset, 0, 1),
|
|
12919
|
+
extremeAt(0, center[0], 1, -1),
|
|
12920
|
+
extremeAt(1, center[1] - sideOffset, 0, -1)
|
|
12921
|
+
];
|
|
12922
|
+
}
|
|
12923
|
+
function createMineArea(positions, options, minedArea, textAmplifiers, context) {
|
|
12924
|
+
const ring = buildClosedRing(positions, options.smooth ?? DEFAULT_MINE_AREA_OPTIONS.smooth, options.smoothResolution ?? DEFAULT_MINE_AREA_OPTIONS.smoothResolution, 16);
|
|
12925
|
+
const mineType = options.mineType ?? DEFAULT_MINE_AREA_OPTIONS.mineType;
|
|
12926
|
+
const labelFeatures = [];
|
|
12927
|
+
const sideOffset = textAmplifiers.N ? resolveLabelOffsetMeters(options, 1.5) : 0;
|
|
12928
|
+
return {
|
|
12929
|
+
type: "FeatureCollection",
|
|
12930
|
+
features: [...patternedAreaFeatures(ring, [...minedArea ? pushBoundaryMarkers(labelFeatures, ring, "M", cardinalBoundaryPoints(ring, sideOffset).map((point) => ({ point })), {
|
|
12931
|
+
rotation: HORIZONTAL_LABEL_ROTATION,
|
|
12932
|
+
textHeight: resolveLabelOffsetMeters(options, 1),
|
|
12933
|
+
clearance: resolveLabelOffsetMeters(options, .12),
|
|
12934
|
+
sizeProps: labelSizeProps(options)
|
|
12935
|
+
}) : [], ...pushAreaLabels(labelFeatures, ring, { hostile: textAmplifiers.N }, options, context.amplifierPlacements)], mineFillPattern(mineType)), ...labelFeatures]
|
|
12936
|
+
};
|
|
12937
|
+
}
|
|
12938
|
+
function createDynamicMinefield(positions, options = {}, textAmplifiers = {}, context = {}) {
|
|
12939
|
+
return createMineArea(positions, options, false, textAmplifiers, context);
|
|
12940
|
+
}
|
|
12941
|
+
function createMinedArea(positions, options = {}, textAmplifiers = {}, context = {}) {
|
|
12942
|
+
return createMineArea(positions, options, true, textAmplifiers, context);
|
|
12943
|
+
}
|
|
12944
|
+
const PREVIEW_POINTS = [
|
|
12945
|
+
[-1, -.55],
|
|
12946
|
+
[1, -.55],
|
|
12947
|
+
[1, .55],
|
|
12948
|
+
[-1, .55]
|
|
12949
|
+
];
|
|
12950
|
+
const DYNAMIC_MINEFIELD = defineControlMeasure({
|
|
12951
|
+
metadata: DYNAMIC_MINEFIELD_METADATA,
|
|
12952
|
+
generator: createDynamicMinefield,
|
|
12953
|
+
defaultOptions: DEFAULT_MINE_AREA_OPTIONS,
|
|
12954
|
+
rule: area1DrawRule,
|
|
12955
|
+
previewSample: { controlPoints: PREVIEW_POINTS }
|
|
12956
|
+
});
|
|
12957
|
+
const MINED_AREA = defineControlMeasure({
|
|
12958
|
+
metadata: MINED_AREA_METADATA,
|
|
12959
|
+
generator: createMinedArea,
|
|
12960
|
+
defaultOptions: DEFAULT_MINE_AREA_OPTIONS,
|
|
12961
|
+
rule: area1DrawRule,
|
|
12962
|
+
previewSample: {
|
|
12963
|
+
controlPoints: PREVIEW_POINTS,
|
|
12964
|
+
options: { labelSizePixels: 22 }
|
|
12965
|
+
}
|
|
12966
|
+
});
|
|
12967
|
+
//#endregion
|
|
12655
12968
|
//#region src/generators/cm27-protection-areas/params.ts
|
|
12656
12969
|
const OBSTACLE_BYPASS_PARAMS = [
|
|
12657
12970
|
{
|
|
12658
12971
|
key: "arrowheadLengthRatio",
|
|
12972
|
+
presentationTier: "advanced",
|
|
12659
12973
|
label: "Arrowhead length",
|
|
12660
12974
|
description: "Arrowhead length as a ratio of the opening width",
|
|
12661
12975
|
type: "number",
|
|
@@ -12665,6 +12979,7 @@ const OBSTACLE_BYPASS_PARAMS = [
|
|
|
12665
12979
|
},
|
|
12666
12980
|
{
|
|
12667
12981
|
key: "arrowheadWidthRatio",
|
|
12982
|
+
presentationTier: "advanced",
|
|
12668
12983
|
label: "Arrowhead width",
|
|
12669
12984
|
description: "Arrowhead base width as a ratio of the opening width",
|
|
12670
12985
|
type: "number",
|
|
@@ -12674,6 +12989,7 @@ const OBSTACLE_BYPASS_PARAMS = [
|
|
|
12674
12989
|
},
|
|
12675
12990
|
{
|
|
12676
12991
|
key: "defaultLengthRatio",
|
|
12992
|
+
presentationTier: "advanced",
|
|
12677
12993
|
label: "Default length",
|
|
12678
12994
|
description: "Symbol depth as a ratio of opening width when no hint point is given",
|
|
12679
12995
|
type: "number",
|
|
@@ -12712,6 +13028,7 @@ const OBSTACLE_BYPASS_DIFFICULT_METADATA = {
|
|
|
12712
13028
|
...OBSTACLE_BYPASS_PARAMS,
|
|
12713
13029
|
{
|
|
12714
13030
|
key: "zigzagAmplitudeRatio",
|
|
13031
|
+
presentationTier: "advanced",
|
|
12715
13032
|
label: "Zigzag amplitude",
|
|
12716
13033
|
description: "Zigzag tooth depth as a ratio of the opening width.",
|
|
12717
13034
|
type: "number",
|
|
@@ -12721,6 +13038,7 @@ const OBSTACLE_BYPASS_DIFFICULT_METADATA = {
|
|
|
12721
13038
|
},
|
|
12722
13039
|
{
|
|
12723
13040
|
key: "zigzagSpacingRatio",
|
|
13041
|
+
presentationTier: "advanced",
|
|
12724
13042
|
label: "Zigzag spacing",
|
|
12725
13043
|
description: "Spacing between zigzag teeth as a ratio of the opening width.",
|
|
12726
13044
|
type: "number",
|
|
@@ -12964,6 +13282,7 @@ const OBSTACLE_BYPASS_IMPOSSIBLE_METADATA = {
|
|
|
12964
13282
|
...OBSTACLE_BYPASS_PARAMS,
|
|
12965
13283
|
{
|
|
12966
13284
|
key: "rearBarLengthRatio",
|
|
13285
|
+
presentationTier: "advanced",
|
|
12967
13286
|
label: "Rear bar length",
|
|
12968
13287
|
description: "Length of each rear barrier bar as a ratio of the opening width.",
|
|
12969
13288
|
type: "number",
|
|
@@ -12973,6 +13292,7 @@ const OBSTACLE_BYPASS_IMPOSSIBLE_METADATA = {
|
|
|
12973
13292
|
},
|
|
12974
13293
|
{
|
|
12975
13294
|
key: "rearGapRatio",
|
|
13295
|
+
presentationTier: "advanced",
|
|
12976
13296
|
label: "Rear gap",
|
|
12977
13297
|
description: "Gap between the two rear bars as a ratio of the opening width.",
|
|
12978
13298
|
type: "number",
|
|
@@ -13324,6 +13644,7 @@ const PRINCIPAL_DIRECTION_OF_FIRE_METADATA = {
|
|
|
13324
13644
|
drawRule: "Line3",
|
|
13325
13645
|
params: [{
|
|
13326
13646
|
key: "arrowheadLengthRatio",
|
|
13647
|
+
presentationTier: "advanced",
|
|
13327
13648
|
label: "Arrowhead length",
|
|
13328
13649
|
description: "Arrowhead length as a ratio of each arm's length",
|
|
13329
13650
|
type: "number",
|
|
@@ -13332,6 +13653,7 @@ const PRINCIPAL_DIRECTION_OF_FIRE_METADATA = {
|
|
|
13332
13653
|
step: .01
|
|
13333
13654
|
}, {
|
|
13334
13655
|
key: "arrowheadWidthRatio",
|
|
13656
|
+
presentationTier: "advanced",
|
|
13335
13657
|
label: "Arrowhead width",
|
|
13336
13658
|
description: "Arrowhead base width as a multiple of the arrowhead length",
|
|
13337
13659
|
type: "number",
|
|
@@ -13410,6 +13732,7 @@ const SECONDARY_DIRECTION_OF_FIRE_METADATA = {
|
|
|
13410
13732
|
drawRule: "Line3",
|
|
13411
13733
|
params: [{
|
|
13412
13734
|
key: "arrowheadLengthRatio",
|
|
13735
|
+
presentationTier: "advanced",
|
|
13413
13736
|
label: "Arrowhead length",
|
|
13414
13737
|
description: "Arrowhead length as a ratio of each arm's length",
|
|
13415
13738
|
type: "number",
|
|
@@ -13418,6 +13741,7 @@ const SECONDARY_DIRECTION_OF_FIRE_METADATA = {
|
|
|
13418
13741
|
step: .01
|
|
13419
13742
|
}, {
|
|
13420
13743
|
key: "arrowheadWidthRatio",
|
|
13744
|
+
presentationTier: "advanced",
|
|
13421
13745
|
label: "Arrowhead width",
|
|
13422
13746
|
description: "Arrowhead base width as a multiple of the arrowhead length",
|
|
13423
13747
|
type: "number",
|
|
@@ -13925,6 +14249,7 @@ const TURN_METADATA = {
|
|
|
13925
14249
|
params: [
|
|
13926
14250
|
{
|
|
13927
14251
|
key: "arrowheadLengthRatio",
|
|
14252
|
+
presentationTier: "advanced",
|
|
13928
14253
|
label: "Arrowhead length",
|
|
13929
14254
|
description: "Arrowhead length as a ratio of the rear-to-tip distance",
|
|
13930
14255
|
type: "number",
|
|
@@ -13934,6 +14259,7 @@ const TURN_METADATA = {
|
|
|
13934
14259
|
},
|
|
13935
14260
|
{
|
|
13936
14261
|
key: "arrowheadWidthRatio",
|
|
14262
|
+
presentationTier: "advanced",
|
|
13937
14263
|
label: "Arrowhead width",
|
|
13938
14264
|
description: "Arrowhead base width as a ratio of the rear-to-tip distance",
|
|
13939
14265
|
type: "number",
|
|
@@ -13943,6 +14269,7 @@ const TURN_METADATA = {
|
|
|
13943
14269
|
},
|
|
13944
14270
|
{
|
|
13945
14271
|
key: "arcSegments",
|
|
14272
|
+
presentationTier: "advanced",
|
|
13946
14273
|
label: "Arc segments",
|
|
13947
14274
|
description: "Number of line segments approximating the quarter-circle shaft.",
|
|
13948
14275
|
type: "number",
|
|
@@ -14028,6 +14355,7 @@ const DEFAULT_TURNING_MOVEMENT_OPTIONS = {
|
|
|
14028
14355
|
};
|
|
14029
14356
|
const TURNING_MOVEMENT_PARAMS = [{
|
|
14030
14357
|
key: "crossbarPosition",
|
|
14358
|
+
presentationTier: "advanced",
|
|
14031
14359
|
label: "Crossbar position",
|
|
14032
14360
|
description: "Position along the shaft, from tail (0) to arrowhead base (1)",
|
|
14033
14361
|
type: "number",
|
|
@@ -14104,6 +14432,8 @@ const DEFINITIONS = {
|
|
|
14104
14432
|
"landing-zone": LANDING_ZONE,
|
|
14105
14433
|
"limited-access-area": LIMITED_ACCESS_AREA,
|
|
14106
14434
|
"no-fire-area-irregular": NO_FIRE_AREA_IRREGULAR,
|
|
14435
|
+
"minefield-dynamic": DYNAMIC_MINEFIELD,
|
|
14436
|
+
"mined-area": MINED_AREA,
|
|
14107
14437
|
"pickup-zone": PICKUP_ZONE,
|
|
14108
14438
|
"assault-position": ASSAULT_POSITION,
|
|
14109
14439
|
"attack-position": ATTACK_POSITION,
|