@utsp/core 0.14.0 → 0.14.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.
package/dist/index.d.ts CHANGED
@@ -2884,6 +2884,11 @@ declare class Display {
2884
2884
  setSize(size: Vector2): void;
2885
2885
  }
2886
2886
 
2887
+ /**
2888
+ * Maximum number of orders per layer (encoded as 1 byte)
2889
+ * Exceeding this limit will cause packet corruption!
2890
+ */
2891
+ declare const MAX_ORDERS_PER_LAYER = 255;
2887
2892
  /**
2888
2893
  * Layer configuration options
2889
2894
  */
@@ -3075,14 +3080,19 @@ declare class Layer {
3075
3080
  * ```
3076
3081
  */
3077
3082
  commit(): void;
3083
+ /**
3084
+ * Returns a breakdown of order types for debugging
3085
+ * @internal
3086
+ */
3087
+ private getOrdersBreakdown;
3078
3088
  /**
3079
3089
  * Checks if layer needs to be sent
3080
- * @internal - Used by Core.endTickSplit()
3090
+ * @internal - Used by Core.endTick()
3081
3091
  */
3082
3092
  getNeedsCommit(): boolean;
3083
3093
  /**
3084
3094
  * Resets commit flag after sending
3085
- * @internal - Used by Core.endTickSplit()
3095
+ * @internal - Used by Core.endTick()
3086
3096
  */
3087
3097
  resetCommit(): void;
3088
3098
  }
@@ -6677,38 +6687,22 @@ declare class Core {
6677
6687
  *
6678
6688
  * This method:
6679
6689
  * 1. Encodes displays and layers of each user into binary packets
6680
- * 2. Increments tick counter
6681
- * 3. Returns a Map with packets ready to send
6682
- *
6683
- * Server/client can then send these packets over the network
6684
- *
6685
- * @returns Map<userId, packet> - Encoded packets for each user
6686
- *
6687
- * @example
6688
- * ```typescript
6689
- * const packets = engine.endTick();
6690
- * packets.forEach((packet, userId) => {
6691
- * networkSend(userId, packet);
6692
- * });
6693
- * ```
6694
- */
6695
- endTick(): Map<string, Uint8Array>;
6696
- /**
6697
- * Ends tick and generates SEPARATE packets for static and dynamic layers
6698
- *
6699
- * This method allows sending:
6700
- * - STATIC Layers on a reliable Socket.IO channel (guaranteed delivery)
6701
- * - DYNAMIC Layers on a volatile Socket.IO channel (can drop packets)
6690
+ * 2. Only sends layers that have called commit() (optimization)
6691
+ * 3. Separates static and dynamic layers for network optimization
6692
+ * 4. Increments tick counter
6693
+ * 5. Returns a Map with split packets ready to send
6702
6694
  *
6703
- * Optimization: Static layers (background, pattern) must arrive,
6704
- * but dynamic layers (particles, trail) can skip frames.
6695
+ * Network strategy:
6696
+ * - STATIC Layers Reliable channel (guaranteed delivery)
6697
+ * - DYNAMIC Layers → Volatile channel (can drop packets for performance)
6698
+ * - Audio/Vibration/Macro/PostProcess orders → Only in dynamic packet
6705
6699
  *
6706
6700
  * @returns Map<userId, { static: Uint8Array | null, dynamic: Uint8Array | null }>
6707
6701
  *
6708
6702
  * @example
6709
6703
  * ```typescript
6710
- * const splitPackets = engine.endTickSplit();
6711
- * splitPackets.forEach(({ static: staticPacket, dynamic: dynamicPacket }, userId) => {
6704
+ * const packets = engine.endTick();
6705
+ * packets.forEach(({ static: staticPacket, dynamic: dynamicPacket }, userId) => {
6712
6706
  * if (staticPacket) {
6713
6707
  * network.sendToClient(userId, 'update-static', staticPacket); // Reliable
6714
6708
  * }
@@ -6718,7 +6712,7 @@ declare class Core {
6718
6712
  * });
6719
6713
  * ```
6720
6714
  */
6721
- endTickSplit(): Map<string, {
6715
+ endTick(): Map<string, {
6722
6716
  static: Uint8Array | null;
6723
6717
  dynamic: Uint8Array | null;
6724
6718
  }>;
@@ -7001,6 +6995,25 @@ declare class Core {
7001
6995
  * @returns Array of encoded MacroLoad packets
7002
6996
  */
7003
6997
  generateMacroLoadPackets(userId: string): Uint8Array[];
6998
+ /**
6999
+ * Generates an initial update packet for a specific user (SERVER-SIDE)
7000
+ *
7001
+ * This is used to send any pending PostProcessCommands (like switchPalette)
7002
+ * that were created during initUser() but before the first regular tick.
7003
+ *
7004
+ * @param userId - Target user ID
7005
+ * @returns Encoded update packet, or null if no pending commands
7006
+ *
7007
+ * @example
7008
+ * ```typescript
7009
+ * // Server side - after initUser and load packets
7010
+ * const initialPacket = core.generateInitialUpdatePacket(clientId);
7011
+ * if (initialPacket) {
7012
+ * socket.emit('update', initialPacket);
7013
+ * }
7014
+ * ```
7015
+ */
7016
+ generateInitialUpdatePacket(userId: string): Uint8Array | null;
7004
7017
  /**
7005
7018
  * Applies Input Bindings to a user (CLIENT-SIDE)
7006
7019
  *
@@ -8051,29 +8064,30 @@ declare function getASCII8x8FontConfig(): {
8051
8064
  };
8052
8065
 
8053
8066
  /**
8054
- * CompressedInputPacket - Ultra-compact binary format for inputs (V4)
8067
+ * CompressedInputPacket - Ultra-compact binary format for inputs (V5)
8055
8068
  *
8056
8069
  * Architecture:
8057
8070
  * - CLIENT: Evaluates sources → Compresses → Sends
8058
8071
  * - SERVER: Receives → Decompresses → Stores in axes/buttons Maps
8059
8072
  *
8060
- * MINIMALIST Format (V4):
8061
- * ┌────────┬───────────┬─────────────┬────────┬──────────┬─────────────┬─────────────┬──────────────────┐
8062
- * │ Tick │ Axes │ Buttons │ Mouse │ Flags │ TextInputs │ MacroEvents │ DisplayViewports │
8063
- * │ 8 bytes│ N bytes │ M bytes │ 3 bytes│ 1 byte │ variable │ variable │ 1 + 5×count bytes│
8064
- * └────────┴───────────┴─────────────┴────────┴──────────┴─────────────┴─────────────┴──────────────────┘
8065
- *
8066
- * Tick (8 bytes) : Frame number (uint64, little-endian)
8067
- * Axes (N bytes) : 1 byte per axis (int8, -127 to +127)
8068
- * Buttons (M bytes) : Bitpacking (8 buttons per byte, ⌈ButtonCount/8⌉)
8069
- * Mouse (3 bytes) : displayId (1) + mouseX (1) + mouseY (1)
8070
- * Flags (1 byte) : Bit 0 = mouseOverDisplay
8071
- * TextInputs (var) : 1 byte count + length-prefixed UTF-8 strings
8072
- * MacroEvents (var) : 1 byte count + encoded events (see MacroEventEncoder)
8073
+ * MINIMALIST Format (V5):
8074
+ * ┌────────┬───────────┬─────────────┬────────┬──────────┬─────────────┬─────────────┬──────────────────┬────────────────┐
8075
+ * │ Tick │ Axes │ Buttons │ Mouse │ Flags │ TextInputs │ MacroEvents │ DisplayViewports │ TouchPositions │
8076
+ * │ 8 bytes│ N bytes │ M bytes │ 3 bytes│ 1 byte │ variable │ variable │ 1 + 5×count bytes│ 1 + 4×count │
8077
+ * └────────┴───────────┴─────────────┴────────┴──────────┴─────────────┴─────────────┴──────────────────┴────────────────┘
8078
+ *
8079
+ * Tick (8 bytes) : Frame number (uint64, little-endian)
8080
+ * Axes (N bytes) : 1 byte per axis (int8, -127 to +127)
8081
+ * Buttons (M bytes) : Bitpacking (8 buttons per byte, ⌈ButtonCount/8⌉)
8082
+ * Mouse (3 bytes) : displayId (1) + mouseX (1) + mouseY (1)
8083
+ * Flags (1 byte) : Bit 0 = mouseOverDisplay
8084
+ * TextInputs (var) : 1 byte count + length-prefixed UTF-8 strings
8085
+ * MacroEvents (var) : 1 byte count + encoded events (see MacroEventEncoder)
8073
8086
  * DisplayViewports (var): 1 byte count + per display: id(1) + pixelWidth(2) + pixelHeight(2)
8087
+ * TouchPositions (var) : 1 byte count + per touch: id(1) + x(1) + y(1) + flags(1)
8074
8088
  *
8075
8089
  * Note: axisCount and buttonCount are known in advance via InputBindingRegistry
8076
- * Example: 5 axes + 12 buttons = 8 + 5 + 2 + 3 + 1 = 19 bytes (+ text + macro + viewports)
8090
+ * Example: 5 axes + 12 buttons = 8 + 5 + 2 + 3 + 1 = 19 bytes (+ text + macro + viewports + touches)
8077
8091
  */
8078
8092
 
8079
8093
  /**
@@ -8088,6 +8102,20 @@ interface DisplayViewport {
8088
8102
  /** Available height in pixels (0-65535) */
8089
8103
  pixelHeight: number;
8090
8104
  }
8105
+ /**
8106
+ * Represents a touch position for multi-touch support
8107
+ * Each active touch point is encoded separately
8108
+ */
8109
+ interface TouchPosition {
8110
+ /** Touch ID (0-9) */
8111
+ id: number;
8112
+ /** Touch X position in display cells (0-255) */
8113
+ x: number;
8114
+ /** Touch Y position in display cells (0-255) */
8115
+ y: number;
8116
+ /** Is touch active/over a display? */
8117
+ over: boolean;
8118
+ }
8091
8119
  /**
8092
8120
  * Represents a compressed input on the server side (after decoding)
8093
8121
  *
@@ -8098,6 +8126,7 @@ interface DisplayViewport {
8098
8126
  * - TextInputs: array of key strings for text input (e.g., ['a', 'Backspace', 'Enter'])
8099
8127
  * - MacroEvents: array of macro events (clicks, changes, submits, selects)
8100
8128
  * - DisplayViewports: array of available viewport sizes in pixels per display
8129
+ * - TouchPositions: array of active touch positions (multi-touch support)
8101
8130
  */
8102
8131
  interface CompressedInputPacket {
8103
8132
  /** Frame number (tick) - uint64 */
@@ -8120,6 +8149,8 @@ interface CompressedInputPacket {
8120
8149
  macroEvents: AnyMacroEvent[];
8121
8150
  /** Display viewports available on client side (in pixels) - for responsive display sizing */
8122
8151
  displayViewports: DisplayViewport[];
8152
+ /** Active touch positions (multi-touch support, up to 10 touches) */
8153
+ touchPositions: TouchPosition[];
8123
8154
  }
8124
8155
  /**
8125
8156
  * Creates an empty CompressedInputPacket
@@ -8201,7 +8232,7 @@ declare function getCompressedPacketSize(axisCount: number, buttonCount: number)
8201
8232
  * 2. Client encodes final values in compact binary
8202
8233
  * 3. Client sends buffer to server via WebSocket
8203
8234
  *
8204
- * MINIMALIST V4 Format (without counts):
8235
+ * MINIMALIST V5 Format (without counts):
8205
8236
  * - Tick: uint64 (8 bytes)
8206
8237
  * - Axes: float (-1.0 to +1.0) → int8 (-127 to +127) = 1 byte per axis
8207
8238
  * - Buttons: boolean → bitpacking = 8 buttons per byte
@@ -8210,14 +8241,15 @@ declare function getCompressedPacketSize(axisCount: number, buttonCount: number)
8210
8241
  * - TextInputs: 1 byte count + length-prefixed strings
8211
8242
  * - MacroEvents: 1 byte count + encoded events
8212
8243
  * - DisplayViewports: 1 byte count + per display: id(1) + pixelWidth(2) + pixelHeight(2)
8244
+ * - TouchPositions: 1 byte count + per touch: id(1) + x(1) + y(1) + flags(1)
8213
8245
  *
8214
8246
  * PREREQUISITE: Client and server must have the SAME bindings defined!
8215
8247
  *
8216
- * Example: 5 axes + 12 buttons + mouse = 19 bytes total (+ text inputs + macro events + viewports)
8248
+ * Example: 5 axes + 12 buttons + mouse = 19 bytes total (+ text inputs + macro events + viewports + touches)
8217
8249
  */
8218
8250
 
8219
8251
  /**
8220
- * Encodes inputs in compact binary format v4 (CLIENT-SIDE)
8252
+ * Encodes inputs in compact binary format v5 (CLIENT-SIDE)
8221
8253
  *
8222
8254
  * @param tick - Frame number (bigint for uint64)
8223
8255
  * @param axes - Map of axis values (bindingId → float between -1.0 and +1.0)
@@ -8229,6 +8261,7 @@ declare function getCompressedPacketSize(axisCount: number, buttonCount: number)
8229
8261
  * @param textInputs - Array of text input strings
8230
8262
  * @param macroEvents - Array of macro events (clicks, changes, submits, selects)
8231
8263
  * @param displayViewports - Array of display viewports (pixels) that have changed
8264
+ * @param touchPositions - Array of active touch positions (multi-touch support)
8232
8265
  * @returns Encoded buffer (without counts, minimalist format)
8233
8266
  *
8234
8267
  * @example
@@ -8236,10 +8269,11 @@ declare function getCompressedPacketSize(axisCount: number, buttonCount: number)
8236
8269
  * const axes = new Map([[0, -0.7], [1, 0.5]]);
8237
8270
  * const buttons = new Map([[0, true], [1, false], [2, true]]);
8238
8271
  * const viewports = [{ displayId: 0, pixelWidth: 800, pixelHeight: 600 }];
8239
- * const buffer = encodeCompressedInput(42n, axes, buttons, 0, 128, 64, true, [], [], viewports);
8272
+ * const touches = [{ id: 0, x: 10, y: 20, over: true }];
8273
+ * const buffer = encodeCompressedInput(42n, axes, buttons, 0, 128, 64, true, [], [], viewports, touches);
8240
8274
  * ```
8241
8275
  */
8242
- declare function encodeCompressedInput(tick: bigint, axes: Map<number, number>, buttons: Map<number, boolean>, displayId: number, mouseX: number, mouseY: number, mouseOverDisplay: boolean, textInputs?: string[], macroEvents?: AnyMacroEvent[], displayViewports?: DisplayViewport[]): Uint8Array;
8276
+ declare function encodeCompressedInput(tick: bigint, axes: Map<number, number>, buttons: Map<number, boolean>, displayId: number, mouseX: number, mouseY: number, mouseOverDisplay: boolean, textInputs?: string[], macroEvents?: AnyMacroEvent[], displayViewports?: DisplayViewport[], touchPositions?: TouchPosition[]): Uint8Array;
8243
8277
 
8244
8278
  /**
8245
8279
  * CompressedInputDecoder - Decodes inputs from compact binary format
@@ -8248,10 +8282,10 @@ declare function encodeCompressedInput(tick: bigint, axes: Map<number, number>,
8248
8282
  *
8249
8283
  * Workflow:
8250
8284
  * 1. Server receives binary buffer from client via WebSocket
8251
- * 2. Server decodes values (MINIMALIST V4 format - without counts)
8285
+ * 2. Server decodes values (MINIMALIST V5 format - without counts)
8252
8286
  * 3. Server stores in user.axes and user.buttons Maps
8253
8287
  *
8254
- * MINIMALIST V4 Format (without counts):
8288
+ * MINIMALIST V5 Format (without counts):
8255
8289
  * - PREREQUISITE: Client and server must have the SAME bindings defined!
8256
8290
  * - Buffer does NOT contain AxisCount nor ButtonCount
8257
8291
  * - Server must pass its registry to know expected structure
@@ -8263,9 +8297,10 @@ declare function encodeCompressedInput(tick: bigint, axes: Map<number, number>,
8263
8297
  * - TextInputs: 1 byte count + length-prefixed strings
8264
8298
  * - MacroEvents: 1 byte count + encoded events
8265
8299
  * - DisplayViewports: 1 byte count + per display: id(1) + pixelWidth(2) + pixelHeight(2)
8300
+ * - TouchPositions: 1 byte count + per touch: id(1) + x(1) + y(1) + flags(1)
8266
8301
  *
8267
8302
  * Example (2 axes, 3 buttons):
8268
- * - Tick (8) + Axes (2) + Buttons (1) + DisplayId (1) + Mouse (3) = 15 bytes (+ text + macro + viewports)
8303
+ * - Tick (8) + Axes (2) + Buttons (1) + DisplayId (1) + Mouse (3) = 15 bytes (+ text + macro + viewports + touches)
8269
8304
  */
8270
8305
 
8271
8306
  /**
@@ -8292,6 +8327,7 @@ declare function encodeCompressedInput(tick: bigint, axes: Map<number, number>,
8292
8327
  * // packet.displayId → 0
8293
8328
  * // packet.mouseOverDisplay → true
8294
8329
  * // packet.displayViewports → [{ displayId: 0, pixelWidth: 800, pixelHeight: 600 }]
8330
+ * // packet.touchPositions → [{ id: 0, x: 10, y: 20, over: true }]
8295
8331
  * ```
8296
8332
  */
8297
8333
  declare function decodeCompressedInput(buffer: Uint8Array, registry: InputBindingRegistry): CompressedInputPacket;
@@ -9597,5 +9633,5 @@ declare class PostProcessOrderCollector {
9597
9633
  private parseColor;
9598
9634
  }
9599
9635
 
9600
- export { ASCII_8X8_FONT, AUDIO_CONFIGURE_SPATIAL_SIZE, AUDIO_FADEOUT_SOUND_MIN_SIZE, AUDIO_PAUSE_SOUND_MIN_SIZE, AUDIO_PLAY_GLOBAL_SOUND_MIN_SIZE, AUDIO_PLAY_SOUND_MIN_SIZE, AUDIO_RESUME_SOUND_MIN_SIZE, AUDIO_SET_LISTENER_POSITION_SIZE, AUDIO_SET_SOUND_EFFECTS_MIN_SIZE, AUDIO_STOP_SOUND_MIN_SIZE, AudioOrderCollector, AudioOrderDecoder, AudioOrderType, AudioTargetType, BITMASK16_ORDER_MIN_SIZE, BITMASK4_ORDER_MIN_SIZE, BITMASK_ORDER_MIN_SIZE, BitmapFont, BitmapFontRegistry, CHAR_ORDER_SIZE, CIRCLE_SHAPE_SIZE, CLEAR_ORDER_SIZE, COLORMAP_ORDER_MIN_SIZE, COLOR_SKIP, CellBuffer, CharCodeBuffer, Core, CoreStats, DISPLAY_HEADER_SIZE, DOTCLOUD_MULTICOLOR_ORDER_MIN_SIZE, DOTCLOUD_ORDER_MIN_SIZE, Display, ELLIPSE_SHAPE_SIZE, FILLCHAR_ORDER_MIN_SIZE, FILLSPRITE_MULTICOLOR_ORDER_SIZE, FILLSPRITE_ORDER_SIZE, FULLFRAME_MULTICOLOR_ORDER_MIN_SIZE, FULLFRAME_ORDER_MIN_SIZE, FontType, GamepadVibrateFlags, ImageFont, ImageFontRegistry, InputBindingRegistry, LAYER_CELL_COUNT, LAYER_HEADER_SIZE, LAYER_SIZE, LINE_SHAPE_SIZE, Layer, LoadType, MacroEngine, MacroEventType, MacroOrderType, MacroRegistry, MobileVibrateFlags, OrderBuilder, OrderType, POLYLINE_ORDER_MIN_SIZE, POSTPROCESS_SET_AMBIENT_EFFECT_SIZE, POSTPROCESS_SET_CELL_SIZE_SIZE, POSTPROCESS_SET_CONFIG_MIN_SIZE, POSTPROCESS_SET_GRID_SIZE, POSTPROCESS_SET_SCALING_MODE_SIZE, POSTPROCESS_SET_SCANLINES_SIZE, POSTPROCESS_SWITCH_PALETTE_SIZE, PlaySoundFlags, PostProcessOrderCollector, PostProcessOrderDecoder, PostProcessOrderType, RECTANGLE_SHAPE_SIZE, SHAPE_ORDER_MIN_SIZE, SPRITECLOUD_MULTICOLOR_ORDER_MIN_SIZE, SPRITECLOUD_ORDER_MIN_SIZE, SPRITECLOUD_VARIED_MULTICOLOR_ORDER_MIN_SIZE, SPRITECLOUD_VARIED_ORDER_MIN_SIZE, SPRITE_MULTICOLOR_ORDER_SIZE, SPRITE_ORDER_SIZE, SUBFRAME_MULTICOLOR_ORDER_MIN_SIZE, SUBFRAME_ORDER_MIN_SIZE, ShapeType, SoundEffectsFlags, SoundRegistry, SpriteRegistry, TEXT_MULTILINE_ORDER_MIN_SIZE, TEXT_ORDER_MIN_SIZE, TRIANGLE_SHAPE_SIZE, UPDATE_PACKET_HEADER_SIZE, UpdateFlags, UpdateFlagsHelper, UpdatePacketDecoder, User, UserStats, VibrationOrderCollector, VibrationOrderDecoder, VibrationOrderEncoder, VibrationOrderType, WebFont, WebFontRegistry, charCodeByteSize, createASCII8x8FontLoad, createEmptyCompressedInputPacket, decodeCompressedInput, decodeInt8ToAxis, encodeAxisToInt8, encodeCompressedInput, getASCII8x8FontConfig, getAllCharCodes, getAtlasColumns, getAtlasDimensions, getAudioOrderTypeName, getButtonByteCount, getCharBitmap, getCompressedPacketSize, getMacroEventTypeName, getMacroOrderTypeName, getMaxCharCode, getOrderTypeName, hasChar, isValidAudioOrderType, isValidMacroEventType, isValidMacroOrderType, isValidOrderType };
9601
- export type { AnyAudioOrder, AnyLoad, AnyMacroEvent, AnyMacroOrder, AnyPostProcessOrder, AnyVibrationOrder, AtlasBlocks, AudioOrder, BitmapFontConfig, BitmapFontLoad, Bitmask16Order, Bitmask16Variant, Bitmask4Order, Bitmask4Variant, BitmaskOrder, ButtonBorderStyle, ButtonConfig, ButtonStateColors, Cell, ChangeEvent, CharCodeMode, CircleShape, ClickEvent, Color, ColorPaletteLoad, CompressedInputPacket, ConfigureSpatialOrder, CoreMode, CoreOptions, CreateInstanceConfig, CreateInstanceOrder, DisplayViewport, EffectMacroTemplate, EffectTransform, EllipseShape, FadeOutSoundOrder, GamepadCancelOrder, GamepadVibrateOrder, GamepadVibrationOrder, GlyphSize, ImageFontConfig, ImageFontLoad, ImageFontOptions, LineMacroTemplate, LineShape, MacroEntry, MacroEvent, MacroInstanceEntry, MacroLoad, MacroOrder, MacroTemplate, MacroTemplateBase, MacroType, MacroUpdateResult, MobileCancelOrder, MobileVibrateOrder, MobileVibrationOrder, MulticolorCell, MulticolorSprite, MulticolorSpriteLoad, NetworkDisplay, NetworkLayer, ParticleConfig, ParticleEmitter, ParticleMacroTemplate, PauseSoundOrder, PlayGlobalSoundOrder, PlaySoundOrder, RectangleShape, RemoveInstanceOrder, RenderCommand, ResumeSoundOrder, RevealCellDef, RevealContent, RevealContentType, RevealCursor, RevealDirection, RevealMacroTemplate, RevealPattern, RevealPause, SelectEvent, SetAmbientEffectOrder, SetConfigOrder, SetGridOrder, SetListenerPositionOrder, SetScalingModeOrder, SetScanlinesOrder, SetSoundEffectsOrder, ShapeData, SoundEntry, SoundLoad, SpriteLoad, StopSoundOrder, SubmitEvent, SwitchPaletteOrder, TickStats, TriangleShape, UIMacroTemplate, UIState, UISubtype, UnicolorSprite, UpdateInstanceOrder, UpdatePacket, UserTickStats, VibrationOrder, WebFontConfig, WebFontLoad };
9636
+ export { ASCII_8X8_FONT, AUDIO_CONFIGURE_SPATIAL_SIZE, AUDIO_FADEOUT_SOUND_MIN_SIZE, AUDIO_PAUSE_SOUND_MIN_SIZE, AUDIO_PLAY_GLOBAL_SOUND_MIN_SIZE, AUDIO_PLAY_SOUND_MIN_SIZE, AUDIO_RESUME_SOUND_MIN_SIZE, AUDIO_SET_LISTENER_POSITION_SIZE, AUDIO_SET_SOUND_EFFECTS_MIN_SIZE, AUDIO_STOP_SOUND_MIN_SIZE, AudioOrderCollector, AudioOrderDecoder, AudioOrderType, AudioTargetType, BITMASK16_ORDER_MIN_SIZE, BITMASK4_ORDER_MIN_SIZE, BITMASK_ORDER_MIN_SIZE, BitmapFont, BitmapFontRegistry, CHAR_ORDER_SIZE, CIRCLE_SHAPE_SIZE, CLEAR_ORDER_SIZE, COLORMAP_ORDER_MIN_SIZE, COLOR_SKIP, CellBuffer, CharCodeBuffer, Core, CoreStats, DISPLAY_HEADER_SIZE, DOTCLOUD_MULTICOLOR_ORDER_MIN_SIZE, DOTCLOUD_ORDER_MIN_SIZE, Display, ELLIPSE_SHAPE_SIZE, FILLCHAR_ORDER_MIN_SIZE, FILLSPRITE_MULTICOLOR_ORDER_SIZE, FILLSPRITE_ORDER_SIZE, FULLFRAME_MULTICOLOR_ORDER_MIN_SIZE, FULLFRAME_ORDER_MIN_SIZE, FontType, GamepadVibrateFlags, ImageFont, ImageFontRegistry, InputBindingRegistry, LAYER_CELL_COUNT, LAYER_HEADER_SIZE, LAYER_SIZE, LINE_SHAPE_SIZE, Layer, LoadType, MAX_ORDERS_PER_LAYER, MacroEngine, MacroEventType, MacroOrderType, MacroRegistry, MobileVibrateFlags, OrderBuilder, OrderType, POLYLINE_ORDER_MIN_SIZE, POSTPROCESS_SET_AMBIENT_EFFECT_SIZE, POSTPROCESS_SET_CELL_SIZE_SIZE, POSTPROCESS_SET_CONFIG_MIN_SIZE, POSTPROCESS_SET_GRID_SIZE, POSTPROCESS_SET_SCALING_MODE_SIZE, POSTPROCESS_SET_SCANLINES_SIZE, POSTPROCESS_SWITCH_PALETTE_SIZE, PlaySoundFlags, PostProcessOrderCollector, PostProcessOrderDecoder, PostProcessOrderType, RECTANGLE_SHAPE_SIZE, SHAPE_ORDER_MIN_SIZE, SPRITECLOUD_MULTICOLOR_ORDER_MIN_SIZE, SPRITECLOUD_ORDER_MIN_SIZE, SPRITECLOUD_VARIED_MULTICOLOR_ORDER_MIN_SIZE, SPRITECLOUD_VARIED_ORDER_MIN_SIZE, SPRITE_MULTICOLOR_ORDER_SIZE, SPRITE_ORDER_SIZE, SUBFRAME_MULTICOLOR_ORDER_MIN_SIZE, SUBFRAME_ORDER_MIN_SIZE, ShapeType, SoundEffectsFlags, SoundRegistry, SpriteRegistry, TEXT_MULTILINE_ORDER_MIN_SIZE, TEXT_ORDER_MIN_SIZE, TRIANGLE_SHAPE_SIZE, UPDATE_PACKET_HEADER_SIZE, UpdateFlags, UpdateFlagsHelper, UpdatePacketDecoder, User, UserStats, VibrationOrderCollector, VibrationOrderDecoder, VibrationOrderEncoder, VibrationOrderType, WebFont, WebFontRegistry, charCodeByteSize, createASCII8x8FontLoad, createEmptyCompressedInputPacket, decodeCompressedInput, decodeInt8ToAxis, encodeAxisToInt8, encodeCompressedInput, getASCII8x8FontConfig, getAllCharCodes, getAtlasColumns, getAtlasDimensions, getAudioOrderTypeName, getButtonByteCount, getCharBitmap, getCompressedPacketSize, getMacroEventTypeName, getMacroOrderTypeName, getMaxCharCode, getOrderTypeName, hasChar, isValidAudioOrderType, isValidMacroEventType, isValidMacroOrderType, isValidOrderType };
9637
+ export type { AnyAudioOrder, AnyLoad, AnyMacroEvent, AnyMacroOrder, AnyPostProcessOrder, AnyVibrationOrder, AtlasBlocks, AudioOrder, BitmapFontConfig, BitmapFontLoad, Bitmask16Order, Bitmask16Variant, Bitmask4Order, Bitmask4Variant, BitmaskOrder, ButtonBorderStyle, ButtonConfig, ButtonStateColors, Cell, ChangeEvent, CharCodeMode, CircleShape, ClickEvent, Color, ColorPaletteLoad, CompressedInputPacket, ConfigureSpatialOrder, CoreMode, CoreOptions, CreateInstanceConfig, CreateInstanceOrder, DisplayViewport, EffectMacroTemplate, EffectTransform, EllipseShape, FadeOutSoundOrder, GamepadCancelOrder, GamepadVibrateOrder, GamepadVibrationOrder, GlyphSize, ImageFontConfig, ImageFontLoad, ImageFontOptions, LineMacroTemplate, LineShape, MacroEntry, MacroEvent, MacroInstanceEntry, MacroLoad, MacroOrder, MacroTemplate, MacroTemplateBase, MacroType, MacroUpdateResult, MobileCancelOrder, MobileVibrateOrder, MobileVibrationOrder, MulticolorCell, MulticolorSprite, MulticolorSpriteLoad, NetworkDisplay, NetworkLayer, ParticleConfig, ParticleEmitter, ParticleMacroTemplate, PauseSoundOrder, PlayGlobalSoundOrder, PlaySoundOrder, RectangleShape, RemoveInstanceOrder, RenderCommand, ResumeSoundOrder, RevealCellDef, RevealContent, RevealContentType, RevealCursor, RevealDirection, RevealMacroTemplate, RevealPattern, RevealPause, SelectEvent, SetAmbientEffectOrder, SetConfigOrder, SetGridOrder, SetListenerPositionOrder, SetScalingModeOrder, SetScanlinesOrder, SetSoundEffectsOrder, ShapeData, SoundEntry, SoundLoad, SpriteLoad, StopSoundOrder, SubmitEvent, SwitchPaletteOrder, TickStats, TouchPosition, TriangleShape, UIMacroTemplate, UIState, UISubtype, UnicolorSprite, UpdateInstanceOrder, UpdatePacket, UserTickStats, VibrationOrder, WebFontConfig, WebFontLoad };