@orbat-mapper/control-measures 0.14.0 → 0.15.1
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-CXadfQRk.d.mts → index-DFZ2BoXt.d.mts} +14 -5
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/preview/index.d.mts +15 -3
- package/dist/preview/index.mjs +6 -11
- package/dist/{renderControlMeasure-BgPfnjvc.mjs → renderControlMeasure-qnu0Feey.mjs} +67 -45
- package/package.json +1 -1
|
@@ -2130,7 +2130,7 @@ interface FinalCoordinationLineOptions extends LineLabelOptions, SmoothLineOptio
|
|
|
2130
2130
|
declare function createFinalCoordinationLine(positions: Position[], options?: FinalCoordinationLineOptions, textAmplifiers?: CanonicalTextAmplifiers, context?: ControlMeasureGeneratorContext): FeatureCollection<LineString | Point>;
|
|
2131
2131
|
//#endregion
|
|
2132
2132
|
//#region src/generators/cm14-maneuver-lines/infiltration-lane.d.ts
|
|
2133
|
-
|
|
2133
|
+
interface InfiltrationLaneOptions extends LabelSizeOptions, SmoothLineOptions {}
|
|
2134
2134
|
declare const DEFAULT_INFILTRATION_LANE_OPTIONS: InfiltrationLaneOptions;
|
|
2135
2135
|
/** Creates the two parallel boundaries and centered Field T lane designation. */
|
|
2136
2136
|
declare function createInfiltrationLane(coordinates: Position[], options?: InfiltrationLaneOptions, textAmplifiers?: CanonicalTextAmplifiers): FeatureCollection<MultiLineString | Point>;
|
|
@@ -3375,6 +3375,15 @@ interface MidpointPerpendicularDrawRuleOptions {
|
|
|
3375
3375
|
* endpoints.
|
|
3376
3376
|
*/
|
|
3377
3377
|
constrainedIndex?: 0 | 2;
|
|
3378
|
+
/**
|
|
3379
|
+
* Let the baseline carry extra vertices between PT2 and the constrained
|
|
3380
|
+
* point. The constrained slot then follows the array's last index
|
|
3381
|
+
* (`trailingFixedSlots: 1`) instead of a fixed `canonicalPointCount`, so
|
|
3382
|
+
* edits can insert spine vertices ahead of it. Polyline1 (Infiltration Lane)
|
|
3383
|
+
* uses this: PT1..PTN-1 are the centerline and PTN is the width handle.
|
|
3384
|
+
* Requires the default `constrainedIndex` of `2`.
|
|
3385
|
+
*/
|
|
3386
|
+
variableLength?: boolean;
|
|
3378
3387
|
/** Frame origin for the perpendicular axis. Defaults to `"midpoint"`. */
|
|
3379
3388
|
origin?: BaselineFrameOrigin;
|
|
3380
3389
|
/** Side the positive normal points to. Defaults to `"right"`. */
|
|
@@ -3543,10 +3552,10 @@ declare const line27DrawRule: ControlMeasureDrawRule;
|
|
|
3543
3552
|
/**
|
|
3544
3553
|
* Polyline1 anchors for the Infiltration Lane.
|
|
3545
3554
|
*
|
|
3546
|
-
* PT1
|
|
3547
|
-
*
|
|
3548
|
-
*
|
|
3549
|
-
*
|
|
3555
|
+
* PT1 through PTN-1 form the lane centerline. PTN is the editable width
|
|
3556
|
+
* handle on the perpendicular through the midpoint of PT1/PT2, so its signed
|
|
3557
|
+
* distance from that segment is the lane half-width. The initial two clicks
|
|
3558
|
+
* synthesize PTN; later edits may insert more centerline vertices before it.
|
|
3550
3559
|
*/
|
|
3551
3560
|
declare const polyline1DrawRule: ControlMeasureDrawRule;
|
|
3552
3561
|
//#endregion
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as CONTROL_MEASURE_IDS, $i as ControlMeasureGeometry, $n as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, $r as FinalProtectiveFireOptions, $t as GuardOptions, A as snapToMidpointPerpendicular, Ai as Point2D, An as LineOfDepartureOptions, Ar as MainAttackOptions, At as DEFAULT_FORTIFIED_AREA_OPTIONS, B as SimpleStyleRender, Bi as ControlMeasureOptionHandles, Bn as HoldingLineOptions, Br as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Bt as DEFAULT_WITHDRAW_OPTIONS, C as containDrawRule, Ca as AnchorTransformEvent, Ci as DEFAULT_GENERIC_C2_LINE_OPTIONS, Cn as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, Cr as DEFAULT_BLOCK_ARROW_OPTIONS, Ct as DisruptOptions, D as createMidpointPerpendicularDrawRule, Di as DEFAULT_LIGHT_LINE_OPTIONS, Dn as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Dr as DEFAULT_SUPPORTING_ATTACK_OPTIONS, Dt as TurningMovementOptions, E as computeDefaultMidpointPerpendicularPoint, Ei as EngineerWorkLineOptions, En as ProbableLineOfDeploymentOptions, Er as DEFAULT_CLASSIC_ARROW_OPTIONS, Et as DEFAULT_TURNING_MOVEMENT_OPTIONS, F as createBaselineFrame, Fi as BoundaryOptions, Fn as DEFAULT_HANDOVER_LINE_OPTIONS, Fr as DEFAULT_PICKUP_ZONE_OPTIONS, Ft as DEFAULT_ANTITANK_WALL_OPTIONS, G as applyBoxTransformOptions, Gi as DEFAULT_LINE_JOIN, Gn as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Gr as MobileDefenseOptions, Gt as ScreenOptions, H as resolveStyleHints, Hi as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, Hn as InfiltrationLaneOptions, Hr as AssemblyAreaOptions, Ht as DEFAULT_SEIZE_OPTIONS, I as EPSILON, Ii as DEFAULT_BOUNDARY_OPTIONS, In as HandoverLineOptions, Ir as PickupZoneOptions, It as AntitankDitchOptions, J as RenderOptions, Ji as DEFAULT_STROKE_WIDTH_CSS_PIXELS, Jn as PhaseLineOptions, Jr as AreaDefenseOptions, Jt as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, K as foldsBoxTransformOptions, Ki as DEFAULT_PORTRAYAL, Kn as ForwardEdgeOfBattleAreaOptions, Kr as DEFAULT_ENGAGEMENT_AREA_OPTIONS, Kt as DEFAULT_RETIRE_OPTIONS, L as getMetersPerPixel, Li as BoxTransformDelta, Ln as DEFAULT_RELEASE_LINE_OPTIONS, Lr as MineType, Lt as DEFAULT_ANTITANK_DITCH_OPTIONS, M as BaselineFrameNormal, Mi as project, Mn as LimitOfAdvanceOptions, Mr as computeInitialWidthPoint, Mt as DEFAULT_FORTIFIED_LINE_OPTIONS, N as BaselineFrameOptions, Ni as sphericalBearing, Nn as BattleHandoverLineOptions, Nr as AreaOfOperationsOptions, Nt as FortifiedLineOptions, O as getMidpointPerpendicularSignedDistance, Oi as LightLineOptions, On as LineOfDepartureContactOptions, Or as SupportingAttackOptions, Ot as DEFAULT_FRONTAL_ATTACK_OPTIONS, P as BaselineFrameOrigin, Pi as unproject, Pn as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Pr as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, Pt as AntitankWallOptions, Q as isKind, Qi as ControlMeasureFillCapability, Qn as DEFAULT_ATTACK_BY_FIRE_OPTIONS, Qr as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Qt as DEFAULT_GUARD_OPTIONS, R as roundToFixed, Ri as ControlMeasureOptionHandle, Rn as ReleaseLineOptions, Rr as DEFAULT_LANDING_ZONE_OPTIONS, Rt as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, S as blockDrawRule, Sa as resolveAmplifierPlacement, Si as DEFAULT_BATTLE_POSITION_OPTIONS, Sn as BlockMissionTaskOptions, Sr as BlockArrowOptions, St as DEFAULT_DISRUPT_OPTIONS, T as MidpointPerpendicularDrawRuleOptions, Ti as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, Tn as PROBABLE_LINE_OF_DEPLOYMENT_DASH, Tr as ClassicArrowOptions, Tt as DEFAULT_BLOCK_OPTIONS, U as dragControlMeasureOptionHandle, Ui as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, Un as BridgeheadLineOptions, Ur as DEFAULT_ASSEMBLY_AREA_OPTIONS, Ut as SeizeOptions, V as toSimpleStyle, Vi as ControlMeasureRenderContext, Vn as DEFAULT_INFILTRATION_LANE_OPTIONS, Vr as JointTacticalActionAreaOptions, Vt as WithdrawOptions, W as getControlMeasureOptionHandles, Wi as DEFAULT_LINE_CAP, Wn as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, Wr as DEFAULT_MOBILE_DEFENSE_OPTIONS, Wt as DEFAULT_SCREEN_OPTIONS, X as ControlMeasure, Xi as MeasureTextRequest, Xn as FLOTOptions, Xr as DEFAULT_ENCIRCLEMENT_OPTIONS, Xt as DEFAULT_PENETRATE_OPTIONS, Y as renderControlMeasure, Yi as LogicalTextStyle, Yn as DEFAULT_FLOT_OPTIONS, Yr as DEFAULT_AREA_DEFENSE_OPTIONS, Yt as RearwardPassageOfLinesOptions, Z as cloneControlMeasure, Zi as MeasuredText, Zn as AttackByFireOptions, Zr as EncirclementOptions, Zt as PenetrateOptions, _ as staticPointDrawRule, _a as TextAmplifierField, _i as DEFAULT_STRONG_POINT_OPTIONS, _n as DEFAULT_CANALIZE_OPTIONS, _r as DEFAULT_GENERIC_POLYGON_OPTIONS, _t as TurnOptions, a as axis1DrawRule, aa as ParameterPresentationTier, ai as SECONDARY_DIRECTION_OF_FIRE_DASH, an as DelayOptions, ar as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, at as getControlMeasureMetadataByValue, b as centerRadiusDrawRule, ba as canonicalTextAmplifierKey, bi as DEFAULT_CONTAIN_OPTIONS, bn as BreachOptions, br as GenericLineOptions, bt as DEFAULT_FIX_OPTIONS, c as line27DrawRule, ca as parameterPresentationTierRank, ci as PrincipalDirectionOfFireOptions, cn as DEFAULT_TACTICAL_ARROW_OPTIONS, cr as RadarSearchDoctrineOptions, ct as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, d as line23DrawRule, da as AmplifierPlacement, di as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, dn as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, dr as DEFAULT_GENERIC_SECTOR_OPTIONS, dt as ObstacleBypassDifficultOptions, ea as ControlMeasureGeometryType, ei as ControlMeasureRender, en as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, er as SupportByFireOptions, et as CONTROL_MEASURE_METADATA, f as turnDrawRule, fa as AmplifierPlacements, fi as DirectionOfMainAttackOptions, fn as CounterattackOptions, fr as GenericSectorOptions, ft as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, g as dynamicPointDrawRule, ga as TEXT_AMPLIFIER_FIELDS, gi as RetainOptions, gn as CanalizeOptions, gr as GenericRectangleOptions, gt as DEFAULT_TURN_OPTIONS, h as attackByFireDrawRule, ha as LabelPlacementOverride, hi as DEFAULT_RETAIN_OPTIONS, hn as DEFAULT_CLEAR_OPTIONS, hr as DEFAULT_GENERIC_RECTANGLE_OPTIONS, ht as MinefieldOptions, i as rectangleDrawRule, ia as ParamDescriptor, ii as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, in as DEFAULT_DELAY_OPTIONS, ir as DEFAULT_AIRBORNE_ATTACK_OPTIONS, it as getControlMeasureMetadata, j as BaselineFrame, ji as haversineDistance, jn as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, jr as calculateMetrics, jt as FortifiedAreaOptions, k as pointOnMidpointPerpendicularAxis, ki as LabelSizeOptions, kn as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, kr as DEFAULT_MAIN_ATTACK_OPTIONS, kt as FrontalAttackOptions, l as line26DrawRule, la as resolveParameterPresentationTier, li as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, ln as TacticalArrowOptions, lr as DEFAULT_GENERIC_TEXT_OPTIONS, lt as ObstacleBypassImpossibleOptions, m as ambushDrawRule, ma as GeneratedLabelKey, mi as DirectionOfAttackAviationOptions, mn as ClearOptions, mr as GenericCircleOptions, mt as DEFAULT_MINEFIELD_OPTIONS, n as DEFAULT_AMBUSH_OPTIONS, na as ControlMeasurePaintCapability, ni as StyleHints, nn as DEFAULT_DISENGAGE_OPTIONS, nr as DEFAULT_ATTACK_HELICOPTER_OPTIONS, nt as ControlMeasureKind, o as supportByFireDrawRule, oa as ParameterSemanticRole, oi as SecondaryDirectionOfFireOptions, on as CoverOptions, or as RADAR_SEARCH_DOCTRINE_FILL_COLOR, ot as getDefaultOptions, p as line1DrawRule, pa as CanonicalTextAmplifiers, pi as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, pn as DEFAULT_COUNTERATTACK_OPTIONS, pr as DEFAULT_GENERIC_CIRCLE_OPTIONS, pt as ObstacleBypassEasyOptions, q as freezeOrientationOptions, qi as DEFAULT_STROKE_DASH_CSS_PIXELS, qn as DEFAULT_PHASE_LINE_OPTIONS, qr as EngagementAreaOptions, qt as RetireOptions, r as sectorDrawRule, ra as PARAMETER_PRESENTATION_TIERS, ri as controlMeasureIdFromFeature, rn as DisengageOptions, rr as AirborneAttackOptions, rt as OptionsByKind, s as polyline1DrawRule, sa as TextAmplifierDescriptor, si as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, sn as DEFAULT_COVER_OPTIONS, sr as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, st as listControlMeasureMetadata, t as AmbushOptions, ta as ControlMeasureMetadata, ti as FeaturePartProps, tn as DisruptMissionTaskOptions, tr as AttackHelicopterOptions, tt as ControlMeasureId, u as line24DrawRule, ua as resolveParameterSemanticRole, ui as DirectionOfSupportingAttackOptions, un as CounterattackByFireOptions, ur as GenericTextOptions, ut as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, v as point12DrawRule, va as TextAmplifierKey, vi as StrongPointOptions, vn as BypassOptions, vr as GenericPolygonOptions, vt as DEFAULT_FIX_MISSION_TASK_OPTIONS, w as area27DrawRule, wa as ControlMeasureDrawRule, wi as GenericC2LineOptions, wn as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, wr as ClassicArrowHeadStyle, wt as BlockOptions, x as disruptDrawRule, xa as normalizeTextAmplifiers, xi as BattlePositionOptions, xn as DEFAULT_BREACH_OPTIONS, xr as BlockArrowHeadStyle, xt as FixOptions, y as penetrateDrawRule, ya as TextAmplifiers, yi as ContainOptions, yn as DEFAULT_BYPASS_OPTIONS, yr as DEFAULT_GENERIC_LINE_OPTIONS, yt as FixMissionTaskOptions, z as SimpleStyleProps, zi as ControlMeasureOptionHandleDragEvent, zn as DEFAULT_HOLDING_LINE_OPTIONS, zr as LandingZoneOptions, zt as WithdrawUnderPressureOptions } from "./index-
|
|
1
|
+
import { $ as CONTROL_MEASURE_IDS, $i as ControlMeasureGeometry, $n as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, $r as FinalProtectiveFireOptions, $t as GuardOptions, A as snapToMidpointPerpendicular, Ai as Point2D, An as LineOfDepartureOptions, Ar as MainAttackOptions, At as DEFAULT_FORTIFIED_AREA_OPTIONS, B as SimpleStyleRender, Bi as ControlMeasureOptionHandles, Bn as HoldingLineOptions, Br as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Bt as DEFAULT_WITHDRAW_OPTIONS, C as containDrawRule, Ca as AnchorTransformEvent, Ci as DEFAULT_GENERIC_C2_LINE_OPTIONS, Cn as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, Cr as DEFAULT_BLOCK_ARROW_OPTIONS, Ct as DisruptOptions, D as createMidpointPerpendicularDrawRule, Di as DEFAULT_LIGHT_LINE_OPTIONS, Dn as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Dr as DEFAULT_SUPPORTING_ATTACK_OPTIONS, Dt as TurningMovementOptions, E as computeDefaultMidpointPerpendicularPoint, Ei as EngineerWorkLineOptions, En as ProbableLineOfDeploymentOptions, Er as DEFAULT_CLASSIC_ARROW_OPTIONS, Et as DEFAULT_TURNING_MOVEMENT_OPTIONS, F as createBaselineFrame, Fi as BoundaryOptions, Fn as DEFAULT_HANDOVER_LINE_OPTIONS, Fr as DEFAULT_PICKUP_ZONE_OPTIONS, Ft as DEFAULT_ANTITANK_WALL_OPTIONS, G as applyBoxTransformOptions, Gi as DEFAULT_LINE_JOIN, Gn as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Gr as MobileDefenseOptions, Gt as ScreenOptions, H as resolveStyleHints, Hi as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, Hn as InfiltrationLaneOptions, Hr as AssemblyAreaOptions, Ht as DEFAULT_SEIZE_OPTIONS, I as EPSILON, Ii as DEFAULT_BOUNDARY_OPTIONS, In as HandoverLineOptions, Ir as PickupZoneOptions, It as AntitankDitchOptions, J as RenderOptions, Ji as DEFAULT_STROKE_WIDTH_CSS_PIXELS, Jn as PhaseLineOptions, Jr as AreaDefenseOptions, Jt as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, K as foldsBoxTransformOptions, Ki as DEFAULT_PORTRAYAL, Kn as ForwardEdgeOfBattleAreaOptions, Kr as DEFAULT_ENGAGEMENT_AREA_OPTIONS, Kt as DEFAULT_RETIRE_OPTIONS, L as getMetersPerPixel, Li as BoxTransformDelta, Ln as DEFAULT_RELEASE_LINE_OPTIONS, Lr as MineType, Lt as DEFAULT_ANTITANK_DITCH_OPTIONS, M as BaselineFrameNormal, Mi as project, Mn as LimitOfAdvanceOptions, Mr as computeInitialWidthPoint, Mt as DEFAULT_FORTIFIED_LINE_OPTIONS, N as BaselineFrameOptions, Ni as sphericalBearing, Nn as BattleHandoverLineOptions, Nr as AreaOfOperationsOptions, Nt as FortifiedLineOptions, O as getMidpointPerpendicularSignedDistance, Oi as LightLineOptions, On as LineOfDepartureContactOptions, Or as SupportingAttackOptions, Ot as DEFAULT_FRONTAL_ATTACK_OPTIONS, P as BaselineFrameOrigin, Pi as unproject, Pn as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Pr as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, Pt as AntitankWallOptions, Q as isKind, Qi as ControlMeasureFillCapability, Qn as DEFAULT_ATTACK_BY_FIRE_OPTIONS, Qr as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Qt as DEFAULT_GUARD_OPTIONS, R as roundToFixed, Ri as ControlMeasureOptionHandle, Rn as ReleaseLineOptions, Rr as DEFAULT_LANDING_ZONE_OPTIONS, Rt as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, S as blockDrawRule, Sa as resolveAmplifierPlacement, Si as DEFAULT_BATTLE_POSITION_OPTIONS, Sn as BlockMissionTaskOptions, Sr as BlockArrowOptions, St as DEFAULT_DISRUPT_OPTIONS, T as MidpointPerpendicularDrawRuleOptions, Ti as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, Tn as PROBABLE_LINE_OF_DEPLOYMENT_DASH, Tr as ClassicArrowOptions, Tt as DEFAULT_BLOCK_OPTIONS, U as dragControlMeasureOptionHandle, Ui as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, Un as BridgeheadLineOptions, Ur as DEFAULT_ASSEMBLY_AREA_OPTIONS, Ut as SeizeOptions, V as toSimpleStyle, Vi as ControlMeasureRenderContext, Vn as DEFAULT_INFILTRATION_LANE_OPTIONS, Vr as JointTacticalActionAreaOptions, Vt as WithdrawOptions, W as getControlMeasureOptionHandles, Wi as DEFAULT_LINE_CAP, Wn as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, Wr as DEFAULT_MOBILE_DEFENSE_OPTIONS, Wt as DEFAULT_SCREEN_OPTIONS, X as ControlMeasure, Xi as MeasureTextRequest, Xn as FLOTOptions, Xr as DEFAULT_ENCIRCLEMENT_OPTIONS, Xt as DEFAULT_PENETRATE_OPTIONS, Y as renderControlMeasure, Yi as LogicalTextStyle, Yn as DEFAULT_FLOT_OPTIONS, Yr as DEFAULT_AREA_DEFENSE_OPTIONS, Yt as RearwardPassageOfLinesOptions, Z as cloneControlMeasure, Zi as MeasuredText, Zn as AttackByFireOptions, Zr as EncirclementOptions, Zt as PenetrateOptions, _ as staticPointDrawRule, _a as TextAmplifierField, _i as DEFAULT_STRONG_POINT_OPTIONS, _n as DEFAULT_CANALIZE_OPTIONS, _r as DEFAULT_GENERIC_POLYGON_OPTIONS, _t as TurnOptions, a as axis1DrawRule, aa as ParameterPresentationTier, ai as SECONDARY_DIRECTION_OF_FIRE_DASH, an as DelayOptions, ar as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, at as getControlMeasureMetadataByValue, b as centerRadiusDrawRule, ba as canonicalTextAmplifierKey, bi as DEFAULT_CONTAIN_OPTIONS, bn as BreachOptions, br as GenericLineOptions, bt as DEFAULT_FIX_OPTIONS, c as line27DrawRule, ca as parameterPresentationTierRank, ci as PrincipalDirectionOfFireOptions, cn as DEFAULT_TACTICAL_ARROW_OPTIONS, cr as RadarSearchDoctrineOptions, ct as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, d as line23DrawRule, da as AmplifierPlacement, di as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, dn as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, dr as DEFAULT_GENERIC_SECTOR_OPTIONS, dt as ObstacleBypassDifficultOptions, ea as ControlMeasureGeometryType, ei as ControlMeasureRender, en as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, er as SupportByFireOptions, et as CONTROL_MEASURE_METADATA, f as turnDrawRule, fa as AmplifierPlacements, fi as DirectionOfMainAttackOptions, fn as CounterattackOptions, fr as GenericSectorOptions, ft as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, g as dynamicPointDrawRule, ga as TEXT_AMPLIFIER_FIELDS, gi as RetainOptions, gn as CanalizeOptions, gr as GenericRectangleOptions, gt as DEFAULT_TURN_OPTIONS, h as attackByFireDrawRule, ha as LabelPlacementOverride, hi as DEFAULT_RETAIN_OPTIONS, hn as DEFAULT_CLEAR_OPTIONS, hr as DEFAULT_GENERIC_RECTANGLE_OPTIONS, ht as MinefieldOptions, i as rectangleDrawRule, ia as ParamDescriptor, ii as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, in as DEFAULT_DELAY_OPTIONS, ir as DEFAULT_AIRBORNE_ATTACK_OPTIONS, it as getControlMeasureMetadata, j as BaselineFrame, ji as haversineDistance, jn as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, jr as calculateMetrics, jt as FortifiedAreaOptions, k as pointOnMidpointPerpendicularAxis, ki as LabelSizeOptions, kn as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, kr as DEFAULT_MAIN_ATTACK_OPTIONS, kt as FrontalAttackOptions, l as line26DrawRule, la as resolveParameterPresentationTier, li as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, ln as TacticalArrowOptions, lr as DEFAULT_GENERIC_TEXT_OPTIONS, lt as ObstacleBypassImpossibleOptions, m as ambushDrawRule, ma as GeneratedLabelKey, mi as DirectionOfAttackAviationOptions, mn as ClearOptions, mr as GenericCircleOptions, mt as DEFAULT_MINEFIELD_OPTIONS, n as DEFAULT_AMBUSH_OPTIONS, na as ControlMeasurePaintCapability, ni as StyleHints, nn as DEFAULT_DISENGAGE_OPTIONS, nr as DEFAULT_ATTACK_HELICOPTER_OPTIONS, nt as ControlMeasureKind, o as supportByFireDrawRule, oa as ParameterSemanticRole, oi as SecondaryDirectionOfFireOptions, on as CoverOptions, or as RADAR_SEARCH_DOCTRINE_FILL_COLOR, ot as getDefaultOptions, p as line1DrawRule, pa as CanonicalTextAmplifiers, pi as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, pn as DEFAULT_COUNTERATTACK_OPTIONS, pr as DEFAULT_GENERIC_CIRCLE_OPTIONS, pt as ObstacleBypassEasyOptions, q as freezeOrientationOptions, qi as DEFAULT_STROKE_DASH_CSS_PIXELS, qn as DEFAULT_PHASE_LINE_OPTIONS, qr as EngagementAreaOptions, qt as RetireOptions, r as sectorDrawRule, ra as PARAMETER_PRESENTATION_TIERS, ri as controlMeasureIdFromFeature, rn as DisengageOptions, rr as AirborneAttackOptions, rt as OptionsByKind, s as polyline1DrawRule, sa as TextAmplifierDescriptor, si as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, sn as DEFAULT_COVER_OPTIONS, sr as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, st as listControlMeasureMetadata, t as AmbushOptions, ta as ControlMeasureMetadata, ti as FeaturePartProps, tn as DisruptMissionTaskOptions, tr as AttackHelicopterOptions, tt as ControlMeasureId, u as line24DrawRule, ua as resolveParameterSemanticRole, ui as DirectionOfSupportingAttackOptions, un as CounterattackByFireOptions, ur as GenericTextOptions, ut as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, v as point12DrawRule, va as TextAmplifierKey, vi as StrongPointOptions, vn as BypassOptions, vr as GenericPolygonOptions, vt as DEFAULT_FIX_MISSION_TASK_OPTIONS, w as area27DrawRule, wa as ControlMeasureDrawRule, wi as GenericC2LineOptions, wn as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, wr as ClassicArrowHeadStyle, wt as BlockOptions, x as disruptDrawRule, xa as normalizeTextAmplifiers, xi as BattlePositionOptions, xn as DEFAULT_BREACH_OPTIONS, xr as BlockArrowHeadStyle, xt as FixOptions, y as penetrateDrawRule, ya as TextAmplifiers, yi as ContainOptions, yn as DEFAULT_BYPASS_OPTIONS, yr as DEFAULT_GENERIC_LINE_OPTIONS, yt as FixMissionTaskOptions, z as SimpleStyleProps, zi as ControlMeasureOptionHandleDragEvent, zn as DEFAULT_HOLDING_LINE_OPTIONS, zr as LandingZoneOptions, zt as WithdrawUnderPressureOptions } from "./index-DFZ2BoXt.mjs";
|
|
2
2
|
import { a as PatternId, c as PatternPoint, d as ControlMeasureStyle, f as FillPattern, i as NON_SOLID_FILL_PATTERNS, l as PatternStroke, n as FillPatternCommand, o as PatternPaint, r as FillPatternDefinition, s as PatternPathOperation, t as FILL_PATTERN_DEFINITIONS, u as getFillPatternDefinition } from "./patterns-CcQmmOuJ.mjs";
|
|
3
3
|
export { type AirborneAttackOptions, type AmbushOptions, type AmplifierPlacement, type AmplifierPlacements, type AnchorTransformEvent, type AntitankDitchOptions, type AntitankWallOptions, type AreaDefenseOptions, type AreaOfOperationsOptions, type AssemblyAreaOptions, type AttackByFireOptions, type AttackHelicopterOptions, type BaselineFrame, type BaselineFrameNormal, type BaselineFrameOptions, type BaselineFrameOrigin, type BattleHandoverLineOptions, type BattlePositionOptions, type BlockArrowHeadStyle, type BlockArrowOptions, type BlockMissionTaskOptions, type BlockOptions, type BoundaryOptions, type BoxTransformDelta, type BreachOptions, type BridgeheadLineOptions, type BypassOptions, CONTROL_MEASURE_IDS, CONTROL_MEASURE_METADATA, type CanalizeOptions, type CanonicalTextAmplifiers, type ClassicArrowHeadStyle, type ClassicArrowOptions, type ClearOptions, type ContainOptions, type ControlMeasure, type ControlMeasureDrawRule, type ControlMeasureFillCapability, type ControlMeasureGeometry, type ControlMeasureGeometryType, type ControlMeasureId, type ControlMeasureKind, type ControlMeasureMetadata, type ControlMeasureOptionHandle, type ControlMeasureOptionHandleDragEvent, type ControlMeasureOptionHandles, type ControlMeasurePaintCapability, type ControlMeasureRender, type ControlMeasureRenderContext, type ControlMeasureStyle, type CounterattackByFireOptions, type CounterattackOptions, type CoverOptions, DEFAULT_AIRBORNE_ATTACK_OPTIONS, DEFAULT_AMBUSH_OPTIONS, DEFAULT_ANTITANK_DITCH_OPTIONS, DEFAULT_ANTITANK_WALL_OPTIONS, DEFAULT_AREA_DEFENSE_OPTIONS, DEFAULT_AREA_OF_OPERATIONS_OPTIONS, DEFAULT_ASSEMBLY_AREA_OPTIONS, DEFAULT_ATTACK_BY_FIRE_OPTIONS, DEFAULT_ATTACK_HELICOPTER_OPTIONS, DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, DEFAULT_BATTLE_POSITION_OPTIONS, DEFAULT_BLOCK_ARROW_OPTIONS, DEFAULT_BLOCK_MISSION_TASK_OPTIONS, DEFAULT_BLOCK_OPTIONS, DEFAULT_BOUNDARY_OPTIONS, DEFAULT_BREACH_OPTIONS, DEFAULT_BRIDGEHEAD_LINE_OPTIONS, DEFAULT_BYPASS_OPTIONS, DEFAULT_CANALIZE_OPTIONS, DEFAULT_CLASSIC_ARROW_OPTIONS, DEFAULT_CLEAR_OPTIONS, DEFAULT_CONTAIN_OPTIONS, DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, DEFAULT_COUNTERATTACK_OPTIONS, DEFAULT_COVER_OPTIONS, DEFAULT_DELAY_OPTIONS, DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, DEFAULT_DISENGAGE_OPTIONS, DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, DEFAULT_DISRUPT_OPTIONS, DEFAULT_ENCIRCLEMENT_OPTIONS, DEFAULT_ENGAGEMENT_AREA_OPTIONS, DEFAULT_ENGINEER_WORK_LINE_OPTIONS, DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, DEFAULT_FIX_MISSION_TASK_OPTIONS, DEFAULT_FIX_OPTIONS, DEFAULT_FLOT_OPTIONS, DEFAULT_FORTIFIED_AREA_OPTIONS, DEFAULT_FORTIFIED_LINE_OPTIONS, DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, DEFAULT_FRONTAL_ATTACK_OPTIONS, DEFAULT_GENERIC_C2_LINE_OPTIONS, DEFAULT_GENERIC_CIRCLE_OPTIONS, DEFAULT_GENERIC_LINE_OPTIONS, DEFAULT_GENERIC_POLYGON_OPTIONS, DEFAULT_GENERIC_RECTANGLE_OPTIONS, DEFAULT_GENERIC_SECTOR_OPTIONS, DEFAULT_GENERIC_TEXT_OPTIONS, DEFAULT_GUARD_OPTIONS, DEFAULT_HANDOVER_LINE_OPTIONS, DEFAULT_HOLDING_LINE_OPTIONS, DEFAULT_INFILTRATION_LANE_OPTIONS, DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, DEFAULT_LABEL_HEIGHT_CSS_PIXELS, DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, DEFAULT_LANDING_ZONE_OPTIONS, DEFAULT_LIGHT_LINE_OPTIONS, DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, DEFAULT_LINE_OF_DEPARTURE_OPTIONS, DEFAULT_MAIN_ATTACK_OPTIONS, DEFAULT_MINEFIELD_OPTIONS, DEFAULT_MOBILE_DEFENSE_OPTIONS, DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, DEFAULT_PENETRATE_OPTIONS, DEFAULT_PHASE_LINE_OPTIONS, DEFAULT_PICKUP_ZONE_OPTIONS, DEFAULT_PORTRAYAL, DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, DEFAULT_RELEASE_LINE_OPTIONS, DEFAULT_RETAIN_OPTIONS, DEFAULT_RETIRE_OPTIONS, DEFAULT_SCREEN_OPTIONS, DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, DEFAULT_SEIZE_OPTIONS, DEFAULT_STROKE_DASH_CSS_PIXELS, DEFAULT_STROKE_WIDTH_CSS_PIXELS, DEFAULT_STRONG_POINT_OPTIONS, DEFAULT_SUPPORTING_ATTACK_OPTIONS, DEFAULT_SUPPORT_BY_FIRE_OPTIONS, DEFAULT_TACTICAL_ARROW_OPTIONS, DEFAULT_TURNING_MOVEMENT_OPTIONS, DEFAULT_TURN_OPTIONS, DEFAULT_WITHDRAW_OPTIONS, DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, type DelayOptions, type DirectionOfAttackAviationOptions, type DirectionOfMainAttackOptions, type DirectionOfSupportingAttackOptions, type DisengageOptions, type DisruptMissionTaskOptions, type DisruptOptions, EPSILON, type EncirclementOptions, type EngagementAreaOptions, type EngineerWorkLineOptions, FILL_PATTERN_DEFINITIONS, type FLOTOptions, type FeaturePartProps, type FillPattern, type FillPatternCommand, type FillPatternDefinition, type FinalProtectiveFireOptions, type FixMissionTaskOptions, type FixOptions, type FortifiedAreaOptions, type FortifiedLineOptions, type ForwardEdgeOfBattleAreaOptions, type FrontalAttackOptions, type GeneratedLabelKey, type GenericC2LineOptions, type GenericCircleOptions, type GenericLineOptions, type GenericPolygonOptions, type GenericRectangleOptions, type GenericSectorOptions, type GenericTextOptions, type GuardOptions, type HandoverLineOptions, type HoldingLineOptions, type InfiltrationLaneOptions, type JointTacticalActionAreaOptions, type LabelPlacementOverride, type LabelSizeOptions, type LandingZoneOptions, type LightLineOptions, type LimitOfAdvanceOptions, type LineOfDepartureContactOptions, type LineOfDepartureOptions, type LogicalTextStyle, type MainAttackOptions, type MeasureTextRequest, type MeasuredText, type MidpointPerpendicularDrawRuleOptions, type MineType, type MinefieldOptions, type MobileDefenseOptions, NON_SOLID_FILL_PATTERNS, type ObstacleBypassDifficultOptions, type ObstacleBypassEasyOptions, type ObstacleBypassImpossibleOptions, type OptionsByKind, PARAMETER_PRESENTATION_TIERS, PROBABLE_LINE_OF_DEPLOYMENT_DASH, type ParamDescriptor, type ParameterPresentationTier, type ParameterSemanticRole, type PatternId, type PatternPaint, type PatternPathOperation, type PatternPoint, type PatternStroke, type PenetrateOptions, type PhaseLineOptions, type PickupZoneOptions, type Point2D, type PrincipalDirectionOfFireOptions, type ProbableLineOfDeploymentOptions, RADAR_SEARCH_DOCTRINE_FILL_COLOR, RADAR_SEARCH_DOCTRINE_STROKE_COLOR, type RadarSearchDoctrineOptions, type RearwardPassageOfLinesOptions, type ReleaseLineOptions, type RenderOptions, type RetainOptions, type RetireOptions, SECONDARY_DIRECTION_OF_FIRE_DASH, type ScreenOptions, type SecondaryDirectionOfFireOptions, type SeizeOptions, type SimpleStyleProps, type SimpleStyleRender, type StrongPointOptions, type StyleHints, type SupportByFireOptions, type SupportingAttackOptions, TEXT_AMPLIFIER_FIELDS, type TacticalArrowOptions, type TextAmplifierDescriptor, type TextAmplifierField, type TextAmplifierKey, type TextAmplifiers, type TurnOptions, type TurningMovementOptions, type WithdrawOptions, type WithdrawUnderPressureOptions, ambushDrawRule, applyBoxTransformOptions, area27DrawRule, attackByFireDrawRule, axis1DrawRule, blockDrawRule, calculateMetrics, canonicalTextAmplifierKey, centerRadiusDrawRule, cloneControlMeasure, computeDefaultMidpointPerpendicularPoint, computeInitialWidthPoint, containDrawRule, controlMeasureIdFromFeature, createBaselineFrame, createMidpointPerpendicularDrawRule, disruptDrawRule, dragControlMeasureOptionHandle, dynamicPointDrawRule, foldsBoxTransformOptions, freezeOrientationOptions, getControlMeasureMetadata, getControlMeasureMetadataByValue, getControlMeasureOptionHandles, getDefaultOptions, getFillPatternDefinition, getMetersPerPixel, getMidpointPerpendicularSignedDistance, haversineDistance, isKind, line1DrawRule, line23DrawRule, line24DrawRule, line26DrawRule, line27DrawRule, listControlMeasureMetadata, normalizeTextAmplifiers, parameterPresentationTierRank, penetrateDrawRule, point12DrawRule, pointOnMidpointPerpendicularAxis, polyline1DrawRule, project, rectangleDrawRule, renderControlMeasure, resolveAmplifierPlacement, resolveParameterPresentationTier, resolveParameterSemanticRole, resolveStyleHints, roundToFixed, sectorDrawRule, snapToMidpointPerpendicular, sphericalBearing, staticPointDrawRule, supportByFireDrawRule, toSimpleStyle, turnDrawRule, unproject };
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as DEFAULT_ENCIRCLEMENT_OPTIONS, $t as DEFAULT_PORTRAYAL, A as DEFAULT_RETIRE_OPTIONS, An as pointOnMidpointPerpendicularAxis, At as DEFAULT_BLOCK_OPTIONS, B as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, Bn as getMetersPerPixel, Bt as DEFAULT_ENGAGEMENT_AREA_OPTIONS, C as DEFAULT_MAIN_ATTACK_OPTIONS, Cn as blockDrawRule, Ct as DEFAULT_BREACH_OPTIONS, D as DEFAULT_WITHDRAW_OPTIONS, Dn as computeDefaultMidpointPerpendicularPoint, Dt as DEFAULT_LIGHT_LINE_OPTIONS, E as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, En as area27DrawRule, Et as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, F as DEFAULT_FORTIFIED_LINE_OPTIONS, Fn as haversineDistance, Ft as DEFAULT_ANTITANK_WALL_OPTIONS, G as DEFAULT_HOLDING_LINE_OPTIONS, Gt as TEXT_AMPLIFIER_FIELDS, H as DEFAULT_HANDOVER_LINE_OPTIONS, Ht as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, I as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, In as project, It as DEFAULT_ANTITANK_DITCH_OPTIONS, J as DEFAULT_PHASE_LINE_OPTIONS, Jt as resolveAmplifierPlacement, K as DEFAULT_INFILTRATION_LANE_OPTIONS, Kt as canonicalTextAmplifierKey, L as PROBABLE_LINE_OF_DEPLOYMENT_DASH, Ln as sphericalBearing, Lt as DEFAULT_ASSEMBLY_AREA_OPTIONS, M as DEFAULT_PENETRATE_OPTIONS, Mn as createBaselineFrame, Mt as DEFAULT_BATTLE_POSITION_OPTIONS, N as DEFAULT_FRONTAL_ATTACK_OPTIONS, Nn as calculateMetrics, Nt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, O as DEFAULT_SEIZE_OPTIONS, On as createMidpointPerpendicularDrawRule, Ot as DEFAULT_BOUNDARY_OPTIONS, P as DEFAULT_FORTIFIED_AREA_OPTIONS, Pn as computeInitialWidthPoint, Pt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, Q as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Qt as DEFAULT_LINE_JOIN, R as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Rn as unproject, Rt as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, S as DEFAULT_MINEFIELD_OPTIONS, Sn as disruptDrawRule, St as DEFAULT_BYPASS_OPTIONS, T as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Tn as containDrawRule, Tt as DEFAULT_GENERIC_C2_LINE_OPTIONS, U as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Ut as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, V as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Vn as roundToFixed, Vt as DEFAULT_AREA_DEFENSE_OPTIONS, W as DEFAULT_RELEASE_LINE_OPTIONS, Wt as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, X as DEFAULT_FIX_MISSION_TASK_OPTIONS, Xt as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, Y as DEFAULT_FLOT_OPTIONS, Yt as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, Z as DEFAULT_FIX_OPTIONS, Zt as DEFAULT_LINE_CAP, _ as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, _n as dynamicPointDrawRule, _t as DEFAULT_GENERIC_POLYGON_OPTIONS, a as DEFINITIONS, an as rectangleDrawRule, at as DEFAULT_COVER_OPTIONS, b as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, bn as point12DrawRule, bt as DEFAULT_CLASSIC_ARROW_OPTIONS, c as getDefaultOptions, cn as polyline1DrawRule, ct as DEFAULT_COUNTERATTACK_OPTIONS, d as DEFAULT_TURN_OPTIONS, dn as line24DrawRule, dt as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, en as DEFAULT_STROKE_DASH_CSS_PIXELS, et as DEFAULT_DISRUPT_OPTIONS, f as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, fn as line23DrawRule, ft as RADAR_SEARCH_DOCTRINE_FILL_COLOR, g as SECONDARY_DIRECTION_OF_FIRE_DASH, gn as attackByFireDrawRule, gt as DEFAULT_GENERIC_RECTANGLE_OPTIONS, h as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, hn as ambushDrawRule, ht as DEFAULT_GENERIC_SECTOR_OPTIONS, i as CONTROL_MEASURE_METADATA, in as DEFAULT_AIRBORNE_ATTACK_OPTIONS, it as DEFAULT_DELAY_OPTIONS, j as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, jn as snapToMidpointPerpendicular, jt as DEFAULT_CONTAIN_OPTIONS, k as DEFAULT_SCREEN_OPTIONS, kn as getMidpointPerpendicularSignedDistance, kt as DEFAULT_BLOCK_ARROW_OPTIONS, l as listControlMeasureMetadata, ln as line27DrawRule, lt as DEFAULT_SUPPORTING_ATTACK_OPTIONS, m as DEFAULT_STRONG_POINT_OPTIONS, mn as line1DrawRule, mt as DEFAULT_GENERIC_TEXT_OPTIONS, n as resolveStyleHints, nt as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, o as getControlMeasureMetadata, on as axis1DrawRule, ot as DEFAULT_TACTICAL_ARROW_OPTIONS, p as DEFAULT_RETAIN_OPTIONS, pn as turnDrawRule, pt as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, q as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, qt as normalizeTextAmplifiers, r as CONTROL_MEASURE_IDS, rn as DEFAULT_AMBUSH_OPTIONS, rt as DEFAULT_DISENGAGE_OPTIONS, s as getControlMeasureMetadataByValue, sn as supportByFireDrawRule, st as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, t as renderControlMeasure, tn as DEFAULT_STROKE_WIDTH_CSS_PIXELS, tt as DEFAULT_GUARD_OPTIONS, u as DEFAULT_TURNING_MOVEMENT_OPTIONS, un as line26DrawRule, ut as DEFAULT_CLEAR_OPTIONS, v as DEFAULT_PICKUP_ZONE_OPTIONS, vn as sectorDrawRule, vt as DEFAULT_GENERIC_LINE_OPTIONS, w as DEFAULT_LANDING_ZONE_OPTIONS, wn as centerRadiusDrawRule, wt as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, x as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, xn as penetrateDrawRule, xt as DEFAULT_CANALIZE_OPTIONS, y as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, yn as staticPointDrawRule, yt as DEFAULT_GENERIC_CIRCLE_OPTIONS, z as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, zn as EPSILON, zt as DEFAULT_MOBILE_DEFENSE_OPTIONS } from "./renderControlMeasure-
|
|
1
|
+
import { $ as DEFAULT_ENCIRCLEMENT_OPTIONS, $t as DEFAULT_PORTRAYAL, A as DEFAULT_RETIRE_OPTIONS, An as pointOnMidpointPerpendicularAxis, At as DEFAULT_BLOCK_OPTIONS, B as DEFAULT_LIMIT_OF_ADVANCE_OPTIONS, Bn as getMetersPerPixel, Bt as DEFAULT_ENGAGEMENT_AREA_OPTIONS, C as DEFAULT_MAIN_ATTACK_OPTIONS, Cn as blockDrawRule, Ct as DEFAULT_BREACH_OPTIONS, D as DEFAULT_WITHDRAW_OPTIONS, Dn as computeDefaultMidpointPerpendicularPoint, Dt as DEFAULT_LIGHT_LINE_OPTIONS, E as DEFAULT_WITHDRAW_UNDER_PRESSURE_OPTIONS, En as area27DrawRule, Et as DEFAULT_ENGINEER_WORK_LINE_OPTIONS, F as DEFAULT_FORTIFIED_LINE_OPTIONS, Fn as haversineDistance, Ft as DEFAULT_ANTITANK_WALL_OPTIONS, G as DEFAULT_HOLDING_LINE_OPTIONS, Gt as TEXT_AMPLIFIER_FIELDS, H as DEFAULT_HANDOVER_LINE_OPTIONS, Ht as DEFAULT_DIRECTION_OF_SUPPORTING_ATTACK_OPTIONS, I as DEFAULT_PROBABLE_LINE_OF_DEPLOYMENT_OPTIONS, In as project, It as DEFAULT_ANTITANK_DITCH_OPTIONS, J as DEFAULT_PHASE_LINE_OPTIONS, Jt as resolveAmplifierPlacement, K as DEFAULT_INFILTRATION_LANE_OPTIONS, Kt as canonicalTextAmplifierKey, L as PROBABLE_LINE_OF_DEPLOYMENT_DASH, Ln as sphericalBearing, Lt as DEFAULT_ASSEMBLY_AREA_OPTIONS, M as DEFAULT_PENETRATE_OPTIONS, Mn as createBaselineFrame, Mt as DEFAULT_BATTLE_POSITION_OPTIONS, N as DEFAULT_FRONTAL_ATTACK_OPTIONS, Nn as calculateMetrics, Nt as DEFAULT_ATTACK_HELICOPTER_OPTIONS, O as DEFAULT_SEIZE_OPTIONS, On as createMidpointPerpendicularDrawRule, Ot as DEFAULT_BOUNDARY_OPTIONS, P as DEFAULT_FORTIFIED_AREA_OPTIONS, Pn as computeInitialWidthPoint, Pt as DEFAULT_ATTACK_BY_FIRE_OPTIONS, Q as DEFAULT_FINAL_PROTECTIVE_FIRE_OPTIONS, Qt as DEFAULT_LINE_JOIN, R as DEFAULT_LINE_OF_DEPARTURE_CONTACT_OPTIONS, Rn as unproject, Rt as DEFAULT_AREA_OF_OPERATIONS_OPTIONS, S as DEFAULT_MINEFIELD_OPTIONS, Sn as disruptDrawRule, St as DEFAULT_BYPASS_OPTIONS, T as DEFAULT_JOINT_TACTICAL_ACTION_AREA_OPTIONS, Tn as containDrawRule, Tt as DEFAULT_GENERIC_C2_LINE_OPTIONS, U as DEFAULT_FORWARD_EDGE_OF_BATTLE_AREA_OPTIONS, Ut as DEFAULT_DIRECTION_OF_MAIN_ATTACK_OPTIONS, V as DEFAULT_BATTLE_HANDOVER_LINE_OPTIONS, Vn as roundToFixed, Vt as DEFAULT_AREA_DEFENSE_OPTIONS, W as DEFAULT_RELEASE_LINE_OPTIONS, Wt as DEFAULT_DIRECTION_OF_ATTACK_AVIATION_OPTIONS, X as DEFAULT_FIX_MISSION_TASK_OPTIONS, Xt as DEFAULT_LABEL_SIZE_CLAMP_CSS_PIXELS, Y as DEFAULT_FLOT_OPTIONS, Yt as DEFAULT_LABEL_HEIGHT_CSS_PIXELS, Z as DEFAULT_FIX_OPTIONS, Zt as DEFAULT_LINE_CAP, _ as DEFAULT_PRINCIPAL_DIRECTION_OF_FIRE_OPTIONS, _n as dynamicPointDrawRule, _t as DEFAULT_GENERIC_POLYGON_OPTIONS, a as DEFINITIONS, an as rectangleDrawRule, at as DEFAULT_COVER_OPTIONS, b as DEFAULT_OBSTACLE_BYPASS_EASY_OPTIONS, bn as point12DrawRule, bt as DEFAULT_CLASSIC_ARROW_OPTIONS, c as getDefaultOptions, cn as polyline1DrawRule, ct as DEFAULT_COUNTERATTACK_OPTIONS, d as DEFAULT_TURN_OPTIONS, dn as line24DrawRule, dt as DEFAULT_RADAR_SEARCH_DOCTRINE_OPTIONS, en as DEFAULT_STROKE_DASH_CSS_PIXELS, et as DEFAULT_DISRUPT_OPTIONS, f as DEFAULT_SUPPORT_BY_FIRE_OPTIONS, fn as line23DrawRule, ft as RADAR_SEARCH_DOCTRINE_FILL_COLOR, g as SECONDARY_DIRECTION_OF_FIRE_DASH, gn as attackByFireDrawRule, gt as DEFAULT_GENERIC_RECTANGLE_OPTIONS, h as DEFAULT_SECONDARY_DIRECTION_OF_FIRE_OPTIONS, hn as ambushDrawRule, ht as DEFAULT_GENERIC_SECTOR_OPTIONS, i as CONTROL_MEASURE_METADATA, in as DEFAULT_AIRBORNE_ATTACK_OPTIONS, it as DEFAULT_DELAY_OPTIONS, j as DEFAULT_REARWARD_PASSAGE_OF_LINES_OPTIONS, jn as snapToMidpointPerpendicular, jt as DEFAULT_CONTAIN_OPTIONS, k as DEFAULT_SCREEN_OPTIONS, kn as getMidpointPerpendicularSignedDistance, kt as DEFAULT_BLOCK_ARROW_OPTIONS, l as listControlMeasureMetadata, ln as line27DrawRule, lt as DEFAULT_SUPPORTING_ATTACK_OPTIONS, m as DEFAULT_STRONG_POINT_OPTIONS, mn as line1DrawRule, mt as DEFAULT_GENERIC_TEXT_OPTIONS, n as resolveStyleHints, nt as DEFAULT_DISRUPT_MISSION_TASK_OPTIONS, o as getControlMeasureMetadata, on as axis1DrawRule, ot as DEFAULT_TACTICAL_ARROW_OPTIONS, p as DEFAULT_RETAIN_OPTIONS, pn as turnDrawRule, pt as RADAR_SEARCH_DOCTRINE_STROKE_COLOR, q as DEFAULT_BRIDGEHEAD_LINE_OPTIONS, qt as normalizeTextAmplifiers, r as CONTROL_MEASURE_IDS, rn as DEFAULT_AMBUSH_OPTIONS, rt as DEFAULT_DISENGAGE_OPTIONS, s as getControlMeasureMetadataByValue, sn as supportByFireDrawRule, st as DEFAULT_COUNTERATTACK_BY_FIRE_OPTIONS, t as renderControlMeasure, tn as DEFAULT_STROKE_WIDTH_CSS_PIXELS, tt as DEFAULT_GUARD_OPTIONS, u as DEFAULT_TURNING_MOVEMENT_OPTIONS, un as line26DrawRule, ut as DEFAULT_CLEAR_OPTIONS, v as DEFAULT_PICKUP_ZONE_OPTIONS, vn as sectorDrawRule, vt as DEFAULT_GENERIC_LINE_OPTIONS, w as DEFAULT_LANDING_ZONE_OPTIONS, wn as centerRadiusDrawRule, wt as DEFAULT_BLOCK_MISSION_TASK_OPTIONS, x as DEFAULT_OBSTACLE_BYPASS_DIFFICULT_OPTIONS, xn as penetrateDrawRule, xt as DEFAULT_CANALIZE_OPTIONS, y as DEFAULT_OBSTACLE_BYPASS_IMPOSSIBLE_OPTIONS, yn as staticPointDrawRule, yt as DEFAULT_GENERIC_CIRCLE_OPTIONS, z as DEFAULT_LINE_OF_DEPARTURE_OPTIONS, zn as EPSILON, zt as DEFAULT_MOBILE_DEFENSE_OPTIONS } from "./renderControlMeasure-qnu0Feey.mjs";
|
|
2
2
|
import { FILL_PATTERN_DEFINITIONS, NON_SOLID_FILL_PATTERNS, getFillPatternDefinition } from "./patterns.mjs";
|
|
3
3
|
//#region src/metadata.ts
|
|
4
4
|
const PARAMETER_PRESENTATION_TIERS = [
|
package/dist/preview/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { tt as ControlMeasureId, ya as TextAmplifiers } from "../index-
|
|
1
|
+
import { tt as ControlMeasureId, ya as TextAmplifiers } from "../index-DFZ2BoXt.mjs";
|
|
2
2
|
import { f as FillPattern } from "../patterns-CcQmmOuJ.mjs";
|
|
3
|
-
import { FeatureCollection, Geometry } from "geojson";
|
|
3
|
+
import { FeatureCollection, Geometry, Position } from "geojson";
|
|
4
4
|
|
|
5
5
|
//#region src/preview/index.d.ts
|
|
6
6
|
/** The hatch fill patterns a preview can render — the `FillPattern` vocabulary
|
|
@@ -24,6 +24,18 @@ declare const PREVIEW_FILL_PATTERNS: readonly {
|
|
|
24
24
|
}[];
|
|
25
25
|
/** Radius (SVG units) of a {@link PREVIEW_FILL_PATTERNS} dot. */
|
|
26
26
|
declare const PREVIEW_PATTERN_DOT_RADIUS: number;
|
|
27
|
+
/**
|
|
28
|
+
* Resolves a measure's representative input: its co-located `previewSample`
|
|
29
|
+
* override if present, otherwise the generic {@link fallbackControlPoints}.
|
|
30
|
+
* Unitless points are scaled by {@link D} to the degree offsets a generator
|
|
31
|
+
* expects.
|
|
32
|
+
*/
|
|
33
|
+
interface RepresentativeSample {
|
|
34
|
+
controlPoints: Position[];
|
|
35
|
+
options?: Record<string, unknown>;
|
|
36
|
+
textAmplifiers?: TextAmplifiers;
|
|
37
|
+
}
|
|
38
|
+
declare function representativeSample(id: ControlMeasureId): RepresentativeSample;
|
|
27
39
|
/**
|
|
28
40
|
* Renders a measure's representative preview to GeoJSON. Pure — no map engine,
|
|
29
41
|
* so it runs identically at build time (docs catalog, README generator) and in
|
|
@@ -173,4 +185,4 @@ declare function viewBoxString(shapes: PreviewShape[], dims: {
|
|
|
173
185
|
*/
|
|
174
186
|
declare function svgTextTransform(s: PreviewShape): string | undefined;
|
|
175
187
|
//#endregion
|
|
176
|
-
export { PREVIEW_FILL_PATTERNS, PREVIEW_PATTERN_DOT_RADIUS, PREVIEW_PATTERN_TILE, PreviewFillPattern, PreviewShape, PreviewTextRow, ProjectDimensions, previewLabelBackgroundHeight, previewLabelBackgroundWidth, previewTextRows, projectRenderToShapes, renderRepresentative, svgTextTransform, viewBoxString, viewBoxWithLabels };
|
|
188
|
+
export { PREVIEW_FILL_PATTERNS, PREVIEW_PATTERN_DOT_RADIUS, PREVIEW_PATTERN_TILE, PreviewFillPattern, PreviewShape, PreviewTextRow, ProjectDimensions, RepresentativeSample, previewLabelBackgroundHeight, previewLabelBackgroundWidth, previewTextRows, projectRenderToShapes, renderRepresentative, representativeSample, svgTextTransform, viewBoxString, viewBoxWithLabels };
|
package/dist/preview/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-
|
|
1
|
+
import { a as DEFINITIONS, t as renderControlMeasure } from "../renderControlMeasure-qnu0Feey.mjs";
|
|
2
2
|
import { FILL_PATTERN_DEFINITIONS, NON_SOLID_FILL_PATTERNS } from "../patterns.mjs";
|
|
3
3
|
//#region src/preview/index.ts
|
|
4
4
|
/** Side length (SVG units) of the repeating non-mine tile in {@link PREVIEW_FILL_PATTERNS}. */
|
|
@@ -87,22 +87,17 @@ function fallbackControlPoints(m) {
|
|
|
87
87
|
[.6, .1]
|
|
88
88
|
];
|
|
89
89
|
}
|
|
90
|
-
/**
|
|
91
|
-
* Resolves a measure's representative input: its co-located `previewSample`
|
|
92
|
-
* override if present, otherwise the generic {@link fallbackControlPoints}.
|
|
93
|
-
* Unitless points are scaled by {@link D} to the degree offsets a generator
|
|
94
|
-
* expects.
|
|
95
|
-
*/
|
|
96
90
|
function representativeSample(id) {
|
|
97
91
|
const definition = DEFINITIONS[id];
|
|
98
92
|
const sample = definition.previewSample;
|
|
99
|
-
const
|
|
93
|
+
const scaled = (sample ? sample.controlPoints : fallbackControlPoints(definition.metadata)).map(([x, y]) => [x * D, y * D]);
|
|
94
|
+
const controlPoints = definition.rule ? definition.rule.derive(scaled) : scaled;
|
|
100
95
|
const options = sample?.options;
|
|
101
96
|
const textAmplifiers = sample?.textAmplifiers;
|
|
102
97
|
return {
|
|
103
98
|
controlPoints,
|
|
104
|
-
...options ? { options } : {},
|
|
105
|
-
...textAmplifiers ? { textAmplifiers } : {}
|
|
99
|
+
...options ? { options: { ...options } } : {},
|
|
100
|
+
...textAmplifiers ? { textAmplifiers: { ...textAmplifiers } } : {}
|
|
106
101
|
};
|
|
107
102
|
}
|
|
108
103
|
/**
|
|
@@ -483,4 +478,4 @@ function collectShapes(g, tx, out, bboxArea, textLimits, props) {
|
|
|
483
478
|
}
|
|
484
479
|
}
|
|
485
480
|
//#endregion
|
|
486
|
-
export { PREVIEW_FILL_PATTERNS, PREVIEW_PATTERN_DOT_RADIUS, PREVIEW_PATTERN_TILE, previewLabelBackgroundHeight, previewLabelBackgroundWidth, previewTextRows, projectRenderToShapes, renderRepresentative, svgTextTransform, viewBoxString, viewBoxWithLabels };
|
|
481
|
+
export { PREVIEW_FILL_PATTERNS, PREVIEW_PATTERN_DOT_RADIUS, PREVIEW_PATTERN_TILE, previewLabelBackgroundHeight, previewLabelBackgroundWidth, previewTextRows, projectRenderToShapes, renderRepresentative, representativeSample, svgTextTransform, viewBoxString, viewBoxWithLabels };
|
|
@@ -546,13 +546,14 @@ function clonePosition(position) {
|
|
|
546
546
|
function clonePositions(positions) {
|
|
547
547
|
return positions.map(clonePosition);
|
|
548
548
|
}
|
|
549
|
-
function samePosition
|
|
549
|
+
function samePosition(a, b) {
|
|
550
550
|
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];
|
|
551
551
|
}
|
|
552
552
|
//#endregion
|
|
553
553
|
//#region src/draw-rules/midpoint-perpendicular.ts
|
|
554
554
|
function createMidpointPerpendicularDrawRule(options) {
|
|
555
555
|
const defaultDistanceRatio = options.defaultDistanceRatio ?? 1.5;
|
|
556
|
+
const variableLength = options.variableLength ?? false;
|
|
556
557
|
const constrainedIndex = options.constrainedIndex ?? 2;
|
|
557
558
|
const baselineIndexA = constrainedIndex === 0 ? 1 : 0;
|
|
558
559
|
const baselineIndexB = constrainedIndex === 0 ? 2 : 1;
|
|
@@ -564,11 +565,15 @@ function createMidpointPerpendicularDrawRule(options) {
|
|
|
564
565
|
normal: frameNormal
|
|
565
566
|
});
|
|
566
567
|
}
|
|
567
|
-
|
|
568
|
-
|
|
568
|
+
/** Slot holding the constrained point in an array of `count` points. */
|
|
569
|
+
function constrainedIndexIn(count) {
|
|
570
|
+
return variableLength ? count - 1 : constrainedIndex;
|
|
571
|
+
}
|
|
572
|
+
function packSlots(points, baselineA, baselineB, constrained) {
|
|
573
|
+
const out = points.length > 3 ? clonePositions(points) : new Array(3);
|
|
569
574
|
out[baselineIndexA] = baselineA;
|
|
570
575
|
out[baselineIndexB] = baselineB;
|
|
571
|
-
out[
|
|
576
|
+
out[constrainedIndexIn(out.length)] = constrained;
|
|
572
577
|
return out;
|
|
573
578
|
}
|
|
574
579
|
function snap(baselineA, baselineB, point) {
|
|
@@ -583,46 +588,52 @@ function createMidpointPerpendicularDrawRule(options) {
|
|
|
583
588
|
const baselineB = clonePosition(points[1]);
|
|
584
589
|
const frame = frameFor(baselineA, baselineB);
|
|
585
590
|
const derived = frame ? frame.pointAtNormalDistance(frame.length * defaultDistanceRatio) : null;
|
|
586
|
-
return derived ? packSlots(
|
|
591
|
+
return derived ? packSlots([
|
|
592
|
+
baselineA,
|
|
593
|
+
baselineB,
|
|
594
|
+
derived
|
|
595
|
+
], baselineA, baselineB, derived) : [baselineA, baselineB];
|
|
587
596
|
}
|
|
588
597
|
const baselineA = clonePosition(points[baselineIndexA]);
|
|
589
598
|
const baselineB = clonePosition(points[baselineIndexB]);
|
|
590
|
-
const rawConstrained = points[
|
|
591
|
-
return packSlots(baselineA, baselineB, snap(baselineA, baselineB, rawConstrained) ?? clonePosition(rawConstrained));
|
|
599
|
+
const rawConstrained = points[constrainedIndexIn(points.length)];
|
|
600
|
+
return packSlots(points, baselineA, baselineB, snap(baselineA, baselineB, rawConstrained) ?? clonePosition(rawConstrained));
|
|
592
601
|
}
|
|
593
602
|
return {
|
|
594
603
|
id: options.id,
|
|
595
604
|
minimumUserPoints: options.minimumUserPoints ?? 2,
|
|
596
605
|
minimumPreviewPoints: options.minimumPreviewPoints,
|
|
597
606
|
finishOnLastPointRepeat: options.finishOnLastPointRepeat,
|
|
598
|
-
canonicalPointCount: 3,
|
|
607
|
+
canonicalPointCount: variableLength ? void 0 : 3,
|
|
608
|
+
trailingFixedSlots: variableLength ? 1 : void 0,
|
|
599
609
|
derive,
|
|
600
610
|
transform(event) {
|
|
601
611
|
const { previous, next, activePointIndex } = event;
|
|
602
612
|
if (previous.length < 3 || next.length < 3) return derive(next);
|
|
613
|
+
const newConstrainedIndex = constrainedIndexIn(next.length);
|
|
603
614
|
const oldBaselineA = previous[baselineIndexA];
|
|
604
615
|
const oldBaselineB = previous[baselineIndexB];
|
|
605
|
-
const oldConstrained = previous[
|
|
616
|
+
const oldConstrained = previous[constrainedIndexIn(previous.length)];
|
|
606
617
|
const newBaselineA = next[baselineIndexA];
|
|
607
618
|
const newBaselineB = next[baselineIndexB];
|
|
608
|
-
const newConstrained = next[
|
|
619
|
+
const newConstrained = next[newConstrainedIndex];
|
|
609
620
|
if (!oldBaselineA || !oldBaselineB || !oldConstrained || !newBaselineA || !newBaselineB || !newConstrained) return derive(next);
|
|
610
621
|
const baselineAMoved = !samePosition(newBaselineA, oldBaselineA);
|
|
611
622
|
const baselineBMoved = !samePosition(newBaselineB, oldBaselineB);
|
|
612
623
|
const constrainedMoved = !samePosition(newConstrained, oldConstrained);
|
|
613
624
|
const draggingBaseline = activePointIndex === baselineIndexA || activePointIndex === baselineIndexB;
|
|
614
|
-
const draggingConstrained = activePointIndex ===
|
|
625
|
+
const draggingConstrained = activePointIndex === newConstrainedIndex;
|
|
615
626
|
if (draggingBaseline || (baselineAMoved || baselineBMoved) && !constrainedMoved) {
|
|
616
627
|
const oldFrame = frameFor(oldBaselineA, oldBaselineB);
|
|
617
628
|
const newFrame = frameFor(newBaselineA, newBaselineB);
|
|
618
629
|
if (oldFrame && newFrame) {
|
|
619
630
|
const distance = oldFrame.signedNormalDistance(oldConstrained);
|
|
620
631
|
const adjusted = newFrame.pointAtNormalDistance(distance);
|
|
621
|
-
if (adjusted) return packSlots(clonePosition(newBaselineA), clonePosition(newBaselineB), adjusted);
|
|
632
|
+
if (adjusted) return packSlots(next, clonePosition(newBaselineA), clonePosition(newBaselineB), adjusted);
|
|
622
633
|
}
|
|
623
634
|
} else if (draggingConstrained || !baselineAMoved && !baselineBMoved && constrainedMoved) {
|
|
624
635
|
const adjusted = snap(newBaselineA, newBaselineB, newConstrained);
|
|
625
|
-
if (adjusted) return packSlots(clonePosition(newBaselineA), clonePosition(newBaselineB), adjusted);
|
|
636
|
+
if (adjusted) return packSlots(next, clonePosition(newBaselineA), clonePosition(newBaselineB), adjusted);
|
|
626
637
|
}
|
|
627
638
|
return derive(next);
|
|
628
639
|
}
|
|
@@ -655,9 +666,6 @@ function frameFor(p1, p2) {
|
|
|
655
666
|
normal: "right"
|
|
656
667
|
});
|
|
657
668
|
}
|
|
658
|
-
function samePosition(a, b) {
|
|
659
|
-
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];
|
|
660
|
-
}
|
|
661
669
|
//#endregion
|
|
662
670
|
//#region src/draw-rules/area1.ts
|
|
663
671
|
function derive$14(points) {
|
|
@@ -1046,7 +1054,7 @@ const turnDrawRule = {
|
|
|
1046
1054
|
transform(event) {
|
|
1047
1055
|
const { previous, next, activePointIndex } = event;
|
|
1048
1056
|
if (previous.length < 3 || next.length < 3) return deriveWithSide(next);
|
|
1049
|
-
const endpointMoved = !samePosition
|
|
1057
|
+
const endpointMoved = !samePosition(previous[0], next[0]) || !samePosition(previous[1], next[1]);
|
|
1050
1058
|
if (activePointIndex === 0 || activePointIndex === 1 || endpointMoved) return deriveWithSide(next, sideFrom(previous));
|
|
1051
1059
|
return deriveWithSide(next);
|
|
1052
1060
|
}
|
|
@@ -1353,16 +1361,17 @@ const line32DrawRule = {
|
|
|
1353
1361
|
/**
|
|
1354
1362
|
* Polyline1 anchors for the Infiltration Lane.
|
|
1355
1363
|
*
|
|
1356
|
-
* PT1
|
|
1357
|
-
*
|
|
1358
|
-
*
|
|
1359
|
-
*
|
|
1364
|
+
* PT1 through PTN-1 form the lane centerline. PTN is the editable width
|
|
1365
|
+
* handle on the perpendicular through the midpoint of PT1/PT2, so its signed
|
|
1366
|
+
* distance from that segment is the lane half-width. The initial two clicks
|
|
1367
|
+
* synthesize PTN; later edits may insert more centerline vertices before it.
|
|
1360
1368
|
*/
|
|
1361
1369
|
const polyline1DrawRule = createMidpointPerpendicularDrawRule({
|
|
1362
1370
|
id: "polyline1:infiltration-lane",
|
|
1363
1371
|
defaultDistanceRatio: .18,
|
|
1364
1372
|
minimumUserPoints: 2,
|
|
1365
1373
|
minimumPreviewPoints: 2,
|
|
1374
|
+
variableLength: true,
|
|
1366
1375
|
normal: "left"
|
|
1367
1376
|
});
|
|
1368
1377
|
//#endregion
|
|
@@ -12633,7 +12642,10 @@ const FINAL_COORDINATION_LINE = defineControlMeasure({
|
|
|
12633
12642
|
});
|
|
12634
12643
|
//#endregion
|
|
12635
12644
|
//#region src/generators/cm14-maneuver-lines/infiltration-lane.ts
|
|
12636
|
-
const DEFAULT_INFILTRATION_LANE_OPTIONS = {
|
|
12645
|
+
const DEFAULT_INFILTRATION_LANE_OPTIONS = {
|
|
12646
|
+
smooth: false,
|
|
12647
|
+
smoothResolution: 12
|
|
12648
|
+
};
|
|
12637
12649
|
const INFILTRATION_LANE_METADATA = {
|
|
12638
12650
|
id: "infiltration-lane",
|
|
12639
12651
|
name: "Infiltration Lane",
|
|
@@ -12642,7 +12654,6 @@ const INFILTRATION_LANE_METADATA = {
|
|
|
12642
12654
|
entityType: "Infiltration Lane",
|
|
12643
12655
|
value: "140800",
|
|
12644
12656
|
minCoordinates: 3,
|
|
12645
|
-
maxCoordinates: 3,
|
|
12646
12657
|
geometry: "line",
|
|
12647
12658
|
geometryTypes: ["MultiLineString", "Point"],
|
|
12648
12659
|
paints: {
|
|
@@ -12652,6 +12663,7 @@ const INFILTRATION_LANE_METADATA = {
|
|
|
12652
12663
|
},
|
|
12653
12664
|
drawRule: "Polyline1",
|
|
12654
12665
|
capturesLabelSize: true,
|
|
12666
|
+
params: SMOOTH_LINE_PARAMS,
|
|
12655
12667
|
textAmplifiers: [{
|
|
12656
12668
|
key: "T",
|
|
12657
12669
|
label: "Unique designation",
|
|
@@ -12662,9 +12674,11 @@ const INFILTRATION_LANE_METADATA = {
|
|
|
12662
12674
|
};
|
|
12663
12675
|
/** Creates the two parallel boundaries and centered Field T lane designation. */
|
|
12664
12676
|
function createInfiltrationLane(coordinates, options = {}, textAmplifiers = {}) {
|
|
12665
|
-
const
|
|
12666
|
-
const
|
|
12667
|
-
const
|
|
12677
|
+
const centerlineCoordinates = coordinates.slice(0, -1);
|
|
12678
|
+
const widthPoint = coordinates[coordinates.length - 1];
|
|
12679
|
+
const rawCenterline = centerlineCoordinates.map((point) => project(point[0], point[1]));
|
|
12680
|
+
const p1 = rawCenterline[0];
|
|
12681
|
+
const p2 = rawCenterline[1];
|
|
12668
12682
|
const frame = createProjectedBaselineFrame(p1, p2, {
|
|
12669
12683
|
origin: "midpoint",
|
|
12670
12684
|
normal: "left"
|
|
@@ -12673,36 +12687,44 @@ function createInfiltrationLane(coordinates, options = {}, textAmplifiers = {})
|
|
|
12673
12687
|
type: "FeatureCollection",
|
|
12674
12688
|
features: []
|
|
12675
12689
|
};
|
|
12676
|
-
const signedHalfWidth = frame.signedNormalDistance(
|
|
12690
|
+
const signedHalfWidth = frame.signedNormalDistance(widthPoint);
|
|
12677
12691
|
if (Math.abs(signedHalfWidth) < 1e-6) return {
|
|
12678
12692
|
type: "FeatureCollection",
|
|
12679
12693
|
features: []
|
|
12680
12694
|
};
|
|
12681
|
-
const
|
|
12682
|
-
const
|
|
12695
|
+
const rawBoundaries = offsetPolylineSides(rawCenterline, new Array(rawCenterline.length).fill(signedHalfWidth));
|
|
12696
|
+
const smooth = (line) => smoothLineVerts(line, options, 12);
|
|
12683
12697
|
const features = [{
|
|
12684
12698
|
type: "Feature",
|
|
12685
12699
|
properties: { part: "infiltration-lane" },
|
|
12686
12700
|
geometry: {
|
|
12687
12701
|
type: "MultiLineString",
|
|
12688
|
-
coordinates: [
|
|
12702
|
+
coordinates: [smooth(rawBoundaries.left), smooth(rawBoundaries.right)].map((line) => line.map((point) => unproject(point[0], point[1])))
|
|
12689
12703
|
}
|
|
12690
12704
|
}];
|
|
12691
|
-
if (textAmplifiers.T)
|
|
12692
|
-
|
|
12693
|
-
|
|
12694
|
-
|
|
12695
|
-
|
|
12696
|
-
|
|
12697
|
-
|
|
12698
|
-
|
|
12699
|
-
|
|
12700
|
-
|
|
12701
|
-
|
|
12702
|
-
|
|
12703
|
-
|
|
12704
|
-
|
|
12705
|
-
|
|
12705
|
+
if (textAmplifiers.T) {
|
|
12706
|
+
const { segments, totalLength } = polylineSegments(smooth(rawCenterline));
|
|
12707
|
+
const labelFrame = pointAlongPolyline(segments, totalLength, .5);
|
|
12708
|
+
if (!labelFrame) return {
|
|
12709
|
+
type: "FeatureCollection",
|
|
12710
|
+
features
|
|
12711
|
+
};
|
|
12712
|
+
features.push({
|
|
12713
|
+
type: "Feature",
|
|
12714
|
+
properties: {
|
|
12715
|
+
part: "label",
|
|
12716
|
+
labelPlacement: false,
|
|
12717
|
+
amplifierField: "T",
|
|
12718
|
+
text: textAmplifiers.T,
|
|
12719
|
+
rotation: labelRotationAlong(labelFrame.along),
|
|
12720
|
+
...labelSizeProps(options)
|
|
12721
|
+
},
|
|
12722
|
+
geometry: {
|
|
12723
|
+
type: "Point",
|
|
12724
|
+
coordinates: unproject(labelFrame.point[0], labelFrame.point[1])
|
|
12725
|
+
}
|
|
12726
|
+
});
|
|
12727
|
+
}
|
|
12706
12728
|
return {
|
|
12707
12729
|
type: "FeatureCollection",
|
|
12708
12730
|
features
|
package/package.json
CHANGED