@willcgage/module-schematic 0.53.0 → 0.54.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.cjs +8 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +43 -30
- package/dist/index.d.ts +43 -30
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1039,22 +1039,24 @@ declare const RAIL_GAUGE_INCHES = 0.354;
|
|
|
1039
1039
|
* frog, i.e. a turnout's LEAD if lead were proportional to frog number. From an
|
|
1040
1040
|
* Atlas code 55 #7 measuring 3⅜″ (Steve Branton, #173) ⇒ 3.375 / 7.
|
|
1041
1041
|
*
|
|
1042
|
-
* It is NOT proportional. Measured lead ÷ N:
|
|
1043
|
-
*
|
|
1044
|
-
*
|
|
1042
|
+
* It is NOT proportional, and the error CHANGES SIGN. Measured lead ÷ N:
|
|
1043
|
+
* **#5 = 0.600, #7 = 0.482, #10 = 0.419** — it falls monotonically. This rule
|
|
1044
|
+
* reads **20% SHORT at N=5** (2.41″ vs a measured 3.00″) and **13% LONG at
|
|
1045
|
+
* N=10** (4.82″ vs 4³⁄₁₆″). There is no safe direction to be wrong in.
|
|
1045
1046
|
*
|
|
1046
1047
|
* Prefer {@link leadInchesForSize}, which returns a real part's measurement when
|
|
1047
1048
|
* one exists and only falls back here for sizes nothing in the library covers.
|
|
1048
|
-
*
|
|
1049
|
+
* ⚠️ The remaining fallback user is the #2.5 wye at 1.21″; since per-frog RISES
|
|
1050
|
+
* as N falls, that is very likely SHORT. Treat it as a placeholder.
|
|
1049
1051
|
*
|
|
1050
|
-
*
|
|
1051
|
-
*
|
|
1052
|
-
*
|
|
1053
|
-
*
|
|
1054
|
-
*
|
|
1055
|
-
*
|
|
1056
|
-
*
|
|
1057
|
-
*
|
|
1052
|
+
* A constant-switch-angle model was also proposed here and is likewise REFUTED:
|
|
1053
|
+
* inverting {@link turnoutClosure} gives α = 0.036 (#5), 0.067 (#7), 0.069
|
|
1054
|
+
* (#10). It was floated when only the #7 and #10 were known, which agreed to
|
|
1055
|
+
* 3%; the #5 killed it. Kept as a warning — two agreeing parts are not a law,
|
|
1056
|
+
* and this library has now watched three separate rules die that way.
|
|
1057
|
+
*
|
|
1058
|
+
* The pattern that DOES fit both fully-measured parts is on {@link
|
|
1059
|
+
* ATLAS_CODE55_N}: the frog sits at a fixed 4.75″ and the points move.
|
|
1058
1060
|
*/
|
|
1059
1061
|
declare const TURNOUT_LEAD_INCHES_PER_FROG = 0.482;
|
|
1060
1062
|
/** Where a dimension came from. `derived` = we computed it from another part or
|
|
@@ -1123,26 +1125,37 @@ declare const CODE55_RAIL_HEIGHT_INCHES = 0.055;
|
|
|
1123
1125
|
* (3⅜″ points→frog, #173) and Will Gage's #5/#7/#10 overall lengths plus the
|
|
1124
1126
|
* #10's lead and points offset. The #5's lead and the wye's are still derived.
|
|
1125
1127
|
*
|
|
1126
|
-
*
|
|
1127
|
-
*
|
|
1128
|
-
*
|
|
1129
|
-
*
|
|
1130
|
-
*
|
|
1131
|
-
*
|
|
1132
|
-
*
|
|
1133
|
-
*
|
|
1134
|
-
*
|
|
1135
|
-
*
|
|
1128
|
+
* ⭐⭐ **THE FROG SITS AT 4.75″ FROM THE TIE END — ON BOTH MEASURED PARTS.**
|
|
1129
|
+
*
|
|
1130
|
+
* part points FROG overall lead
|
|
1131
|
+
* #5 1¾″ 4.75″ 6.00″ 3.0000″
|
|
1132
|
+
* #10 ⁹⁄₁₆″ 4.75″ 8.00″ 4.1875″
|
|
1133
|
+
*
|
|
1134
|
+
* Atlas appear to FIX where the frog casting sits in the moulding and move the
|
|
1135
|
+
* POINTS to change the frog number. That single fact explains every failed rule
|
|
1136
|
+
* below at once: lead was never a property of N — it is just
|
|
1137
|
+
* `4.75 − wherever the points landed`.
|
|
1138
|
+
*
|
|
1139
|
+
* ⚠️ TESTABLE, AND CHEAP: Steve's #7 lead of 3⅜″ was measured independently, by
|
|
1140
|
+
* someone else, on a different part. If the frog really is fixed at 4.75″, that
|
|
1141
|
+
* part's POINTS must sit at 4.75 − 3.375 = **1⅜″**. Measure a physical 2052 and
|
|
1142
|
+
* this model is confirmed or dead. Nobody has measured the #7's points offset.
|
|
1136
1143
|
*
|
|
1137
|
-
*
|
|
1138
|
-
*
|
|
1139
|
-
*
|
|
1140
|
-
*
|
|
1141
|
-
*
|
|
1144
|
+
* NOTHING HERE IS PROPORTIONAL TO FROG NUMBER. Three rules assumed otherwise;
|
|
1145
|
+
* all three were tested against a physical part and FAILED:
|
|
1146
|
+
* - ❌ **Lead ∝ N.** Measured lead ÷ N: #5 = 0.600, #7 = 0.482, #10 = 0.419 —
|
|
1147
|
+
* falls monotonically. {@link TURNOUT_LEAD_INCHES_PER_FROG} reads 13% LONG at
|
|
1148
|
+
* N=10 and 20% SHORT at N=5, so its error even changes sign.
|
|
1149
|
+
* - ❌ **Constant switch angle.** Inverting {@link turnoutClosure} gives α =
|
|
1150
|
+
* 0.036 (#5), 0.067 (#7), 0.069 (#10). The #7 and #10 agreed to 3% and the #5
|
|
1151
|
+
* killed it. Two agreeing parts are not a law.
|
|
1152
|
+
* - ❌ **Overall length ∝ N.** #5 = 6.00″ and #7 = 6.00″ — same moulding, two
|
|
1153
|
+
* frog numbers.
|
|
1142
1154
|
*
|
|
1143
|
-
*
|
|
1144
|
-
*
|
|
1145
|
-
*
|
|
1155
|
+
* The definition is the reason: #N fixes the DIVERGENCE RATE AT THE FROG (1
|
|
1156
|
+
* across per N along) and says NOTHING about how much tie strip the manufacturer
|
|
1157
|
+
* wraps around it, or where inside it the frog goes. Angle is geometry;
|
|
1158
|
+
* everything else is a tooling decision. **Measure the part. Do not model it.**
|
|
1146
1159
|
*/
|
|
1147
1160
|
declare const ATLAS_CODE55_N: TrackPart[];
|
|
1148
1161
|
/** Every built-in part, across manufacturers. */
|
package/dist/index.d.ts
CHANGED
|
@@ -1039,22 +1039,24 @@ declare const RAIL_GAUGE_INCHES = 0.354;
|
|
|
1039
1039
|
* frog, i.e. a turnout's LEAD if lead were proportional to frog number. From an
|
|
1040
1040
|
* Atlas code 55 #7 measuring 3⅜″ (Steve Branton, #173) ⇒ 3.375 / 7.
|
|
1041
1041
|
*
|
|
1042
|
-
* It is NOT proportional. Measured lead ÷ N:
|
|
1043
|
-
*
|
|
1044
|
-
*
|
|
1042
|
+
* It is NOT proportional, and the error CHANGES SIGN. Measured lead ÷ N:
|
|
1043
|
+
* **#5 = 0.600, #7 = 0.482, #10 = 0.419** — it falls monotonically. This rule
|
|
1044
|
+
* reads **20% SHORT at N=5** (2.41″ vs a measured 3.00″) and **13% LONG at
|
|
1045
|
+
* N=10** (4.82″ vs 4³⁄₁₆″). There is no safe direction to be wrong in.
|
|
1045
1046
|
*
|
|
1046
1047
|
* Prefer {@link leadInchesForSize}, which returns a real part's measurement when
|
|
1047
1048
|
* one exists and only falls back here for sizes nothing in the library covers.
|
|
1048
|
-
*
|
|
1049
|
+
* ⚠️ The remaining fallback user is the #2.5 wye at 1.21″; since per-frog RISES
|
|
1050
|
+
* as N falls, that is very likely SHORT. Treat it as a placeholder.
|
|
1049
1051
|
*
|
|
1050
|
-
*
|
|
1051
|
-
*
|
|
1052
|
-
*
|
|
1053
|
-
*
|
|
1054
|
-
*
|
|
1055
|
-
*
|
|
1056
|
-
*
|
|
1057
|
-
*
|
|
1052
|
+
* A constant-switch-angle model was also proposed here and is likewise REFUTED:
|
|
1053
|
+
* inverting {@link turnoutClosure} gives α = 0.036 (#5), 0.067 (#7), 0.069
|
|
1054
|
+
* (#10). It was floated when only the #7 and #10 were known, which agreed to
|
|
1055
|
+
* 3%; the #5 killed it. Kept as a warning — two agreeing parts are not a law,
|
|
1056
|
+
* and this library has now watched three separate rules die that way.
|
|
1057
|
+
*
|
|
1058
|
+
* The pattern that DOES fit both fully-measured parts is on {@link
|
|
1059
|
+
* ATLAS_CODE55_N}: the frog sits at a fixed 4.75″ and the points move.
|
|
1058
1060
|
*/
|
|
1059
1061
|
declare const TURNOUT_LEAD_INCHES_PER_FROG = 0.482;
|
|
1060
1062
|
/** Where a dimension came from. `derived` = we computed it from another part or
|
|
@@ -1123,26 +1125,37 @@ declare const CODE55_RAIL_HEIGHT_INCHES = 0.055;
|
|
|
1123
1125
|
* (3⅜″ points→frog, #173) and Will Gage's #5/#7/#10 overall lengths plus the
|
|
1124
1126
|
* #10's lead and points offset. The #5's lead and the wye's are still derived.
|
|
1125
1127
|
*
|
|
1126
|
-
*
|
|
1127
|
-
*
|
|
1128
|
-
*
|
|
1129
|
-
*
|
|
1130
|
-
*
|
|
1131
|
-
*
|
|
1132
|
-
*
|
|
1133
|
-
*
|
|
1134
|
-
*
|
|
1135
|
-
*
|
|
1128
|
+
* ⭐⭐ **THE FROG SITS AT 4.75″ FROM THE TIE END — ON BOTH MEASURED PARTS.**
|
|
1129
|
+
*
|
|
1130
|
+
* part points FROG overall lead
|
|
1131
|
+
* #5 1¾″ 4.75″ 6.00″ 3.0000″
|
|
1132
|
+
* #10 ⁹⁄₁₆″ 4.75″ 8.00″ 4.1875″
|
|
1133
|
+
*
|
|
1134
|
+
* Atlas appear to FIX where the frog casting sits in the moulding and move the
|
|
1135
|
+
* POINTS to change the frog number. That single fact explains every failed rule
|
|
1136
|
+
* below at once: lead was never a property of N — it is just
|
|
1137
|
+
* `4.75 − wherever the points landed`.
|
|
1138
|
+
*
|
|
1139
|
+
* ⚠️ TESTABLE, AND CHEAP: Steve's #7 lead of 3⅜″ was measured independently, by
|
|
1140
|
+
* someone else, on a different part. If the frog really is fixed at 4.75″, that
|
|
1141
|
+
* part's POINTS must sit at 4.75 − 3.375 = **1⅜″**. Measure a physical 2052 and
|
|
1142
|
+
* this model is confirmed or dead. Nobody has measured the #7's points offset.
|
|
1136
1143
|
*
|
|
1137
|
-
*
|
|
1138
|
-
*
|
|
1139
|
-
*
|
|
1140
|
-
*
|
|
1141
|
-
*
|
|
1144
|
+
* NOTHING HERE IS PROPORTIONAL TO FROG NUMBER. Three rules assumed otherwise;
|
|
1145
|
+
* all three were tested against a physical part and FAILED:
|
|
1146
|
+
* - ❌ **Lead ∝ N.** Measured lead ÷ N: #5 = 0.600, #7 = 0.482, #10 = 0.419 —
|
|
1147
|
+
* falls monotonically. {@link TURNOUT_LEAD_INCHES_PER_FROG} reads 13% LONG at
|
|
1148
|
+
* N=10 and 20% SHORT at N=5, so its error even changes sign.
|
|
1149
|
+
* - ❌ **Constant switch angle.** Inverting {@link turnoutClosure} gives α =
|
|
1150
|
+
* 0.036 (#5), 0.067 (#7), 0.069 (#10). The #7 and #10 agreed to 3% and the #5
|
|
1151
|
+
* killed it. Two agreeing parts are not a law.
|
|
1152
|
+
* - ❌ **Overall length ∝ N.** #5 = 6.00″ and #7 = 6.00″ — same moulding, two
|
|
1153
|
+
* frog numbers.
|
|
1142
1154
|
*
|
|
1143
|
-
*
|
|
1144
|
-
*
|
|
1145
|
-
*
|
|
1155
|
+
* The definition is the reason: #N fixes the DIVERGENCE RATE AT THE FROG (1
|
|
1156
|
+
* across per N along) and says NOTHING about how much tie strip the manufacturer
|
|
1157
|
+
* wraps around it, or where inside it the frog goes. Angle is geometry;
|
|
1158
|
+
* everything else is a tooling decision. **Measure the part. Do not model it.**
|
|
1146
1159
|
*/
|
|
1147
1160
|
declare const ATLAS_CODE55_N: TrackPart[];
|
|
1148
1161
|
/** Every built-in part, across manufacturers. */
|
package/dist/index.js
CHANGED
|
@@ -1102,9 +1102,14 @@ var ATLAS_CODE55_N = [
|
|
|
1102
1102
|
partNumbers: { left: "2050", right: "2051" },
|
|
1103
1103
|
frogNumber: 5,
|
|
1104
1104
|
lead: {
|
|
1105
|
-
inches:
|
|
1106
|
-
source: "
|
|
1107
|
-
note: "
|
|
1105
|
+
inches: 3,
|
|
1106
|
+
source: "measured",
|
|
1107
|
+
note: "Will Gage, physical Atlas 2050 (#5 LH): points at 1\xBE\u2033, frog at 4.75\u2033 \u21D2 3\u2033 exactly. REFUTED BOTH standing models \u2014 the per-frog rule predicted 2.41\u2033, the constant-switch-angle model 2.64\u2033; both read short. It also retired my earlier ~2.4\u2033 photo estimate, which was 20% under."
|
|
1108
|
+
},
|
|
1109
|
+
pointsOffset: {
|
|
1110
|
+
inches: 1.75,
|
|
1111
|
+
source: "measured",
|
|
1112
|
+
note: "Will Gage, physical Atlas 2050 (#5 LH) \u2014 end of tie strip to point tips"
|
|
1108
1113
|
},
|
|
1109
1114
|
overallLength: {
|
|
1110
1115
|
inches: 6,
|