@3dsource/angular-unreal-module 0.0.181 → 0.0.183

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3dsource/angular-unreal-module",
3
- "version": "0.0.181",
3
+ "version": "0.0.183",
4
4
  "description": "Angular integration for Unreal Engine Pixel Streaming",
5
5
  "keywords": [
6
6
  "3dsource",
@@ -235,15 +235,6 @@ declare class WebrtcErrorModalComponent {
235
235
  static ɵcmp: i0.ɵɵComponentDeclaration<WebrtcErrorModalComponent, "app-webrtc-error-modal", never, {}, {}, never, never, true, never>;
236
236
  }
237
237
 
238
- declare const SpecialKeyCodes: {
239
- BackSpace: number;
240
- Shift: number;
241
- Control: number;
242
- Alt: number;
243
- RightShift: number;
244
- RightControl: number;
245
- RightAlt: number;
246
- };
247
238
  declare const MouseButton: {
248
239
  MainButton: number;
249
240
  AuxiliaryButton: number;
@@ -260,7 +251,8 @@ declare const MouseButtonsMask: {
260
251
  };
261
252
 
262
253
  /**
263
- * `KeyboardEvent.code` → the Windows virtual-key code Unreal expects.
254
+ * `KeyboardEvent.code` → the virtual-key code Unreal expects: Windows VK
255
+ * values, plus Pixel Streaming's own 253-255 for the right-hand modifiers.
264
256
  *
265
257
  * Only keys whose `event.keyCode` cannot be trusted belong here. The browser
266
258
  * already resolves `keyCode` correctly for everything else, so the table exists
@@ -268,34 +260,47 @@ declare const MouseButtonsMask: {
268
260
  * punctuation keys by ASCII — `;` as 59, `=` as 61, `-` as 173) and keys Unreal
269
261
  * numbers differently from the DOM (the right-hand modifiers, the Cmd/Win keys).
270
262
  *
271
- * The numpad is deliberately absent. A numpad key reports the same `code` in
272
- * both NumLock states but a different virtual key — `Numpad4` is 37/`VK_LEFT`
273
- * with NumLock off and 100/`VK_NUMPAD4` with it on — so any entry here would
274
- * have to commit to one state and be wrong in the other. Falling through to
275
- * `event.keyCode` is right in both. `NumpadAdd`/`Subtract`/`Multiply`/`Divide`
276
- * stay because they do not change with NumLock.
263
+ * `Pause`, `CapsLock` and the navigation block — `PageUp`, `PageDown`, `End`,
264
+ * `Home`, `Insert`, `Delete` — are the exception to that rule. The browser
265
+ * numbers them correctly, so their entries repeat the value `event.keyCode`
266
+ * already reports and change nothing at runtime; they are listed so `IKeyName`
267
+ * completes them in an editor.
277
268
  *
278
- * `SpecialKeyCodes` in `./buttons-codes` repeats seven of these entries with
279
- * the same values. The two are kept apart because both are public API; merging
280
- * them would be a breaking change.
269
+ * The NumLock-dependent numpad keys — `Numpad0`-`Numpad9`, `NumpadDecimal`,
270
+ * `NumpadEnter` — are deliberately absent. Such a key reports the same `code` in
271
+ * both NumLock states but a different virtual key: `Numpad4` is 37/`VK_LEFT`
272
+ * with NumLock off and 100/`VK_NUMPAD4` with it on. An entry here would have to
273
+ * commit to one state and be wrong in the other, and it would win over the value
274
+ * the browser resolved; falling through to `event.keyCode` is right in both.
275
+ * `NumpadAdd`/`Subtract`/`Multiply`/`Divide` stay because they do not change with
276
+ * NumLock. A key needs no entry here to be forwarded — the allow-list matches
277
+ * `event.code`, so `'Numpad4'` passed to `useKeyboardKeys()` works regardless.
281
278
  *
282
- * Values must stay unique so `InvertedKeyMap` is lossless. The `OSLeft`/
283
- * `MetaLeft` and `OSRight`/`MetaRight` pairs share a value on purpose: they are
284
- * legacy and current names for the same physical key.
279
+ * Two names may share a value — `OSLeft`/`MetaLeft` and `OSRight`/`MetaRight`
280
+ * are the legacy and current names for one physical key. Nothing reads this
281
+ * table backwards, so a shared value costs nothing.
285
282
  */
286
- declare const KeyboardNumericCode: {
283
+ declare const UnrealKeyCode: {
287
284
  readonly Backspace: 8;
288
285
  readonly Tab: 9;
289
286
  readonly Enter: 13;
290
287
  readonly ShiftLeft: 16;
291
288
  readonly ControlLeft: 17;
292
289
  readonly AltLeft: 18;
290
+ readonly Pause: 19;
291
+ readonly CapsLock: 20;
293
292
  readonly Escape: 27;
294
293
  readonly Space: 32;
294
+ readonly PageUp: 33;
295
+ readonly PageDown: 34;
296
+ readonly End: 35;
297
+ readonly Home: 36;
295
298
  readonly ArrowLeft: 37;
296
299
  readonly ArrowUp: 38;
297
300
  readonly ArrowRight: 39;
298
301
  readonly ArrowDown: 40;
302
+ readonly Insert: 45;
303
+ readonly Delete: 46;
299
304
  readonly Digit0: 48;
300
305
  readonly Digit1: 49;
301
306
  readonly Digit2: 50;
@@ -385,21 +390,33 @@ declare const IME_PROCESS_KEY = 229;
385
390
  * flight" check has to exempt them or `ControlRight` would block itself.
386
391
  */
387
392
  declare const MODIFIER_KEY_CODES: ReadonlySet<string>;
388
- type IKeyName = keyof typeof KeyboardNumericCode;
389
- type IKeyCode = (typeof KeyboardNumericCode)[IKeyName];
393
+ type IKeyName = keyof typeof UnrealKeyCode;
394
+ type IKeyCode = (typeof UnrealKeyCode)[IKeyName];
390
395
  /**
391
396
  * A physical key name as reported by `KeyboardEvent.code`.
392
397
  *
393
398
  * The union lists the names this table knows a virtual-key code for, so editors
394
399
  * complete them. The `string` branch keeps every other DOM code assignable —
395
- * `'Numpad4'`, `'Delete'`, `'Home'` — since a key needs no entry here to be
400
+ * `'Numpad4'`, `'NumpadEnter'`, `'F13'` — since a key needs no entry here to be
396
401
  * matched against `event.code`.
397
402
  */
398
403
  type IKeyCodeName = IKeyName | (string & Record<never, never>);
399
- type InvertedKeyMapType = {
400
- [K in IKeyName as (typeof KeyboardNumericCode)[K]]: K;
401
- };
402
- declare const InvertedKeyMap: InvertedKeyMapType;
404
+ /**
405
+ * Every key this module can forward, for `InputService.useKeyboardKeys()`.
406
+ *
407
+ * The table's own names cover everything whose `code` it knows; the numpad
408
+ * digits, `NumpadDecimal` and `NumpadEnter` are left out of the table on purpose
409
+ * — a numpad key reports the same `code` in both NumLock states but a different
410
+ * virtual key — and so are reachable only by name. The allow-list is matched
411
+ * against `event.code`, which needs no entry, so naming them here is enough.
412
+ *
413
+ * Passing this list forwards the browser keys too — F1-F12, `Tab`, `Escape`,
414
+ * `Backspace`, the lock keys, `ContextMenu`, `Meta`/`OS`. With
415
+ * `suppressBrowserKeys` on, F1-F12 and `Tab` also stop reaching the browser, so
416
+ * F5 no longer reloads and F12 no longer opens devtools. Prefer a narrower list
417
+ * unless the scene really owns the whole keyboard.
418
+ */
419
+ declare const ALL_KEYBOARD_KEYS: readonly IKeyCodeName[];
403
420
 
404
421
  declare const ControlScheme: {
405
422
  readonly LockedMouse: 0;
@@ -1457,14 +1474,11 @@ declare class InputService extends SubService {
1457
1474
  protected init(): void;
1458
1475
  /**
1459
1476
  * Replaces the forwarded-key allow-list. Takes physical key names
1460
- * (`KeyboardEvent.code`) such as `'KeyW'` or `'BracketLeft'`.
1461
- *
1462
- * Legacy numeric `keyCode` values are still accepted and converted, but they
1463
- * cannot express every key: `InvertedKeyMap` is many-to-one, so 37 resolves
1464
- * to `'ArrowLeft'` and 17 to `'ControlLeft'`, and `'Numpad4'`/`'ControlRight'`
1465
- * are unreachable through the numeric form. Pass names.
1477
+ * (`KeyboardEvent.code`) such as `'KeyW'`, `'BracketLeft'` or `'Numpad4'` —
1478
+ * the same units `isKeyAllowed()` compares against, so no conversion happens
1479
+ * and a key needs no entry in `UnrealKeyCode` to be forwarded.
1466
1480
  */
1467
- useKeyboardKeys(keys: readonly (IKeyCode | IKeyCodeName)[]): void;
1481
+ useKeyboardKeys(keys: readonly IKeyCodeName[]): void;
1468
1482
  get video(): HTMLVideoElement | null;
1469
1483
  private setup;
1470
1484
  /**
@@ -1506,7 +1520,7 @@ declare class InputService extends SubService {
1506
1520
  * The key code Unreal expects — the Windows virtual-key code — or `null` when
1507
1521
  * the event carries no key worth forwarding.
1508
1522
  *
1509
- * `KeyboardNumericCode` covers only the keys whose `event.keyCode` cannot be
1523
+ * `UnrealKeyCode` covers only the keys whose `event.keyCode` cannot be
1510
1524
  * trusted; everything else, the numpad included, falls through to the value
1511
1525
  * the browser resolved.
1512
1526
  *
@@ -3583,5 +3597,5 @@ declare const selectUserInactivityDetected: _ngrx_store.MemoizedSelector<Record<
3583
3597
  /** Used by external consumers (e.g., metabox). Do not remove. */
3584
3598
  declare const selectIsVideoPlayingAndDataChannelConnected: _ngrx_store.MemoizedSelector<Record<string, any>, boolean, (s1: boolean, s2: boolean) => boolean>;
3585
3599
 
3586
- export { AFKService, AUTO_HIGH_RESOLUTION_IDLE_MS, AfkTimeoutModalComponent, AggregatorService, AnalyticsService, AnswerHandler, CommandTelemetryService, ConfigHandler, ConsoleExtensionsService, ControlScheme, DATA_CHANNEL_CONNECTION_TIMEOUT, DEBOUNCE_TO_MANY_RESIZE_CALLS, DEFAULT_AFK_TIMEOUT, DEFAULT_AFK_TIMEOUT_PERIOD, DESTROY_DISCONNECT_REASONS, DevModeService, DisconnectReason, FULL_HD_HEIGHT, FULL_HD_WIDTH, FileHandlerService, FileReceiverService, FpsMonitorService, FreezeFrameComponent, FreezeFrameService, IME_PROCESS_KEY, INNER_RETRY_LIMIT, INSTANCE_READY_TIMEOUT, IceCandidateHandler, ImageLoadingSrcComponent, InputOptions, InputService, InstanceReadyHandler, InstanceReservedHandler, IntroSrcComponent, InvertedKeyMap, KeyboardNumericCode, LatencyTimings, LoadingProgressService, MINIMAL_FPS, MIN_CONTAINER_SIZE, MODIFIER_KEY_CODES, MessageType, MouseButton, MouseButtonsMask, OUTER_RETRY_DELAY, OnCloseHandler, OnErrorHandler, OnMessageHandler, OnOpenHandler, OrchestrationMessageTypes, POLLING_TIME, PlayerCountHandler, RECONNECT_CONFIG, REGION_PING_ACCURATE_SAMPLES, REGION_PING_BACKGROUND_REFRESH_DELAY_MS, REGION_PING_CACHE_KEY, REGION_PING_CACHE_TTL_MS, REGION_PING_WARMUP_DEADLINE_MS, RegionsPingService, SAME_SIZE_THRESHOLD, SCREEN_LOCKER_CONTAINER_ID, SIGNALLING_PERCENT_VALUE, SSInfoHandler, STREAMING_AUDIO_ID, STREAMING_VIDEO_ID, SafePipe, SignallingService, SpecialKeyCodes, StatGraphComponent, StreamAdoptionService, StreamStatusTelemetryService, StreamStatusTelemetryService2, SubService, ToClientMessage, UnrealAfkSlotDirective, UnrealCallbackService, UnrealCommunicatorService, UnrealEffects, UnrealResumeSlotDirective, UnrealSceneComponent, UnrealStatusMessage, UnrealStatusSlotDirective, VideoService, VideoStatsComponent, WSCloseCode_CIRRUS_ABNORMAL_CLOSURE, WSCloseCode_CIRRUS_MAX_PLAYERS_ERROR, WSCloseCode_CIRRUS_PLAYER_DISCONNECTED, WSCloseCode_CIRRUS_STREAMER_KIKED_PLAYER, WSCloseCode_FORCE_CIRRUS_CLOSE, WSCloseCode_NORMAL_AFK_TIMEOUT, WSCloseCode_NORMAL_CLOSURE, WSCloseCode_NORMAL_MANUAL_DISCONNECT, WSCloseCode_UNKNOWN, WSCloseCodes, WS_OPEN_STATE, WS_RETRY_PER_INSTANCE, WS_TIMEOUT, WebRtcPlayerService, WebrtcErrorModalComponent, abortEstablishingConnection, answerSent, changeStatusMainVideoOnScene, changeStreamResolutionAction, commandCompleted, commandStarted, dataChannelConnected, dataChannelReady, decodeData, destroyRemoteConnections, destroyUnrealScene, disconnectStream, dispatchResize, dropConnection, dropDC, dropPC, floatToPercents, floatToSmoothPercents, forceResizeViewport, fromResizeObserver, getActiveUrl, getImageFromVideoStream, getResizeStudioValues, getResizeValuesUniversal, getRtcErrorMessage, iceConnectionFailed, initSignalling, instanceReady, isAppOwned, isMetaboxMode, keepMaxUntilReset, makeEven, pollingEnded, pollingStarted, provideUnrealModule, provideUnrealState, qpToQuality, reconnectPeer, reconnectPeerFailed, reconnectPeerSuccess, regionPingFetchEnd, regionPingFetchStart, regionResolved, resetAfk, resetConfig, resetDataChannelForReconnect, resetIntroSrc, resetUserInactivityTimeout, resetWarnTimeout, resolveSkin, saveAnalyticsEvent, selectCirrusConnectionId, selectClientAndViewIds, selectCommandProgress, selectFreezeFrameCombinedDataUrl, selectFreezeFrameDataUrl, selectFreezeFrameDataUrlFromVideo, selectFreezeFrameProgressMessageFromVideo, selectIsAutostart, selectIsExistMatchUrls, selectIsFreezeFrameLoading, selectIsFullyConnected, selectIsLoaderScreenVisible, selectIsVideoPlayingAndDataChannelConnected, selectShowLoader, selectShowReconnectPopup, selectSignalingParameters, selectStreamConfig, selectTotalProgress, selectUserInactivityDetected, selectWarnTimeout, setAfkTimerCountdown, setAfkTimerHide, setAfkTimerVisible, setAwsInstance, setCirrusConnected, setCirrusDisconnected, setConfig, setEstablishingConnection, setFreezeFrame, setFreezeFrameFromVideo, setIntroImageSrc, setIntroVideoSrc, setLoadingImageSrc, setLoopBackCommandIsCompleted, setMaxFps, setOrchestrationContext, setOrchestrationMessage, setOrchestrationParameters, setOrchestrationProgress, setSignalingName, setStatusMessage, setStatusPercentSignallingServer, setStreamClientCompanyId, setStreamViewId, setUnrealPlaywrightConfig, setUserInactivityTimeout, setViewportNotReady, setViewportReady, showLoadingProgress, showResumeStreamPopup, showUnrealErrorMessage, showUserInactivityTimeoutPopup, signalingRetryAttempted, startStream, streamAdopted, trackMixpanelEvent, trackTelemetryData, uint8ToBase64, unrealCommandCallback, unrealFeature, unrealReducer, updateCirrusInfo, videoAdaptedToContainer, videoStreamInitialized };
3600
+ export { AFKService, ALL_KEYBOARD_KEYS, AUTO_HIGH_RESOLUTION_IDLE_MS, AfkTimeoutModalComponent, AggregatorService, AnalyticsService, AnswerHandler, CommandTelemetryService, ConfigHandler, ConsoleExtensionsService, ControlScheme, DATA_CHANNEL_CONNECTION_TIMEOUT, DEBOUNCE_TO_MANY_RESIZE_CALLS, DEFAULT_AFK_TIMEOUT, DEFAULT_AFK_TIMEOUT_PERIOD, DESTROY_DISCONNECT_REASONS, DevModeService, DisconnectReason, FULL_HD_HEIGHT, FULL_HD_WIDTH, FileHandlerService, FileReceiverService, FpsMonitorService, FreezeFrameComponent, FreezeFrameService, IME_PROCESS_KEY, INNER_RETRY_LIMIT, INSTANCE_READY_TIMEOUT, IceCandidateHandler, ImageLoadingSrcComponent, InputOptions, InputService, InstanceReadyHandler, InstanceReservedHandler, IntroSrcComponent, LatencyTimings, LoadingProgressService, MINIMAL_FPS, MIN_CONTAINER_SIZE, MODIFIER_KEY_CODES, MessageType, MouseButton, MouseButtonsMask, OUTER_RETRY_DELAY, OnCloseHandler, OnErrorHandler, OnMessageHandler, OnOpenHandler, OrchestrationMessageTypes, POLLING_TIME, PlayerCountHandler, RECONNECT_CONFIG, REGION_PING_ACCURATE_SAMPLES, REGION_PING_BACKGROUND_REFRESH_DELAY_MS, REGION_PING_CACHE_KEY, REGION_PING_CACHE_TTL_MS, REGION_PING_WARMUP_DEADLINE_MS, RegionsPingService, SAME_SIZE_THRESHOLD, SCREEN_LOCKER_CONTAINER_ID, SIGNALLING_PERCENT_VALUE, SSInfoHandler, STREAMING_AUDIO_ID, STREAMING_VIDEO_ID, SafePipe, SignallingService, StatGraphComponent, StreamAdoptionService, StreamStatusTelemetryService, StreamStatusTelemetryService2, SubService, ToClientMessage, UnrealAfkSlotDirective, UnrealCallbackService, UnrealCommunicatorService, UnrealEffects, UnrealKeyCode, UnrealResumeSlotDirective, UnrealSceneComponent, UnrealStatusMessage, UnrealStatusSlotDirective, VideoService, VideoStatsComponent, WSCloseCode_CIRRUS_ABNORMAL_CLOSURE, WSCloseCode_CIRRUS_MAX_PLAYERS_ERROR, WSCloseCode_CIRRUS_PLAYER_DISCONNECTED, WSCloseCode_CIRRUS_STREAMER_KIKED_PLAYER, WSCloseCode_FORCE_CIRRUS_CLOSE, WSCloseCode_NORMAL_AFK_TIMEOUT, WSCloseCode_NORMAL_CLOSURE, WSCloseCode_NORMAL_MANUAL_DISCONNECT, WSCloseCode_UNKNOWN, WSCloseCodes, WS_OPEN_STATE, WS_RETRY_PER_INSTANCE, WS_TIMEOUT, WebRtcPlayerService, WebrtcErrorModalComponent, abortEstablishingConnection, answerSent, changeStatusMainVideoOnScene, changeStreamResolutionAction, commandCompleted, commandStarted, dataChannelConnected, dataChannelReady, decodeData, destroyRemoteConnections, destroyUnrealScene, disconnectStream, dispatchResize, dropConnection, dropDC, dropPC, floatToPercents, floatToSmoothPercents, forceResizeViewport, fromResizeObserver, getActiveUrl, getImageFromVideoStream, getResizeStudioValues, getResizeValuesUniversal, getRtcErrorMessage, iceConnectionFailed, initSignalling, instanceReady, isAppOwned, isMetaboxMode, keepMaxUntilReset, makeEven, pollingEnded, pollingStarted, provideUnrealModule, provideUnrealState, qpToQuality, reconnectPeer, reconnectPeerFailed, reconnectPeerSuccess, regionPingFetchEnd, regionPingFetchStart, regionResolved, resetAfk, resetConfig, resetDataChannelForReconnect, resetIntroSrc, resetUserInactivityTimeout, resetWarnTimeout, resolveSkin, saveAnalyticsEvent, selectCirrusConnectionId, selectClientAndViewIds, selectCommandProgress, selectFreezeFrameCombinedDataUrl, selectFreezeFrameDataUrl, selectFreezeFrameDataUrlFromVideo, selectFreezeFrameProgressMessageFromVideo, selectIsAutostart, selectIsExistMatchUrls, selectIsFreezeFrameLoading, selectIsFullyConnected, selectIsLoaderScreenVisible, selectIsVideoPlayingAndDataChannelConnected, selectShowLoader, selectShowReconnectPopup, selectSignalingParameters, selectStreamConfig, selectTotalProgress, selectUserInactivityDetected, selectWarnTimeout, setAfkTimerCountdown, setAfkTimerHide, setAfkTimerVisible, setAwsInstance, setCirrusConnected, setCirrusDisconnected, setConfig, setEstablishingConnection, setFreezeFrame, setFreezeFrameFromVideo, setIntroImageSrc, setIntroVideoSrc, setLoadingImageSrc, setLoopBackCommandIsCompleted, setMaxFps, setOrchestrationContext, setOrchestrationMessage, setOrchestrationParameters, setOrchestrationProgress, setSignalingName, setStatusMessage, setStatusPercentSignallingServer, setStreamClientCompanyId, setStreamViewId, setUnrealPlaywrightConfig, setUserInactivityTimeout, setViewportNotReady, setViewportReady, showLoadingProgress, showResumeStreamPopup, showUnrealErrorMessage, showUserInactivityTimeoutPopup, signalingRetryAttempted, startStream, streamAdopted, trackMixpanelEvent, trackTelemetryData, uint8ToBase64, unrealCommandCallback, unrealFeature, unrealReducer, updateCirrusInfo, videoAdaptedToContainer, videoStreamInitialized };
3587
3601
  export type { AggregatedStat, AnySignalingMessage, AppOwnedStream, Area, AwsInstance, BootstrapInfo, CandidateMessage, CirrusRequestKind, CloseReason, CommandInProgress, ConfigMessage, ConnectionError, ControlSchemeValues, Coords, DisconnectReasonType, EmittedMilestone, EventId, FpsLowData, FreezeFrameMessage, IKeyCode, IKeyCodeName, IKeyName, ImageOutputValues, InboundVideoStats, InputProps, InstanceReady, InstanceReserved, InterruptClientStream, ListStreamersMessage, MessageBase, MessageTypeValues, OrchestrationErrorMessage, OrchestrationMessageType, P2PEstablishedMessage, ParkedStream, PhaseEndedData, PhaseOverlay, PhaseParam, PlayerCountMessage, PollingOrchestrationMessage, Quality, QualityAnomalyData, ReceivedFile, Rect, RequestStream, ResourceBucket, ResourceTotals, SSInfo, SampleData, SelectedIceCandidatePair, SessionEndReason, SessionEndedData, SessionStartedData, SignalingData, SignalingMessageHandler, SignalingMessageMap, SignalingRetryData, SignalingRetryKind, Size, SlowResource, StreamConfig, StreamRequestContext, StreamResolutionProps, StreamTelemetryEvent, StreamTelemetryEventMap, StreamTelemetryEventName, StreamTelemetryLifecycleData, StreamTelemetryLifecycleEventName, StreamTelemetryTrackData, StreamerListMessage, TelemetryEventEnvelope, TelemetryLifecycleEnvelope, TelemetryType, UnknownFields, UnrealAfkSlotContext, UnrealCallbackDescriptor, UnrealCallbackEventMap, UnrealCallbackJson, UnrealCallbackJsonWrapped, UnrealResumeSlotContext, UnrealSlotTemplateContext, UnrealState, UnrealStatusSlotContext, UnrealUiClasses, UnrealUiPart, WSCloseCodesValues, WindowAggregate };