@3dsource/angular-unreal-module 0.0.146-dev.6 → 0.0.146-dev.8
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.
package/package.json
CHANGED
|
@@ -1214,6 +1214,17 @@ declare class StreamStatusTelemetryService2 {
|
|
|
1214
1214
|
private readonly disconnectReason$;
|
|
1215
1215
|
private readonly errorMessage$;
|
|
1216
1216
|
private readonly viewPortReady$;
|
|
1217
|
+
/**
|
|
1218
|
+
* Synchronous adoption flag. The `streamAdopted` reducer sets it BEFORE any
|
|
1219
|
+
* action subscriber runs, so the connection-phase closers (which fire inside
|
|
1220
|
+
* the same dispatch, e.g. `ssinfo-received` off the `ssData` state change)
|
|
1221
|
+
* can read it and defer to the prefetch-timed attribution emitted by
|
|
1222
|
+
* {@link emitAdoptedConnection} instead of recording the live wall-clock.
|
|
1223
|
+
*/
|
|
1224
|
+
private readonly adopted$;
|
|
1225
|
+
/** Streamer identity for the adopted signaling phase params. */
|
|
1226
|
+
private readonly ssData$;
|
|
1227
|
+
private readonly awsInstance$;
|
|
1217
1228
|
private session;
|
|
1218
1229
|
/**
|
|
1219
1230
|
* Whether a session has already started during the current page lifetime.
|
|
@@ -1277,6 +1288,36 @@ declare class StreamStatusTelemetryService2 {
|
|
|
1277
1288
|
* are derived from neighbor phases.
|
|
1278
1289
|
*/
|
|
1279
1290
|
private emitPhaseEnded;
|
|
1291
|
+
/**
|
|
1292
|
+
* Emit the region / signaling / webrtc phases for an ADOPTED connection.
|
|
1293
|
+
*
|
|
1294
|
+
* The prefetch script established the connection in PARALLEL with page load,
|
|
1295
|
+
* so the phases are positioned at their real (anchor-relative) spans — shifted
|
|
1296
|
+
* LEFT to overlap the HTML-loading / route-idle rows — rather than sequentially
|
|
1297
|
+
* after them. That's the whole point of the prefetch: the handshake already
|
|
1298
|
+
* happened while the page was loading. Each phase ships:
|
|
1299
|
+
* - `duration` — the real sub-step time the prefetch spent.
|
|
1300
|
+
* - `spanStartMs` — anchor-relative start, so the viewer left-shifts the bar.
|
|
1301
|
+
* - `adoptionAtMs` — where Angular took over (the next phase, Unreal
|
|
1302
|
+
* communication, resumes here on the sequential timeline).
|
|
1303
|
+
* - savings params: `prefetchConnectMs` (full handshake), `prefetchSavedMs`
|
|
1304
|
+
* (done before Angular was ready), `adoptionWaitMs` (real connect→adopted
|
|
1305
|
+
* wait), `adoptionOverheadMs` (prefetch-ready → adopted gap).
|
|
1306
|
+
*/
|
|
1307
|
+
private emitAdoptedConnection;
|
|
1308
|
+
/**
|
|
1309
|
+
* Emit one adopted phase positioned at its real `spanStartMs` (left-shifted
|
|
1310
|
+
* to overlap page load) with its real prefetch `duration`. `prefetched`,
|
|
1311
|
+
* `spanStartMs` and `adoptionAtMs` ride as top-level wire fields the viewer
|
|
1312
|
+
* uses to lay the bar out; the rest become display params.
|
|
1313
|
+
*/
|
|
1314
|
+
private emitAdoptedPhase;
|
|
1315
|
+
/** Streamer identity params for the adopted signaling phase — mirrors the
|
|
1316
|
+
* `ssinfo-received` closer's shape (client / instanceName / …ssData). */
|
|
1317
|
+
private adoptedSignalingParams;
|
|
1318
|
+
/** Read the region-ping cache the prefetch reused (localStorage), so the
|
|
1319
|
+
* adopted region phase can still report the winning region + samples. */
|
|
1320
|
+
private readRegionCache;
|
|
1280
1321
|
private handleWindow;
|
|
1281
1322
|
private evaluateAnomalies;
|
|
1282
1323
|
private updateMaxFpsTarget;
|
|
@@ -2589,9 +2630,29 @@ declare const initSignalling: node_modules__ngrx_store_types_ngrx_store.ActionCr
|
|
|
2589
2630
|
declare const streamAdopted: node_modules__ngrx_store_types_ngrx_store.ActionCreator<string, (props: {
|
|
2590
2631
|
machineId: string | null;
|
|
2591
2632
|
ssData: SignalingData | null;
|
|
2633
|
+
/**
|
|
2634
|
+
* `performance.now()` marks the prefetch script recorded while it
|
|
2635
|
+
* established the connection (`prefetch_start` / `ws_open` / `dc_open` /
|
|
2636
|
+
* `ready`), on the page navigation timeline. The telemetry service uses
|
|
2637
|
+
* them to attribute the signaling / webrtc phase durations to the time the
|
|
2638
|
+
* prefetch actually spent — instead of dumping the whole pre-adoption wait
|
|
2639
|
+
* onto whichever phase closer happens to fire first. `null` when adopting a
|
|
2640
|
+
* stream that carried no timings.
|
|
2641
|
+
*/
|
|
2642
|
+
timings: Record<string, number> | null;
|
|
2592
2643
|
}) => {
|
|
2593
2644
|
machineId: string | null;
|
|
2594
2645
|
ssData: SignalingData | null;
|
|
2646
|
+
/**
|
|
2647
|
+
* `performance.now()` marks the prefetch script recorded while it
|
|
2648
|
+
* established the connection (`prefetch_start` / `ws_open` / `dc_open` /
|
|
2649
|
+
* `ready`), on the page navigation timeline. The telemetry service uses
|
|
2650
|
+
* them to attribute the signaling / webrtc phase durations to the time the
|
|
2651
|
+
* prefetch actually spent — instead of dumping the whole pre-adoption wait
|
|
2652
|
+
* onto whichever phase closer happens to fire first. `null` when adopting a
|
|
2653
|
+
* stream that carried no timings.
|
|
2654
|
+
*/
|
|
2655
|
+
timings: Record<string, number> | null;
|
|
2595
2656
|
} & node_modules__ngrx_store_types_ngrx_store.Action<string>>;
|
|
2596
2657
|
declare const startStream: node_modules__ngrx_store_types_ngrx_store.ActionCreator<string, (props: {
|
|
2597
2658
|
config: Partial<StreamConfig>;
|
|
@@ -2810,7 +2871,6 @@ declare class UnrealEffects {
|
|
|
2810
2871
|
connectToSignaling$: node_modules_rxjs_dist_types.Observable<{
|
|
2811
2872
|
value: boolean;
|
|
2812
2873
|
} & node_modules__ngrx_store_types_ngrx_store.Action<string>> & node_modules__ngrx_effects_types_ngrx_effects.CreateEffectMetadata;
|
|
2813
|
-
regionTelemetryOnAdopt$: node_modules_rxjs_dist_types.Observable<node_modules__ngrx_store_types_ngrx_store.Action<string>> & node_modules__ngrx_effects_types_ngrx_effects.CreateEffectMetadata;
|
|
2814
2874
|
private canPeerReconnect;
|
|
2815
2875
|
/**
|
|
2816
2876
|
* Either schedules the next peer-reconnect attempt or gives up with the
|
|
@@ -2827,6 +2887,7 @@ declare const unrealFeature: {
|
|
|
2827
2887
|
name: "unrealFeature";
|
|
2828
2888
|
reducer: node_modules__ngrx_store_types_ngrx_store.ActionReducer<_3dsource_angular_unreal_module.UnrealState, node_modules__ngrx_store_types_ngrx_store.Action<string>>;
|
|
2829
2889
|
selectUnrealFeatureState: node_modules__ngrx_store_types_ngrx_store.MemoizedSelector<Record<string, any>, _3dsource_angular_unreal_module.UnrealState, (featureState: _3dsource_angular_unreal_module.UnrealState) => _3dsource_angular_unreal_module.UnrealState>;
|
|
2890
|
+
selectAdopted: node_modules__ngrx_store_types_ngrx_store.MemoizedSelector<Record<string, any>, boolean, (featureState: _3dsource_angular_unreal_module.UnrealState) => boolean>;
|
|
2830
2891
|
selectFreezeFrame: node_modules__ngrx_store_types_ngrx_store.MemoizedSelector<Record<string, any>, _3dsource_angular_unreal_module.FreezeFrameMessage, (featureState: _3dsource_angular_unreal_module.UnrealState) => _3dsource_angular_unreal_module.FreezeFrameMessage>;
|
|
2831
2892
|
selectIsVideoPlaying: node_modules__ngrx_store_types_ngrx_store.MemoizedSelector<Record<string, any>, boolean, (featureState: _3dsource_angular_unreal_module.UnrealState) => boolean>;
|
|
2832
2893
|
selectStatusMessage: node_modules__ngrx_store_types_ngrx_store.MemoizedSelector<Record<string, any>, string | null, (featureState: _3dsource_angular_unreal_module.UnrealState) => string | null>;
|
|
@@ -2883,6 +2944,13 @@ interface UnrealState {
|
|
|
2883
2944
|
isAfkTimerVisible: boolean;
|
|
2884
2945
|
afkCountdown: number;
|
|
2885
2946
|
cirrusConnected: boolean;
|
|
2947
|
+
/**
|
|
2948
|
+
* True once a prefetched connection has been adopted (`streamAdopted`).
|
|
2949
|
+
* Read synchronously by the telemetry service so the connection-phase
|
|
2950
|
+
* closers know to defer to the prefetch-timed attribution instead of the
|
|
2951
|
+
* live-event one. Reset on every fresh attempt / disconnect.
|
|
2952
|
+
*/
|
|
2953
|
+
adopted: boolean;
|
|
2886
2954
|
viewportReady: boolean;
|
|
2887
2955
|
freezeFrameFromVideo: FreezeFrameMessage;
|
|
2888
2956
|
freezeFrame: FreezeFrameMessage;
|