@m4l/gclick-realtime 1.1.0 → 1.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 (62) hide show
  1. package/contracts/deviceData.d.ts +1 -1
  2. package/contracts/deviceData.d.ts.map +1 -1
  3. package/contracts/deviceDetail.d.ts +0 -1
  4. package/contracts/deviceDetail.d.ts.map +1 -1
  5. package/dummy/catalogs/baseDeviceTemplate.d.ts +1 -1
  6. package/dummy/catalogs/baseDeviceTemplate.d.ts.map +1 -1
  7. package/dummy/catalogs/scenarios.d.ts +46 -46
  8. package/dummy/catalogs/scenarios.js +46 -46
  9. package/dummy/runtime/dummy.d.ts.map +1 -1
  10. package/dummy/runtime/dummy.js +11 -10
  11. package/dummy/runtime/simulation.d.ts +2 -1
  12. package/dummy/runtime/simulation.d.ts.map +1 -1
  13. package/dummy/runtime/simulation.js +384 -361
  14. package/dummy/shared/types.d.ts +1 -1
  15. package/dummy/shared/types.d.ts.map +1 -1
  16. package/package.json +1 -1
  17. package/payload/index.d.ts +1 -0
  18. package/payload/index.d.ts.map +1 -1
  19. package/payload/index.js +7 -4
  20. package/payload/mergeDevicePayloadWithUpdatedAtGuard.d.ts +10 -0
  21. package/payload/mergeDevicePayloadWithUpdatedAtGuard.d.ts.map +1 -0
  22. package/payload/mergeDevicePayloadWithUpdatedAtGuard.js +50 -0
  23. package/web/consumer/RealTimeConsumerContext.d.ts.map +1 -1
  24. package/web/consumer/RealTimeConsumerContext.js +59 -30
  25. package/web/consumer/store.d.ts +1 -0
  26. package/web/consumer/store.d.ts.map +1 -1
  27. package/web/consumer/store.helpers.d.ts +24 -2
  28. package/web/consumer/store.helpers.d.ts.map +1 -1
  29. package/web/consumer/store.helpers.js +61 -33
  30. package/web/consumer/store.js +176 -60
  31. package/web/consumer/types.d.ts +3 -2
  32. package/web/consumer/types.d.ts.map +1 -1
  33. package/web/host/devicesResourceType.d.ts +70 -0
  34. package/web/host/devicesResourceType.d.ts.map +1 -0
  35. package/web/host/devicesResourceType.js +196 -0
  36. package/web/host/hostRuntime.d.ts +7 -0
  37. package/web/host/hostRuntime.d.ts.map +1 -1
  38. package/web/host/hostRuntime.js +44 -28
  39. package/web/host/index.d.ts +5 -2
  40. package/web/host/index.d.ts.map +1 -1
  41. package/web/host/launchContract.d.ts +25 -5
  42. package/web/host/launchContract.d.ts.map +1 -1
  43. package/web/host/launchContract.js +78 -41
  44. package/web/host/startupSnapshots.d.ts +32 -0
  45. package/web/host/startupSnapshots.d.ts.map +1 -0
  46. package/web/host/startupSnapshots.js +50 -0
  47. package/web/index.js +53 -47
  48. package/web/producer/sourceDataFactory.d.ts +3 -3
  49. package/web/producer/sourceDataFactory.d.ts.map +1 -1
  50. package/web/producer/sourceDataFactory.js +25 -21
  51. package/web/runtime/resourceTypeMergeStrategies.d.ts +10 -0
  52. package/web/runtime/resourceTypeMergeStrategies.d.ts.map +1 -0
  53. package/web/runtime/resourceTypeMergeStrategies.js +19 -0
  54. package/web/runtime/runtime.d.ts.map +1 -1
  55. package/web/runtime/runtime.js +15 -9
  56. package/web/runtime/runtimeAtmosphereOnly.d.ts.map +1 -1
  57. package/web/runtime/runtimeAtmosphereOnly.js +18 -12
  58. package/web/shared/performanceMetrics.d.ts +18 -2
  59. package/web/shared/performanceMetrics.d.ts.map +1 -1
  60. package/web/shared/performanceMetrics.js +35 -20
  61. package/web/shared/runtimeTypes.d.ts +2 -2
  62. package/web/shared/runtimeTypes.d.ts.map +1 -1
@@ -66,9 +66,9 @@ const r = {
66
66
  }, l = {
67
67
  fleet_delete_cycle: {
68
68
  devices: [
69
- { blueprintId: "red_tractor", planId: "yard_cycle_with_delete", playbackOffsetSeconds: 18, resourceSerialId: 10006, routeId: "medellin_centro_6km_reverse" },
70
- { blueprintId: "yellow_service", planId: "yard_cycle_with_delete", playbackOffsetSeconds: 63, resourceSerialId: 10005, routeId: "envigado_loop_5km_reverse" },
71
- { blueprintId: "forest_truck", planId: "yard_cycle_with_delete", playbackOffsetSeconds: 111, resourceSerialId: 1e4, routeId: "poblado_corridor_7km_reverse" }
69
+ { blueprintId: "red_tractor", planId: "yard_cycle_with_delete", playbackOffsetSeconds: 18, resourceSerialId: "10006", routeId: "medellin_centro_6km_reverse" },
70
+ { blueprintId: "yellow_service", planId: "yard_cycle_with_delete", playbackOffsetSeconds: 63, resourceSerialId: "10005", routeId: "envigado_loop_5km_reverse" },
71
+ { blueprintId: "forest_truck", planId: "yard_cycle_with_delete", playbackOffsetSeconds: 111, resourceSerialId: "10000", routeId: "poblado_corridor_7km_reverse" }
72
72
  ],
73
73
  name: "Delete-cycle stress scenario",
74
74
  playback: {
@@ -81,10 +81,10 @@ const r = {
81
81
  },
82
82
  google_loop_preview: {
83
83
  devices: [
84
- { blueprintId: "forest_truck", planId: "google_loop_preview", playbackOffsetSeconds: 0, resourceSerialId: 11e3, routeId: "google_envigado_civic_loop_pm" },
85
- { blueprintId: "orchid_van", planId: "google_loop_preview", playbackOffsetSeconds: 27, resourceSerialId: 11001, routeId: "google_envigado_intermedia_loop_pm" },
86
- { blueprintId: "teal_pickup", planId: "google_loop_preview", playbackOffsetSeconds: 54, resourceSerialId: 11002, routeId: "google_medellin_centro_loop_am" },
87
- { blueprintId: "blue_city_car", planId: "google_loop_preview", playbackOffsetSeconds: 81, resourceSerialId: 11003, routeId: "google_medellin_centro_sur_loop_am" }
84
+ { blueprintId: "forest_truck", planId: "google_loop_preview", playbackOffsetSeconds: 0, resourceSerialId: "11000", routeId: "google_envigado_civic_loop_pm" },
85
+ { blueprintId: "orchid_van", planId: "google_loop_preview", playbackOffsetSeconds: 27, resourceSerialId: "11001", routeId: "google_envigado_intermedia_loop_pm" },
86
+ { blueprintId: "teal_pickup", planId: "google_loop_preview", playbackOffsetSeconds: 54, resourceSerialId: "11002", routeId: "google_medellin_centro_loop_am" },
87
+ { blueprintId: "blue_city_car", planId: "google_loop_preview", playbackOffsetSeconds: 81, resourceSerialId: "11003", routeId: "google_medellin_centro_sur_loop_am" }
88
88
  ],
89
89
  name: "Google loop-route preview",
90
90
  playback: {
@@ -97,20 +97,20 @@ const r = {
97
97
  },
98
98
  google_envigado_swarm_preview: {
99
99
  devices: [
100
- { alias: "Swarm A1", blueprintId: "forest_truck", name: "Envigado Ant 01", planId: "google_envigado_status_cycle_alpha", playbackOffsetSeconds: 0, resourceSerialId: 1e4, routeId: "google_envigado_civic_loop_pm" },
101
- { alias: "Swarm A2", blueprintId: "orchid_van", name: "Envigado Ant 02", planId: "google_envigado_status_cycle_beta", playbackOffsetSeconds: 12, resourceSerialId: 10001, routeId: "google_envigado_intermedia_loop_pm" },
102
- { alias: "Swarm A3", blueprintId: "teal_pickup", name: "Envigado Ant 03", planId: "google_envigado_status_cycle_gamma", playbackOffsetSeconds: 24, resourceSerialId: 10002, routeId: "google_envigado_civic_loop_pm_calle36_start" },
103
- { alias: "Swarm A4", blueprintId: "blue_city_car", name: "Envigado Ant 04", planId: "google_envigado_status_cycle_delta", playbackOffsetSeconds: 36, resourceSerialId: 10003, routeId: "google_envigado_intermedia_loop_pm_hospital_start" },
104
- { alias: "Swarm B1", blueprintId: "sand_box_truck", name: "Envigado Ant 05", planId: "google_envigado_status_cycle_alpha", playbackOffsetSeconds: 48, resourceSerialId: 10004, routeId: "google_envigado_civic_loop_pm_hospital_start" },
105
- { alias: "Swarm B2", blueprintId: "yellow_service", name: "Envigado Ant 06", planId: "google_envigado_status_cycle_beta", playbackOffsetSeconds: 60, resourceSerialId: 10005, routeId: "google_envigado_civic_loop_pm_poblado_start" },
106
- { alias: "Swarm B3", blueprintId: "red_tractor", name: "Envigado Ant 07", planId: "google_envigado_status_cycle_gamma", playbackOffsetSeconds: 72, resourceSerialId: 10006, routeId: "google_envigado_intermedia_loop_pm_calle36_start" },
107
- { alias: "Swarm B4", blueprintId: "charcoal_sedan", name: "Envigado Ant 08", planId: "google_envigado_status_cycle_delta", playbackOffsetSeconds: 84, resourceSerialId: 10007, routeId: "google_envigado_intermedia_loop_pm_poblado_start" },
108
- { alias: "Swarm C1", blueprintId: "forest_truck", name: "Envigado Ant 09", planId: "google_envigado_status_cycle_alpha", playbackOffsetSeconds: 96, resourceSerialId: 10008, routeId: "google_envigado_civic_loop_pm_intermedia_start" },
109
- { alias: "Swarm C2", blueprintId: "orchid_van", name: "Envigado Ant 10", planId: "google_envigado_status_cycle_beta", playbackOffsetSeconds: 108, resourceSerialId: 10009, routeId: "google_envigado_intermedia_loop_pm_escobero_start" },
110
- { alias: "Swarm C3", blueprintId: "teal_pickup", name: "Envigado Ant 11", planId: "google_envigado_status_cycle_gamma", playbackOffsetSeconds: 120, resourceSerialId: 10010, routeId: "google_envigado_civic_loop_pm_escobero_start" },
111
- { alias: "Swarm C4", blueprintId: "blue_city_car", name: "Envigado Ant 12", planId: "google_envigado_status_cycle_delta", playbackOffsetSeconds: 132, resourceSerialId: 10011, routeId: "google_envigado_intermedia_loop_pm_parque_start" },
112
- { alias: "Swarm D1", blueprintId: "sand_box_truck", name: "Envigado Ant 13", planId: "google_envigado_status_cycle_alpha", playbackOffsetSeconds: 144, resourceSerialId: 10012, routeId: "google_envigado_civic_loop_pm_hospital_start" },
113
- { alias: "Swarm D2", blueprintId: "yellow_service", name: "Envigado Ant 14", planId: "google_envigado_status_cycle_gamma", playbackOffsetSeconds: 156, resourceSerialId: 10013, routeId: "google_envigado_intermedia_loop_pm_hospital_start" }
100
+ { alias: "Swarm A1", blueprintId: "forest_truck", name: "Envigado Ant 01", planId: "google_envigado_status_cycle_alpha", playbackOffsetSeconds: 0, resourceSerialId: "10000", routeId: "google_envigado_civic_loop_pm" },
101
+ { alias: "Swarm A2", blueprintId: "orchid_van", name: "Envigado Ant 02", planId: "google_envigado_status_cycle_beta", playbackOffsetSeconds: 12, resourceSerialId: "10001", routeId: "google_envigado_intermedia_loop_pm" },
102
+ { alias: "Swarm A3", blueprintId: "teal_pickup", name: "Envigado Ant 03", planId: "google_envigado_status_cycle_gamma", playbackOffsetSeconds: 24, resourceSerialId: "10002", routeId: "google_envigado_civic_loop_pm_calle36_start" },
103
+ { alias: "Swarm A4", blueprintId: "blue_city_car", name: "Envigado Ant 04", planId: "google_envigado_status_cycle_delta", playbackOffsetSeconds: 36, resourceSerialId: "10003", routeId: "google_envigado_intermedia_loop_pm_hospital_start" },
104
+ { alias: "Swarm B1", blueprintId: "sand_box_truck", name: "Envigado Ant 05", planId: "google_envigado_status_cycle_alpha", playbackOffsetSeconds: 48, resourceSerialId: "10004", routeId: "google_envigado_civic_loop_pm_hospital_start" },
105
+ { alias: "Swarm B2", blueprintId: "yellow_service", name: "Envigado Ant 06", planId: "google_envigado_status_cycle_beta", playbackOffsetSeconds: 60, resourceSerialId: "10005", routeId: "google_envigado_civic_loop_pm_poblado_start" },
106
+ { alias: "Swarm B3", blueprintId: "red_tractor", name: "Envigado Ant 07", planId: "google_envigado_status_cycle_gamma", playbackOffsetSeconds: 72, resourceSerialId: "10006", routeId: "google_envigado_intermedia_loop_pm_calle36_start" },
107
+ { alias: "Swarm B4", blueprintId: "charcoal_sedan", name: "Envigado Ant 08", planId: "google_envigado_status_cycle_delta", playbackOffsetSeconds: 84, resourceSerialId: "10007", routeId: "google_envigado_intermedia_loop_pm_poblado_start" },
108
+ { alias: "Swarm C1", blueprintId: "forest_truck", name: "Envigado Ant 09", planId: "google_envigado_status_cycle_alpha", playbackOffsetSeconds: 96, resourceSerialId: "10008", routeId: "google_envigado_civic_loop_pm_intermedia_start" },
109
+ { alias: "Swarm C2", blueprintId: "orchid_van", name: "Envigado Ant 10", planId: "google_envigado_status_cycle_beta", playbackOffsetSeconds: 108, resourceSerialId: "10009", routeId: "google_envigado_intermedia_loop_pm_escobero_start" },
110
+ { alias: "Swarm C3", blueprintId: "teal_pickup", name: "Envigado Ant 11", planId: "google_envigado_status_cycle_gamma", playbackOffsetSeconds: 120, resourceSerialId: "10010", routeId: "google_envigado_civic_loop_pm_escobero_start" },
111
+ { alias: "Swarm C4", blueprintId: "blue_city_car", name: "Envigado Ant 12", planId: "google_envigado_status_cycle_delta", playbackOffsetSeconds: 132, resourceSerialId: "10011", routeId: "google_envigado_intermedia_loop_pm_parque_start" },
112
+ { alias: "Swarm D1", blueprintId: "sand_box_truck", name: "Envigado Ant 13", planId: "google_envigado_status_cycle_alpha", playbackOffsetSeconds: 144, resourceSerialId: "10012", routeId: "google_envigado_civic_loop_pm_hospital_start" },
113
+ { alias: "Swarm D2", blueprintId: "yellow_service", name: "Envigado Ant 14", planId: "google_envigado_status_cycle_gamma", playbackOffsetSeconds: 156, resourceSerialId: "10013", routeId: "google_envigado_intermedia_loop_pm_hospital_start" }
114
114
  ],
115
115
  name: "Google Envigado swarm preview",
116
116
  playback: {
@@ -133,7 +133,7 @@ const r = {
133
133
  },
134
134
  planId: "google_envigado_status_cycle_alpha",
135
135
  playbackOffsetSeconds: 0,
136
- resourceSerialId: 9999,
136
+ resourceSerialId: "9999",
137
137
  routeId: "google_envigado_civic_loop_pm"
138
138
  }
139
139
  ],
@@ -154,7 +154,7 @@ const r = {
154
154
  name: "Not Detectable Preview 00",
155
155
  planId: "always_not_detectable_preview",
156
156
  playbackOffsetSeconds: 0,
157
- resourceSerialId: 9998,
157
+ resourceSerialId: "9998",
158
158
  routeId: "google_envigado_intermedia_loop_pm_parque_start"
159
159
  }
160
160
  ],
@@ -175,7 +175,7 @@ const r = {
175
175
  name: "Selection Follow Probe 01",
176
176
  planId: "google_envigado_status_cycle_alpha",
177
177
  playbackOffsetSeconds: 0,
178
- resourceSerialId: 18e3,
178
+ resourceSerialId: "18000",
179
179
  routeId: "google_envigado_civic_loop_pm"
180
180
  },
181
181
  {
@@ -188,7 +188,7 @@ const r = {
188
188
  },
189
189
  planId: "google_envigado_status_cycle_beta",
190
190
  playbackOffsetSeconds: 6,
191
- resourceSerialId: 18001,
191
+ resourceSerialId: "18001",
192
192
  routeId: "google_envigado_intermedia_loop_pm"
193
193
  }
194
194
  ],
@@ -221,7 +221,7 @@ const r = {
221
221
  name: "Malformed Coordinate Probe 01",
222
222
  planId: "single_marker_motion_probe",
223
223
  playbackOffsetSeconds: 0,
224
- resourceSerialId: 16e3,
224
+ resourceSerialId: "16000",
225
225
  routeId: "google_envigado_civic_loop_pm_escobero_start"
226
226
  }
227
227
  ],
@@ -248,7 +248,7 @@ const r = {
248
248
  },
249
249
  planId: "single_marker_motion_probe",
250
250
  playbackOffsetSeconds: 0,
251
- resourceSerialId: 17e3,
251
+ resourceSerialId: "17000",
252
252
  routeId: "google_probe_turns_compact_loop"
253
253
  },
254
254
  {
@@ -263,7 +263,7 @@ const r = {
263
263
  },
264
264
  planId: "sparse_rotation_fallback_probe",
265
265
  playbackOffsetSeconds: 9,
266
- resourceSerialId: 17001,
266
+ resourceSerialId: "17001",
267
267
  routeId: "google_probe_turns_compact_loop"
268
268
  },
269
269
  {
@@ -272,7 +272,7 @@ const r = {
272
272
  name: "Rotation Control Probe 03",
273
273
  planId: "single_marker_motion_probe",
274
274
  playbackOffsetSeconds: 18,
275
- resourceSerialId: 17002,
275
+ resourceSerialId: "17002",
276
276
  routeId: "google_probe_turns_compact_loop"
277
277
  }
278
278
  ],
@@ -293,7 +293,7 @@ const r = {
293
293
  name: "Motion Probe 01",
294
294
  planId: "single_marker_motion_probe",
295
295
  playbackOffsetSeconds: 0,
296
- resourceSerialId: 12e3,
296
+ resourceSerialId: "12000",
297
297
  routeId: "google_envigado_civic_loop_pm_escobero_start"
298
298
  }
299
299
  ],
@@ -314,7 +314,7 @@ const r = {
314
314
  name: "Non-selected Gate Probe 01",
315
315
  planId: "non_selected_viewport_gate_probe",
316
316
  playbackOffsetSeconds: 0,
317
- resourceSerialId: 15e3,
317
+ resourceSerialId: "15000",
318
318
  routeId: "medellin_vertical_gate_probe_5km"
319
319
  }
320
320
  ],
@@ -335,7 +335,7 @@ const r = {
335
335
  name: "Viewport Follow Probe 01",
336
336
  planId: "viewport_follow_probe",
337
337
  playbackOffsetSeconds: 0,
338
- resourceSerialId: 14e3,
338
+ resourceSerialId: "14000",
339
339
  routeId: "envigado_vertical_probe_5km"
340
340
  }
341
341
  ],
@@ -356,7 +356,7 @@ const r = {
356
356
  name: "Alignment Probe 01",
357
357
  planId: "single_marker_motion_probe",
358
358
  playbackOffsetSeconds: 0,
359
- resourceSerialId: 13e3,
359
+ resourceSerialId: "13000",
360
360
  routeId: "google_probe_turns_compact_loop"
361
361
  },
362
362
  {
@@ -365,7 +365,7 @@ const r = {
365
365
  name: "Alignment Probe 02",
366
366
  planId: "single_marker_motion_probe",
367
367
  playbackOffsetSeconds: 12,
368
- resourceSerialId: 13001,
368
+ resourceSerialId: "13001",
369
369
  routeId: "google_probe_turns_compact_loop"
370
370
  }
371
371
  ],
@@ -380,14 +380,14 @@ const r = {
380
380
  },
381
381
  fleet_mixed_city: {
382
382
  devices: [
383
- { blueprintId: "forest_truck", planId: "delivery_stop_go", playbackOffsetSeconds: 0, resourceSerialId: 1e4, routeId: "medellin_centro_6km" },
384
- { blueprintId: "orchid_van", planId: "corridor_express", playbackOffsetSeconds: 39, resourceSerialId: 10001, routeId: "poblado_corridor_7km" },
385
- { blueprintId: "teal_pickup", planId: "signal_loss_resume", playbackOffsetSeconds: 84, resourceSerialId: 10002, routeId: "envigado_loop_5km" },
386
- { blueprintId: "charcoal_sedan", planId: "corridor_express", playbackOffsetSeconds: 126, resourceSerialId: 10003, routeId: "medellin_centro_6km_reverse" },
387
- { blueprintId: "sand_box_truck", planId: "delivery_stop_go", playbackOffsetSeconds: 57, resourceSerialId: 10004, routeId: "envigado_loop_5km_reverse" },
388
- { blueprintId: "yellow_service", planId: "signal_loss_resume", playbackOffsetSeconds: 141, resourceSerialId: 10005, routeId: "poblado_corridor_7km_reverse" },
389
- { blueprintId: "red_tractor", planId: "yard_cycle_with_delete", playbackOffsetSeconds: 24, resourceSerialId: 10006, routeId: "medellin_centro_6km_reverse" },
390
- { blueprintId: "bootstrap_pending_icon", planId: "corridor_express", playbackOffsetSeconds: 102, resourceSerialId: 10007, routeId: "envigado_loop_5km_reverse" }
383
+ { blueprintId: "forest_truck", planId: "delivery_stop_go", playbackOffsetSeconds: 0, resourceSerialId: "10000", routeId: "medellin_centro_6km" },
384
+ { blueprintId: "orchid_van", planId: "corridor_express", playbackOffsetSeconds: 39, resourceSerialId: "10001", routeId: "poblado_corridor_7km" },
385
+ { blueprintId: "teal_pickup", planId: "signal_loss_resume", playbackOffsetSeconds: 84, resourceSerialId: "10002", routeId: "envigado_loop_5km" },
386
+ { blueprintId: "charcoal_sedan", planId: "corridor_express", playbackOffsetSeconds: 126, resourceSerialId: "10003", routeId: "medellin_centro_6km_reverse" },
387
+ { blueprintId: "sand_box_truck", planId: "delivery_stop_go", playbackOffsetSeconds: 57, resourceSerialId: "10004", routeId: "envigado_loop_5km_reverse" },
388
+ { blueprintId: "yellow_service", planId: "signal_loss_resume", playbackOffsetSeconds: 141, resourceSerialId: "10005", routeId: "poblado_corridor_7km_reverse" },
389
+ { blueprintId: "red_tractor", planId: "yard_cycle_with_delete", playbackOffsetSeconds: 24, resourceSerialId: "10006", routeId: "medellin_centro_6km_reverse" },
390
+ { blueprintId: "bootstrap_pending_icon", planId: "corridor_express", playbackOffsetSeconds: 102, resourceSerialId: "10007", routeId: "envigado_loop_5km_reverse" }
391
391
  ],
392
392
  name: "Mixed city fleet",
393
393
  playback: r,
@@ -395,10 +395,10 @@ const r = {
395
395
  },
396
396
  fleet_signal_loss: {
397
397
  devices: [
398
- { blueprintId: "teal_pickup", planId: "signal_loss_resume", playbackOffsetSeconds: 18, resourceSerialId: 10002, routeId: "poblado_corridor_7km" },
399
- { blueprintId: "sand_box_truck", planId: "signal_loss_resume", playbackOffsetSeconds: 66, resourceSerialId: 10004, routeId: "medellin_centro_6km_reverse" },
400
- { blueprintId: "yellow_service", planId: "signal_loss_resume", playbackOffsetSeconds: 123, resourceSerialId: 10005, routeId: "envigado_loop_5km_reverse" },
401
- { blueprintId: "blue_city_car", planId: "corridor_express", playbackOffsetSeconds: 45, resourceSerialId: 10007, routeId: "poblado_corridor_7km_reverse" }
398
+ { blueprintId: "teal_pickup", planId: "signal_loss_resume", playbackOffsetSeconds: 18, resourceSerialId: "10002", routeId: "poblado_corridor_7km" },
399
+ { blueprintId: "sand_box_truck", planId: "signal_loss_resume", playbackOffsetSeconds: 66, resourceSerialId: "10004", routeId: "medellin_centro_6km_reverse" },
400
+ { blueprintId: "yellow_service", planId: "signal_loss_resume", playbackOffsetSeconds: 123, resourceSerialId: "10005", routeId: "envigado_loop_5km_reverse" },
401
+ { blueprintId: "blue_city_car", planId: "corridor_express", playbackOffsetSeconds: 45, resourceSerialId: "10007", routeId: "poblado_corridor_7km_reverse" }
402
402
  ],
403
403
  name: "Signal loss recovery scenario",
404
404
  playback: {
@@ -1 +1 @@
1
- {"version":3,"file":"dummy.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/runtime/dummy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAwcvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,OAAO,CAAC,kBAAkB,CAAuD;IAEjF,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAAqC;IAE5D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA+BjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAgDb;;OAEG;IACH,IAAI,IAAI,IAAI;CASb;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"dummy.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/runtime/dummy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAwcvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,OAAO,CAAC,kBAAkB,CAAuD;IAEjF,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAAqC;IAE5D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA+BjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAiDb;;OAEG;IACH,IAAI,IAAI,IAAI;CASb;AAED,eAAe,eAAe,CAAC"}
@@ -37,7 +37,7 @@ function g(e) {
37
37
  function h(e) {
38
38
  return typeof e == "object" && e !== null && "value" in e;
39
39
  }
40
- function R(e, t) {
40
+ function I(e, t) {
41
41
  return {
42
42
  diXByKey: Object.fromEntries(
43
43
  Object.entries(e.current.vpts?.vptDiX ?? {}).map(([s, i]) => [
@@ -127,7 +127,7 @@ function f(e, t, s) {
127
127
  date: i
128
128
  })), e;
129
129
  }
130
- function I(e, t, s) {
130
+ function R(e, t, s) {
131
131
  if (e.type === "delete")
132
132
  return e;
133
133
  if (e.type === "new") {
@@ -146,7 +146,7 @@ function d(e, t) {
146
146
  function P(e, t) {
147
147
  return e.emissionOffsetMs <= 0 ? t : e.emissionOffsetMs;
148
148
  }
149
- function E(e, t, s, i, r) {
149
+ function T(e, t, s, i, r) {
150
150
  const a = [];
151
151
  let n = s.get(t.resourceSerialId) ?? d(e, t);
152
152
  for (let o = 0; o < i; o += 1) {
@@ -162,11 +162,11 @@ function E(e, t, s, i, r) {
162
162
  }
163
163
  return s.set(t.resourceSerialId, n), a;
164
164
  }
165
- function M(e, t) {
165
+ function E(e, t) {
166
166
  return e.every((s) => (t.get(s.resourceSerialId) ?? 0) >= s.messages.length);
167
167
  }
168
- function T(e, t, s, i, r, a, n) {
169
- const o = Date.now(), c = E(
168
+ function M(e, t, s, i, r, a, n) {
169
+ const o = Date.now(), c = T(
170
170
  e,
171
171
  t,
172
172
  s,
@@ -177,7 +177,7 @@ function T(e, t, s, i, r, a, n) {
177
177
  const v = i.get(t.resourceSerialId);
178
178
  n(
179
179
  e.resourceTypeId,
180
- v ? c.map((k) => I(
180
+ v ? c.map((k) => R(
181
181
  k,
182
182
  v,
183
183
  o
@@ -224,7 +224,7 @@ class K extends b {
224
224
  emitRuntimeDeviceTick(t) {
225
225
  const s = this.playbackRuntime;
226
226
  if (s) {
227
- if (T(
227
+ if (M(
228
228
  s.config,
229
229
  t,
230
230
  s.nextMessageIndexes,
@@ -232,7 +232,7 @@ class K extends b {
232
232
  s.runtime.playback.framesPerTick,
233
233
  s.runtime.playback.loop,
234
234
  this.onMessages
235
- ), !s.runtime.playback.loop && M(
235
+ ), !s.runtime.playback.loop && E(
236
236
  s.runtime.devices,
237
237
  s.nextMessageIndexes
238
238
  )) {
@@ -275,6 +275,7 @@ class K extends b {
275
275
  start() {
276
276
  this.stop();
277
277
  const t = this.config, s = t.wallClockStartAtMs ?? Date.now(), i = D(t.simulation, {
278
+ resourceTypeId: t.resourceTypeId,
278
279
  wallClockStartAtMs: s
279
280
  }), r = new Map(
280
281
  i.devices.map((n) => [n.resourceSerialId, d(t, n)])
@@ -283,7 +284,7 @@ class K extends b {
283
284
  const o = t.initialHashResources?.[n.resourceSerialId] ?? n.initialResource;
284
285
  return [
285
286
  n.resourceSerialId,
286
- R(o, s)
287
+ I(o, s)
287
288
  ];
288
289
  })
289
290
  );
@@ -2,6 +2,7 @@ import { RealTimeMessage, RealTimeResourceSerialId, RealTimeResourceTypeId } fro
2
2
  import { DeviceDataType } from '../../contracts/index';
3
3
  import { RealTimeDummySimulationConfig, RealTimeDummySimulationPlayback, RealTimeResourceSourceMechanismConfigDummy } from '../shared/types';
4
4
  interface RealTimeDummyRuntimeBuildOptions {
5
+ resourceTypeId?: RealTimeResourceTypeId;
5
6
  wallClockStartAtMs?: number;
6
7
  }
7
8
  interface CreateRealTimeDummyResourceTypeConfigOptions {
@@ -31,7 +32,7 @@ export declare function buildRealTimeDummyRuntimeModel(simulation?: RealTimeDumm
31
32
  /**
32
33
  * Create the initial producer-side hash for one dummy simulation.
33
34
  */
34
- export declare function createRealTimeDummyInitialResources(simulation?: RealTimeDummySimulationConfig, options?: RealTimeDummyRuntimeBuildOptions): Record<RealTimeResourceSerialId, DeviceDataType>;
35
+ export declare function createRealTimeDummyInitialResources(simulation?: RealTimeDummySimulationConfig, options?: RealTimeDummyRuntimeBuildOptions): Record<string, DeviceDataType>;
35
36
  /**
36
37
  * Create a full dummy realtime resource configuration with seeded initial data.
37
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/runtime/simulation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM3E,OAAO,KAAK,EAUV,6BAA6B,EAC7B,+BAA+B,EAC/B,0CAA0C,EAC3C,MAAM,iBAAiB,CAAC;AAkCzB,UAAU,gCAAgC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AA0FD,UAAU,4CAA4C;IACpD,cAAc,EAAE,sBAAsB,CAAC;IACvC,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED,UAAU,sDAAsD;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,sBAAsB,CAAC;IACvC,mBAAmB,CAAC,EAAE,6BAA6B,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,cAAc,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gBAAgB,EAAE,wBAAwB,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,QAAQ,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAC;CACrD;AA+mDD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,CAAC,EAAE,6BAA6B,EAC1C,OAAO,CAAC,EAAE,gCAAgC,GACzC,yBAAyB,CA+B3B;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,CAAC,EAAE,6BAA6B,EAC1C,OAAO,CAAC,EAAE,gCAAgC,oDAgB3C;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,EACpD,cAAc,EACd,UAAU,GACX,EAAE,4CAA4C,GAAG,0CAA0C,CAY3F;AAED;;GAEG;AACH,wBAAgB,+CAA+C,CAAC,EAC9D,QAAQ,EACR,cAAc,EACd,mBAAmB,GACpB,EAAE,sDAAsD,GAAG,0CAA0C,CAQrG"}
1
+ {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/runtime/simulation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM3E,OAAO,KAAK,EAUV,6BAA6B,EAC7B,+BAA+B,EAC/B,0CAA0C,EAC3C,MAAM,iBAAiB,CAAC;AAkCzB,UAAU,gCAAgC;IACxC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AA6FD,UAAU,4CAA4C;IACpD,cAAc,EAAE,sBAAsB,CAAC;IACvC,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED,UAAU,sDAAsD;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,sBAAsB,CAAC;IACvC,mBAAmB,CAAC,EAAE,6BAA6B,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,cAAc,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gBAAgB,EAAE,wBAAwB,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,QAAQ,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAC;CACrD;AAqoDD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,CAAC,EAAE,6BAA6B,EAC1C,OAAO,CAAC,EAAE,gCAAgC,GACzC,yBAAyB,CAqC3B;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,CAAC,EAAE,6BAA6B,EAC1C,OAAO,CAAC,EAAE,gCAAgC,kCAgB3C;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,EACpD,cAAc,EACd,UAAU,GACX,EAAE,4CAA4C,GAAG,0CAA0C,CAY3F;AAED;;GAEG;AACH,wBAAgB,+CAA+C,CAAC,EAC9D,QAAQ,EACR,cAAc,EACd,mBAAmB,GACpB,EAAE,sDAAsD,GAAG,0CAA0C,CAQrG"}