@chrtco/sdk 0.7.5 → 0.7.7

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.
@@ -2862,9 +2862,12 @@ var NAUTICAL_SYMBOLS = [
2862
2862
  getSvg: landmarkSpire,
2863
2863
  group: "landmarks",
2864
2864
  description: "Church spire or steeple, conspicuous from seaward. Useful for visual fixing.",
2865
- s52PlRef: "LNDMRK17",
2865
+ // CATLMK 20 alone has no dedicated PL symbol (renders POSGEN01/03); church spires carry
2866
+ // FUNCTN 20/21 and render as the religious-building symbol BUIREL01 (BUIREL13 when conspicuous)
2867
+ s52PlRef: "BUIREL01",
2868
+ s57Class: "LNDMRK",
2866
2869
  attributeKey: "CATLMK",
2867
- attributeValue: 17,
2870
+ attributeValue: 20,
2868
2871
  renderSize: "32x32",
2869
2872
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Spire, building, position circle" }],
2870
2873
  lineStyles: [{ element: "Building outline", width: 0.8, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -2879,9 +2882,11 @@ var NAUTICAL_SYMBOLS = [
2879
2882
  getSvg: landmarkTower,
2880
2883
  group: "landmarks",
2881
2884
  description: "Tower conspicuous from seaward. General-purpose landmark symbol.",
2882
- s52PlRef: "LNDMRK20",
2885
+ s52PlRef: "TOWERS01",
2886
+ s57Class: "LNDMRK",
2883
2887
  attributeKey: "CATLMK",
2884
- attributeValue: 20,
2888
+ attributeValue: 17,
2889
+ // TOWERS03 = conspicuous variant
2885
2890
  renderSize: "32x32",
2886
2891
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Tower body, cap, position circle" }],
2887
2892
  lineStyles: [{ element: "Tower outline", width: 0.8, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -2896,9 +2901,10 @@ var NAUTICAL_SYMBOLS = [
2896
2901
  getSvg: landmarkChimney,
2897
2902
  group: "landmarks",
2898
2903
  description: "Industrial chimney or smokestack visible from the sea.",
2899
- s52PlRef: "LNDMRK01",
2904
+ s52PlRef: "CHIMNY01",
2905
+ s57Class: "LNDMRK",
2900
2906
  attributeKey: "CATLMK",
2901
- attributeValue: 1,
2907
+ attributeValue: 3,
2902
2908
  renderSize: "32x32",
2903
2909
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Chimney body, smoke, position circle" }],
2904
2910
  lineStyles: [{ element: "Body outline", width: 0.8, color: "#000000" }, { element: "Smoke plume", width: 1, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -2913,9 +2919,10 @@ var NAUTICAL_SYMBOLS = [
2913
2919
  getSvg: landmarkFlagstaff,
2914
2920
  group: "landmarks",
2915
2921
  description: "Flagstaff or flagpole conspicuous from seaward.",
2916
- s52PlRef: "LNDMRK03",
2922
+ s52PlRef: "FLGSTF01",
2923
+ s57Class: "LNDMRK",
2917
2924
  attributeKey: "CATLMK",
2918
- attributeValue: 3,
2925
+ attributeValue: 5,
2919
2926
  renderSize: "32x32",
2920
2927
  colors: [
2921
2928
  { token: "CHBLK", hex: "#000000", usage: "Pole and position circle" },
@@ -2933,9 +2940,11 @@ var NAUTICAL_SYMBOLS = [
2933
2940
  getSvg: landmarkMonument,
2934
2941
  group: "landmarks",
2935
2942
  description: "Monument or memorial conspicuous from the sea.",
2936
- s52PlRef: "LNDMRK05",
2943
+ s52PlRef: "MONUMT12",
2944
+ s57Class: "LNDMRK",
2937
2945
  attributeKey: "CATLMK",
2938
- attributeValue: 5,
2946
+ attributeValue: 9,
2947
+ // MONUMT02 = non-conspicuous variant
2939
2948
  renderSize: "32x32",
2940
2949
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Monument body, base, position circle" }],
2941
2950
  lineStyles: [{ element: "Body outline", width: 0.8, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -2950,9 +2959,10 @@ var NAUTICAL_SYMBOLS = [
2950
2959
  getSvg: landmarkWindmill,
2951
2960
  group: "landmarks",
2952
2961
  description: "Traditional windmill with rotating vanes. Conspicuous landmark.",
2953
- s52PlRef: "LNDMRK21",
2962
+ s52PlRef: "WNDMIL12",
2963
+ s57Class: "LNDMRK",
2954
2964
  attributeKey: "CATLMK",
2955
- attributeValue: 7,
2965
+ attributeValue: 18,
2956
2966
  renderSize: "32x32",
2957
2967
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Tower, vanes, hub, position circle" }],
2958
2968
  lineStyles: [{ element: "Tower", width: 1.5, color: "#000000" }, { element: "Vane arms", width: 1.2, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -2967,9 +2977,10 @@ var NAUTICAL_SYMBOLS = [
2967
2977
  getSvg: landmarkWindTurbine,
2968
2978
  group: "landmarks",
2969
2979
  description: "Modern 3-blade wind turbine. Increasingly common offshore landmark.",
2970
- s52PlRef: "LNDMRK22",
2980
+ s52PlRef: "WIMCON11",
2981
+ s57Class: "LNDMRK",
2971
2982
  attributeKey: "CATLMK",
2972
- attributeValue: 26,
2983
+ attributeValue: 19,
2973
2984
  renderSize: "32x32",
2974
2985
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Tower, blades, hub, position circle" }],
2975
2986
  lineStyles: [{ element: "Tower", width: 1.5, color: "#000000" }, { element: "Blades", width: 1.2, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -2984,9 +2995,11 @@ var NAUTICAL_SYMBOLS = [
2984
2995
  getSvg: landmarkDome,
2985
2996
  group: "landmarks",
2986
2997
  description: "Dome or cupola (e.g., observatory, mosque) visible from the sea.",
2987
- s52PlRef: "LNDMRK03",
2998
+ s52PlRef: "DOMES011",
2999
+ s57Class: "LNDMRK",
2988
3000
  attributeKey: "CATLMK",
2989
- attributeValue: 6,
3001
+ attributeValue: 15,
3002
+ // DOMES001 = non-conspicuous variant
2990
3003
  renderSize: "32x32",
2991
3004
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Dome, base, position circle" }],
2992
3005
  lineStyles: [{ element: "Base outline", width: 0.8, color: "#000000" }, { element: "Dome curve", width: 0.8, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -3001,9 +3014,10 @@ var NAUTICAL_SYMBOLS = [
3001
3014
  getSvg: landmarkRadarScanner,
3002
3015
  group: "landmarks",
3003
3016
  description: "Radar scanner antenna conspicuous from seaward.",
3004
- s52PlRef: "LNDMRK12",
3017
+ s52PlRef: "RASCAN01",
3018
+ s57Class: "LNDMRK",
3005
3019
  attributeKey: "CATLMK",
3006
- attributeValue: 9,
3020
+ attributeValue: 16,
3007
3021
  renderSize: "32x32",
3008
3022
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Tower, scanner dish, position circle" }],
3009
3023
  lineStyles: [{ element: "Tower", width: 1.5, color: "#000000" }, { element: "Scanner frame", width: 1.5, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -3018,9 +3032,10 @@ var NAUTICAL_SYMBOLS = [
3018
3032
  getSvg: landmarkDishAerial,
3019
3033
  group: "landmarks",
3020
3034
  description: "Satellite dish or parabolic antenna visible from the sea.",
3021
- s52PlRef: "LNDMRK12",
3035
+ s52PlRef: "DSHAER01",
3036
+ s57Class: "LNDMRK",
3022
3037
  attributeKey: "CATLMK",
3023
- attributeValue: 12,
3038
+ attributeValue: 4,
3024
3039
  renderSize: "32x32",
3025
3040
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Tower, dish, position circle" }],
3026
3041
  lineStyles: [{ element: "Tower", width: 1.5, color: "#000000" }, { element: "Dish curve", width: 1.5, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -3035,9 +3050,10 @@ var NAUTICAL_SYMBOLS = [
3035
3050
  getSvg: landmarkWaterTower,
3036
3051
  group: "landmarks",
3037
3052
  description: "Water tower. Elevated tank on supporting structure, conspicuous landmark.",
3038
- s52PlRef: "LNDMRK19",
3039
- attributeKey: "CATLMK",
3040
- attributeValue: 15,
3053
+ s52PlRef: "TOWERS12",
3054
+ s57Class: "SILTNK",
3055
+ attributeKey: "CATSIL",
3056
+ attributeValue: 4,
3041
3057
  renderSize: "32x32",
3042
3058
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Tank, legs, position circle" }],
3043
3059
  lineStyles: [{ element: "Leg outlines", width: 1.2, color: "#000000" }, { element: "Tank outline", width: 0.8, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -3052,9 +3068,11 @@ var NAUTICAL_SYMBOLS = [
3052
3068
  getSvg: landmarkRadioTvMast,
3053
3069
  group: "landmarks",
3054
3070
  description: "Radio or television transmission mast with horizontal cross-arms.",
3055
- s52PlRef: "LNDMRK10",
3071
+ // Radio/TV masts are CATLMK 7 (mast) + FUNCTN in S-57, so both mast entries share MSTCON04
3072
+ s52PlRef: "MSTCON04",
3073
+ s57Class: "LNDMRK",
3056
3074
  attributeKey: "CATLMK",
3057
- attributeValue: 8,
3075
+ attributeValue: 7,
3058
3076
  renderSize: "32x32",
3059
3077
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Mast, cross-arms, top, position circle" }],
3060
3078
  lineStyles: [{ element: "Main mast", width: 1.5, color: "#000000" }, { element: "Cross-arms", width: 0.8, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -3069,9 +3087,12 @@ var NAUTICAL_SYMBOLS = [
3069
3087
  getSvg: landmarkCross,
3070
3088
  group: "landmarks",
3071
3089
  description: "Religious cross or calvary conspicuous from seaward.",
3072
- s52PlRef: "LNDMRK05",
3090
+ // The PL has no dedicated symbol for CATLMK 14 (cross/calvary) — S-52 falls back to the
3091
+ // generic position symbol POSGEN01 (POSGEN03 when conspicuous)
3092
+ s52PlRef: "POSGEN01",
3093
+ s57Class: "LNDMRK",
3073
3094
  attributeKey: "CATLMK",
3074
- attributeValue: 10,
3095
+ attributeValue: 14,
3075
3096
  renderSize: "32x32",
3076
3097
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Cross arms and position circle" }],
3077
3098
  lineStyles: [{ element: "Vertical arm", width: 2, color: "#000000" }, { element: "Horizontal arm", width: 2, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -3086,9 +3107,11 @@ var NAUTICAL_SYMBOLS = [
3086
3107
  getSvg: landmarkMast,
3087
3108
  group: "landmarks",
3088
3109
  description: "General mast (not radio/TV). Pole with spherical top.",
3089
- s52PlRef: "LNDMRK10",
3110
+ s52PlRef: "MSTCON04",
3111
+ s57Class: "LNDMRK",
3090
3112
  attributeKey: "CATLMK",
3091
- attributeValue: 14,
3113
+ attributeValue: 7,
3114
+ // MSTCON14 = conspicuous variant
3092
3115
  renderSize: "32x32",
3093
3116
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Mast pole, top ball, position circle" }],
3094
3117
  lineStyles: [{ element: "Mast pole", width: 2, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],
@@ -3103,9 +3126,10 @@ var NAUTICAL_SYMBOLS = [
3103
3126
  getSvg: landmarkSilo,
3104
3127
  group: "landmarks",
3105
3128
  description: "Silo, grain elevator, or storage tank conspicuous from the sea.",
3106
- s52PlRef: "LNDMRK17",
3107
- attributeKey: "CATLMK",
3108
- attributeValue: 33,
3129
+ s52PlRef: "SILBUI01",
3130
+ s57Class: "SILTNK",
3131
+ attributeKey: "CATSIL",
3132
+ attributeValue: 1,
3109
3133
  renderSize: "32x32",
3110
3134
  colors: [{ token: "CHBLK", hex: "#000000", usage: "Body, dome top, position circle" }],
3111
3135
  lineStyles: [{ element: "Body outline", width: 0.8, color: "#000000" }, { element: "Dome curve", width: 0.8, color: "#000000" }, { element: "Position circle", width: 0.6, pattern: "2, 2", color: "#000000" }],