@utsp/core 0.14.2 → 0.15.0-nightly.20251230160137.3077b87

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/dist/index.d.ts CHANGED
@@ -2524,6 +2524,8 @@ interface NetworkLayer {
2524
2524
  height: number;
2525
2525
  orderCount: number;
2526
2526
  orders: AnyNetworkOrder[];
2527
+ /** Optional decoded byte size of this layer segment in the update packet */
2528
+ byteSize?: number;
2527
2529
  /**
2528
2530
  * CharCode mode for this layer
2529
2531
  * - false: 8-bit charCodes (0-255)
@@ -2820,6 +2822,18 @@ interface UpdatePacket {
2820
2822
  postProcessOrderCount: number;
2821
2823
  /** List of post-process orders (scanlines, ambient effect) */
2822
2824
  postProcessOrders: AnyPostProcessOrder[];
2825
+ /**
2826
+ * Optional: precise byte sizes (on-wire) for each section in this decoded packet.
2827
+ * Intended for debugging/telemetry (client-side). Not required for protocol correctness.
2828
+ */
2829
+ __byteSizes?: {
2830
+ displays: number;
2831
+ layers: number;
2832
+ audioOrders: number;
2833
+ vibrationOrders: number;
2834
+ macroOrders: number;
2835
+ postProcessOrders: number;
2836
+ };
2823
2837
  }
2824
2838
 
2825
2839
  /**
@@ -2882,6 +2896,20 @@ declare class Display {
2882
2896
  * Sets the display size
2883
2897
  */
2884
2898
  setSize(size: Vector2): void;
2899
+ /**
2900
+ * Returns a debug-friendly snapshot of this display (metadata only)
2901
+ */
2902
+ getDebugInfo(): {
2903
+ id: number;
2904
+ origin: {
2905
+ x: number;
2906
+ y: number;
2907
+ };
2908
+ size: {
2909
+ x: number;
2910
+ y: number;
2911
+ };
2912
+ };
2885
2913
  }
2886
2914
 
2887
2915
  /**
@@ -2893,6 +2921,8 @@ declare const MAX_ORDERS_PER_LAYER = 255;
2893
2921
  * Layer configuration options
2894
2922
  */
2895
2923
  interface LayerOptions {
2924
+ /** Optional layer name for tooling/debug */
2925
+ name?: string;
2896
2926
  /**
2897
2927
  * CharCode mode for this layer (immutable after creation)
2898
2928
  * - '8bit': Uses Uint8Array, limited to 256 characters (ASCII/CP437), optimized bandwidth
@@ -2908,6 +2938,7 @@ interface LayerOptions {
2908
2938
  }
2909
2939
  declare class Layer {
2910
2940
  private id;
2941
+ private name?;
2911
2942
  private origin;
2912
2943
  private orders;
2913
2944
  private zOrder;
@@ -3002,6 +3033,34 @@ declare class Layer {
3002
3033
  * @returns Layer ID (0-65535)
3003
3034
  */
3004
3035
  getId(): number;
3036
+ /**
3037
+ * Gets the layer's optional name (debug/metadata only)
3038
+ */
3039
+ getName(): string | undefined;
3040
+ /**
3041
+ * Sets the layer's optional name (debug/metadata only)
3042
+ */
3043
+ setName(name: string | undefined): void;
3044
+ /**
3045
+ * Returns a debug-friendly snapshot of this layer (metadata only)
3046
+ */
3047
+ getDebugInfo(): {
3048
+ id: number;
3049
+ name?: string;
3050
+ z: number;
3051
+ isStatic: boolean;
3052
+ charCodeMode: CharCodeMode;
3053
+ width: number;
3054
+ height: number;
3055
+ origin: {
3056
+ x: number;
3057
+ y: number;
3058
+ };
3059
+ enabled: boolean;
3060
+ useSetMode: boolean;
3061
+ needsCommit: boolean;
3062
+ ordersCount: number;
3063
+ };
3005
3064
  /**
3006
3065
  * Sets the layer's unique ID
3007
3066
  *
@@ -5839,6 +5898,25 @@ declare class User<TData = Record<string, any>> {
5839
5898
  * @internal
5840
5899
  */
5841
5900
  hasBridgeMessages(): boolean;
5901
+ /**
5902
+ * Returns a debug-friendly snapshot of this user (metadata only)
5903
+ */
5904
+ getDebugInfo(): {
5905
+ id: string;
5906
+ name: string;
5907
+ bytesSentTotal: number;
5908
+ bytesSentTick: number;
5909
+ availableViewports: Array<{
5910
+ displayId: number;
5911
+ pixelWidth: number;
5912
+ pixelHeight: number;
5913
+ }>;
5914
+ layers: ReturnType<Layer['getDebugInfo']>[];
5915
+ displays: ReturnType<Display['getDebugInfo']>[];
5916
+ displayComposite?: Record<number, {
5917
+ layerIdsTopToBottom: number[];
5918
+ }>;
5919
+ };
5842
5920
  }
5843
5921
 
5844
5922
  /**
@@ -5862,6 +5940,7 @@ interface TickStats {
5862
5940
  totalCells: number;
5863
5941
  nonEmptyCells: number;
5864
5942
  cellsWithBackground: number;
5943
+ displayCompositeLayerIds?: Map<number, number[]>;
5865
5944
  rasterizationTimeMs: number;
5866
5945
  encodingTimeMs: number;
5867
5946
  }
@@ -5889,6 +5968,11 @@ declare class CoreStats {
5889
5968
  get visibleLayers(): number;
5890
5969
  /** Layers visibles par display ID */
5891
5970
  get layersPerDisplay(): Map<number, number>;
5971
+ /**
5972
+ * Last known composition layer IDs per display (top-to-bottom).
5973
+ * Available only for the latest tick when stats are enabled.
5974
+ */
5975
+ get displayCompositeLayerIds(): Map<number, number[]>;
5892
5976
  /** Total encoded UpdatePacket size (bytes) */
5893
5977
  get updatePacketSize(): number;
5894
5978
  /** Display header size (bytes) */
@@ -5929,6 +6013,10 @@ declare class CoreStats {
5929
6013
  * Starts collecting statistics for a new tick
5930
6014
  */
5931
6015
  startTick(tickNumber: number): void;
6016
+ /**
6017
+ * Records the exact layer IDs used for composition, in order.
6018
+ */
6019
+ recordDisplayComposite(displayId: number, layerIdsTopToBottom: number[]): void;
5932
6020
  /**
5933
6021
  * Records orders for a layer
5934
6022
  */
@@ -7185,7 +7273,7 @@ declare class Core {
7185
7273
  * }
7186
7274
  * ```
7187
7275
  */
7188
- getRenderState(userId: string): UserRenderState | null;
7276
+ getRenderState(userId: string, layerFilter?: (layer: Layer) => boolean): UserRenderState | null;
7189
7277
  /**
7190
7278
  * Generates render state for all users
7191
7279
  *