@jetta/axle-load-calculator 0.1.3 → 0.2.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.
Files changed (519) hide show
  1. package/README.md +4 -1
  2. package/build/core/contracts/{chassi_reference.d.ts → ChassiReference.d.ts} +1 -1
  3. package/build/core/contracts/ChassiReference.d.ts.map +1 -0
  4. package/build/core/contracts/{ms_faixas_contract.d.ts → MsFaixasContract.d.ts} +2 -2
  5. package/build/core/contracts/MsFaixasContract.d.ts.map +1 -0
  6. package/build/core/contracts/{ms_faixas_contract.js → MsFaixasContract.js} +3 -3
  7. package/build/core/contracts/{rotation_enum.d.ts → RotationEnum.d.ts} +1 -1
  8. package/build/core/contracts/RotationEnum.d.ts.map +1 -0
  9. package/build/core/contracts/{suspension_type.d.ts → SuspensionType.d.ts} +1 -1
  10. package/build/core/contracts/SuspensionType.d.ts.map +1 -0
  11. package/build/core/contracts/{transport_record.d.ts → TransportRecord.d.ts} +1 -1
  12. package/build/core/contracts/TransportRecord.d.ts.map +1 -0
  13. package/build/core/contracts/{vehicle_type.d.ts → VehicleType.d.ts} +1 -1
  14. package/build/core/contracts/VehicleType.d.ts.map +1 -0
  15. package/build/core/contracts/{vehicle_version.d.ts → VehicleVersion.d.ts} +1 -1
  16. package/build/core/contracts/VehicleVersion.d.ts.map +1 -0
  17. package/build/core/contracts/{wire_flags.d.ts → WireFlags.d.ts} +1 -1
  18. package/build/core/contracts/WireFlags.d.ts.map +1 -0
  19. package/build/core/math/{float_tools.d.ts → FloatTools.d.ts} +1 -1
  20. package/build/core/math/FloatTools.d.ts.map +1 -0
  21. package/build/core/math/{gaussian_elimination.d.ts → GaussianElimination.d.ts} +1 -1
  22. package/build/core/math/GaussianElimination.d.ts.map +1 -0
  23. package/build/core/orchestration/{axle_weight_physics.d.ts → AxleWeightPhysics.d.ts} +1 -1
  24. package/build/core/orchestration/AxleWeightPhysics.d.ts.map +1 -0
  25. package/build/core/orchestration/{axle_weight_physics.js → AxleWeightPhysics.js} +3 -3
  26. package/build/core/orchestration/{collision_checker.d.ts → CollisionChecker.d.ts} +1 -1
  27. package/build/core/orchestration/CollisionChecker.d.ts.map +1 -0
  28. package/build/core/orchestration/{collision_checker.js → CollisionChecker.js} +3 -1
  29. package/build/core/orchestration/{connector_payload_builder.d.ts → ConnectorPayloadBuilder.d.ts} +1 -1
  30. package/build/core/orchestration/ConnectorPayloadBuilder.d.ts.map +1 -0
  31. package/build/core/orchestration/{connector_payload_builder.js → ConnectorPayloadBuilder.js} +27 -13
  32. package/build/core/orchestration/ItemOverlapError.d.ts +9 -0
  33. package/build/core/orchestration/ItemOverlapError.d.ts.map +1 -0
  34. package/build/core/orchestration/ItemOverlapError.js +11 -0
  35. package/build/core/orchestration/{java_mass_center.d.ts → JavaMassCenter.d.ts} +2 -2
  36. package/build/core/orchestration/JavaMassCenter.d.ts.map +1 -0
  37. package/build/core/orchestration/{java_mass_center.js → JavaMassCenter.js} +1 -1
  38. package/build/core/orchestration/{output_builder.d.ts → OutputBuilder.d.ts} +1 -1
  39. package/build/core/orchestration/OutputBuilder.d.ts.map +1 -0
  40. package/build/core/orchestration/{request_schema.d.ts → RequestSchema.d.ts} +8 -1
  41. package/build/core/orchestration/RequestSchema.d.ts.map +1 -0
  42. package/build/core/orchestration/RequestSchema.js +41 -0
  43. package/build/core/orchestration/WeightByAxisTask.d.ts +8 -0
  44. package/build/core/orchestration/WeightByAxisTask.d.ts.map +1 -0
  45. package/build/core/orchestration/{weight_by_axis_task.js → WeightByAxisTask.js} +10 -8
  46. package/build/core/physics/items/{allocated_item.d.ts → AllocatedItem.d.ts} +3 -3
  47. package/build/core/physics/items/AllocatedItem.d.ts.map +1 -0
  48. package/build/core/physics/items/{allocated_item.js → AllocatedItem.js} +1 -1
  49. package/build/core/physics/items/{allocated_item_manager.d.ts → AllocatedItemManager.d.ts} +3 -3
  50. package/build/core/physics/items/AllocatedItemManager.d.ts.map +1 -0
  51. package/build/core/physics/items/BindChassiSolver.d.ts +12 -0
  52. package/build/core/physics/items/BindChassiSolver.d.ts.map +1 -0
  53. package/build/core/physics/items/BindChassiSolver.js +10 -0
  54. package/build/core/physics/items/{center_of_mass.d.ts → CenterOfMass.d.ts} +2 -2
  55. package/build/core/physics/items/CenterOfMass.d.ts.map +1 -0
  56. package/build/core/physics/items/{compute_grouper_center_of_mass.d.ts → ComputeGrouperCenterOfMass.d.ts} +6 -6
  57. package/build/core/physics/items/ComputeGrouperCenterOfMass.d.ts.map +1 -0
  58. package/build/core/physics/items/{compute_grouper_center_of_mass.js → ComputeGrouperCenterOfMass.js} +2 -2
  59. package/build/core/physics/items/{item_templates.d.ts → ItemTemplates.d.ts} +2 -2
  60. package/build/core/physics/items/ItemTemplates.d.ts.map +1 -0
  61. package/build/core/physics/items/{item_templates.js → ItemTemplates.js} +4 -3
  62. package/build/core/physics/items/{multi_container_allocated_items.d.ts → MultiContainerAllocatedItems.d.ts} +4 -4
  63. package/build/core/physics/items/MultiContainerAllocatedItems.d.ts.map +1 -0
  64. package/build/core/physics/items/{multi_container_allocated_items.js → MultiContainerAllocatedItems.js} +2 -2
  65. package/build/core/physics/items/{rotation_transforms.d.ts → RotationTransforms.d.ts} +2 -2
  66. package/build/core/physics/items/RotationTransforms.d.ts.map +1 -0
  67. package/build/core/physics/items/{rotation_transforms.js → RotationTransforms.js} +1 -1
  68. package/build/core/physics/items/UnknownItemIdError.d.ts +10 -0
  69. package/build/core/physics/items/UnknownItemIdError.d.ts.map +1 -0
  70. package/build/core/physics/items/UnknownItemIdError.js +12 -0
  71. package/build/core/physics/models/{axle_weight_model.d.ts → AxleWeightModel.d.ts} +6 -6
  72. package/build/core/physics/models/AxleWeightModel.d.ts.map +1 -0
  73. package/build/core/physics/models/{axle_weight_model.js → AxleWeightModel.js} +11 -10
  74. package/build/core/physics/models/{bi_truck_model.d.ts → BiTruckModel.d.ts} +5 -5
  75. package/build/core/physics/models/BiTruckModel.d.ts.map +1 -0
  76. package/build/core/physics/models/{bi_truck_model.js → BiTruckModel.js} +5 -5
  77. package/build/core/physics/models/{bi_truck_tractor_semi_trailer_model.d.ts → BiTruckTractorSemiTrailerModel.d.ts} +5 -5
  78. package/build/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts.map +1 -0
  79. package/build/core/physics/models/{bi_truck_tractor_semi_trailer_model.js → BiTruckTractorSemiTrailerModel.js} +5 -5
  80. package/build/core/physics/models/{bitrem_model.d.ts → BitremModel.d.ts} +6 -6
  81. package/build/core/physics/models/BitremModel.d.ts.map +1 -0
  82. package/build/core/physics/models/{bitrem_model.js → BitremModel.js} +7 -6
  83. package/build/core/physics/models/{chassi_forces.d.ts → ChassiForces.d.ts} +1 -1
  84. package/build/core/physics/models/ChassiForces.d.ts.map +1 -0
  85. package/build/core/physics/models/{old_tare_model.d.ts → OldTareModel.d.ts} +2 -2
  86. package/build/core/physics/models/OldTareModel.d.ts.map +1 -0
  87. package/build/core/physics/models/{old_tare_model.js → OldTareModel.js} +5 -5
  88. package/build/core/physics/models/{old_tare_scale.d.ts → OldTareScale.d.ts} +1 -1
  89. package/build/core/physics/models/OldTareScale.d.ts.map +1 -0
  90. package/build/core/physics/models/{old_tare_semireboque.d.ts → OldTareSemireboque.d.ts} +2 -2
  91. package/build/core/physics/models/OldTareSemireboque.d.ts.map +1 -0
  92. package/build/core/physics/models/{old_tare_semireboque.js → OldTareSemireboque.js} +2 -2
  93. package/build/core/physics/models/{old_tare_truck.d.ts → OldTareTruck.d.ts} +2 -2
  94. package/build/core/physics/models/OldTareTruck.d.ts.map +1 -0
  95. package/build/core/physics/models/{old_tare_truck.js → OldTareTruck.js} +2 -2
  96. package/build/core/physics/models/{old_tare_vanderleia.d.ts → OldTareVanderleia.d.ts} +2 -2
  97. package/build/core/physics/models/OldTareVanderleia.d.ts.map +1 -0
  98. package/build/core/physics/models/{old_tare_vanderleia.js → OldTareVanderleia.js} +1 -1
  99. package/build/core/physics/models/{percentage_on_axles_calculator.d.ts → PercentageOnAxlesCalculator.d.ts} +2 -2
  100. package/build/core/physics/models/PercentageOnAxlesCalculator.d.ts.map +1 -0
  101. package/build/core/physics/models/{percentage_on_axles_calculator.js → PercentageOnAxlesCalculator.js} +1 -1
  102. package/build/core/physics/models/{quad_semi_trailer_model.d.ts → QuadSemiTrailerModel.d.ts} +5 -5
  103. package/build/core/physics/models/QuadSemiTrailerModel.d.ts.map +1 -0
  104. package/build/core/physics/models/{quad_semi_trailer_model.js → QuadSemiTrailerModel.js} +5 -5
  105. package/build/core/physics/models/{rodotrem_model.d.ts → RodotremModel.d.ts} +6 -6
  106. package/build/core/physics/models/RodotremModel.d.ts.map +1 -0
  107. package/build/core/physics/models/{rodotrem_model.js → RodotremModel.js} +7 -6
  108. package/build/core/physics/models/SemiDelegate.d.ts +9 -0
  109. package/build/core/physics/models/SemiDelegate.d.ts.map +1 -0
  110. package/build/core/physics/models/SemiDelegate.js +1 -0
  111. package/build/core/physics/models/{semi_reboque_base.d.ts → SemiReboqueBase.d.ts} +4 -4
  112. package/build/core/physics/models/SemiReboqueBase.d.ts.map +1 -0
  113. package/build/core/physics/models/{semi_reboque_base.js → SemiReboqueBase.js} +4 -4
  114. package/build/core/physics/models/{semi_reboque_model.d.ts → SemiReboqueModel.d.ts} +5 -5
  115. package/build/core/physics/models/SemiReboqueModel.d.ts.map +1 -0
  116. package/build/core/physics/models/{semi_reboque_model.js → SemiReboqueModel.js} +8 -7
  117. package/build/core/physics/models/{simple_truck_base.d.ts → SimpleTruckBase.d.ts} +4 -4
  118. package/build/core/physics/models/SimpleTruckBase.d.ts.map +1 -0
  119. package/build/core/physics/models/{simple_truck_base.js → SimpleTruckBase.js} +3 -3
  120. package/build/core/physics/models/{simple_truck_model.d.ts → SimpleTruckModel.d.ts} +5 -5
  121. package/build/core/physics/models/SimpleTruckModel.d.ts.map +1 -0
  122. package/build/core/physics/models/{simple_truck_model.js → SimpleTruckModel.js} +7 -6
  123. package/build/core/physics/models/{single_container_tare.d.ts → SingleContainerTare.d.ts} +2 -2
  124. package/build/core/physics/models/SingleContainerTare.d.ts.map +1 -0
  125. package/build/core/physics/models/{single_container_tare.js → SingleContainerTare.js} +2 -2
  126. package/build/core/physics/models/{tare_model.d.ts → TareModel.d.ts} +2 -2
  127. package/build/core/physics/models/TareModel.d.ts.map +1 -0
  128. package/build/core/physics/models/{tare_model.js → TareModel.js} +3 -3
  129. package/build/core/physics/models/TruckDelegate.d.ts +9 -0
  130. package/build/core/physics/models/TruckDelegate.d.ts.map +1 -0
  131. package/build/core/physics/models/TruckDelegate.js +1 -0
  132. package/build/core/physics/models/UnrecognizedSuspensionTypeError.d.ts +10 -0
  133. package/build/core/physics/models/UnrecognizedSuspensionTypeError.d.ts.map +1 -0
  134. package/build/core/physics/models/UnrecognizedSuspensionTypeError.js +12 -0
  135. package/build/core/physics/models/UnsupportedVehicleTypeError.d.ts +10 -0
  136. package/build/core/physics/models/UnsupportedVehicleTypeError.d.ts.map +1 -0
  137. package/build/core/physics/models/UnsupportedVehicleTypeError.js +12 -0
  138. package/build/core/physics/models/{vanderleia_model.d.ts → VanderleiaModel.d.ts} +6 -6
  139. package/build/core/physics/models/VanderleiaModel.d.ts.map +1 -0
  140. package/build/core/physics/models/{vanderleia_model.js → VanderleiaModel.js} +10 -8
  141. package/build/core/physics/models/VehicleModel.d.ts +11 -0
  142. package/build/core/physics/models/VehicleModel.d.ts.map +1 -0
  143. package/build/core/physics/models/VehicleModel.js +1 -0
  144. package/build/core/physics/models/deflection/{beam_deflection.d.ts → BeamDeflection.d.ts} +2 -2
  145. package/build/core/physics/models/deflection/BeamDeflection.d.ts.map +1 -0
  146. package/build/core/physics/models/deflection/{beam_deflection.js → BeamDeflection.js} +2 -2
  147. package/build/core/physics/models/deflection/{bitrem_deflection.d.ts → BitremDeflection.d.ts} +3 -3
  148. package/build/core/physics/models/deflection/BitremDeflection.d.ts.map +1 -0
  149. package/build/core/physics/models/deflection/{bitrem_deflection.js → BitremDeflection.js} +3 -3
  150. package/build/core/physics/models/deflection/{create_deflection_delegate.d.ts → CreateDeflectionDelegate.d.ts} +3 -6
  151. package/build/core/physics/models/deflection/CreateDeflectionDelegate.d.ts.map +1 -0
  152. package/build/core/physics/models/deflection/CreateDeflectionDelegate.js +24 -0
  153. package/build/core/physics/models/deflection/DeflectionDelegate.d.ts +8 -0
  154. package/build/core/physics/models/deflection/DeflectionDelegate.d.ts.map +1 -0
  155. package/build/core/physics/models/deflection/DeflectionDelegate.js +1 -0
  156. package/build/core/physics/models/deflection/DeflectionDelegateFactories.d.ts +36 -0
  157. package/build/core/physics/models/deflection/DeflectionDelegateFactories.d.ts.map +1 -0
  158. package/build/core/physics/models/deflection/DeflectionDelegateFactories.js +51 -0
  159. package/build/core/physics/models/deflection/{deflection_model.d.ts → DeflectionModel.d.ts} +3 -3
  160. package/build/core/physics/models/deflection/DeflectionModel.d.ts.map +1 -0
  161. package/build/core/physics/models/deflection/{deflection_model.js → DeflectionModel.js} +2 -2
  162. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts +9 -0
  163. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts.map +1 -0
  164. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.js +11 -0
  165. package/build/core/physics/models/deflection/{deflection_support_manager.d.ts → DeflectionSupportManager.d.ts} +15 -1
  166. package/build/core/physics/models/deflection/DeflectionSupportManager.d.ts.map +1 -0
  167. package/build/core/physics/models/deflection/{deflection_support_manager.js → DeflectionSupportManager.js} +14 -0
  168. package/build/core/physics/models/deflection/{deflection_tools.d.ts → DeflectionTools.d.ts} +1 -1
  169. package/build/core/physics/models/deflection/DeflectionTools.d.ts.map +1 -0
  170. package/build/core/physics/models/deflection/DelegateFactory.d.ts +12 -0
  171. package/build/core/physics/models/deflection/DelegateFactory.d.ts.map +1 -0
  172. package/build/core/physics/models/deflection/DelegateFactory.js +1 -0
  173. package/build/core/physics/models/deflection/{integration_constant_calculator.d.ts → IntegrationConstantCalculator.d.ts} +6 -3
  174. package/build/core/physics/models/deflection/IntegrationConstantCalculator.d.ts.map +1 -0
  175. package/build/core/physics/models/deflection/{integration_constant_calculator.js → IntegrationConstantCalculator.js} +4 -1
  176. package/build/core/physics/models/deflection/{rodotrem_deflection.d.ts → RodotremDeflection.d.ts} +3 -3
  177. package/build/core/physics/models/deflection/RodotremDeflection.d.ts.map +1 -0
  178. package/build/core/physics/models/deflection/{rodotrem_deflection.js → RodotremDeflection.js} +3 -3
  179. package/build/core/physics/models/deflection/{semi_reboque_deflection.d.ts → SemiReboqueDeflection.d.ts} +3 -3
  180. package/build/core/physics/models/deflection/SemiReboqueDeflection.d.ts.map +1 -0
  181. package/build/core/physics/models/deflection/{semi_reboque_deflection.js → SemiReboqueDeflection.js} +2 -2
  182. package/build/core/physics/models/deflection/{simple_truck_deflection.d.ts → SimpleTruckDeflection.d.ts} +3 -3
  183. package/build/core/physics/models/deflection/SimpleTruckDeflection.d.ts.map +1 -0
  184. package/build/core/physics/models/deflection/{simple_truck_deflection.js → SimpleTruckDeflection.js} +2 -2
  185. package/build/core/physics/models/deflection/{vanderleia_deflection.d.ts → VanderleiaDeflection.d.ts} +3 -3
  186. package/build/core/physics/models/deflection/VanderleiaDeflection.d.ts.map +1 -0
  187. package/build/core/physics/models/deflection/{vanderleia_deflection.js → VanderleiaDeflection.js} +3 -3
  188. package/build/core/physics/services/{axle_weight_output_builder.d.ts → AxleWeightOutputBuilder.d.ts} +4 -4
  189. package/build/core/physics/services/AxleWeightOutputBuilder.d.ts.map +1 -0
  190. package/build/core/physics/services/{axle_weight_output_builder.js → AxleWeightOutputBuilder.js} +2 -2
  191. package/build/core/physics/services/{axle_weight_service.d.ts → AxleWeightService.d.ts} +1 -1
  192. package/build/core/physics/services/AxleWeightService.d.ts.map +1 -0
  193. package/build/core/physics/services/{axle_weight_service.js → AxleWeightService.js} +6 -6
  194. package/build/core/physics/services/{cm_axle_weight_service.d.ts → CmAxleWeightService.d.ts} +2 -2
  195. package/build/core/physics/services/CmAxleWeightService.d.ts.map +1 -0
  196. package/build/core/physics/services/{cm_axle_weight_service.js → CmAxleWeightService.js} +3 -3
  197. package/build/core/physics/services/{container_corner_forces.d.ts → ContainerCornerForces.d.ts} +1 -1
  198. package/build/core/physics/services/ContainerCornerForces.d.ts.map +1 -0
  199. package/build/core/physics/transports/{axle_manager.d.ts → AxleManager.d.ts} +3 -3
  200. package/build/core/physics/transports/AxleManager.d.ts.map +1 -0
  201. package/build/core/physics/transports/{axle_manager.js → AxleManager.js} +2 -2
  202. package/build/core/physics/transports/{axle_record.d.ts → AxleRecord.d.ts} +1 -1
  203. package/build/core/physics/transports/AxleRecord.d.ts.map +1 -0
  204. package/build/core/physics/transports/{axle_record.js → AxleRecord.js} +1 -1
  205. package/build/core/physics/transports/{chassi.d.ts → Chassi.d.ts} +3 -3
  206. package/build/core/physics/transports/{chassi.d.ts.map → Chassi.d.ts.map} +1 -1
  207. package/build/core/physics/transports/{chassi.js → Chassi.js} +2 -2
  208. package/build/core/physics/transports/{container_record.d.ts → ContainerRecord.d.ts} +1 -1
  209. package/build/core/physics/transports/ContainerRecord.d.ts.map +1 -0
  210. package/build/core/physics/transports/{container_record.js → ContainerRecord.js} +1 -1
  211. package/build/core/physics/transports/ContainerSequenceNotFoundError.d.ts +10 -0
  212. package/build/core/physics/transports/ContainerSequenceNotFoundError.d.ts.map +1 -0
  213. package/build/core/physics/transports/ContainerSequenceNotFoundError.js +12 -0
  214. package/build/core/physics/transports/{grouped_containers.d.ts → GroupedContainers.d.ts} +2 -2
  215. package/build/core/physics/transports/GroupedContainers.d.ts.map +1 -0
  216. package/build/core/physics/transports/{grouped_containers.js → GroupedContainers.js} +3 -2
  217. package/build/core/physics/transports/GrouperNotFoundError.d.ts +10 -0
  218. package/build/core/physics/transports/GrouperNotFoundError.d.ts.map +1 -0
  219. package/build/core/physics/transports/GrouperNotFoundError.js +12 -0
  220. package/build/core/physics/transports/{merged_containers.d.ts → MergedContainers.d.ts} +3 -3
  221. package/build/core/physics/transports/MergedContainers.d.ts.map +1 -0
  222. package/build/core/physics/transports/{merged_containers.js → MergedContainers.js} +3 -2
  223. package/build/core/physics/transports/MissingContainerError.d.ts +10 -0
  224. package/build/core/physics/transports/MissingContainerError.d.ts.map +1 -0
  225. package/build/core/physics/transports/MissingContainerError.js +12 -0
  226. package/build/core/physics/transports/{transport.d.ts → Transport.d.ts} +5 -5
  227. package/build/core/physics/transports/Transport.d.ts.map +1 -0
  228. package/build/core/physics/transports/{transport.js → Transport.js} +7 -6
  229. package/build/core/physics/transports/containerweight/{container_max_weight_calculator.d.ts → ContainerMaxWeightCalculator.d.ts} +3 -9
  230. package/build/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts.map +1 -0
  231. package/build/core/physics/transports/containerweight/{container_tare_calculator.d.ts → ContainerTareCalculator.d.ts} +3 -3
  232. package/build/core/physics/transports/containerweight/ContainerTareCalculator.d.ts.map +1 -0
  233. package/build/core/physics/transports/containerweight/{container_weight_model.d.ts → ContainerWeightModel.d.ts} +2 -2
  234. package/build/core/physics/transports/containerweight/ContainerWeightModel.d.ts.map +1 -0
  235. package/build/core/physics/transports/containerweight/{container_weight_model.js → ContainerWeightModel.js} +3 -3
  236. package/build/core/physics/transports/containerweight/MaxWeightInput.d.ts +10 -0
  237. package/build/core/physics/transports/containerweight/MaxWeightInput.d.ts.map +1 -0
  238. package/build/core/physics/transports/containerweight/MaxWeightInput.js +1 -0
  239. package/build/core/physics/transports/containerweight/{merged_containers_weight_calculator.d.ts → MergedContainersWeightCalculator.d.ts} +3 -3
  240. package/build/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts.map +1 -0
  241. package/build/core/physics/transports/containerweight/{single_container_weight_calculator.d.ts → SingleContainerWeightCalculator.d.ts} +3 -3
  242. package/build/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts.map +1 -0
  243. package/build/core/physics/transports/containerweight/{single_container_weight_calculator.js → SingleContainerWeightCalculator.js} +2 -2
  244. package/build/core/physics/transports/tare/BitremAxleSplit.d.ts +8 -0
  245. package/build/core/physics/transports/tare/BitremAxleSplit.d.ts.map +1 -0
  246. package/build/core/physics/transports/tare/BitremAxleSplit.js +1 -0
  247. package/build/core/physics/transports/tare/BitremAxleSplitTarget.d.ts +12 -0
  248. package/build/core/physics/transports/tare/BitremAxleSplitTarget.d.ts.map +1 -0
  249. package/build/core/physics/transports/tare/BitremAxleSplitTarget.js +1 -0
  250. package/build/core/physics/transports/tare/{bitrem_axle_splitter.d.ts → BitremAxleSplitter.d.ts} +3 -3
  251. package/build/core/physics/transports/tare/BitremAxleSplitter.d.ts.map +1 -0
  252. package/build/core/physics/transports/tare/{bitrem_axle_splitter.js → BitremAxleSplitter.js} +5 -5
  253. package/build/core/physics/transports/tare/{bitrem_axle_weight_split.d.ts → BitremAxleWeightSplit.d.ts} +3 -12
  254. package/build/core/physics/transports/tare/BitremAxleWeightSplit.d.ts.map +1 -0
  255. package/build/index.d.ts +7 -0
  256. package/build/index.d.ts.map +1 -1
  257. package/build/index.js +4 -6
  258. package/package.json +3 -3
  259. package/.cursor/ai_changelog/INDEX.md +0 -13
  260. package/.cursor/ai_changelog/_TEMPLATE.md +0 -55
  261. package/.cursor/rules/code-standards.mdc +0 -103
  262. package/.cursor/rules/knowledge-base.mdc +0 -14
  263. package/.cursor/rules/planning-standards.mdc +0 -55
  264. package/.cursor/skills/document-feature-knowledge/SKILL.md +0 -51
  265. package/bitbucket-pipelines.yml +0 -81
  266. package/build/core/contracts/chassi_reference.d.ts.map +0 -1
  267. package/build/core/contracts/ms_faixas_contract.d.ts.map +0 -1
  268. package/build/core/contracts/rotation_enum.d.ts.map +0 -1
  269. package/build/core/contracts/suspension_type.d.ts.map +0 -1
  270. package/build/core/contracts/transport_record.d.ts.map +0 -1
  271. package/build/core/contracts/vehicle_type.d.ts.map +0 -1
  272. package/build/core/contracts/vehicle_version.d.ts.map +0 -1
  273. package/build/core/contracts/wire_flags.d.ts.map +0 -1
  274. package/build/core/math/float_tools.d.ts.map +0 -1
  275. package/build/core/math/gaussian_elimination.d.ts.map +0 -1
  276. package/build/core/orchestration/axle_weight_physics.d.ts.map +0 -1
  277. package/build/core/orchestration/collision_checker.d.ts.map +0 -1
  278. package/build/core/orchestration/connector_payload_builder.d.ts.map +0 -1
  279. package/build/core/orchestration/java_mass_center.d.ts.map +0 -1
  280. package/build/core/orchestration/output_builder.d.ts.map +0 -1
  281. package/build/core/orchestration/request_schema.d.ts.map +0 -1
  282. package/build/core/orchestration/request_schema.js +0 -20
  283. package/build/core/orchestration/weight_by_axis_task.d.ts +0 -7
  284. package/build/core/orchestration/weight_by_axis_task.d.ts.map +0 -1
  285. package/build/core/physics/items/allocated_item.d.ts.map +0 -1
  286. package/build/core/physics/items/allocated_item_manager.d.ts.map +0 -1
  287. package/build/core/physics/items/center_of_mass.d.ts.map +0 -1
  288. package/build/core/physics/items/compute_grouper_center_of_mass.d.ts.map +0 -1
  289. package/build/core/physics/items/item_templates.d.ts.map +0 -1
  290. package/build/core/physics/items/multi_container_allocated_items.d.ts.map +0 -1
  291. package/build/core/physics/items/rotation_transforms.d.ts.map +0 -1
  292. package/build/core/physics/models/axle_weight_model.d.ts.map +0 -1
  293. package/build/core/physics/models/bi_truck_model.d.ts.map +0 -1
  294. package/build/core/physics/models/bi_truck_tractor_semi_trailer_model.d.ts.map +0 -1
  295. package/build/core/physics/models/bitrem_model.d.ts.map +0 -1
  296. package/build/core/physics/models/chassi_forces.d.ts.map +0 -1
  297. package/build/core/physics/models/deflection/beam_deflection.d.ts.map +0 -1
  298. package/build/core/physics/models/deflection/bitrem_deflection.d.ts.map +0 -1
  299. package/build/core/physics/models/deflection/create_deflection_delegate.d.ts.map +0 -1
  300. package/build/core/physics/models/deflection/create_deflection_delegate.js +0 -32
  301. package/build/core/physics/models/deflection/deflection_model.d.ts.map +0 -1
  302. package/build/core/physics/models/deflection/deflection_support_manager.d.ts.map +0 -1
  303. package/build/core/physics/models/deflection/deflection_tools.d.ts.map +0 -1
  304. package/build/core/physics/models/deflection/integration_constant_calculator.d.ts.map +0 -1
  305. package/build/core/physics/models/deflection/rodotrem_deflection.d.ts.map +0 -1
  306. package/build/core/physics/models/deflection/semi_reboque_deflection.d.ts.map +0 -1
  307. package/build/core/physics/models/deflection/simple_truck_deflection.d.ts.map +0 -1
  308. package/build/core/physics/models/deflection/vanderleia_deflection.d.ts.map +0 -1
  309. package/build/core/physics/models/old_tare_model.d.ts.map +0 -1
  310. package/build/core/physics/models/old_tare_scale.d.ts.map +0 -1
  311. package/build/core/physics/models/old_tare_semireboque.d.ts.map +0 -1
  312. package/build/core/physics/models/old_tare_truck.d.ts.map +0 -1
  313. package/build/core/physics/models/old_tare_vanderleia.d.ts.map +0 -1
  314. package/build/core/physics/models/percentage_on_axles_calculator.d.ts.map +0 -1
  315. package/build/core/physics/models/quad_semi_trailer_model.d.ts.map +0 -1
  316. package/build/core/physics/models/rodotrem_model.d.ts.map +0 -1
  317. package/build/core/physics/models/semi_reboque_base.d.ts.map +0 -1
  318. package/build/core/physics/models/semi_reboque_model.d.ts.map +0 -1
  319. package/build/core/physics/models/simple_truck_base.d.ts.map +0 -1
  320. package/build/core/physics/models/simple_truck_model.d.ts.map +0 -1
  321. package/build/core/physics/models/single_container_tare.d.ts.map +0 -1
  322. package/build/core/physics/models/tare_model.d.ts.map +0 -1
  323. package/build/core/physics/models/vanderleia_model.d.ts.map +0 -1
  324. package/build/core/physics/services/axle_weight_output_builder.d.ts.map +0 -1
  325. package/build/core/physics/services/axle_weight_service.d.ts.map +0 -1
  326. package/build/core/physics/services/cm_axle_weight_service.d.ts.map +0 -1
  327. package/build/core/physics/services/container_corner_forces.d.ts.map +0 -1
  328. package/build/core/physics/transports/axle_manager.d.ts.map +0 -1
  329. package/build/core/physics/transports/axle_record.d.ts.map +0 -1
  330. package/build/core/physics/transports/container_record.d.ts.map +0 -1
  331. package/build/core/physics/transports/containerweight/container_max_weight_calculator.d.ts.map +0 -1
  332. package/build/core/physics/transports/containerweight/container_tare_calculator.d.ts.map +0 -1
  333. package/build/core/physics/transports/containerweight/container_weight_model.d.ts.map +0 -1
  334. package/build/core/physics/transports/containerweight/merged_containers_weight_calculator.d.ts.map +0 -1
  335. package/build/core/physics/transports/containerweight/single_container_weight_calculator.d.ts.map +0 -1
  336. package/build/core/physics/transports/grouped_containers.d.ts.map +0 -1
  337. package/build/core/physics/transports/merged_containers.d.ts.map +0 -1
  338. package/build/core/physics/transports/tare/bitrem_axle_splitter.d.ts.map +0 -1
  339. package/build/core/physics/transports/tare/bitrem_axle_weight_split.d.ts.map +0 -1
  340. package/build/core/physics/transports/transport.d.ts.map +0 -1
  341. package/eslint.config.js +0 -51
  342. package/src/core/contracts/chassi_reference.ts +0 -7
  343. package/src/core/contracts/ms_faixas_contract.ts +0 -114
  344. package/src/core/contracts/rotation_enum.ts +0 -11
  345. package/src/core/contracts/suspension_type.ts +0 -4
  346. package/src/core/contracts/transport_record.ts +0 -4
  347. package/src/core/contracts/vehicle_type.ts +0 -12
  348. package/src/core/contracts/vehicle_version.ts +0 -7
  349. package/src/core/contracts/wire_flags.ts +0 -26
  350. package/src/core/math/float_tools.ts +0 -17
  351. package/src/core/math/gaussian_elimination.ts +0 -104
  352. package/src/core/orchestration/axle_weight_physics.ts +0 -37
  353. package/src/core/orchestration/collision_checker.ts +0 -86
  354. package/src/core/orchestration/connector_payload_builder.ts +0 -81
  355. package/src/core/orchestration/java_mass_center.ts +0 -98
  356. package/src/core/orchestration/output_builder.ts +0 -18
  357. package/src/core/orchestration/request_schema.ts +0 -26
  358. package/src/core/orchestration/weight_by_axis_task.ts +0 -140
  359. package/src/core/physics/items/allocated_item.ts +0 -41
  360. package/src/core/physics/items/allocated_item_manager.ts +0 -50
  361. package/src/core/physics/items/center_of_mass.ts +0 -31
  362. package/src/core/physics/items/compute_grouper_center_of_mass.ts +0 -44
  363. package/src/core/physics/items/item_templates.ts +0 -65
  364. package/src/core/physics/items/multi_container_allocated_items.ts +0 -120
  365. package/src/core/physics/items/rotation_transforms.ts +0 -29
  366. package/src/core/physics/models/axle_weight_model.ts +0 -109
  367. package/src/core/physics/models/bi_truck_model.ts +0 -74
  368. package/src/core/physics/models/bi_truck_tractor_semi_trailer_model.ts +0 -86
  369. package/src/core/physics/models/bitrem_model.ts +0 -148
  370. package/src/core/physics/models/chassi_forces.ts +0 -50
  371. package/src/core/physics/models/deflection/beam_deflection.ts +0 -105
  372. package/src/core/physics/models/deflection/bitrem_deflection.ts +0 -68
  373. package/src/core/physics/models/deflection/create_deflection_delegate.ts +0 -46
  374. package/src/core/physics/models/deflection/deflection_model.ts +0 -33
  375. package/src/core/physics/models/deflection/deflection_support_manager.ts +0 -56
  376. package/src/core/physics/models/deflection/deflection_tools.ts +0 -11
  377. package/src/core/physics/models/deflection/integration_constant_calculator.ts +0 -62
  378. package/src/core/physics/models/deflection/rodotrem_deflection.ts +0 -57
  379. package/src/core/physics/models/deflection/semi_reboque_deflection.ts +0 -40
  380. package/src/core/physics/models/deflection/simple_truck_deflection.ts +0 -35
  381. package/src/core/physics/models/deflection/vanderleia_deflection.ts +0 -48
  382. package/src/core/physics/models/old_tare_model.ts +0 -51
  383. package/src/core/physics/models/old_tare_scale.ts +0 -9
  384. package/src/core/physics/models/old_tare_semireboque.ts +0 -51
  385. package/src/core/physics/models/old_tare_truck.ts +0 -15
  386. package/src/core/physics/models/old_tare_vanderleia.ts +0 -44
  387. package/src/core/physics/models/percentage_on_axles_calculator.ts +0 -49
  388. package/src/core/physics/models/quad_semi_trailer_model.ts +0 -87
  389. package/src/core/physics/models/rodotrem_model.ts +0 -131
  390. package/src/core/physics/models/semi_reboque_base.ts +0 -103
  391. package/src/core/physics/models/semi_reboque_model.ts +0 -127
  392. package/src/core/physics/models/simple_truck_base.ts +0 -70
  393. package/src/core/physics/models/simple_truck_model.ts +0 -115
  394. package/src/core/physics/models/single_container_tare.ts +0 -56
  395. package/src/core/physics/models/tare_model.ts +0 -46
  396. package/src/core/physics/models/vanderleia_model.ts +0 -125
  397. package/src/core/physics/services/axle_weight_output_builder.ts +0 -63
  398. package/src/core/physics/services/axle_weight_service.ts +0 -116
  399. package/src/core/physics/services/cm_axle_weight_service.ts +0 -45
  400. package/src/core/physics/services/container_corner_forces.ts +0 -95
  401. package/src/core/physics/transports/axle_manager.ts +0 -45
  402. package/src/core/physics/transports/axle_record.ts +0 -68
  403. package/src/core/physics/transports/chassi.ts +0 -130
  404. package/src/core/physics/transports/container_record.ts +0 -58
  405. package/src/core/physics/transports/containerweight/container_max_weight_calculator.ts +0 -59
  406. package/src/core/physics/transports/containerweight/container_tare_calculator.ts +0 -76
  407. package/src/core/physics/transports/containerweight/container_weight_model.ts +0 -38
  408. package/src/core/physics/transports/containerweight/merged_containers_weight_calculator.ts +0 -39
  409. package/src/core/physics/transports/containerweight/single_container_weight_calculator.ts +0 -65
  410. package/src/core/physics/transports/grouped_containers.ts +0 -91
  411. package/src/core/physics/transports/merged_containers.ts +0 -62
  412. package/src/core/physics/transports/tare/bitrem_axle_splitter.ts +0 -107
  413. package/src/core/physics/transports/tare/bitrem_axle_weight_split.ts +0 -55
  414. package/src/core/physics/transports/transport.ts +0 -137
  415. package/src/index.ts +0 -12
  416. package/src/service/.gitkeep +0 -0
  417. package/test/data/src/core/orchestration/weight_by_axis/case_1_basic_truck_input.json +0 -1759
  418. package/test/data/src/core/orchestration/weight_by_axis/case_2_vanderleia_input.json +0 -1286
  419. package/test/data/src/core/orchestration/weight_by_axis/case_3_interlink_input.json +0 -2226
  420. package/test/data/src/core/orchestration/weight_by_axis/case_4_quad_semi_trailer.json +0 -639
  421. package/test/data/src/core/orchestration/weight_by_axis/case_5_custom_center_of_gravity.json +0 -557
  422. package/test/data/src/core/physics/axle_weight_calculations/case_2_bitruck.json +0 -664
  423. package/test/data/src/core/physics/axle_weight_calculations/case_4_quad_semi_trailer.json +0 -674
  424. package/test/data/src/core/physics/axle_weight_calculations/case_5_bi_truck_semi_trailer.json +0 -674
  425. package/test/data/src/core/physics/axle_weight_service/case_1_input_truck.json +0 -1025
  426. package/test/data/src/core/physics/axle_weight_service/case_1_output_truck.json +0 -38
  427. package/test/data/src/core/physics/axle_weight_service/case_2_vanderleia_input.json +0 -1286
  428. package/test/data/src/core/physics/axle_weight_service/case_2_vanderleia_output.json +0 -65
  429. package/test/data/src/core/physics/axle_weight_service/case_3_input_semireboque.json +0 -24625
  430. package/test/data/src/core/physics/axle_weight_service/case_3_output_semireboque.json +0 -57
  431. package/test/data/src/core/physics/axle_weight_service/case_4_input_bitrem.json +0 -2226
  432. package/test/data/src/core/physics/axle_weight_service/case_4_output_bitrem.json +0 -96
  433. package/test/data/src/core/physics/beam_deflection/case_10_rodotrem_offset.json +0 -474
  434. package/test/data/src/core/physics/beam_deflection/case_11_bitruck.json +0 -664
  435. package/test/data/src/core/physics/beam_deflection/case_12_quad_semi_trailer.json +0 -792
  436. package/test/data/src/core/physics/beam_deflection/case_13_bi_truck_semi_trailer.json +0 -792
  437. package/test/data/src/core/physics/beam_deflection/case_1_documentation.ipynb +0 -316
  438. package/test/data/src/core/physics/beam_deflection/case_1_semireboque.json +0 -402
  439. package/test/data/src/core/physics/beam_deflection/case_2_bitrem.json +0 -434
  440. package/test/data/src/core/physics/beam_deflection/case_3_rodotrem.json +0 -474
  441. package/test/data/src/core/physics/beam_deflection/case_4_vanderleia_pneumatica.json +0 -425
  442. package/test/data/src/core/physics/beam_deflection/case_5_vanderleia_mecanica.json +0 -366
  443. package/test/data/src/core/physics/beam_deflection/case_6_truck.json +0 -279
  444. package/test/data/src/core/physics/beam_deflection/case_7_semireboque_structural_offset.json +0 -318
  445. package/test/data/src/core/physics/beam_deflection/case_8_vanderleia_offset.json +0 -425
  446. package/test/data/src/core/physics/beam_deflection/case_9_bitrem_offset.json +0 -434
  447. package/test/data/src/core/physics/bitrem_axle_splitter/case_1_simple_bitrem.json +0 -145
  448. package/test/data/src/core/physics/bitrem_axle_splitter/case_2_lowered_bitrem.json +0 -238
  449. package/test/data/src/core/physics/bitrem_axle_splitter/case_3_lowered_positive_proportion.json +0 -238
  450. package/test/data/src/core/physics/c_m_axle_weight_service/case_1_interlink_trailer.json +0 -94
  451. package/test/data/src/core/physics/calculations/case_1_simple_truck.json +0 -83
  452. package/test/data/src/core/physics/calculations/case_2_lowered_bitrem.json +0 -1051
  453. package/test/data/src/core/physics/calculations/case_3_container_mercedes.json +0 -50
  454. package/test/data/src/core/physics/container_corner_forces/case_1.json +0 -674
  455. package/test/data/src/core/physics/container_weight/case_1_basictruck.json +0 -223
  456. package/test/data/src/core/physics/container_weight/case_2_roadtrain.json +0 -277
  457. package/test/data/src/core/physics/container_weight/case_3_semireboque_rebaixado.json +0 -197
  458. package/test/data/src/core/physics/container_weight/case_4_semireboque_neck_limit.json +0 -197
  459. package/test/data/src/core/physics/container_weight/case_5_vanderleia_rebaixada.json +0 -211
  460. package/test/data/src/core/physics/container_weight/case_6_lowered_interlink.json +0 -230
  461. package/test/data/src/core/physics/python_goldens.json +0 -9
  462. package/test/data/src/core/physics/tare/case_1_simple_vanderleia.json +0 -185
  463. package/test/data/src/core/physics/tare/case_2_lowered_vanderleia.json +0 -646
  464. package/test/data/src/core/physics/tare/case_3_lowered_interlink.json +0 -230
  465. package/test/data/src/core/physics/tare/case_4_negative_tare_VUC.json +0 -483
  466. package/test/data/src/core/physics/tare/case_5_truck_bitruck.json +0 -664
  467. package/test/data/src/core/physics/tare/case_6_quad_semi_trailer.json +0 -203
  468. package/test/data/src/core/physics/tare/case_7_bi_truck_semi_trailer.json +0 -203
  469. package/test/data/src/core/physics/tare/case_8_triaxle_semi_trailer.json +0 -203
  470. package/test/data/src/core/physics/time_performance/case_1_center_of_mass.json +0 -2916
  471. package/test/data/src/core/physics/trucks/bitrem.json +0 -150
  472. package/test/data/src/core/physics/trucks/lowered_bitrem.json +0 -1216
  473. package/test/data/src/core/physics/trucks/lowered_bitrem_empty_first_container.json +0 -1182
  474. package/test/data/src/core/physics/trucks/rodotrem.json +0 -148
  475. package/test/data/src/core/physics/trucks/semi_reboque.json +0 -91
  476. package/test/data/src/core/physics/trucks/semi_reboque_rebaixado.json +0 -1629
  477. package/test/data/src/core/physics/trucks/simple_truck.json +0 -85
  478. package/test/data/src/core/physics/trucks/vanderleia_mechanical.json +0 -105
  479. package/test/data/src/core/physics/trucks/vanderleia_pneumatic.json +0 -105
  480. package/test/src/core/orchestration/request_schema.test.ts +0 -20
  481. package/test/src/core/orchestration/weight_by_axis_task.test.ts +0 -87
  482. package/test/src/core/physics/items/center_of_mass.test.ts +0 -38
  483. package/test/src/core/physics/items/multi_container_allocated_items.test.ts +0 -22
  484. package/test/src/core/physics/math_input_helpers.ts +0 -64
  485. package/test/src/core/physics/models/bitrem_model.test.ts +0 -54
  486. package/test/src/core/physics/models/deflection/deflection_model.test.ts +0 -78
  487. package/test/src/core/physics/models/rodotrem_model.test.ts +0 -29
  488. package/test/src/core/physics/models/semi_reboque_model.test.ts +0 -72
  489. package/test/src/core/physics/models/simple_truck_model.test.ts +0 -23
  490. package/test/src/core/physics/models/tare_model.test.ts +0 -34
  491. package/test/src/core/physics/models/vanderleia_model.test.ts +0 -36
  492. package/test/src/core/physics/services/axle_weight_service.test.ts +0 -56
  493. package/test/src/core/physics/services/cm_axle_weight_service.test.ts +0 -23
  494. package/test/src/core/physics/services/container_corner_forces.test.ts +0 -23
  495. package/test/src/core/physics/test_helpers.ts +0 -13
  496. package/test/src/core/physics/transports/chassi.test.ts +0 -35
  497. package/test/src/core/physics/transports/containerweight/container_weight_model.test.ts +0 -57
  498. package/test/src/core/physics/transports/tare/bitrem_axle_splitter.test.ts +0 -30
  499. package/test/src/index.test.ts +0 -35
  500. /package/build/core/contracts/{chassi_reference.js → ChassiReference.js} +0 -0
  501. /package/build/core/contracts/{rotation_enum.js → RotationEnum.js} +0 -0
  502. /package/build/core/contracts/{suspension_type.js → SuspensionType.js} +0 -0
  503. /package/build/core/contracts/{transport_record.js → TransportRecord.js} +0 -0
  504. /package/build/core/contracts/{vehicle_type.js → VehicleType.js} +0 -0
  505. /package/build/core/contracts/{vehicle_version.js → VehicleVersion.js} +0 -0
  506. /package/build/core/contracts/{wire_flags.js → WireFlags.js} +0 -0
  507. /package/build/core/math/{float_tools.js → FloatTools.js} +0 -0
  508. /package/build/core/math/{gaussian_elimination.js → GaussianElimination.js} +0 -0
  509. /package/build/core/orchestration/{output_builder.js → OutputBuilder.js} +0 -0
  510. /package/build/core/physics/items/{allocated_item_manager.js → AllocatedItemManager.js} +0 -0
  511. /package/build/core/physics/items/{center_of_mass.js → CenterOfMass.js} +0 -0
  512. /package/build/core/physics/models/{chassi_forces.js → ChassiForces.js} +0 -0
  513. /package/build/core/physics/models/{old_tare_scale.js → OldTareScale.js} +0 -0
  514. /package/build/core/physics/models/deflection/{deflection_tools.js → DeflectionTools.js} +0 -0
  515. /package/build/core/physics/services/{container_corner_forces.js → ContainerCornerForces.js} +0 -0
  516. /package/build/core/physics/transports/containerweight/{container_max_weight_calculator.js → ContainerMaxWeightCalculator.js} +0 -0
  517. /package/build/core/physics/transports/containerweight/{container_tare_calculator.js → ContainerTareCalculator.js} +0 -0
  518. /package/build/core/physics/transports/containerweight/{merged_containers_weight_calculator.js → MergedContainersWeightCalculator.js} +0 -0
  519. /package/build/core/physics/transports/tare/{bitrem_axle_weight_split.js → BitremAxleWeightSplit.js} +0 -0
@@ -1,140 +0,0 @@
1
- import { calculate_loaded_weights_for_env } from './axle_weight_physics.js'
2
- import { build_success_output, build_error_output } from './output_builder.js'
3
- import { check_cargo_collision } from './collision_checker.js'
4
- import { parse_weight_by_axis_request } from './request_schema.js'
5
-
6
- /**
7
- * Runs weight-by-axis for ms-faixas JSON input (WeightByAxisTask.run contract).
8
- * @param json_data - Raw request JSON string.
9
- * @returns Response JSON string.
10
- */
11
- export function run_weight_by_axis_task(json_data: string): string
12
- {
13
- try
14
- {
15
- const request = parse_weight_by_axis_request(json_data)
16
- const envs = request.envs as Record<string, unknown>[]
17
- const output_envs = []
18
- for (const env of envs)
19
- {
20
- const loaded_weights = calculate_loaded_weights_for_env(env)
21
- apply_loaded_weights_to_env(env, loaded_weights)
22
- check_cargo_collision(env)
23
- output_envs.push(strip_items_and_bands(env))
24
- }
25
- return build_success_output(output_envs)
26
- }
27
- catch (error)
28
- {
29
- return build_error_output(error)
30
- }
31
- }
32
-
33
- /**
34
- * @param env - Env vehicle object.
35
- * @param loaded_weights - Forces per axle.
36
- */
37
- function apply_loaded_weights_to_env(
38
- env: Record<string, unknown>,
39
- loaded_weights: number[]
40
- ): void
41
- {
42
- const axles = env.eixos as Record<string, unknown>[]
43
- for (let index = 0; index < loaded_weights.length; index++)
44
- {
45
- const cargo = loaded_weights[index]
46
- const axle = axles[index]
47
- const tare = Number(axle.tara ?? 0)
48
- axle.pesoCarregado = cargo
49
- axle.pesoCarregadoFinal = tare + cargo
50
- }
51
- const containers = env.conteiners ?? env.containers
52
- if (!Array.isArray(containers))
53
- {
54
- return
55
- }
56
- apply_to_containers(containers as Record<string, unknown>[], loaded_weights, axles)
57
- }
58
-
59
- /**
60
- * @param containers - Container list on env.
61
- * @param loaded_weights - Per-axle cargo load.
62
- * @param axles - Vehicle axles list.
63
- */
64
- function apply_to_containers(
65
- containers: Record<string, unknown>[],
66
- loaded_weights: number[],
67
- axles: Record<string, unknown>[]
68
- ): void
69
- {
70
- for (const container of containers)
71
- {
72
- const peso_eixos = build_peso_eixos_for_container(container, loaded_weights, axles)
73
- container.pesoEixos = peso_eixos
74
- }
75
- }
76
-
77
- /**
78
- * @param container - Container on env.
79
- * @param loaded_weights - All axle loads.
80
- * @param axles - Vehicle axles.
81
- * @returns pesoEixos array for container.
82
- */
83
- function build_peso_eixos_for_container(
84
- container: Record<string, unknown>,
85
- loaded_weights: number[],
86
- axles: Record<string, unknown>[]
87
- ): Record<string, unknown>[]
88
- {
89
- const sequence = Number(container.sequencia)
90
- const result: Record<string, unknown>[] = []
91
- for (let index = 0; index < axles.length; index++)
92
- {
93
- if (Number(axles[index].sequenciaContainer) !== sequence)
94
- {
95
- continue
96
- }
97
- result.push(build_peso_eixo_entry(axles[index], loaded_weights[index]))
98
- }
99
- return result
100
- }
101
-
102
- /**
103
- * @param axle - Axle record on env.
104
- * @param cargo - Loaded cargo on axle.
105
- * @returns Single pesoEixos entry.
106
- */
107
- function build_peso_eixo_entry(
108
- axle: Record<string, unknown>,
109
- cargo: number
110
- ): Record<string, unknown>
111
- {
112
- const tare = Number(axle.tara ?? 0)
113
- return {
114
- distanciaOrigem: axle.distanciaOrigem,
115
- pesoMax: Number(axle.pesoMaxSuportado) - tare,
116
- pesoMaxFinal: axle.pesoMaxSuportado,
117
- tara: tare,
118
- pesoCarregado: cargo,
119
- pesoCarregadoFinal: tare + cargo,
120
- distanciaOrigemSemPrimeiroEixo: axle.distanciaOrigemSemPrimeiroEixo ?? 0
121
- }
122
- }
123
-
124
- /**
125
- * @param env - Env with updated axle data.
126
- * @returns Env copy without items/faixas on containers.
127
- */
128
- function strip_items_and_bands(env: Record<string, unknown>): Record<string, unknown>
129
- {
130
- const clone = JSON.parse(JSON.stringify(env)) as Record<string, unknown>
131
- const key = clone.conteiners ? 'conteiners' : 'containers'
132
- const containers = clone[key] as Record<string, unknown>[]
133
- for (const container of containers)
134
- {
135
- container.items = []
136
- container.faixas = []
137
- }
138
- clone.idCaminhao = clone._id
139
- return clone
140
- }
@@ -1,41 +0,0 @@
1
- import type { RotationCode } from '../../contracts/rotation_enum.js'
2
- import { ROTATION } from '../../contracts/rotation_enum.js'
3
- import type { ItemTemplates } from './item_templates.js'
4
-
5
- /**
6
- * Allocated cargo item with position in container coordinates.
7
- */
8
- export class AllocatedItem
9
- {
10
- xi = 0
11
- yi = 0
12
- zi = 0
13
- rotation: RotationCode = ROTATION.POS1
14
- readonly template_index: number
15
- readonly templates: ItemTemplates
16
-
17
- /**
18
- * @param templates - Shared templates.
19
- * @param template_index - Template index.
20
- */
21
- constructor(templates: ItemTemplates, template_index: number)
22
- {
23
- this.templates = templates
24
- this.template_index = template_index
25
- }
26
-
27
- get weight(): number
28
- {
29
- return this.templates.weights[this.template_index]
30
- }
31
-
32
- get length(): number
33
- {
34
- return this.templates.get_length(this.template_index, this.rotation)
35
- }
36
-
37
- get center_of_gravity_z(): number
38
- {
39
- return this.zi + this.length / 2
40
- }
41
- }
@@ -1,50 +0,0 @@
1
- import { AllocatedItem } from './allocated_item.js'
2
- import type { ItemTemplates } from './item_templates.js'
3
-
4
- /**
5
- * Items allocated inside one container sequence.
6
- */
7
- export class AllocatedItemManager
8
- {
9
- private items: AllocatedItem[] = []
10
-
11
- /**
12
- * @param templates - Item templates for this container.
13
- */
14
- constructor(readonly templates: ItemTemplates)
15
- {
16
- }
17
-
18
- /**
19
- * @param items - Items to add.
20
- */
21
- add_allocated_items(items: AllocatedItem[]): void
22
- {
23
- this.items.push(...items)
24
- }
25
-
26
- /**
27
- * @returns Item count.
28
- */
29
- count_items(): number
30
- {
31
- return this.items.length
32
- }
33
-
34
- /**
35
- * @returns Item indexes.
36
- */
37
- list_item_indexes(): number[]
38
- {
39
- return this.items.map((_item, index) => index)
40
- }
41
-
42
- /**
43
- * @param item_index - Item index.
44
- * @returns Item instance.
45
- */
46
- get_item(item_index: number): AllocatedItem
47
- {
48
- return this.items[item_index]
49
- }
50
- }
@@ -1,31 +0,0 @@
1
- import type { AllocatedItemManager } from './allocated_item_manager.js'
2
-
3
- /**
4
- * Center of mass for a load grouper (longitudinal z in chassis coordinates).
5
- */
6
- export class CenterOfMass
7
- {
8
- mass = 0
9
- z = 0
10
-
11
- /**
12
- * Computes center of mass from allocated items.
13
- * @param allocated_items - Item manager for one grouper.
14
- */
15
- set_center_of_mass_with_allocated_items(allocated_items: AllocatedItemManager): void
16
- {
17
- let accumulated_weighted_positions = 0
18
- this.mass = 0
19
- for (const item_index of allocated_items.list_item_indexes())
20
- {
21
- const item = allocated_items.get_item(item_index)
22
- accumulated_weighted_positions += item.center_of_gravity_z * item.weight
23
- this.mass += item.weight
24
- }
25
- if (this.mass === 0)
26
- {
27
- return
28
- }
29
- this.z = accumulated_weighted_positions / this.mass
30
- }
31
- }
@@ -1,44 +0,0 @@
1
- import type { Transport } from '../transports/transport.js'
2
- import { MergedContainers } from '../transports/merged_containers.js'
3
- import { CenterOfMass } from './center_of_mass.js'
4
- import type { MultiContainerAllocatedItems } from './multi_container_allocated_items.js'
5
- import type { ChassiForces } from '../models/chassi_forces.js'
6
-
7
- /**
8
- * @param multi_items - Allocated items across containers.
9
- * @param merged - Merged container layout.
10
- * @returns Center of mass map keyed by grouper id.
11
- */
12
- export function compute_center_of_mass_by_grouper(
13
- multi_items: MultiContainerAllocatedItems,
14
- merged: MergedContainers
15
- ): Record<number, CenterOfMass>
16
- {
17
- multi_items.merge_allocated_items(merged)
18
- const result: Record<number, CenterOfMass> = {}
19
- for (const grouper of merged.list_grouper_indexes())
20
- {
21
- const center_of_mass = new CenterOfMass()
22
- center_of_mass.set_center_of_mass_with_allocated_items(
23
- multi_items.get_allocated_items_by_grouper_index(grouper))
24
- result[grouper] = center_of_mass
25
- }
26
- return result
27
- }
28
-
29
- /**
30
- * @param transport - Parsed transport.
31
- * @param multi_items - Allocated items.
32
- * @param solve - Model solver from CM map.
33
- * @returns Chassis forces.
34
- */
35
- export function calculate_chassi_forces_from_multi(
36
- transport: Transport,
37
- multi_items: MultiContainerAllocatedItems,
38
- solve: (center_of_mass_by_grouper: Record<number, CenterOfMass>) => ChassiForces
39
- ): ChassiForces
40
- {
41
- const merged = new MergedContainers(transport)
42
- const center_of_mass_by_grouper = compute_center_of_mass_by_grouper(multi_items, merged)
43
- return solve(center_of_mass_by_grouper)
44
- }
@@ -1,65 +0,0 @@
1
- import type { RotationCode } from '../../contracts/rotation_enum.js'
2
- import { ROTATION } from '../../contracts/rotation_enum.js'
3
- import { rotate_dimensions } from './rotation_transforms.js'
4
-
5
- /**
6
- * Item dimensions and weights keyed by template index.
7
- */
8
- export class ItemTemplates
9
- {
10
- ids: string[] = []
11
- weights: number[] = []
12
- lengths: number[] = []
13
- widths: number[] = []
14
- heights: number[] = []
15
- private dimensions: [number, number, number][] = []
16
-
17
- /**
18
- * @param item_id - Template id string.
19
- * @returns Template index.
20
- */
21
- index_of(item_id: string): number
22
- {
23
- const index = this.ids.indexOf(item_id)
24
- if (index < 0)
25
- {
26
- throw new Error(`Unknown item id ${item_id}`)
27
- }
28
- return index
29
- }
30
-
31
- /**
32
- * @param item_data - Ms-faixas or math input item definition.
33
- */
34
- add_template_from_item_data(item_data: Record<string, unknown>): void
35
- {
36
- const id = String(item_data.id ?? item_data._id)
37
- this.ids.push(id)
38
- this.weights.push(Number(item_data.peso ?? item_data.weight ?? 0))
39
- const width = Number(item_data.largura ?? item_data.width ?? 0)
40
- const length = Number(item_data.comprimento ?? item_data.length ?? 0)
41
- const height = Number(item_data.altura ?? item_data.height ?? 0)
42
- this.widths.push(width)
43
- this.lengths.push(length)
44
- this.heights.push(height)
45
- this.dimensions.push([width, length, height])
46
- }
47
-
48
- /**
49
- * @param template_index - Template index.
50
- * @param rotation - Rotation code.
51
- * @returns Length along chassis z for rotation.
52
- */
53
- get_length(template_index: number, rotation: RotationCode = ROTATION.POS1): number
54
- {
55
- return rotate_dimensions(rotation, this.dimensions[template_index])[1]
56
- }
57
-
58
- /**
59
- * @param item_data - Math input item row.
60
- */
61
- add_template_from_math_item(item_data: Record<string, unknown>): void
62
- {
63
- this.add_template_from_item_data(item_data)
64
- }
65
- }
@@ -1,120 +0,0 @@
1
- import type { MergedContainers } from '../transports/merged_containers.js'
2
- import { AllocatedItem } from './allocated_item.js'
3
- import { AllocatedItemManager } from './allocated_item_manager.js'
4
- import type { ItemTemplates } from './item_templates.js'
5
-
6
- /**
7
- * Allocated items grouped by container sequence and merged by grouper.
8
- */
9
- export class MultiContainerAllocatedItems
10
- {
11
- allocated_items_by_sequence_index: Record<number, AllocatedItemManager>
12
- allocated_items_by_grouper_index: Record<number, AllocatedItemManager> = {}
13
-
14
- /**
15
- * @param allocated_items_by_sequence_index - Items per container sequence.
16
- */
17
- constructor(allocated_items_by_sequence_index: Record<number, AllocatedItemManager>)
18
- {
19
- this.allocated_items_by_sequence_index = allocated_items_by_sequence_index
20
- }
21
-
22
- /**
23
- * @param sequence_index - Container sequence id.
24
- * @returns Manager for sequence.
25
- */
26
- get_allocated_items_by_sequence_index(sequence_index: number): AllocatedItemManager
27
- {
28
- return this.allocated_items_by_sequence_index[sequence_index]
29
- }
30
-
31
- /**
32
- * @param grouper_index - Grouper id.
33
- * @returns Manager for grouper.
34
- */
35
- get_allocated_items_by_grouper_index(grouper_index: number): AllocatedItemManager
36
- {
37
- return this.allocated_items_by_grouper_index[grouper_index]
38
- }
39
-
40
- /**
41
- * @param grouper_index_list - Grouper ids to initialize.
42
- */
43
- create_allocated_items_by_grouper(grouper_index_list: number[]): void
44
- {
45
- const templates = this.get_item_templates()
46
- for (const grouper_index of grouper_index_list)
47
- {
48
- this.allocated_items_by_grouper_index[grouper_index] = new AllocatedItemManager(templates)
49
- }
50
- }
51
-
52
- /**
53
- * @param merged_containers - Merged container geometry.
54
- */
55
- merge_allocated_items(merged_containers: MergedContainers): void
56
- {
57
- if (Object.keys(this.allocated_items_by_grouper_index).length > 0)
58
- {
59
- return
60
- }
61
- this.create_allocated_items_by_grouper(merged_containers.list_grouper_indexes())
62
- for (const grouper of merged_containers.list_grouper_indexes())
63
- {
64
- merge_grouper_items(this, merged_containers, grouper)
65
- }
66
- }
67
-
68
- /**
69
- * @returns Shared item templates.
70
- */
71
- get_item_templates(): ItemTemplates
72
- {
73
- const keys = Object.keys(this.allocated_items_by_sequence_index)
74
- const first_key = Number(keys[0])
75
- return this.allocated_items_by_sequence_index[first_key].templates
76
- }
77
- }
78
-
79
- /**
80
- * @param multi - Multi-container item holder.
81
- * @param merged - Merged containers.
82
- * @param grouper - Grouper id.
83
- */
84
- function merge_grouper_items(
85
- multi: MultiContainerAllocatedItems,
86
- merged: MergedContainers,
87
- grouper: number
88
- ): void
89
- {
90
- const grouped = merged.get_container_by_grouper_index(grouper)
91
- let last_end = 0
92
- for (const sequence_index of grouped.list_containers_sequence_indexes())
93
- {
94
- const sequence_items = multi.get_allocated_items_by_sequence_index(sequence_index)
95
- const grouper_items = multi.get_allocated_items_by_grouper_index(grouper)
96
- for (const item_index of sequence_items.list_item_indexes())
97
- {
98
- const source = sequence_items.get_item(item_index)
99
- const item = clone_allocated_item(source)
100
- item.zi += last_end
101
- grouper_items.add_allocated_items([item])
102
- }
103
- const container = grouped.get_container_by_sequence_index(sequence_index)
104
- last_end += container.length
105
- }
106
- }
107
-
108
- /**
109
- * @param source - Sequence-level allocated item.
110
- * @returns Copy safe to offset for grouper merge.
111
- */
112
- function clone_allocated_item(source: AllocatedItem): AllocatedItem
113
- {
114
- const item = new AllocatedItem(source.templates, source.template_index)
115
- item.xi = source.xi
116
- item.yi = source.yi
117
- item.zi = source.zi
118
- item.rotation = source.rotation
119
- return item
120
- }
@@ -1,29 +0,0 @@
1
- import type { RotationCode } from '../../contracts/rotation_enum.js'
2
- import { ROTATION } from '../../contracts/rotation_enum.js'
3
-
4
- const WIDTH = 0
5
- const LENGTH = 1
6
- const HEIGHT = 2
7
-
8
- const ROTATION_DIM_INDEX: Record<RotationCode, [number, number, number]> = {
9
- [ROTATION.POS1]: [WIDTH, LENGTH, HEIGHT],
10
- [ROTATION.POS2]: [WIDTH, HEIGHT, LENGTH],
11
- [ROTATION.POS3]: [HEIGHT, LENGTH, WIDTH],
12
- [ROTATION.POS4]: [LENGTH, WIDTH, HEIGHT],
13
- [ROTATION.POS5]: [HEIGHT, WIDTH, LENGTH],
14
- [ROTATION.POS6]: [LENGTH, HEIGHT, WIDTH]
15
- }
16
-
17
- /**
18
- * @param rotation - Rotation code.
19
- * @param dimensions - [width, length, height].
20
- * @returns Rotated [width, length, height].
21
- */
22
- export function rotate_dimensions(
23
- rotation: RotationCode,
24
- dimensions: [number, number, number]
25
- ): [number, number, number]
26
- {
27
- const index = ROTATION_DIM_INDEX[rotation]
28
- return [dimensions[index[0]], dimensions[index[1]], dimensions[index[2]]]
29
- }
@@ -1,109 +0,0 @@
1
- import { VEHICLE_TYPE } from '../../contracts/vehicle_type.js'
2
- import type { TransportRecord } from '../../contracts/transport_record.js'
3
- import { Transport } from '../transports/transport.js'
4
- import { BitremModel } from './bitrem_model.js'
5
- import { RodotremModel } from './rodotrem_model.js'
6
- import { VanderleiaModel } from './vanderleia_model.js'
7
- import { SimpleTruckModel } from './simple_truck_model.js'
8
- import { SemiReboqueModel } from './semi_reboque_model.js'
9
- import { CenterOfMass } from '../items/center_of_mass.js'
10
- import type { AllocatedItemManager } from '../items/allocated_item_manager.js'
11
- import { MultiContainerAllocatedItems } from '../items/multi_container_allocated_items.js'
12
- import { ChassiForces } from './chassi_forces.js'
13
- import { PercentageOnAxlesCalculator } from './percentage_on_axles_calculator.js'
14
-
15
- type VehicleModel = {
16
- calculate_chassi_forces_with_load_center_of_mass: (
17
- center_of_mass_by_grouper: Record<number, CenterOfMass>
18
- ) => ChassiForces
19
- calculate_weight_on_axles: (
20
- multi_items: import('../items/multi_container_allocated_items.js').MultiContainerAllocatedItems
21
- ) => number[]
22
- }
23
-
24
- /**
25
- * Dispatches to vehicle-specific axle weight models.
26
- */
27
- export class AxleWeightModel
28
- {
29
- private readonly model: VehicleModel
30
- private readonly transport: Transport
31
-
32
- /**
33
- * @param transport_or_data - Parsed transport or raw wire dict.
34
- */
35
- constructor(transport_or_data: Transport | TransportRecord)
36
- {
37
- this.transport = transport_or_data instanceof Transport
38
- ? transport_or_data
39
- : new Transport(transport_or_data)
40
- this.model = select_vehicle_model(this.transport)
41
- }
42
-
43
- /**
44
- * @param center_of_mass_by_grouper - Precomputed CM per grouper.
45
- * @returns Chassis force result.
46
- */
47
- calculate_chassi_forces_with_load_center_of_mass(
48
- center_of_mass_by_grouper: Record<number, CenterOfMass>
49
- ): ChassiForces
50
- {
51
- return this.model.calculate_chassi_forces_with_load_center_of_mass(
52
- center_of_mass_by_grouper)
53
- }
54
-
55
- /**
56
- * @param allocated_by_sequence - Items per container sequence index.
57
- * @returns Loaded cargo per axle.
58
- */
59
- calculate_weight_on_axles(
60
- allocated_by_sequence: Record<number, AllocatedItemManager>
61
- ): number[]
62
- {
63
- const multi = new MultiContainerAllocatedItems(allocated_by_sequence)
64
- return this.model.calculate_weight_on_axles(multi)
65
- }
66
-
67
- /**
68
- * @param allocated_by_sequence - Items per container sequence index.
69
- * @returns Utilization percentage per axle.
70
- */
71
- calculate_percentages_on_axles(
72
- allocated_by_sequence: Record<number, AllocatedItemManager>
73
- ): number[]
74
- {
75
- const weights = this.calculate_weight_on_axles(allocated_by_sequence)
76
- return new PercentageOnAxlesCalculator(this.transport)
77
- .weight_on_axles_to_percentages(weights)
78
- }
79
- }
80
-
81
- /**
82
- * @param transport - Parsed transport.
83
- * @returns Vehicle model implementation.
84
- */
85
- function select_vehicle_model(transport: Transport): VehicleModel
86
- {
87
- const type = transport.vehicle_type
88
- if (type === VEHICLE_TYPE.SEMIREBOQUE || type === VEHICLE_TYPE.REBAIXADO)
89
- {
90
- return new SemiReboqueModel(transport)
91
- }
92
- if (type === VEHICLE_TYPE.BITREM)
93
- {
94
- return new BitremModel(transport)
95
- }
96
- if (type === VEHICLE_TYPE.RODOTREM)
97
- {
98
- return new RodotremModel(transport)
99
- }
100
- if (type === VEHICLE_TYPE.VANDERLEIA)
101
- {
102
- return new VanderleiaModel(transport)
103
- }
104
- if (type === VEHICLE_TYPE.CAMINHAO || type === VEHICLE_TYPE.VUC)
105
- {
106
- return new SimpleTruckModel(transport)
107
- }
108
- throw new Error(`Unsupported vehicle type: ${type}`)
109
- }