@camera.ui/server 2.0.24 → 2.1.1

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 (324) hide show
  1. package/dist/interface/assets/{404-CRIhzt2J.js → 404-BLohRivq.js} +1 -1
  2. package/dist/interface/assets/{About-CvY4xvAU.js → About-CY0n3OBB.js} +1 -1
  3. package/dist/interface/assets/Adminpanel-C11HOLZO.js +1 -0
  4. package/dist/interface/assets/Automation-DOefiaJj.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-RNgRv6Uc.js → AutomationImport-DCqF_Kg7.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-D8plMzVI.js → AutomationStore-Cm9mbUVu.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-BO-9XCRn.js → AutomationStoreDetail-C-4llF7V.js} +2 -2
  8. package/dist/interface/assets/Automations-BwlGOItY.js +2 -0
  9. package/dist/interface/assets/Camera-D_DY9F_D.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-BnKiGukm.js → CameraConsole-BYwWyoKF.js} +2 -2
  11. package/dist/interface/assets/{Cameras-BuHNAHpD.js → Cameras-CghEdt7m.js} +2 -2
  12. package/dist/interface/assets/Camview-CienqE_s.js +1 -0
  13. package/dist/interface/assets/{Camview-Cj10uxGy.css → Camview-mLCaY0ld.css} +1 -1
  14. package/dist/interface/assets/Config-DI8pFgr0.js +2 -0
  15. package/dist/interface/assets/{ConfigActionCameraControl-C2qva2mT.js → ConfigActionCameraControl-D3lpO_-w.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-C02w0yBx.js → ConfigActionDelay-Cv1q6noO.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-DVf26mYG.js → ConfigActionHttp-D8NUgGZ1.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-BTlFV7kK.js → ConfigActionImageInput-DBRsJW_A.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-CD9RW5Lq.js → ConfigActionMqtt-B86fFcxQ.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotification-CjbIPrEb.js → ConfigActionNotification-BxauFTos.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotificationControl-BCdKNvgC.js → ConfigActionNotificationControl-O2D9WWpM.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-wV9RFDQO.js → ConfigActionOutput-C0ib9PLZ.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-DijuNALK.js → ConfigActionPlugin-BjcHk149.js} +1 -1
  24. package/dist/interface/assets/ConfigActionSensor-0tYVSASv.js +1 -0
  25. package/dist/interface/assets/{ConfigActionSnapshot-B79IJLFV.js → ConfigActionSnapshot-BOqdP-It.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-Do94c7oi.js → ConfigActionVariable-Dq7YjPoV.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-BtbZhnCM.js → ConfigConditionIfElse-CT2cuUYH.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-D1V_FhNU.js → ConfigConditionSensorState-BfUvxUEF.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSwitch-C74dDt3R.js → ConfigConditionSwitch-0G3BqEQj.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionTime-5IrJQgAV.js → ConfigConditionTime-Pbl2smdz.js} +1 -1
  31. package/dist/interface/assets/ConfigSensorValueInput-CuTrBHsT.js +1 -0
  32. package/dist/interface/assets/ConfigTriggerDetection-CiE3Vjp2.js +1 -0
  33. package/dist/interface/assets/ConfigTriggerGeofence-CPn3drQV.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-t-J-HbqF.js → ConfigTriggerManual-xBaOnpVY.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-i57J8-Nq.js → ConfigTriggerMqtt-LJkIASv5.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-Dv7wIG3G.js → ConfigTriggerSchedule-BD3Wph3i.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-Ba2lCSGc.js → ConfigTriggerSensor-CJWLgK9h.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-BWs3rP_W.js → ConfigTriggerSystem-BUKBqK_H.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-CpQakeYG.js → ConfigTriggerWebhook-DTfV1By5.js} +1 -1
  40. package/dist/interface/assets/Console-BCTb_cA5.js +1 -0
  41. package/dist/interface/assets/CuiAutomationRunsDialog-BR7NAzJ4.js +1 -0
  42. package/dist/interface/assets/{CuiBottomSheet-DIg-nl0p.js → CuiBottomSheet-DoljrPAH.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-bbdtyXf2.js +1 -0
  44. package/dist/interface/assets/{CuiCameraPipCard-q3yeptLd.js → CuiCameraPipCard-Dgq8lF_V.js} +1 -1
  45. package/dist/interface/assets/CuiCameraRecordings-DtwHYkGE.js +1 -0
  46. package/dist/interface/assets/{CuiCameraShares-BggG5Ic_.js → CuiCameraShares-MAey7ufK.js} +1 -1
  47. package/dist/interface/assets/CuiCameraTable-B4WVkliT.js +2 -0
  48. package/dist/interface/assets/CuiDataTable-BGleWv6B.css +1 -0
  49. package/dist/interface/assets/CuiDataTable-BmGMKsJm.js +1 -0
  50. package/dist/interface/assets/CuiLightControl-jUzSwiWP.js +1 -0
  51. package/dist/interface/assets/CuiPluginCard-DAmNhiUu.js +2 -0
  52. package/dist/interface/assets/{CuiPluginCard-C9zsmIaC.css → CuiPluginCard-D_6UFFZW.css} +1 -1
  53. package/dist/interface/assets/{CuiPluginCategoryChip-DsEuwQrw.js → CuiPluginCategoryChip-DSPwTxQi.js} +1 -1
  54. package/dist/interface/assets/{CuiPluginOAuthButton-Bbwly_xJ.js → CuiPluginOAuthButton-BCcvYrt8.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginTrustBadge-BC6F9f-3.js → CuiPluginTrustBadge-D6p-Cs5H.js} +1 -1
  56. package/dist/interface/assets/CuiQRCode-Dll6D9H0.js +1 -0
  57. package/dist/interface/assets/CuiRecordingsGrid-CBcFHQrq.js +1 -0
  58. package/dist/interface/assets/CuiSchema-cCkrONzF.js +1 -0
  59. package/dist/interface/assets/{CuiTopNavbarItem-BZawroJz.js → CuiTopNavbarItem-Dj1lpqE0.js} +1 -1
  60. package/dist/interface/assets/Faces-C-99fN6H.js +1 -0
  61. package/dist/interface/assets/{FirstSteps-Dg0Bvjs2.js → FirstSteps-BTcTmqRf.js} +1 -1
  62. package/dist/interface/assets/Instances-Czb39Tkc.js +1 -0
  63. package/dist/interface/assets/{Logs-DSSDjAY-.js → Logs-Cxug_P1Y.js} +2 -2
  64. package/dist/interface/assets/Menu-DVPNefJA.js +1 -0
  65. package/dist/interface/assets/{OAuthDeviceFlow-CKTokRaq.js → OAuthDeviceFlow-CxdoPgV9.js} +1 -1
  66. package/dist/interface/assets/Plugin-BoBgPYYY.js +1 -0
  67. package/dist/interface/assets/{PluginConsole-CcRMneFa.js → PluginConsole-Cb0aYqXf.js} +1 -1
  68. package/dist/interface/assets/PluginDetail-BUKn2x1R.js +2 -0
  69. package/dist/interface/assets/{PluginSchema-CP0JWUSD.js → PluginSchema-Czc6k-Yu.js} +1 -1
  70. package/dist/interface/assets/PluginSearch-CL0-IZD0.js +1 -0
  71. package/dist/interface/assets/{PluginSearch-Bbp8D7BJ.css → PluginSearch-CLjLT9JT.css} +1 -1
  72. package/dist/interface/assets/PluginSearch-RgI-CCYF.js +2 -0
  73. package/dist/interface/assets/Plugins-BihIbjoN.js +1 -0
  74. package/dist/interface/assets/Recordings-BMIf2FlS.js +1 -0
  75. package/dist/interface/assets/SensorEdit-BNQC_Typ.js +1 -0
  76. package/dist/interface/assets/{SensorHistory-BeCbNWJh.js → SensorHistory-CFLrj259.js} +1 -1
  77. package/dist/interface/assets/Sensors-DfE07b1Q.css +1 -0
  78. package/dist/interface/assets/Sensors-Dpwy5UT3.js +2 -0
  79. package/dist/interface/assets/Settings-BTWXZyrk.js +1 -0
  80. package/dist/interface/assets/SettingsAccount-3DkQ3Lxj.js +1 -0
  81. package/dist/interface/assets/SettingsAccount-DwVO8fq2.js +1 -0
  82. package/dist/interface/assets/SettingsAppearance-CFAwBkaK.js +1 -0
  83. package/dist/interface/assets/SettingsAppearance-xKZ26BqD.js +1 -0
  84. package/dist/interface/assets/SettingsBackup-BSyrNc3Z.js +1 -0
  85. package/dist/interface/assets/SettingsList-C077meHM.js +1 -0
  86. package/dist/interface/assets/{SettingsMqtt-DoYFVHoD.js → SettingsMqtt-BReb2PWO.js} +1 -1
  87. package/dist/interface/assets/SettingsNotifications-zfpvJfMb.js +2 -0
  88. package/dist/interface/assets/{SettingsPermissions-D33G-1kM.js → SettingsPermissions-CIv5OeZF.js} +1 -1
  89. package/dist/interface/assets/SettingsRecordings-dSPQF-by.js +1 -0
  90. package/dist/interface/assets/SettingsRemote-D0ZJX5wf.js +1 -0
  91. package/dist/interface/assets/SettingsSystem-BLEcpC-p.js +2 -0
  92. package/dist/interface/assets/{SettingsUsers-2uMPOpyC.js → SettingsUsers-BQQqlcRJ.js} +1 -1
  93. package/dist/interface/assets/Terminal-I3uC-c7V.js +4 -0
  94. package/dist/interface/assets/{VariableInput-Cx9tgiM4.js → VariableInput-Be7j2nen.js} +1 -1
  95. package/dist/interface/assets/{VariableSuggestions-DV_QjTtU.js → VariableSuggestions-Dr5nstx8.js} +1 -1
  96. package/dist/interface/assets/{VersionsHandler-v4hH23M_.js → VersionsHandler-Cb2CN1L7.js} +1 -1
  97. package/dist/interface/assets/{VirtualSensorCreate-DhuGE1Mf.js → VirtualSensorCreate-CA_F6RPb.js} +1 -1
  98. package/dist/interface/assets/{Workers-CzAz4N2_.css → Workers-7hKMBU4w.css} +1 -1
  99. package/dist/interface/assets/Workers-CTqGBl_F.js +2 -0
  100. package/dist/interface/assets/api-B3KZZ8rN.js +2 -0
  101. package/dist/interface/assets/api-BMM5CP59.css +2 -0
  102. package/dist/interface/assets/{api-BKU9IS3U.js → api-BWixZaOV.js} +1 -1
  103. package/dist/interface/assets/{auth-B4latCDR.js → auth-D-G85zNQ.js} +1 -1
  104. package/dist/interface/assets/{automations-BFkAMu3Y.js → automations-CDnI6oDm.js} +1 -1
  105. package/dist/interface/assets/{cameras.schema-BtaT3B32.js → cameras.schema-B6NhSVdK.js} +1 -1
  106. package/dist/interface/assets/chevron-right-DKkuIAth.js +1 -0
  107. package/dist/interface/assets/cloudHandoff-DOVTmlDw.js +1 -0
  108. package/dist/interface/assets/{config-B_lj3Myj.js → config-CuTS8b79.js} +1 -1
  109. package/dist/interface/assets/deployed-code-update-CHr3gyW9.js +1 -0
  110. package/dist/interface/assets/{flowSchema-CyZseAPD.js → flowSchema-CTDMgLvN.js} +1 -1
  111. package/dist/interface/assets/main-DRmCcFpa.js +3 -0
  112. package/dist/interface/assets/{mqtt-CFw_CCq8.js → mqtt-DaqGTQzc.js} +1 -1
  113. package/dist/interface/assets/{notifications-0_glcRlR.js → notifications-Dit0-wMf.js} +1 -1
  114. package/dist/interface/assets/{plugins-ICpmsguj.js → plugins-cZz4VMT0.js} +1 -1
  115. package/dist/interface/assets/round-restart-alt-BZXAnyzF.js +1 -0
  116. package/dist/interface/assets/round-restart-alt-D3sTGG7n.css +1 -0
  117. package/dist/interface/assets/sensors-D6TLuqrM.js +1 -0
  118. package/dist/interface/assets/{server-DbpDC3pc.js → server-CKNXGRUG.js} +1 -1
  119. package/dist/interface/assets/{theme-DlMdsvGC.js → theme-DlzhloFW.js} +1 -1
  120. package/dist/interface/assets/types-BDNk1b9h.js +1 -0
  121. package/dist/interface/assets/{types-CggzoTPX.js → types-DaO4wazK.js} +1 -1
  122. package/dist/interface/assets/{useAppVersion-CCxZnwIP.js → useAppVersion-C9RbfMSY.js} +1 -1
  123. package/dist/interface/assets/useBackupRestore-CXFWCOQy.js +1 -0
  124. package/dist/interface/assets/{useCameraOptions-DVlhUpbE.js → useCameraOptions-Baxr6kPX.js} +1 -1
  125. package/dist/interface/assets/{useElectron-KnqvZz0q.js → useElectron-_5uSFUvf.js} +1 -1
  126. package/dist/interface/assets/{useLogsSocket-CUQwZ6wm.js → useLogsSocket-B6JGfF3p.js} +2 -2
  127. package/dist/interface/assets/{usePermissions-C3D3JcPH.js → usePermissions-qSwLp41H.js} +1 -1
  128. package/dist/interface/assets/{useServerRestart-CqZRPCpR.js → useServerRestart-D8lCTOtI.js} +1 -1
  129. package/dist/interface/assets/{useStreamStatus-CVJFHRLZ.js → useStreamStatus-Dpu6Hkfi.js} +1 -1
  130. package/dist/interface/assets/{useUserOptions-drl3-JUC.js → useUserOptions-CBRlNL95.js} +1 -1
  131. package/dist/interface/assets/{vendor-cameraui-Cgb5z6NJ.js → vendor-cameraui-D2u3KrB1.js} +313 -27
  132. package/dist/interface/assets/vendor-core-BXi0Qi10.js +1 -0
  133. package/dist/interface/assets/{vendor-primevue-CyD8V_Ft.js → vendor-primevue-Bchwc-Ab.js} +85 -371
  134. package/dist/interface/index.html +23 -22
  135. package/dist/interface/sw.js +1 -1
  136. package/dist/server/package.json +6 -6
  137. package/dist/server/requirements.txt +2 -2
  138. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +3 -0
  139. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +3 -0
  140. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +14 -28
  141. package/dist/server/src/api/controllers/cameras.controller.d.ts +1 -10
  142. package/dist/server/src/api/controllers/cameras.controller.js +0 -99
  143. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  144. package/dist/server/src/api/controllers/plugins.controller.js +30 -4
  145. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  146. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -1
  147. package/dist/server/src/api/controllers/workers.controller.js +9 -0
  148. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  149. package/dist/server/src/api/database/index.d.ts +0 -1
  150. package/dist/server/src/api/database/index.js +1 -1
  151. package/dist/server/src/api/database/index.js.map +1 -1
  152. package/dist/server/src/api/database/record-schemas.js +1 -1
  153. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  154. package/dist/server/src/api/database/types.d.ts +0 -1
  155. package/dist/server/src/api/index.js +1 -1
  156. package/dist/server/src/api/routes/cameras.routes.js +1 -42
  157. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  158. package/dist/server/src/api/routes/workers.routes.js +11 -0
  159. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  160. package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -18
  161. package/dist/server/src/api/schemas/cameras.schema.js +4 -11
  162. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  163. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  164. package/dist/server/src/api/services/cameras.service.js +23 -0
  165. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  166. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  167. package/dist/server/src/api/services/plugins.service.js +18 -0
  168. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  169. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  170. package/dist/server/src/api/services/sensors.service.js +1 -0
  171. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  172. package/dist/server/src/api/services/server.service.d.ts +2 -0
  173. package/dist/server/src/api/services/server.service.js +16 -2
  174. package/dist/server/src/api/services/server.service.js.map +1 -1
  175. package/dist/server/src/api/types/index.d.ts +33 -15
  176. package/dist/server/src/api/websocket/nsp/events.js +0 -3
  177. package/dist/server/src/api/websocket/nsp/events.js.map +1 -1
  178. package/dist/server/src/camera/controller.d.ts +0 -3
  179. package/dist/server/src/camera/controller.js +0 -18
  180. package/dist/server/src/camera/controller.js.map +1 -1
  181. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +6 -0
  182. package/dist/server/src/camera/decoder/detection-coordinator.js +61 -7
  183. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  184. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +16 -1
  185. package/dist/server/src/camera/decoder/detection-pipeline.js +92 -14
  186. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  187. package/dist/server/src/camera/decoder/frame-scaler.d.ts +20 -0
  188. package/dist/server/src/camera/decoder/frame-scaler.js +74 -10
  189. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  190. package/dist/server/src/camera/decoder/secondary-stage.js +17 -14
  191. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  192. package/dist/server/src/camera/decoder/worker.js +2 -2
  193. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  194. package/dist/server/src/camera/sensors/controller.d.ts +1 -10
  195. package/dist/server/src/camera/sensors/controller.js +8 -59
  196. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  197. package/dist/server/src/main.js +2 -97
  198. package/dist/server/src/main.js.map +1 -1
  199. package/dist/server/src/manager/types.d.ts +1 -0
  200. package/dist/server/src/manager/types.js +2 -0
  201. package/dist/server/src/manager/types.js.map +1 -1
  202. package/dist/server/src/mqtt/bridge.d.ts +0 -5
  203. package/dist/server/src/mqtt/bridge.js +2 -5
  204. package/dist/server/src/mqtt/bridge.js.map +1 -1
  205. package/dist/server/src/plugins/plugin.js +3 -1
  206. package/dist/server/src/plugins/plugin.js.map +1 -1
  207. package/dist/server/src/plugins/runtime/base.d.ts +1 -0
  208. package/dist/server/src/plugins/runtime/base.js +19 -0
  209. package/dist/server/src/plugins/runtime/base.js.map +1 -1
  210. package/dist/server/src/plugins/runtime/go/index.js +1 -1
  211. package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
  212. package/dist/server/src/plugins/runtime/node/child.d.ts +1 -0
  213. package/dist/server/src/plugins/runtime/node/child.js +5 -2
  214. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  215. package/dist/server/src/plugins/runtime/node/index.d.ts +0 -1
  216. package/dist/server/src/plugins/runtime/node/index.js +1 -20
  217. package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
  218. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +0 -5
  219. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  220. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +0 -5
  221. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  222. package/dist/server/src/plugins/runtime/python/child.py +62 -5
  223. package/dist/server/src/plugins/runtime/python/index.js +3 -0
  224. package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
  225. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +0 -7
  226. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +0 -7
  227. package/dist/server/src/plugins/types.d.ts +3 -1
  228. package/dist/server/src/plugins/types.js +2 -0
  229. package/dist/server/src/plugins/types.js.map +1 -1
  230. package/dist/server/src/plugins/worker.d.ts +1 -0
  231. package/dist/server/src/plugins/worker.js +42 -3
  232. package/dist/server/src/plugins/worker.js.map +1 -1
  233. package/dist/server/src/rpc/interfaces/device.d.ts +0 -3
  234. package/dist/server/src/rpc/namespaces.d.ts +0 -7
  235. package/dist/server/src/rpc/namespaces.js +0 -7
  236. package/dist/server/src/rpc/namespaces.js.map +1 -1
  237. package/dist/server/src/rpc/server.js +10 -13
  238. package/dist/server/src/rpc/server.js.map +1 -1
  239. package/dist/server/src/sensors/registry.d.ts +5 -1
  240. package/dist/server/src/sensors/registry.js +53 -25
  241. package/dist/server/src/sensors/registry.js.map +1 -1
  242. package/dist/server/src/utils/engines.d.ts +3 -1
  243. package/dist/server/src/utils/engines.js +11 -0
  244. package/dist/server/src/utils/engines.js.map +1 -1
  245. package/dist/server/src/utils/ipc.d.ts +2 -0
  246. package/dist/server/src/utils/ipc.js +104 -0
  247. package/dist/server/src/utils/ipc.js.map +1 -1
  248. package/dist/server/src/utils/npm/index.d.ts +6 -1
  249. package/dist/server/src/utils/npm/index.js +3 -0
  250. package/dist/server/src/utils/npm/index.js.map +1 -1
  251. package/dist/server/src/utils/plugin-registry/index.d.ts +1 -0
  252. package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
  253. package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
  254. package/dist/server/src/utils/pythonInstaller.js +14 -0
  255. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  256. package/dist/server/src/workers/agent.d.ts +5 -0
  257. package/dist/server/src/workers/agent.js +49 -1
  258. package/dist/server/src/workers/agent.js.map +1 -1
  259. package/dist/server/src/workers/capabilities/plugin-host.js +8 -0
  260. package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
  261. package/dist/server/src/workers/manager.d.ts +1 -0
  262. package/dist/server/src/workers/manager.js +22 -0
  263. package/dist/server/src/workers/manager.js.map +1 -1
  264. package/dist/server/src/workers/types.d.ts +8 -0
  265. package/package.json +6 -6
  266. package/dist/interface/assets/Adminpanel-4ilp8plp.js +0 -1
  267. package/dist/interface/assets/Automation-uaWWTeTZ.js +0 -3
  268. package/dist/interface/assets/Automations-PHMVe6wG.js +0 -2
  269. package/dist/interface/assets/Camera-Akukeq4_.js +0 -2
  270. package/dist/interface/assets/Camview-dF8o0iy2.js +0 -1
  271. package/dist/interface/assets/Config-iq-YI9Vg.js +0 -2
  272. package/dist/interface/assets/ConfigActionSensor-C9q3sRuI.js +0 -1
  273. package/dist/interface/assets/ConfigSensorValueInput-BcbzMf0g.js +0 -1
  274. package/dist/interface/assets/ConfigTriggerDetection-ld9Upgoc.js +0 -1
  275. package/dist/interface/assets/ConfigTriggerGeofence-DbfBc1AM.js +0 -1
  276. package/dist/interface/assets/Console-BTb5Yc32.js +0 -1
  277. package/dist/interface/assets/CuiAutomationRunsDialog-DX0xpNxx.js +0 -1
  278. package/dist/interface/assets/CuiBottomSheet-Bu0PtwX-.js +0 -1
  279. package/dist/interface/assets/CuiCameraRecordings-BWN8gBl4.js +0 -1
  280. package/dist/interface/assets/CuiCameraTable-BCrE4TMJ.js +0 -2
  281. package/dist/interface/assets/CuiDataTable-Dk8LJl5S.js +0 -1
  282. package/dist/interface/assets/CuiDataTable-W68cyoLf.css +0 -1
  283. package/dist/interface/assets/CuiLightControl-CaIl2eCO.js +0 -1
  284. package/dist/interface/assets/CuiList-Cjbxtb1E.js +0 -1
  285. package/dist/interface/assets/CuiPluginCard-cvZkF8Cz.js +0 -2
  286. package/dist/interface/assets/CuiQRCode-DKHFwuhr.js +0 -1
  287. package/dist/interface/assets/CuiRecordingsGrid-DSf7RXci.js +0 -1
  288. package/dist/interface/assets/CuiSchema-Dda4lNPz.js +0 -1
  289. package/dist/interface/assets/Faces-CvQCD53E.js +0 -1
  290. package/dist/interface/assets/Instances-DisNu3zt.js +0 -1
  291. package/dist/interface/assets/Menu-CJ-MMxvd.js +0 -1
  292. package/dist/interface/assets/Plugin-7daLGUVo.js +0 -1
  293. package/dist/interface/assets/PluginDetail-B1-NdurE.js +0 -2
  294. package/dist/interface/assets/PluginSearch-BHN0J_JP.js +0 -2
  295. package/dist/interface/assets/PluginSearch-Cx_lzDqC.js +0 -1
  296. package/dist/interface/assets/Plugins-DnMPdcQF.js +0 -1
  297. package/dist/interface/assets/Recordings-Dxs3srmh.js +0 -1
  298. package/dist/interface/assets/SensorEdit-Dq2nV1Wf.js +0 -1
  299. package/dist/interface/assets/Sensors-BA9P_Ray.css +0 -1
  300. package/dist/interface/assets/Sensors-D9DLdMaD.js +0 -2
  301. package/dist/interface/assets/Settings-DCHoD7r8.js +0 -1
  302. package/dist/interface/assets/SettingsAccount-BrhnlNuF.js +0 -1
  303. package/dist/interface/assets/SettingsAccount-djLxmQ9r.js +0 -1
  304. package/dist/interface/assets/SettingsAppearance-Bq-xM16S.js +0 -1
  305. package/dist/interface/assets/SettingsAppearance-JKbe5xiH.js +0 -1
  306. package/dist/interface/assets/SettingsBackup-CjlVk3hF.js +0 -1
  307. package/dist/interface/assets/SettingsList-C4mMOKJh.js +0 -1
  308. package/dist/interface/assets/SettingsNotifications-Cmr9Bvy0.js +0 -2
  309. package/dist/interface/assets/SettingsRecordings-DYiuW0rA.js +0 -1
  310. package/dist/interface/assets/SettingsRemote-CROA1Oa7.js +0 -1
  311. package/dist/interface/assets/SettingsSystem-rgucO68X.js +0 -2
  312. package/dist/interface/assets/Terminal-BMFWoJ_k.js +0 -4
  313. package/dist/interface/assets/Workers-DyJXudfY.js +0 -2
  314. package/dist/interface/assets/api-3va2gyB0.css +0 -2
  315. package/dist/interface/assets/api-Cc-rMHwl.js +0 -2
  316. package/dist/interface/assets/chevron-right-B4vB0gm4.js +0 -1
  317. package/dist/interface/assets/cloudHandoff-CPrXpD0L.js +0 -1
  318. package/dist/interface/assets/main-C4qjk6s5.js +0 -3
  319. package/dist/interface/assets/round-restart-alt-BhSxsPhN.css +0 -1
  320. package/dist/interface/assets/round-restart-alt-CxUkNgtt.js +0 -1
  321. package/dist/interface/assets/sensors-Bh5GuQ78.js +0 -1
  322. package/dist/interface/assets/types-C1VwkReu.js +0 -1
  323. package/dist/interface/assets/useBackupRestore-DQQc_D6D.js +0 -1
  324. package/dist/interface/assets/vendor-core-BJsSXMFQ.js +0 -1
@@ -8,6 +8,12 @@ const MOTION_MERGE_CLOSE_THRESHOLD = 0.1;
8
8
  const TRACKER_IOU_THRESHOLD = 0.1;
9
9
  const TRACKER_HIT_COUNTER_MAX = 30;
10
10
  const TRACKER_INITIALIZATION_DELAY = 3;
11
+ const TRACK_CONFIRM_MS = 300;
12
+ const TRACK_KEEPALIVE_MS = 3000;
13
+ const CADENCE_SWITCH_AFTER_MS = 5000;
14
+ const CADENCE_SWITCH_SPACING_MS = 60_000;
15
+ const MOTION_MATCH_ABOVE_MS = 400;
16
+ const CADENCE_BUCKETS_MS = [100, 150, 200, 300, 500, 700, 1000, 1500, 2000, 3000];
11
17
  export const PAN_TO_IMAGE_RATIO = 4.0;
12
18
  function toRustDetection(det) {
13
19
  return {
@@ -68,6 +74,18 @@ function toRustLines(lines) {
68
74
  ],
69
75
  }));
70
76
  }
77
+ function quantizeCadence(intervalMs) {
78
+ let best = CADENCE_BUCKETS_MS[0];
79
+ let bestDistance = Number.POSITIVE_INFINITY;
80
+ for (const bucket of CADENCE_BUCKETS_MS) {
81
+ const distance = Math.abs(Math.log(intervalMs / bucket));
82
+ if (distance < bestDistance) {
83
+ bestDistance = distance;
84
+ best = bucket;
85
+ }
86
+ }
87
+ return best;
88
+ }
71
89
  function fromRustCrossing(event, lookup) {
72
90
  const box = lookup.get(event.trackId);
73
91
  const w = box?.width ?? 0;
@@ -88,44 +106,104 @@ function fromRustCrossing(event, lookup) {
88
106
  export class DetectionPipeline {
89
107
  aspectRatio;
90
108
  tracker;
109
+ zones;
110
+ lines = [];
111
+ minConfidence;
112
+ reidHitCounterMax = 0;
113
+ cadence = { initializationDelay: TRACKER_INITIALIZATION_DELAY, hitCounterMax: TRACKER_HIT_COUNTER_MAX };
114
+ cadenceIntervalMs = CADENCE_BUCKETS_MS[0];
115
+ pendingCadenceSince = 0;
116
+ lastCadenceSwitchAt = 0;
91
117
  constructor(zones, settings) {
92
118
  this.aspectRatio = 16 / 9;
93
- this.tracker = new RustObjectTracker({
94
- iouThreshold: TRACKER_IOU_THRESHOLD,
95
- hitCounterMax: TRACKER_HIT_COUNTER_MAX,
96
- initializationDelay: TRACKER_INITIALIZATION_DELAY,
97
- });
98
- this.tracker.setMinConfidence(settings.object.confidence);
99
- this.tracker.setZones(toRustZones(zones));
119
+ this.zones = zones;
120
+ this.minConfidence = settings.object.confidence;
121
+ this.tracker = this.createTracker();
100
122
  }
101
123
  updateZones(zones) {
124
+ this.zones = zones;
102
125
  this.tracker.setZones(toRustZones(zones));
103
126
  }
104
127
  updateLines(lines, aspectRatio) {
105
128
  if (aspectRatio !== undefined)
106
129
  this.aspectRatio = aspectRatio;
130
+ this.lines = lines;
107
131
  this.tracker.setLines(toRustLines(lines), this.aspectRatio);
108
132
  }
109
133
  updateSettings(settings) {
134
+ this.minConfidence = settings.object.confidence;
110
135
  this.tracker.setMinConfidence(settings.object.confidence);
111
136
  }
112
137
  setReidHitCounterMax(frames) {
138
+ this.reidHitCounterMax = frames;
113
139
  this.tracker.setReidHitCounterMax(frames);
114
140
  }
141
+ syncDetectionCadence(intervalMs) {
142
+ if (intervalMs <= 0)
143
+ return undefined;
144
+ const bucket = quantizeCadence(intervalMs);
145
+ // hysteresis: jitter around the current bucket must not thrash the tracker
146
+ if (bucket === this.cadenceIntervalMs || Math.abs(intervalMs - this.cadenceIntervalMs) < this.cadenceIntervalMs * 0.25) {
147
+ this.pendingCadenceSince = 0;
148
+ return undefined;
149
+ }
150
+ const target = {
151
+ initializationDelay: Math.min(TRACKER_INITIALIZATION_DELAY, Math.max(1, Math.round(TRACK_CONFIRM_MS / bucket))),
152
+ hitCounterMax: Math.min(TRACKER_HIT_COUNTER_MAX, Math.max(2, Math.round(TRACK_KEEPALIVE_MS / bucket))),
153
+ };
154
+ // below ~2.5/s a walking object out-runs its own box between detections,
155
+ // IoU hits 0 and only distance matching can follow; tolerance scales with
156
+ // the gap, capped so distant objects still can't steal each other's ids
157
+ if (bucket >= MOTION_MATCH_ABOVE_MS) {
158
+ target.motionTolerance = Math.min(0.4, 0.05 + (0.25 * bucket) / 1000);
159
+ }
160
+ if (target.initializationDelay === this.cadence.initializationDelay &&
161
+ target.hitCounterMax === this.cadence.hitCounterMax &&
162
+ target.motionTolerance === this.cadence.motionTolerance) {
163
+ this.cadenceIntervalMs = bucket;
164
+ this.pendingCadenceSince = 0;
165
+ return undefined;
166
+ }
167
+ const now = Date.now();
168
+ if (this.lastCadenceSwitchAt !== 0 && now - this.lastCadenceSwitchAt < CADENCE_SWITCH_SPACING_MS)
169
+ return undefined;
170
+ if (this.tracker.trackCount > 0) {
171
+ if (this.pendingCadenceSince === 0) {
172
+ this.pendingCadenceSince = now;
173
+ return undefined;
174
+ }
175
+ if (now - this.pendingCadenceSince < CADENCE_SWITCH_AFTER_MS)
176
+ return undefined;
177
+ }
178
+ this.cadence = target;
179
+ this.cadenceIntervalMs = bucket;
180
+ this.pendingCadenceSince = 0;
181
+ this.lastCadenceSwitchAt = now;
182
+ this.tracker = this.createTracker();
183
+ return target;
184
+ }
185
+ createTracker() {
186
+ const tracker = new RustObjectTracker({
187
+ iouThreshold: TRACKER_IOU_THRESHOLD,
188
+ hitCounterMax: this.cadence.hitCounterMax,
189
+ initializationDelay: this.cadence.initializationDelay,
190
+ motionTolerance: this.cadence.motionTolerance,
191
+ });
192
+ tracker.setMinConfidence(this.minConfidence);
193
+ tracker.setZones(toRustZones(this.zones));
194
+ if (this.lines.length > 0)
195
+ tracker.setLines(toRustLines(this.lines), this.aspectRatio);
196
+ if (this.reidHitCounterMax > 0)
197
+ tracker.setReidHitCounterMax(this.reidHitCounterMax);
198
+ return tracker;
199
+ }
115
200
  refreshReid() {
116
201
  this.tracker.refreshReid();
117
202
  }
118
203
  process(rawDetections, frame, poseDelta) {
119
204
  const flat = rawDetections.length === 0 ? [] : this.runNmsAndMergeFlat(rawDetections);
120
- // Norfair's movement_vector is the scene flow: panning right drifts the
121
- // scene left (x = -panDelta), tilting up drifts it down (y = +tiltDelta,
122
- // image y grows downward). The autotracker feeds an accumulated offset
123
- // from its reference pose, not a per-frame delta, so the Kalman state
124
- // keeps one consistent reference across frames.
125
205
  const cameraMotion = poseDelta ? { x: -poseDelta.panDelta * PAN_TO_IMAGE_RATIO, y: poseDelta.tiltDelta * PAN_TO_IMAGE_RATIO } : undefined;
126
206
  const result = this.tracker.update(flat, Date.now(), frame.data, frame.width, frame.height, cameraMotion);
127
- // lost (Kalman-extrapolated) tracks stay in the output for smooth UI
128
- // bboxes, the coordinator excludes them from the event lifecycle
129
207
  const tracked = result.tracked.map(fromRustTracked);
130
208
  const boxLookup = new Map();
131
209
  for (const t of tracked) {
@@ -1 +1 @@
1
- {"version":3,"file":"detection-pipeline.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/detection-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detection-pipeline.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/detection-pipeline.ts"],"names":[],"mappings":"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"}
@@ -8,16 +8,19 @@ export interface JpegCrop {
8
8
  index: number;
9
9
  jpeg: Buffer;
10
10
  }
11
+ export type CropFit = 'stretch' | 'expand';
11
12
  export interface ConsumerSpec {
12
13
  key: string;
13
14
  triggerLabels: string[];
14
15
  input: VideoInputSpec;
16
+ fit: CropFit;
15
17
  }
16
18
  export interface ScaleTarget {
17
19
  key: string;
18
20
  width: number;
19
21
  height: number;
20
22
  format: ScaledFormat;
23
+ fit?: CropFit;
21
24
  }
22
25
  export interface ScaledFrame {
23
26
  data: Buffer;
@@ -25,6 +28,19 @@ export interface ScaledFrame {
25
28
  height: number;
26
29
  format: ScaledFormat;
27
30
  }
31
+ export interface LetterboxGeometry {
32
+ padX: number;
33
+ padY: number;
34
+ innerWidth: number;
35
+ innerHeight: number;
36
+ targetWidth: number;
37
+ targetHeight: number;
38
+ }
39
+ export interface LetterboxedFrame {
40
+ padded: ScaledFrame;
41
+ inner: ScaledFrame;
42
+ geometry: LetterboxGeometry;
43
+ }
28
44
  export declare class FrameScaler {
29
45
  private hardwareContext?;
30
46
  private logger?;
@@ -33,6 +49,8 @@ export declare class FrameScaler {
33
49
  constructor(hardwareContext?: (HardwareContext | null) | undefined, logger?: Logger | undefined);
34
50
  scale(frame: Frame, targetWidth: number, targetHeight: number, format?: ScaledFormat): Promise<ScaledFrame | null>;
35
51
  scaleToSpec(frame: Frame, spec: VideoInputSpec): Promise<ScaledFrame | null>;
52
+ letterboxToSpec(frame: Frame, spec: VideoInputSpec): Promise<LetterboxedFrame | null>;
53
+ static undoLetterbox(detections: Detection[], geometry: LetterboxGeometry): Detection[];
36
54
  scaleProportional(frame: Frame, maxWidth: number, format?: ScaledFormat): Promise<ScaledFrame | null>;
37
55
  toVideoFrameData(scaled: ScaledFrame, id?: string): VideoFrameData;
38
56
  cropToJPEG(frame: Frame, detections: Detection[], options?: {
@@ -46,6 +64,8 @@ export declare class FrameScaler {
46
64
  clearCache(): void;
47
65
  updateHardwareContext(context: HardwareContext | null | undefined): void;
48
66
  dispose(): void;
67
+ private expandCropToAspect;
68
+ private identityGeometry;
49
69
  private paddedCrop;
50
70
  private scaledSize;
51
71
  private proportionalSize;
@@ -1,4 +1,5 @@
1
1
  import { Scaler } from 'node-av/api';
2
+ const LETTERBOX_FILL = 114;
2
3
  export class FrameScaler {
3
4
  hardwareContext;
4
5
  logger;
@@ -17,6 +18,51 @@ export class FrameScaler {
17
18
  async scaleToSpec(frame, spec) {
18
19
  return this.scale(frame, spec.width, spec.height, spec.format);
19
20
  }
21
+ async letterboxToSpec(frame, spec) {
22
+ // nv12 is semi-planar, padding it row by row would tear the chroma plane apart
23
+ if (spec.format === 'nv12') {
24
+ const stretched = await this.scaleToSpec(frame, spec);
25
+ return stretched ? { padded: stretched, inner: stretched, geometry: this.identityGeometry(spec) } : null;
26
+ }
27
+ const ratio = Math.min(spec.width / frame.width, spec.height / frame.height);
28
+ const innerWidth = Math.max(2, Math.round((frame.width * ratio) / 2) * 2);
29
+ const innerHeight = Math.max(2, Math.round((frame.height * ratio) / 2) * 2);
30
+ const inner = await this.scale(frame, Math.min(innerWidth, spec.width), Math.min(innerHeight, spec.height), spec.format);
31
+ if (!inner)
32
+ return null;
33
+ const geometry = {
34
+ padX: Math.floor((spec.width - inner.width) / 2),
35
+ padY: Math.floor((spec.height - inner.height) / 2),
36
+ innerWidth: inner.width,
37
+ innerHeight: inner.height,
38
+ targetWidth: spec.width,
39
+ targetHeight: spec.height,
40
+ };
41
+ if (geometry.padX === 0 && geometry.padY === 0 && inner.width === spec.width && inner.height === spec.height) {
42
+ return { padded: inner, inner, geometry };
43
+ }
44
+ const channels = spec.format === 'gray' ? 1 : 3;
45
+ const data = Buffer.alloc(spec.width * spec.height * channels, LETTERBOX_FILL);
46
+ const rowBytes = inner.width * channels;
47
+ for (let y = 0; y < inner.height; y++) {
48
+ const target = ((geometry.padY + y) * spec.width + geometry.padX) * channels;
49
+ inner.data.copy(data, target, y * rowBytes, (y + 1) * rowBytes);
50
+ }
51
+ return { padded: { data, width: spec.width, height: spec.height, format: spec.format }, inner, geometry };
52
+ }
53
+ static undoLetterbox(detections, geometry) {
54
+ if (geometry.padX === 0 && geometry.padY === 0 && geometry.innerWidth === geometry.targetWidth && geometry.innerHeight === geometry.targetHeight) {
55
+ return detections;
56
+ }
57
+ const clamp = (value) => Math.min(1, Math.max(0, value));
58
+ return detections.map((detection) => {
59
+ const x = clamp((detection.box.x * geometry.targetWidth - geometry.padX) / geometry.innerWidth);
60
+ const y = clamp((detection.box.y * geometry.targetHeight - geometry.padY) / geometry.innerHeight);
61
+ const width = clamp((detection.box.width * geometry.targetWidth) / geometry.innerWidth);
62
+ const height = clamp((detection.box.height * geometry.targetHeight) / geometry.innerHeight);
63
+ return { ...detection, box: { x, y, width: Math.min(width, 1 - x), height: Math.min(height, 1 - y) } };
64
+ });
65
+ }
20
66
  async scaleProportional(frame, maxWidth, format = 'gray') {
21
67
  const { width, height } = this.proportionalSize(frame.width, frame.height, maxWidth);
22
68
  return this.scale(frame, width, height, format);
@@ -66,21 +112,19 @@ export class FrameScaler {
66
112
  const results = new Map();
67
113
  if (targets.length === 0)
68
114
  return results;
69
- const crop = this.paddedCrop(detection.box, frame.width, frame.height, padding, 0, 32);
70
- if (!crop)
115
+ const baseCrop = this.paddedCrop(detection.box, frame.width, frame.height, padding, 0, 32);
116
+ if (!baseCrop)
71
117
  return results;
72
- const meta = {
73
- detection,
74
- offset: { x: crop.x, y: crop.y },
75
- cropSize: { width: crop.width, height: crop.height },
76
- originalSize: { width: frame.width, height: frame.height },
77
- };
78
118
  const scaler = this.getScaler();
79
119
  for (const t of targets) {
120
+ const crop = t.fit === 'expand' ? this.expandCropToAspect(baseCrop, frame.width, frame.height, t.width / t.height) : baseCrop;
80
121
  const data = await scaler.toBuffer(frame, { crop, resize: { width: t.width, height: t.height }, format: t.format });
81
122
  results.set(t.key, {
82
123
  frame: { id: `crop:${detection.label}:${t.key}`, data, width: t.width, height: t.height, format: t.format },
83
- ...meta,
124
+ detection,
125
+ offset: { x: crop.x, y: crop.y },
126
+ cropSize: { width: crop.width, height: crop.height },
127
+ originalSize: { width: frame.width, height: frame.height },
84
128
  });
85
129
  }
86
130
  return results;
@@ -98,6 +142,27 @@ export class FrameScaler {
98
142
  dispose() {
99
143
  this.clearCache();
100
144
  }
145
+ expandCropToAspect(crop, frameWidth, frameHeight, aspect) {
146
+ let { x, y, width, height } = crop;
147
+ if (width / height < aspect) {
148
+ const grow = Math.round(height * aspect) - width;
149
+ x -= Math.floor(grow / 2);
150
+ width += grow;
151
+ }
152
+ else {
153
+ const grow = Math.round(width / aspect) - height;
154
+ y -= Math.floor(grow / 2);
155
+ height += grow;
156
+ }
157
+ x = Math.max(0, Math.min(x, frameWidth - width));
158
+ y = Math.max(0, Math.min(y, frameHeight - height));
159
+ width = Math.min(width, frameWidth - x);
160
+ height = Math.min(height, frameHeight - y);
161
+ return { x, y, width, height };
162
+ }
163
+ identityGeometry(spec) {
164
+ return { padX: 0, padY: 0, innerWidth: spec.width, innerHeight: spec.height, targetWidth: spec.width, targetHeight: spec.height };
165
+ }
101
166
  paddedCrop(box, frameWidth, frameHeight, padding, minCrop, minValid = 2) {
102
167
  const x = Math.floor(box.x * frameWidth);
103
168
  const y = Math.floor(box.y * frameHeight);
@@ -115,7 +180,6 @@ export class FrameScaler {
115
180
  return null;
116
181
  return { x: cropX, y: cropY, width: cropW, height: cropH };
117
182
  }
118
- // Scale proportionally to maxWidth (never upscale), even dimensions.
119
183
  scaledSize(width, height, maxWidth) {
120
184
  const scaleW = width > maxWidth ? maxWidth : width & ~1;
121
185
  const scaleH = width > maxWidth ? Math.round((height * maxWidth) / width) & ~1 : height & ~1;
@@ -1 +1 @@
1
- {"version":3,"file":"frame-scaler.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/frame-scaler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-scaler.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/frame-scaler.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,9 @@ const DETECTION_THUMB_HQ_QUALITY = 80;
14
14
  const ATTRIBUTE_THUMB_MAX_WIDTH = 640;
15
15
  const ATTRIBUTE_THUMB_MIN_CROP = 128;
16
16
  const SECONDARY_CONSUMERS = [
17
- { type: SensorType.Face, key: 'face' },
18
- { type: SensorType.LicensePlate, key: 'lpd' },
19
- { type: SensorType.Clip, key: 'clip' },
17
+ { type: SensorType.Face, key: 'face', fit: 'expand' },
18
+ { type: SensorType.LicensePlate, key: 'lpd', fit: 'stretch' },
19
+ { type: SensorType.Clip, key: 'clip', fit: 'expand' },
20
20
  ];
21
21
  export class SecondaryStage {
22
22
  coordinator;
@@ -170,19 +170,19 @@ export class SecondaryStage {
170
170
  }
171
171
  collectConsumers(requireFrames) {
172
172
  const consumers = [];
173
- for (const { type, key } of SECONDARY_CONSUMERS) {
173
+ for (const { type, key, fit } of SECONDARY_CONSUMERS) {
174
174
  const plugin = this.plugins.get(type);
175
175
  if (!plugin || (requireFrames && !plugin.requiresFrames))
176
176
  continue;
177
177
  if (hasSecondaryModelSpec(plugin.modelSpec) && isVideoInputSpec(plugin.modelSpec.input)) {
178
- consumers.push({ key, triggerLabels: plugin.modelSpec.triggerLabels, input: plugin.modelSpec.input });
178
+ consumers.push({ key, triggerLabels: plugin.modelSpec.triggerLabels, input: plugin.modelSpec.input, fit });
179
179
  }
180
180
  }
181
181
  for (const plugin of this.plugins.getAll(SensorType.Classifier)) {
182
182
  if (requireFrames && !plugin.requiresFrames)
183
183
  continue;
184
184
  if (hasSecondaryModelSpec(plugin.modelSpec) && isVideoInputSpec(plugin.modelSpec.input)) {
185
- consumers.push({ key: `classifier:${plugin.pluginId}`, triggerLabels: plugin.modelSpec.triggerLabels, input: plugin.modelSpec.input });
185
+ consumers.push({ key: `classifier:${plugin.pluginId}`, triggerLabels: plugin.modelSpec.triggerLabels, input: plugin.modelSpec.input, fit: 'expand' });
186
186
  }
187
187
  }
188
188
  return consumers;
@@ -197,16 +197,16 @@ export class SecondaryStage {
197
197
  const targets = [];
198
198
  for (const consumer of consumers) {
199
199
  if (consumer.triggerLabels.length === 0 || consumer.triggerLabels.some((l) => l.toLowerCase() === detLabel)) {
200
- targets.push({ key: consumer.key, width: consumer.input.width, height: consumer.input.height, format: consumer.input.format });
200
+ targets.push({ key: consumer.key, width: consumer.input.width, height: consumer.input.height, format: consumer.input.format, fit: consumer.fit });
201
201
  }
202
202
  }
203
203
  if (targets.length === 0)
204
204
  continue;
205
- // consumers with identical dimensions share one scaled region
205
+ // consumers with identical dimensions and fit share one scaled region
206
206
  const uniqueTargets = [];
207
207
  const dupeMap = new Map(); // sizeKey → [consumerKey, ...]
208
208
  for (const t of targets) {
209
- const sizeKey = `${t.width}x${t.height}_${t.format}`;
209
+ const sizeKey = `${t.width}x${t.height}_${t.format}_${t.fit ?? 'stretch'}`;
210
210
  const existing = dupeMap.get(sizeKey);
211
211
  if (existing) {
212
212
  existing.push(t.key);
@@ -248,14 +248,17 @@ export class SecondaryStage {
248
248
  box: { ...FULL_FRAME_BOX },
249
249
  };
250
250
  for (const consumer of consumers) {
251
- const scaled = await this.frameScaler.scaleToSpec(rawFrame, consumer.input);
252
- if (!scaled)
251
+ const letterboxed = await this.frameScaler.letterboxToSpec(rawFrame, consumer.input);
252
+ if (!letterboxed)
253
253
  continue;
254
+ const g = letterboxed.geometry;
254
255
  const region = {
255
- frame: this.frameScaler.toVideoFrameData(scaled, `fullframe:${consumer.key}`),
256
+ frame: this.frameScaler.toVideoFrameData(letterboxed.padded, `fullframe:${consumer.key}`),
256
257
  detection: fullFrameDetection,
257
- offset: { x: 0, y: 0 },
258
- cropSize: { width: frameWidth, height: frameHeight },
258
+ // a virtual crop covering frame plus fill bars, so the linear box
259
+ // mapping in transformBoxToOriginal un-letterboxes for free
260
+ offset: { x: (-g.padX / g.innerWidth) * frameWidth, y: (-g.padY / g.innerHeight) * frameHeight },
261
+ cropSize: { width: (g.targetWidth / g.innerWidth) * frameWidth, height: (g.targetHeight / g.innerHeight) * frameHeight },
259
262
  originalSize: { width: frameWidth, height: frameHeight },
260
263
  };
261
264
  result.set(consumer.key, [region]);
@@ -1 +1 @@
1
- {"version":3,"file":"secondary-stage.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/secondary-stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secondary-stage.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/secondary-stage.ts"],"names":[],"mappings":"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"}
@@ -157,11 +157,11 @@ export class FrameWorker extends Subscribed {
157
157
  if (property === 'frameWorkerSettings') {
158
158
  const newSettings = newData;
159
159
  const oldSettings = oldData;
160
- this.pushChildUpdate('frame worker settings', this.frameWorkerChildProxy.updateFrameWorkerSettings(this.resolveFrameWorkerSettings(newSettings)));
161
- // fps and decoder live inside the running decode session, restart to apply
162
160
  if (newSettings.fps !== oldSettings.fps || !isEqual(this.effectiveDecoder(newSettings), this.effectiveDecoder(oldSettings), true)) {
163
161
  this.restart();
162
+ return;
164
163
  }
164
+ this.pushChildUpdate('frame worker settings', this.frameWorkerChildProxy.updateFrameWorkerSettings(this.resolveFrameWorkerSettings(newSettings)));
165
165
  return;
166
166
  }
167
167
  if (property === 'detectionSettings') {