measur-tools-suite 1.2.1-beta.6 → 1.2.1-beta.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.
Files changed (59) hide show
  1. package/.agents/handoffs/compressed-air-compressor-assessment-refactor.md +70 -0
  2. package/DoxygenLayout.xml +2 -2
  3. package/bin/client.d.ts +16 -2
  4. package/bin/client.js +1 -1
  5. package/bin/client.wasm +0 -0
  6. package/bin/package.json +1 -1
  7. package/bin/ts_def_modules/binding/registered_vectors.d.ts +4 -4
  8. package/bin/ts_def_modules/compressedAir/assessment/centrifugal_compressor.d.ts +164 -0
  9. package/bin/ts_def_modules/compressedAir/assessment/compressor.d.ts +81 -0
  10. package/bin/ts_def_modules/compressedAir/assessment/compressor_catalog.d.ts +57 -0
  11. package/bin/ts_def_modules/compressedAir/assessment/compressor_eem.d.ts +157 -0
  12. package/bin/ts_def_modules/compressedAir/assessment/load_unload_compressor.d.ts +246 -0
  13. package/bin/ts_def_modules/compressedAir/assessment/modulation_without_unload_compressor.d.ts +87 -0
  14. package/bin/ts_def_modules/compressedAir/assessment/start_stop_compressor.d.ts +73 -0
  15. package/bin/ts_def_modules/compressedAir/assessment/vfd_compressor.d.ts +44 -0
  16. package/bin/ts_def_modules/databases/default_data.d.ts +17 -17
  17. package/build-wasm/Makefile +450 -60
  18. package/build-wasm/bin/client.js +1 -1
  19. package/build-wasm/bin/client.wasm +0 -0
  20. package/docs/assets/doxygen-ornl.css +737 -0
  21. package/docs/dependencies/mathjax-config.js +3 -1
  22. package/docs/dox-content/calculators/compressedAir/air_system_capacity_calculator.dox +1 -1
  23. package/docs/dox-content/calculators/compressedAir/air_velocity_calculator.dox +1 -1
  24. package/docs/dox-content/calculators/compressedAir/assessment/centrifugal_compressors.dox +97 -0
  25. package/docs/dox-content/calculators/compressedAir/assessment/compressor_catalog_units.dox +43 -0
  26. package/docs/dox-content/calculators/compressedAir/assessment/compressor_eem.dox +117 -0
  27. package/docs/dox-content/calculators/compressedAir/assessment/load_unload_cycle_model.dox +112 -0
  28. package/docs/dox-content/calculators/compressedAir/assessment/modulation_without_unload.dox +43 -0
  29. package/docs/dox-content/calculators/compressedAir/assessment/overview.dox +125 -0
  30. package/docs/dox-content/calculators/compressedAir/assessment/start_stop_compressor.dox +41 -0
  31. package/docs/dox-content/calculators/compressedAir/assessment/vfd_compressor.dox +54 -0
  32. package/docs/dox-content/calculators/compressedAir/leak_survey/bag_method_calculator.dox +1 -1
  33. package/docs/dox-content/calculators/compressedAir/leak_survey/compressed_air_leak_survey_calculator.dox +1 -1
  34. package/docs/dox-content/calculators/compressedAir/leak_survey/decibels_method_calculator.dox +1 -1
  35. package/docs/dox-content/calculators/compressedAir/leak_survey/estimate_method_calculator.dox +1 -1
  36. package/docs/dox-content/calculators/compressedAir/leak_survey/orifice_method_calculator.dox +1 -1
  37. package/docs/dox-content/calculators/compressedAir/operating_cost_calculator.dox +1 -1
  38. package/docs/dox-content/calculators/compressedAir/pipe_data.dox +1 -1
  39. package/docs/dox-content/calculators/compressedAir/pipe_sizing_calculator.dox +1 -1
  40. package/docs/dox-content/calculators/compressedAir/pneumatic_air_requirement_calculator.dox +1 -1
  41. package/docs/dox-content/calculators/compressedAir/pneumatic_valve_calculator.dox +1 -1
  42. package/docs/dox-content/calculators/compressedAir/receiver_tank_calculator.dox +1 -1
  43. package/docs/dox-content/calculators/processHeat/o2_enrichment_calculator.dox +1 -1
  44. package/docs/dox-content/calculators/processHeat/process_heat_calculator.dox +4 -12
  45. package/docs/mainpage.dox +50 -11
  46. package/package.json +1 -1
  47. package/ts_def/client.d.ts +16 -2
  48. package/ts_def/ts_def_modules/binding/registered_vectors.d.ts +4 -4
  49. package/ts_def/ts_def_modules/compressedAir/assessment/centrifugal_compressor.d.ts +164 -0
  50. package/ts_def/ts_def_modules/compressedAir/assessment/compressor.d.ts +81 -0
  51. package/ts_def/ts_def_modules/compressedAir/assessment/compressor_catalog.d.ts +57 -0
  52. package/ts_def/ts_def_modules/compressedAir/assessment/compressor_eem.d.ts +157 -0
  53. package/ts_def/ts_def_modules/compressedAir/assessment/load_unload_compressor.d.ts +246 -0
  54. package/ts_def/ts_def_modules/compressedAir/assessment/modulation_without_unload_compressor.d.ts +87 -0
  55. package/ts_def/ts_def_modules/compressedAir/assessment/start_stop_compressor.d.ts +73 -0
  56. package/ts_def/ts_def_modules/compressedAir/assessment/vfd_compressor.d.ts +44 -0
  57. package/ts_def/ts_def_modules/databases/default_data.d.ts +17 -17
  58. package/bin/ts_def_modules/compressedAir/compressorsCalc.d.ts +0 -1156
  59. package/ts_def/ts_def_modules/compressedAir/compressorsCalc.d.ts +0 -1156
@@ -0,0 +1,70 @@
1
+ # Refactor Handoff
2
+
3
+ ## Target Module
4
+
5
+ - Domain/path: `compressedAir/assessment`
6
+ - Logical module: compressor assessment performance models, EEM calculations, and compressor catalog records
7
+ - Original files: `include/compressedAir/Compressors.h`, `src/compressedAir/Compressors.cpp`, `include/compressedAir/compressors_data.h`, `bindings-wasm/compressedAir/compressorsCalc.cpp`, `ts_def/ts_def_modules/compressedAir/compressorsCalc.d.ts`, `tests/cpp/compressedAir/Compressors.unit.cpp`, `tests/wasm/compressedAir/wasm-compressorsCalc-test.js`, `tests/wasm/compressedAir/wasm-compressorCalc-reciprocatingScrew-test.js`, `tests/wasm/compressedAir/wasm-compressorCalc-helpers.js`
8
+ - New files: `include/compressedAir/assessment/*`, `src/compressedAir/assessment/*`, `bindings-wasm/compressedAir/assessment/*`, `ts_def/ts_def_modules/compressedAir/assessment/*`, `tests/cpp/compressedAir/assessment/*`, `tests/wasm-mocha/compressedAir/assessment/*`, `docs/dox-content/calculators/compressedAir/assessment/*`
9
+ - Nearby examples: namespace-based `compressedAir` one-off calculators and `compressedAir/leak_survey`
10
+
11
+ ## Current Public API
12
+
13
+ - C++ symbols: global `CompressorsBase`, `Compressors_*`, `Compressor_VFD`, `CompressorEEMs`, and `CompressorsData`
14
+ - Embind runtime names: legacy `Compressors_*`, `Compressor_VFD`, `CompressorsOutput`, `CompressorsOutputBlowOff`, `CompressorsData`, `CompressorsDataV`, and EEM function names
15
+ - TypeScript declarations: `compressedAir/compressorsCalc.d.ts`
16
+ - Test-visible behavior: C++ compressor unit tests plus legacy JS WASM tests
17
+
18
+ ## Proposed Namespace API
19
+
20
+ - Namespace: `compressed_air::assessment`
21
+ - Functions: EEM free functions under `compressor_eem`
22
+ - Structs/value objects: compressor performance/blow-off results, EEM results, `CompressorCatalogRecord`
23
+ - Enums: `CompressorType`, `CompressorControl`, `CompressorStage`, `CompressorLubricant`, `CompressorInputBasis`
24
+ - Runtime names to preserve: none; this is an approved breaking cleanup
25
+
26
+ ## Compatibility Decision
27
+
28
+ - Default: preserve public compatibility.
29
+ - Decision: breaking cleanup approved by user.
30
+ - Migration notes needed: old class/function/type names are removed and replaced by new assessment names.
31
+ - User approval for breaking changes: yes.
32
+ - Removed legacy surfaces: old C++ headers/source, old embind names, old TS `compressorsCalc`, and legacy JS WASM tests.
33
+
34
+ ## Touched Layers
35
+
36
+ - Headers/source: split into `include/compressedAir/assessment` and `src/compressedAir/assessment`; legacy compressor headers/source removed.
37
+ - C++ tests: split under `tests/cpp/compressedAir/assessment`; legacy monolithic test removed.
38
+ - WebAssembly bindings: split under `bindings-wasm/compressedAir/assessment`; legacy `compressorsCalc.cpp` removed.
39
+ - TypeScript declarations: split under `ts_def/ts_def_modules/compressedAir/assessment`; legacy `compressorsCalc.d.ts` removed; client and registered vector declarations updated.
40
+ - WASM Mocha tests: typed tests under `tests/wasm-mocha/compressedAir/assessment`; legacy JS tests removed.
41
+ - Algorithm docs: new `.dox` files under `docs/dox-content/calculators/compressedAir/assessment`.
42
+
43
+ ## Formulas And Units
44
+
45
+ - Final result formula: preserve current formulas and expected numeric outputs exactly.
46
+ - Supporting formulas: pressure/inlet correction, compressor control curves, load/unload cycle timing, VFD interpolation, EEM pressure reduction.
47
+ - Constants: existing 1.732 three-phase conversion, 0.746 hp-to-kW conversion, pressure correction coefficients, and existing time constants.
48
+ - Units: kW, acfm, psig, psia, hp, seconds, hours/year, $/kWh, kWh/year, dimensionless fractions.
49
+ - Unclear or unverified items: legacy catalog comments contain some inconsistent units and should be documented according to field usage/tests.
50
+
51
+ ## Validation
52
+
53
+ - Commands run:
54
+ - `cmake -S . -B build-cpp`
55
+ - `cmake --build build-cpp`
56
+ - `./build-cpp/bin/cpp_tests` passed: 4033 assertions in 301 test cases.
57
+ - `./node_modules/.bin/tsc --noEmit` passed.
58
+ - `doxygen Doxyfile` exited 0, but printed the repo's existing BibTeX failure and unrelated documentation warnings.
59
+ - `npm run tests` ran against stale `bin/client.*`; 230 existing tests passed and 10 new assessment tests failed because the new WASM constructors/functions were not present.
60
+ - `git diff --check` passed.
61
+ - Commands still needed:
62
+ - Re-run `emcmake cmake -S . -B build-wasm -DBUILD_WASM=ON`.
63
+ - Re-run `emmake make -C build-wasm`.
64
+ - Re-run `npm run tests` after `bin/client.js` and `bin/client.wasm` are rebuilt.
65
+ - Known environment limits:
66
+ - `emcmake`, `emmake`, and `emcc` were not installed or not on PATH in this environment, so the WASM artifact could not be rebuilt.
67
+
68
+ ## Open Questions Or Blockers
69
+
70
+ - WASM binding compile and runtime browser tests remain blocked on Emscripten availability.
package/DoxygenLayout.xml CHANGED
@@ -4,8 +4,8 @@
4
4
  <!-- Navigation index tabs for HTML output -->
5
5
  <navindex>
6
6
  <tab type="mainpage" visible="yes" title=""/>
7
- <tab type="pages" visible="yes" title="" intro=""/>
8
- <tab type="topics" visible="yes" title="" intro=""/>
7
+ <tab type="topics" visible="yes" title="Topics" intro="Browse MEASUR by assessment area, calculator family, formula set, database, and shared physics model."/>
8
+ <tab type="pages" visible="no" title="Related Pages" intro=""/>
9
9
  <tab type="modules" visible="yes" title="" intro="">
10
10
  <tab type="modulelist" visible="yes" title="" intro=""/>
11
11
  <tab type="modulemembers" visible="yes" title="" intro=""/>
package/bin/client.d.ts CHANGED
@@ -2,7 +2,6 @@ export * from "./ts_def_modules/binding/registered_vectors";
2
2
 
3
3
  export * from "./ts_def_modules/compressedAir/compressedAir";
4
4
  export * from "./ts_def_modules/compressedAir/compressed_air_utils";
5
- export * from "./ts_def_modules/compressedAir/compressorsCalc";
6
5
  export * from "./ts_def_modules/compressedAir/dryer_operating_cost";
7
6
  export * from "./ts_def_modules/compressedAir/operating_cost";
8
7
  export * from "./ts_def_modules/compressedAir/pipe_sizing";
@@ -10,6 +9,15 @@ export * from "./ts_def_modules/compressedAir/pneumatic_air_requirement";
10
9
  export * from "./ts_def_modules/compressedAir/pneumatic_valve";
11
10
  export * from "./ts_def_modules/compressedAir/receiver_tank";
12
11
 
12
+ export * from "./ts_def_modules/compressedAir/assessment/compressor";
13
+ export * from "./ts_def_modules/compressedAir/assessment/compressor_catalog";
14
+ export * from "./ts_def_modules/compressedAir/assessment/compressor_eem";
15
+ export * from "./ts_def_modules/compressedAir/assessment/centrifugal_compressor";
16
+ export * from "./ts_def_modules/compressedAir/assessment/load_unload_compressor";
17
+ export * from "./ts_def_modules/compressedAir/assessment/modulation_without_unload_compressor";
18
+ export * from "./ts_def_modules/compressedAir/assessment/start_stop_compressor";
19
+ export * from "./ts_def_modules/compressedAir/assessment/vfd_compressor";
20
+
13
21
  export * from "./ts_def_modules/compressedAir/leak_survey/bag_method";
14
22
  export * from "./ts_def_modules/compressedAir/leak_survey/compressed_air_leak_survey";
15
23
  export * from "./ts_def_modules/compressedAir/leak_survey/decibels_method";
@@ -107,13 +115,19 @@ export type MeasurToolsSuite =
107
115
  // compressedAir
108
116
  import("./ts_def_modules/compressedAir/compressedAir").CompressedAirModule &
109
117
  import("./ts_def_modules/compressedAir/compressed_air_utils").CompressedAirUtilsModule &
110
- import("./ts_def_modules/compressedAir/compressorsCalc").CompressorsCalcModule &
111
118
  import("./ts_def_modules/compressedAir/dryer_operating_cost").DryerOperatingCostModule &
112
119
  import("./ts_def_modules/compressedAir/operating_cost").OperatingCostModule &
113
120
  import("./ts_def_modules/compressedAir/pipe_sizing").PipeSizingModule &
114
121
  import("./ts_def_modules/compressedAir/pneumatic_air_requirement").PneumaticAirRequirementModule &
115
122
  import("./ts_def_modules/compressedAir/pneumatic_valve").PneumaticValveModule &
116
123
  import("./ts_def_modules/compressedAir/receiver_tank").ReceiverTankModule &
124
+ import("./ts_def_modules/compressedAir/assessment/compressor").CompressorAssessmentSharedModule &
125
+ import("./ts_def_modules/compressedAir/assessment/compressor_eem").CompressorEemModule &
126
+ import("./ts_def_modules/compressedAir/assessment/centrifugal_compressor").CentrifugalCompressorModule &
127
+ import("./ts_def_modules/compressedAir/assessment/load_unload_compressor").LoadUnloadCompressorModule &
128
+ import("./ts_def_modules/compressedAir/assessment/modulation_without_unload_compressor").ModulationWithoutUnloadCompressorModule &
129
+ import("./ts_def_modules/compressedAir/assessment/start_stop_compressor").StartStopCompressorModule &
130
+ import("./ts_def_modules/compressedAir/assessment/vfd_compressor").VfdCompressorModule &
117
131
  // compressedAir/leak_survey
118
132
  import("./ts_def_modules/compressedAir/leak_survey/bag_method").BagMethodModule &
119
133
  import("./ts_def_modules/compressedAir/leak_survey/compressed_air_leak_survey").CompressedAirLeakSurveyModule &