formulab 0.27.2 → 0.27.4

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +17 -6
  3. package/dist/chemical/pid.d.ts +5 -0
  4. package/dist/chemical/pid.d.ts.map +1 -1
  5. package/dist/chemical/pid.js +5 -0
  6. package/dist/chemical/pid.js.map +1 -1
  7. package/dist/chemical/reliefValve.d.ts.map +1 -1
  8. package/dist/chemical/reliefValve.js +5 -2
  9. package/dist/chemical/reliefValve.js.map +1 -1
  10. package/dist/construction/momentOfInertia.d.ts +7 -2
  11. package/dist/construction/momentOfInertia.d.ts.map +1 -1
  12. package/dist/construction/momentOfInertia.js +7 -2
  13. package/dist/construction/momentOfInertia.js.map +1 -1
  14. package/dist/construction/rebar.d.ts.map +1 -1
  15. package/dist/construction/rebar.js +11 -4
  16. package/dist/construction/rebar.js.map +1 -1
  17. package/dist/electronics/resistor.d.ts.map +1 -1
  18. package/dist/electronics/resistor.js +11 -1
  19. package/dist/electronics/resistor.js.map +1 -1
  20. package/dist/electronics/stencil.d.ts +1 -0
  21. package/dist/electronics/stencil.d.ts.map +1 -1
  22. package/dist/electronics/stencil.js +1 -0
  23. package/dist/electronics/stencil.js.map +1 -1
  24. package/dist/machining/gaugeBlockStack.d.ts.map +1 -1
  25. package/dist/machining/gaugeBlockStack.js +23 -7
  26. package/dist/machining/gaugeBlockStack.js.map +1 -1
  27. package/dist/metal/gear.d.ts +2 -0
  28. package/dist/metal/gear.d.ts.map +1 -1
  29. package/dist/metal/gear.js +2 -0
  30. package/dist/metal/gear.js.map +1 -1
  31. package/dist/safety/fallClearance.d.ts +2 -0
  32. package/dist/safety/fallClearance.d.ts.map +1 -1
  33. package/dist/safety/fallClearance.js +2 -0
  34. package/dist/safety/fallClearance.js.map +1 -1
  35. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,79 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.27.4] - 2026-08-16
9
+
10
+ Documentation-only release: three functions that already implement a published standard now say
11
+ so in their doc comments.
12
+
13
+ ### Added
14
+
15
+ - **`metal/gear` — `gear()` now cites ISO 21771** (Gears — Cylindrical involute gears and gear
16
+ pairs — Concepts and geometry) for its addendum/dedendum/pressure-angle conventions.
17
+ - **`electronics/stencil` — `stencilAperture()` now cites IPC-7525** for its recommended-minimum
18
+ area-ratio (0.66) and aspect-ratio (1.5) thresholds.
19
+ - **`safety/fallClearance` — `fallClearance()` now cites OSHA 29 CFR 1926.502(d)(16)(iv)** for
20
+ the 3.5 ft (1.07 m) maximum deceleration distance already used in its warning threshold.
21
+
22
+ No calculation logic changed; all three functions produce identical output to 0.27.3.
23
+
24
+ ## [0.27.3] - 2026-08-11
25
+
26
+ Golden reference test coverage expansion across four previously-uncredited domains (Chemical,
27
+ Construction, Machining, Electronics), including one real behavior fix found along the way.
28
+
29
+ ### Fixed
30
+
31
+ - **`machining/gaugeBlockStack` — the `metric47` gauge block set was not actually a 47-piece
32
+ set.** `METRIC_47_SET` carried an extra half-mm series (0.5, 1.5, ..., 9.5 — 10 blocks) that
33
+ belongs only to the finer 87/88-piece set, inflating it to 56 blocks under a "47" name.
34
+ Cross-checked against two independent catalog descriptions of the commercial 47-piece set
35
+ (Mitutoyo Series 516 / DIN EN ISO 3650 equivalents): the real composition is 46 stacking blocks
36
+ (9+9+9+9+10; the catalog's 47th piece is a 1.0005mm zero-reference block not used for
37
+ stacking). Practical effect: `gaugeBlockStack({ availableSet: 'metric47' })` could previously
38
+ recommend a physical block (e.g. a bare 0.5mm block) that a real 47-piece set does not contain.
39
+ A target requiring a sub-1mm block now correctly fails to zero out on `metric47` — regression-
40
+ pinned in `gaugeBlockStack.test.ts`. `METRIC_88_SET`'s comment was also corrected: the array
41
+ has 87 entries, matching its catalog composition (the "88th" piece is the same non-stacking
42
+ reference block); no behavior change there.
43
+
44
+ ### Added
45
+
46
+ - **`chemical/pid` — Cohen-Coon P/PI/PID gains now have golden reference tests.** The existing
47
+ Cohen-Coon test only asserted `> 0`; it is replaced with values hand-computed from the
48
+ published Cohen & Coon (1953) coefficient table (verified independently against a second
49
+ public source) at r = L/T = 0.1, covering Kp/Ti/Td and the derived Ki/Kd. The Ziegler-Nichols
50
+ coefficients were also cross-checked against a second public source and annotated as
51
+ standard-table values, not derived figures.
52
+ - **`chemical/reliefValve` — the API 520 critical-flow coefficient C now has a golden reference
53
+ test.** C(k=1.4) = 356.06 matches the value commonly published for diatomic gases in API 520
54
+ Part I references, independently of this codebase. Verified via the steam(k=1.3)/gas(k=1.4)
55
+ required-area ratio, which isolates C from the rest of the sizing formula's unit conversions.
56
+ - **`construction/momentOfInertia` — T-section and C-channel golden tests are now fully pinned.**
57
+ Previously only asserted `> 0`/positivity for Ix/Iy/Sx/Sy; now pinned to values hand-computed
58
+ independently from Roark's parallel-axis (component) method. `@reference` tags added (was prose
59
+ only). README's Verification Status table credited the whole Construction domain to
60
+ "AISC, Timoshenko" — a repo-wide audit found only `momentOfInertia()` actually cites them (the
61
+ other 14 functions are self-evident geometry or already disclose "convention, not a code
62
+ limit"); the table and its note now say so.
63
+ - **`construction/truePosition`, `machining/gaugeBlockStack`, `electronics/resistorDecode`
64
+ credited in golden-test coverage.** All three already had exact pinned expected values against
65
+ their cited standards (ASME Y14.5, Mitutoyo/DIN EN ISO 3650 catalog composition, IEC 60062) —
66
+ the README table just hadn't caught up.
67
+
68
+ ### Investigated, not changed
69
+
70
+ - **`construction/rebar`'s D16/D25 unit-weight overrides remain unconfirmed against a named
71
+ standard.** Two secondary sources checked were inconclusive (one mislabeled a
72
+ cross-sectional-area column as unit weight; the other was a different national standard family
73
+ than this table's Korean/JIS D-series). No value changed — see
74
+ `claudedocs/issues/ISSUE-formulab-20260811-rebar-unit-weight-standard-unconfirmed.md`.
75
+ - **`electronics/resistor`'s 6-band temperature-coefficient table** — brown/red/blue entries are
76
+ corroborated by every source checked; the rest of the table could not be cross-verified the
77
+ same way (a different published TCR scheme uses unrelated figures for the same colors, and it
78
+ wasn't established whether that's a different standard edition or a real disagreement). No
79
+ value changed; flagged in JSDoc.
80
+
8
81
  ## [0.27.2] - 2026-08-06
9
82
 
10
83
  ### Changed
package/README.md CHANGED
@@ -16,7 +16,7 @@ A comprehensive collection of engineering formulas and calculations for manufact
16
16
  - **Zero dependencies** — Lightweight and fast
17
17
  - **TypeScript first** — Full type definitions included
18
18
  - **Tree-shakeable** — Import only what you need
19
- - **2,921 tests** — Coverage thresholds: 90% lines, 95% functions, 85% branches ([CI pipeline](https://github.com/iyulab/formulab/actions/workflows/ci.yml))
19
+ - **3,020 tests** — Coverage thresholds: 90% lines, 95% functions, 85% branches ([CI pipeline](https://github.com/iyulab/formulab/actions/workflows/ci.yml))
20
20
  - **Research-based** — Golden reference tests verified against NIOSH 94-110, AIAG/ASTM E2587, JIPM, ASME B16.5, ISO 22514-2, and more
21
21
 
22
22
  ## Verification Status
@@ -24,23 +24,28 @@ A comprehensive collection of engineering formulas and calculations for manufact
24
24
  | Domain | Functions | Golden Tests | Key References |
25
25
  |--------|-----------|-------------|----------------|
26
26
  | Quality | 21 | oee, cpk, controlChart, gageRR | ISO 22400-2, AIAG/ASTM E2587, JIPM, AIAG MSA |
27
- | Metal | 33 | metalWeight | Machinery's Handbook, ASME B36.10/B16.5 |
27
+ | Metal | 33 | metalWeight, flangeSpec, pipeSpec, pressFit, spring, weldStrength | Machinery's Handbook, ASME B36.10/B16.5 |
28
28
  | Logistics | 17 | cbm | Physical formula |
29
29
  | Safety | 14 | nioshLifting | NIOSH 94-110, ISO 7730, IEEE 1584, OSHA |
30
- | Chemical | 12 | | Darcy-Weisbach, Fourier, API 520, ISA |
31
- | Electronics | 12 | | IPC-2221 |
32
- | Construction | 15 | | AISC, Timoshenko |
30
+ | Chemical | 12 | pid, reliefValve | Darcy-Weisbach, Fourier, API 520, ISA |
31
+ | Electronics | 12 | awgProperties, resistorDecode | IPC-2221, IEC 60062 |
32
+ | Construction | 15 | momentOfInertia | AISC, Timoshenko, Roark's (momentOfInertia only — see note) |
33
33
  | Automotive | 9 | — | AASHTO, SAE J1772 |
34
34
  | Energy | 15 | — | NREL PVWatts, ISO 50001 |
35
35
  | Food | 7 | — | HACCP, ICH Q1A |
36
36
  | Utility | 18 | — | — |
37
37
  | Battery | 10 | — | IEEE 1188, IEC 62620, Battery University |
38
38
  | Environmental | 10 | — | GHG Protocol, IPCC AR6, IEA 2023 |
39
- | Machining | 12 | | Machinery's Handbook, ASME Y14.5, Sandvik Coromant |
39
+ | Machining | 12 | truePosition, gaugeBlockStack | Machinery's Handbook, ASME Y14.5, Sandvik Coromant |
40
40
  | IE | 5 | — | MTM/MOST, Wright's learning curve |
41
41
 
42
42
  > Functions with golden reference tests have been verified against authoritative engineering sources.
43
43
  > See each function's JSDoc for specific references.
44
+ >
45
+ > **Construction note**: only `momentOfInertia()` cites AISC/Timoshenko/Roark's directly; the
46
+ > domain's other 14 functions are self-evident geometry/statics (no external standard needed) or
47
+ > already carry their own "convention, not a code limit" disclosure (`concreteMix`, `stair`) —
48
+ > the "Key References" column above described the whole domain, not each function.
44
49
 
45
50
  ## Numerical Accuracy & Testing
46
51
 
@@ -73,6 +78,12 @@ The following functions include tests verified against published reference value
73
78
  | `pressFit()` | Shigley's Mechanical Engineering Design | Same-material solid-shaft interface pressure (39.36 MPa), nu-independence |
74
79
  | `spring()` | Shigley's Mechanical Engineering Design | Spring rate (Eq. 10-9), Wahl factor (Eq. 10-5), corrected shear stress (Eq. 10-7) |
75
80
  | `weldStrength()` | AISC 360 ASD / AWS D1.1 | Equal-leg fillet: throat 0.707·leg, allowable shear 0.30·FEXX (E70=144.9 MPa), capacity/utilization |
81
+ | `pid()` | Ziegler-Nichols (1942), Cohen-Coon (1953) | Cohen-Coon P/PI/PID gains at r=L/T=0.1 (Kp, Ti, Td, derived Ki/Kd) against the published coefficient table |
82
+ | `reliefValve()` | API 520 Part I | Critical-flow coefficient C(k=1.4)=356.06 vs. C(k=1.3), cross-checked via the steam/gas required-area ratio |
83
+ | `momentOfInertia()` | Timoshenko / Roark's Formulas for Stress and Strain, 7th Ed. | Closed-form Ix/Iy/Sx/Sy/rx/ry pinned for all 7 shapes, including the T-section and C-channel parallel-axis (component-method) derivations, not just the elementary rectangle/circle cases |
84
+ | `truePosition()` | ASME Y14.5-2018 | Diametral true-position formula TP = 2 x radial deviation, MMC bonus tolerance |
85
+ | `gaugeBlockStack()` | Mitutoyo Series 516 / DIN EN ISO 3650 catalog composition | The 47-piece set's real 46-block composition (no half-mm series — that belongs only to the 87/88-piece set); regression-pins that a sub-1mm target correctly fails on the 47-piece set |
86
+ | `resistorDecode()` | IEC 60062 | Digit/multiplier/tolerance color-band decoding for canonical 4/5/6-band values (e.g. brown-black-red-gold = 1kΩ ±5%); the 6-band temperature-coefficient table's brown/red/blue entries only — see the JSDoc note on the rest |
76
87
 
77
88
  ### Edge Case Handling
78
89
 
@@ -9,6 +9,11 @@ import type { PidInput, PidResult } from './types.js';
9
9
  *
10
10
  * @reference Ziegler, J.G. & Nichols, N.B. (1942). Optimum Settings for Automatic Controllers.
11
11
  * @reference Cohen, G.H. & Coon, G.A. (1953). Theoretical Consideration of Retarded Control.
12
+ *
13
+ * Every coefficient below (0.6/0.5/0.125 for Z-N ultimate PID, 1+r/3 through 4L/(11+2r) for
14
+ * Cohen-Coon, where r = L/T is the dead-time ratio) is the published table value for the cited
15
+ * method, not a derived or approximated figure — see the golden tests in pid.test.ts for a
16
+ * worked numeric case per method and controller type.
12
17
  */
13
18
  export declare function pid(input: PidInput): PidResult;
14
19
  //# sourceMappingURL=pid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../../src/chemical/pid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CA8F9C"}
1
+ {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../../src/chemical/pid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CA8F9C"}
@@ -9,6 +9,11 @@ import { roundTo } from '../utils.js';
9
9
  *
10
10
  * @reference Ziegler, J.G. & Nichols, N.B. (1942). Optimum Settings for Automatic Controllers.
11
11
  * @reference Cohen, G.H. & Coon, G.A. (1953). Theoretical Consideration of Retarded Control.
12
+ *
13
+ * Every coefficient below (0.6/0.5/0.125 for Z-N ultimate PID, 1+r/3 through 4L/(11+2r) for
14
+ * Cohen-Coon, where r = L/T is the dead-time ratio) is the published table value for the cited
15
+ * method, not a derived or approximated figure — see the golden tests in pid.test.ts for a
16
+ * worked numeric case per method and controller type.
12
17
  */
13
18
  export function pid(input) {
14
19
  const { method, controllerType } = input;
@@ -1 +1 @@
1
- {"version":3,"file":"pid.js","sourceRoot":"","sources":["../../src/chemical/pid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pid.js","sourceRoot":"","sources":["../../src/chemical/pid.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reliefValve.d.ts","sourceRoot":"","sources":["../../src/chemical/reliefValve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoBtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA4FtE"}
1
+ {"version":3,"file":"reliefValve.d.ts","sourceRoot":"","sources":["../../src/chemical/reliefValve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoBtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA+FtE"}
@@ -49,8 +49,11 @@ export function reliefValve(input) {
49
49
  const T = temperature + 273.15;
50
50
  const Z = 1.0; // Compressibility factor
51
51
  const M = molecularWeight;
52
- // C = coefficient depending on ratio of specific heats (k)
53
- // For k=1.4: C 356
52
+ // C = coefficient depending on ratio of specific heats (k), API 520 Part I eq. for critical
53
+ // (choked) flow. C(k=1.4) = 356.06, matching the value commonly published for diatomic gases
54
+ // (air, nitrogen) in API 520 Part I Table 8 / secondary process-safety references — see the
55
+ // golden test in reliefValve.test.ts, which checks the k=1.4-vs-1.3 area ratio this constant
56
+ // implies against an independently computed C(1.4)/C(1.3).
54
57
  const k = fluidType === 'steam' ? 1.3 : 1.4;
55
58
  const C = 520 * Math.sqrt(k * Math.pow(2 / (k + 1), (k + 1) / (k - 1)));
56
59
  // W in kg/h, P1 in kPa, T in K, M in g/mol
@@ -1 +1 @@
1
- {"version":3,"file":"reliefValve.js","sourceRoot":"","sources":["../../src/chemical/reliefValve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reliefValve.js","sourceRoot":"","sources":["../../src/chemical/reliefValve.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,13 @@ import type { MomentOfInertiaInput, MomentOfInertiaResult } from './types.js';
7
7
  *
8
8
  * All dimensions in mm; results in mm², mm⁴, mm³, mm.
9
9
  *
10
- * Formulas from: Timoshenko "Mechanics of Materials", AISC Steel Manual,
11
- * Roark's "Formulas for Stress and Strain"
10
+ * @reference Timoshenko, S. "Mechanics of Materials" — rectangle, circle, hollow-section formulas.
11
+ * @reference Young, W.C. & Budynas, R.G. "Roark's Formulas for Stress and Strain", 7th Ed. —
12
+ * I-beam, T-section, C-channel component-method (parallel-axis) derivations.
13
+ * @reference AISC Steel Construction Manual — section property naming convention (Ix, Sx, rx, etc.).
14
+ * These are closed-form section-property formulas, not a table lookup: every shape's Ix/Sx/rx
15
+ * is independently re-derivable from the definitions above, and the golden tests in
16
+ * momentOfInertia.test.ts pin hand-computed values for every shape, not just the simple ones.
12
17
  *
13
18
  * @throws {RangeError} Dimensions must be positive
14
19
  * @throws {RangeError} Diameter must be positive
@@ -1 +1 @@
1
- {"version":3,"file":"momentOfInertia.d.ts","sourceRoot":"","sources":["../../src/construction/momentOfInertia.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAiBlF"}
1
+ {"version":3,"file":"momentOfInertia.d.ts","sourceRoot":"","sources":["../../src/construction/momentOfInertia.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAiBlF"}
@@ -7,8 +7,13 @@ import { roundTo } from '../utils.js';
7
7
  *
8
8
  * All dimensions in mm; results in mm², mm⁴, mm³, mm.
9
9
  *
10
- * Formulas from: Timoshenko "Mechanics of Materials", AISC Steel Manual,
11
- * Roark's "Formulas for Stress and Strain"
10
+ * @reference Timoshenko, S. "Mechanics of Materials" — rectangle, circle, hollow-section formulas.
11
+ * @reference Young, W.C. & Budynas, R.G. "Roark's Formulas for Stress and Strain", 7th Ed. —
12
+ * I-beam, T-section, C-channel component-method (parallel-axis) derivations.
13
+ * @reference AISC Steel Construction Manual — section property naming convention (Ix, Sx, rx, etc.).
14
+ * These are closed-form section-property formulas, not a table lookup: every shape's Ix/Sx/rx
15
+ * is independently re-derivable from the definitions above, and the golden tests in
16
+ * momentOfInertia.test.ts pin hand-computed values for every shape, not just the simple ones.
12
17
  *
13
18
  * @throws {RangeError} Dimensions must be positive
14
19
  * @throws {RangeError} Diameter must be positive
@@ -1 +1 @@
1
- {"version":3,"file":"momentOfInertia.js","sourceRoot":"","sources":["../../src/construction/momentOfInertia.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"momentOfInertia.js","sourceRoot":"","sources":["../../src/construction/momentOfInertia.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rebar.d.ts","sourceRoot":"","sources":["../../src/construction/rebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmBrE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAe1D"}
1
+ {"version":3,"file":"rebar.d.ts","sourceRoot":"","sources":["../../src/construction/rebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA0BrE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAe1D"}
@@ -1,16 +1,23 @@
1
1
  import { roundTo } from '../utils.js';
2
2
  /**
3
3
  * Rebar unit weights in kg/m
4
- * Based on standard deformed bar specifications
5
- * Weight = ( × 0.00617) where d = diameter in mm
4
+ *
5
+ * The D-size designations (D10..D32) are the Korean/JIS deformed-bar naming convention. Most
6
+ * entries equal the generic d² x 0.00617 nominal-weight formula (d = designation number in mm,
7
+ * 0.00617 approximating steel density over a circular cross-section); D16 and D25 instead carry
8
+ * an already-published "standard" figure that differs slightly from that formula (see per-entry
9
+ * comments) — but the specific standard responsible for those two overrides (KS D 3504? a
10
+ * particular mill's published table?) is not cited here, and a 2026-08-11 doc audit could not
11
+ * confirm it from freely available sources (see claudedocs/issues in this repo). Do not swap
12
+ * these for another unconfirmed secondary-source value without resolving which standard applies.
6
13
  */
7
14
  const REBAR_UNIT_WEIGHTS = {
8
15
  D10: 0.617, // 10² × 0.00617 = 0.617
9
16
  D13: 1.04, // 13² × 0.00617 ≈ 1.04
10
- D16: 1.56, // 16² × 0.00617 ≈ 1.58 (standard 1.56)
17
+ D16: 1.56, // 16² × 0.00617 ≈ 1.58 (standard figure used instead: 1.56)
11
18
  D19: 2.23, // 19² × 0.00617 ≈ 2.23
12
19
  D22: 2.98, // 22² × 0.00617 ≈ 2.98
13
- D25: 3.98, // 25² × 0.00617 ≈ 3.85 (standard 3.98)
20
+ D25: 3.98, // 25² × 0.00617 ≈ 3.85 (standard figure used instead: 3.98)
14
21
  D29: 5.18, // 29² × 0.00617 ≈ 5.19
15
22
  D32: 6.31, // 32² × 0.00617 ≈ 6.31
16
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rebar.js","sourceRoot":"","sources":["../../src/construction/rebar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;;;GAIG;AACH,MAAM,kBAAkB,GAA8B;IACpD,GAAG,EAAE,KAAK,EAAG,wBAAwB;IACrC,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,GAAG,EAAE,IAAI,EAAI,uCAAuC;IACpD,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,GAAG,EAAE,IAAI,EAAI,uCAAuC;IACpD,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,GAAG,EAAE,IAAI,EAAI,uBAAuB;CACrC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAe;IAChD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEzC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;IAEzD,OAAO;QACL,UAAU;QACV,WAAW;QACX,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rebar.js","sourceRoot":"","sources":["../../src/construction/rebar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,kBAAkB,GAA8B;IACpD,GAAG,EAAE,KAAK,EAAG,wBAAwB;IACrC,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,GAAG,EAAE,IAAI,EAAI,4DAA4D;IACzE,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,GAAG,EAAE,IAAI,EAAI,4DAA4D;IACzE,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,GAAG,EAAE,IAAI,EAAI,uBAAuB;CACrC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAe;IAChD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEzC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;IAEzD,OAAO;QACL,UAAU;QACV,WAAW;QACX,WAAW;KACZ,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resistor.d.ts","sourceRoot":"","sources":["../../src/electronics/resistor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;AAoI3E;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAsDnE"}
1
+ {"version":3,"file":"resistor.d.ts","sourceRoot":"","sources":["../../src/electronics/resistor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;AA8I3E;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAsDnE"}
@@ -53,7 +53,17 @@ const TOLERANCES = {
53
53
  silver: 10,
54
54
  };
55
55
  /**
56
- * Temperature coefficient values (ppm/C) for 6-band resistors
56
+ * Temperature coefficient values (ppm/C) for the 6th band of a 6-band resistor.
57
+ *
58
+ * brown=100, red=50, blue=10 are corroborated by every source checked (2026-08-11) and are the
59
+ * colors this codebase's own tests already pin. The rest of this table (black/orange/yellow/
60
+ * green/violet/grey) could not be cross-verified the same way: at least one other published TCR
61
+ * color scheme assigns unrelated ppm figures (and even ppm *ranges*, not single values) to the
62
+ * same colors, and it was not established whether that is a different edition of IEC 60062, a
63
+ * different (non-IEC) marking convention, or a genuine disagreement. Left unchanged — see this
64
+ * project's own "don't swap one unsourced value for another" precedent (bendAllowance,
65
+ * wbgtCalculate) — but flagged here rather than presented as uniformly as settled as the
66
+ * digit/multiplier/tolerance tables above, which have no such ambiguity in any source checked.
57
67
  */
58
68
  const TEMP_COEFFICIENTS = {
59
69
  black: 250,
@@ -1 +1 @@
1
- {"version":3,"file":"resistor.js","sourceRoot":"","sources":["../../src/electronics/resistor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resistor.js","sourceRoot":"","sources":["../../src/electronics/resistor.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { StencilInput, StencilResult } from './types.js';
5
5
  * @throws {RangeError} Aperture length must be positive for rectangular apertures
6
6
  * @param input - Aperture dimensions, stencil thickness, and component type
7
7
  * @returns Area ratio, aspect ratio, and pass/fail status
8
+ * @reference IPC-7525 — Stencil Design Guidelines (area ratio >= 0.66, aspect ratio >= 1.5 recommended minimums)
8
9
  */
9
10
  export declare function stencilAperture(input: StencilInput): StencilResult;
10
11
  //# sourceMappingURL=stencil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stencil.d.ts","sourceRoot":"","sources":["../../src/electronics/stencil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAgB7E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CA8DlE"}
1
+ {"version":3,"file":"stencil.d.ts","sourceRoot":"","sources":["../../src/electronics/stencil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAgB7E;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CA8DlE"}
@@ -16,6 +16,7 @@ const RECOMMENDATIONS = {
16
16
  * @throws {RangeError} Aperture length must be positive for rectangular apertures
17
17
  * @param input - Aperture dimensions, stencil thickness, and component type
18
18
  * @returns Area ratio, aspect ratio, and pass/fail status
19
+ * @reference IPC-7525 — Stencil Design Guidelines (area ratio >= 0.66, aspect ratio >= 1.5 recommended minimums)
19
20
  */
20
21
  export function stencilAperture(input) {
21
22
  const { shape, apertureWidth, apertureLength, stencilThickness, componentType } = input;
@@ -1 +1 @@
1
- {"version":3,"file":"stencil.js","sourceRoot":"","sources":["../../src/electronics/stencil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stencil.js","sourceRoot":"","sources":["../../src/electronics/stencil.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gaugeBlockStack.d.ts","sourceRoot":"","sources":["../../src/machining/gaugeBlockStack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAkE9E;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAqDlF"}
1
+ {"version":3,"file":"gaugeBlockStack.d.ts","sourceRoot":"","sources":["../../src/machining/gaugeBlockStack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAkF9E;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAqDlF"}
@@ -1,7 +1,20 @@
1
1
  import { roundTo } from '../utils.js';
2
2
  /**
3
- * Metric 47-piece gauge block set (mm)
4
- * Standard: Grade 1 metric set per ISO 3650
3
+ * Metric 47-piece gauge block set (mm) — Mitutoyo Series 516-362 / equivalent Grade 0-2 catalog
4
+ * sets under DIN EN ISO 3650.
5
+ *
6
+ * This array previously also carried a "0.5 step" series (0.5, 1.5, ..., 9.5 — 10 blocks),
7
+ * inflating it to 56 entries under a "47" name. Cross-checked against two independent catalog
8
+ * descriptions of the commercial 47-piece set (2026-08-11): the half-mm series is NOT part of
9
+ * it — it belongs only to the finer 87/88-piece set below, which exists specifically to reach
10
+ * sub-1mm and .5mm targets the 47-piece set cannot. The array now holds the 46 usable stacking
11
+ * blocks of the real 46/47-piece composition (9+9+9+9+10); the catalog's 47th piece is a
12
+ * 1.0005mm zero-reference block used for comparator calibration, not for building stack
13
+ * dimensions, so it is intentionally not included here.
14
+ *
15
+ * A target that requires a block smaller than ~1mm (e.g. exactly 0.5mm) is not achievable from
16
+ * this set and correctly produces a nonzero `error` — see gaugeBlockStack.test.ts's "cannot reach
17
+ * a sub-1mm target" case. Use `metric88` for targets needing that resolution.
5
18
  */
6
19
  const METRIC_47_SET = [
7
20
  // Series 1: 0.001 step (9 blocks)
@@ -10,15 +23,18 @@ const METRIC_47_SET = [
10
23
  1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09,
11
24
  // Series 3: 0.10 step (9 blocks)
12
25
  1.10, 1.20, 1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90,
13
- // Series 4: 0.5 step ISO 3650 half-mm blocks for sub-1mm remainders
14
- 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5,
15
- // Series 5: whole mm (9 blocks)
26
+ // Series 4: whole mm (9 blocks)
16
27
  1, 2, 3, 4, 5, 6, 7, 8, 9,
17
- // Series 6: tens (10 blocks)
28
+ // Series 5: tens (10 blocks)
18
29
  10, 20, 30, 40, 50, 60, 70, 80, 90, 100,
19
30
  ];
20
31
  /**
21
- * Metric 88-piece gauge block set (mm) — extended precision
32
+ * Metric 88-piece gauge block set (mm) — extended precision.
33
+ *
34
+ * This array has 87 entries: 9 (0.001 step) + 49 (0.01 step, 1.01-1.49) + 10 (half-mm, 0.5-9.5)
35
+ * + 9 (whole mm) + 10 (tens), matching the catalog composition of the commercial "87/88-piece"
36
+ * set (catalog naming varies by vendor). As with the 47-piece set above, the missing 88th piece
37
+ * is a 1.0005mm zero-reference block not used for stacking; not included here.
22
38
  */
23
39
  const METRIC_88_SET = [
24
40
  // 0.001 step: 1.001-1.009 (9 blocks)
@@ -1 +1 @@
1
- {"version":3,"file":"gaugeBlockStack.js","sourceRoot":"","sources":["../../src/machining/gaugeBlockStack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gaugeBlockStack.js","sourceRoot":"","sources":["../../src/machining/gaugeBlockStack.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import type { GearInput, GearResult } from './types.js';
8
8
  * Dedendum: hf = 1.25 x m
9
9
  * Circular pitch: p = pi x m
10
10
  * Base circle diameter: db = d x cos(pressure angle)
11
+ *
12
+ * @reference ISO 21771 — Gears — Cylindrical involute gears and gear pairs — Concepts and geometry
11
13
  */
12
14
  export declare function gear(input: GearInput): GearResult;
13
15
  //# sourceMappingURL=gear.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gear.d.ts","sourceRoot":"","sources":["../../src/metal/gear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMxD;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CA2DjD"}
1
+ {"version":3,"file":"gear.d.ts","sourceRoot":"","sources":["../../src/metal/gear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMxD;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CA2DjD"}
@@ -11,6 +11,8 @@ const PRESSURE_ANGLE_RAD = (PRESSURE_ANGLE_DEG * Math.PI) / 180;
11
11
  * Dedendum: hf = 1.25 x m
12
12
  * Circular pitch: p = pi x m
13
13
  * Base circle diameter: db = d x cos(pressure angle)
14
+ *
15
+ * @reference ISO 21771 — Gears — Cylindrical involute gears and gear pairs — Concepts and geometry
14
16
  */
15
17
  export function gear(input) {
16
18
  const { mode } = input;
@@ -1 +1 @@
1
- {"version":3,"file":"gear.js","sourceRoot":"","sources":["../../src/metal/gear.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gear.js","sourceRoot":"","sources":["../../src/metal/gear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,mDAAmD;AACnD,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,kBAAkB,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AAEhE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,IAAI,MAAc,CAAC;IACnB,IAAI,EAAU,CAAC;IACf,IAAI,EAAsB,CAAC;IAE3B,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,sCAAsC;QACtC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACrF,OAAO,iBAAiB,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACtB,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;QACtB,EAAE,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC;YAChD,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;YACrD,OAAO,iBAAiB,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACnD,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;QACzB,EAAE,GAAG,SAAS,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,MAAM,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtD,iDAAiD;IACjD,MAAM,cAAc,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/E,iCAAiC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAW,eAAe;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,CAAI,gBAAgB;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,aAAa;IAErD,8CAA8C;IAC9C,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAe;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACxC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;KACrD,CAAC;IAEF,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,MAAM,EAAE,CAAC;QACT,cAAc,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,CAAC;QAChB,mBAAmB,EAAE,CAAC;KACvB,CAAC;AACJ,CAAC"}
@@ -16,6 +16,8 @@ import type { FallClearanceInput, FallClearanceResult } from './types.js';
16
16
  *
17
17
  * @param input - Fall clearance parameters
18
18
  * @returns Fall clearance results including adequacy assessment and warnings
19
+ * @reference OSHA 29 CFR 1926.502(d)(16)(iv) — personal fall arrest systems must limit
20
+ * deceleration distance to 3.5 ft (1.07 m)
19
21
  * @throws {RangeError} workerHeight ≤ 0, or any distance (lanyardLength,
20
22
  * decelerationDistance, harnessStretch, safetyFactor, rescueClearance,
21
23
  * obstacleHeight) is negative.
@@ -1 +1 @@
1
- {"version":3,"file":"fallClearance.d.ts","sourceRoot":"","sources":["../../src/safety/fallClearance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAqG5E"}
1
+ {"version":3,"file":"fallClearance.d.ts","sourceRoot":"","sources":["../../src/safety/fallClearance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAqG5E"}
@@ -16,6 +16,8 @@ import { roundTo } from '../utils.js';
16
16
  *
17
17
  * @param input - Fall clearance parameters
18
18
  * @returns Fall clearance results including adequacy assessment and warnings
19
+ * @reference OSHA 29 CFR 1926.502(d)(16)(iv) — personal fall arrest systems must limit
20
+ * deceleration distance to 3.5 ft (1.07 m)
19
21
  * @throws {RangeError} workerHeight ≤ 0, or any distance (lanyardLength,
20
22
  * decelerationDistance, harnessStretch, safetyFactor, rescueClearance,
21
23
  * obstacleHeight) is negative.
@@ -1 +1 @@
1
- {"version":3,"file":"fallClearance.js","sourceRoot":"","sources":["../../src/safety/fallClearance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallClearance.js","sourceRoot":"","sources":["../../src/safety/fallClearance.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "formulab",
3
- "version": "0.27.2",
3
+ "version": "0.27.4",
4
4
  "description": "Manufacturing & Engineering calculation formulas library - 211 industrial calculations across 15 domains for OEE, Cpk, SPC, FMEA, Nelson Rules, metal weight, CNC machining, GD&T, battery, environmental, pipe flow, logistics, IE time study, and more",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",