@casual-simulation/aux-common
Version:
Common library for AUX projects
2,108 lines • 62.7 kB
TypeScript
import type { TagEditOp } from './AuxStateHelpers';
import type { BotModule, BotModuleResult } from './BotModule';
import type { Point2D } from './BotEvents';
export type PartialBot = Partial<Bot>;
export type AuxDomain = 'builder' | 'player';
export type Workspace = Bot;
/**
* Defines a symbol that is used to clear changes on a runtime bot.
*/
export declare const CLEAR_CHANGES_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to set a tag mask on a runtime bot.
*/
export declare const SET_TAG_MASK_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to get a tag mask on a runtime bot.
*/
export declare const GET_TAG_MASK_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to get all the tag masks on a runtime bot.
*/
export declare const CLEAR_TAG_MASKS_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to edit a tag.
*/
export declare const EDIT_TAG_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to edit a tag mask.
*/
export declare const EDIT_TAG_MASK_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to get tag masks for a bot.
*/
export declare const GET_TAG_MASKS_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to replace a bot's implementation with another bot.
*/
export declare const REPLACE_BOT_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to add a bot listener.
*/
export declare const ADD_BOT_LISTENER_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to remove a bot listener.
*/
export declare const REMOVE_BOT_LISTENER_SYMBOL: unique symbol;
/**
* Defines a symbol that is used to get dynamic listeners for a bot.
*/
export declare const GET_DYNAMIC_LISTENERS_SYMBOL: unique symbol;
/**
* Defines an interface for a bot in a script/formula.
*
* The difference between this and Bot is that the tags
* are calculated values and raw is the original tag values.
*
* i.e. tags will evaluate formulas while raw will return the formula scripts themselves.
*
* @dochash types/core
* @docgroup 01-core
* @doctitle Core Types
* @docsidebar Core
* @docdescription Documentation for core types that are used throughout CasualOS.
* @docid RuntimeBot
* @docname Bot
*/
export interface RuntimeBot {
/**
* The ID of the bot.
*/
id: string;
/**
* The link to the bot.
*/
link: string;
/**
* The space that the bot is in.
* Defaults to `"shared"`
*/
space?: BotSpace;
/**
* The calculated tag values.
* This lets you get the calculated values from formulas.
*/
tags: ScriptTags;
/**
* The raw tag values. This lets you get the raw script text from formulas.
*/
raw: BotTags;
/**
* The tag masks that have been applied to this bot.
*/
masks: BotTags;
/**
* The tags on the bot that link to other bots.
*/
links: RuntimeBotLinks;
/**
* The variables that the bot contains.
*/
vars: RuntimeBotVars;
/**
* The changes that have been made to the bot.
*/
changes: BotTags;
/**
* The tag mask changes that have been made to the bot.
*/
maskChanges: BotTagMasks;
/**
* The signatures that are on the bot.
*
* @hidden
*/
signatures: BotSignatures;
/**
* The calculated listener functions.
* This lets you get the compiled listener functions.
*/
listeners: CompiledBotListeners;
/**
* A function that can clear all the changes from the runtime bot.
*
* @hidden
*/
[CLEAR_CHANGES_SYMBOL]: () => void;
/**
* A function that can set a tag mask on the bot.
*
* @hidden
*/
[SET_TAG_MASK_SYMBOL]: (tag: string, value: any, space?: string) => void;
/**
* A function that can be used to get the tag masks for a bot.
*
* @hidden
*/
[GET_TAG_MASKS_SYMBOL]: () => BotTagMasks;
/**
* A function that can clear the tag masks from the bot.
* @param space The space that the masks should be cleared from. If not specified then all tag masks in all spaces will be cleared.
*
* @hidden
*/
[CLEAR_TAG_MASKS_SYMBOL]: (space?: string) => any;
/**
* A function that can manipulate a tag using the given edit operations.
*
* @hidden
*/
[EDIT_TAG_SYMBOL]: (tag: string, ops: TagEditOp[]) => any;
/**
* A function that can manipulate a tag mask using the given edit operations.
*
* @hidden
*/
[EDIT_TAG_MASK_SYMBOL]: (tag: string, ops: TagEditOp[], space: string) => any;
/**
* A function that can cause all tags to be fowarded to the given bot.
*
* @hidden
*/
[REPLACE_BOT_SYMBOL]: (bot: RuntimeBot) => void;
/**
* Registers the given function as a listener for events that would trigger the given tag.
* @param tagName The name of the tag that the listener should be registered for.
* @param listener The listener function that should be called when the tag is triggered.
*/
[ADD_BOT_LISTENER_SYMBOL]: (tagName: string, listener: DynamicListener) => void;
/**
* Unregisters the given function as a listener for events that would trigger the given tag.
*
* @param tagName The name of the tag that the listener should be unregistered for.
* @param listener The listener function that should be removed.
*/
[REMOVE_BOT_LISTENER_SYMBOL]: (tagName: string, listener: DynamicListener) => void;
/**
* Gets the list of dynamic listeners that are registered for the given tag.
* @param tagName The name of the tag that the listeners are registered for.
* @returns The list of dynamic listeners for the tag, or null if none are registered.
*/
[GET_DYNAMIC_LISTENERS_SYMBOL]: (tagName: string) => DynamicListener[] | null;
/**
* Gets the listener or bot property with the given name.
*
* If given a property name, like `"tags"` or `"vars"`, then it will return the value of that property.
* Alternatively, if the name does not match an existing property on the bot, then it will return the listener with the given name.
*
* @example Get the tags of a bot
* let tags = bot.tags;
*
* @example Get the links of a bot
* let links = bot.links;
*
* @example Get the @onClick listener of a bot
* let onClick = bot.onClick;
*
* @example Get a property on a bot by a variable
* let propertyToGet = 'tags';
* let tags = bot[propertyToGet];
*/
[listenerOrProperty: string]: ((arg?: any) => any) | any;
}
/**
* Defines an interface that represents a bot link that was parsed from a tag.
*
* @dochash types/core
* @docgroup 01-core
* @docname ParsedBotLink
*/
export interface ParsedBotLink {
/**
* The tag that the link was parsed from.
*/
tag: string;
/**
* The bot IDs that the link references.
*/
botIDs: string[];
}
/**
* Defines an interface that represents the bot links a bot can have.
*
* ```typescript
* interface Links {
* [link: string]: Bot | Bot[];
* }
* ```
*
* @dochash types/core
* @docgroup 01-core
* @docname Links
* @docid RuntimeBotLinks
*/
export interface RuntimeBotLinks {
/**
* Gets the bot or bots that are linked in the given tag.
*
* @example Get a bot that is linked in the #manager tag
* let managerBot = thisBot.links.manager;
*
* @example Link a bot to another bot in the #manager tag
* thisBot.links.manager = managerBot;
*/
[tag: string]: RuntimeBot | RuntimeBot[];
}
/**
* Defines an interface that represents the variables a bot can have.
* Variables are useful for storing data that is not able to be saved to a tag.
*
* ```typescript
* interface Variables {
* [variable: string]: any;
* }
* ```
*
* @dochash types/core
* @docgroup 01-core
* @docname Variables
* @docid RuntimeBotVars
*/
export interface RuntimeBotVars {
/**
* Gets or sets a variable on the bot.
*
* @example Get a variable on thisBot
* let variable = thisBot.vars.variable;
*
* @example Save a variable on thisBot
* thisBot.vars.variable = variable;
*/
[variable: string]: any;
}
/**
* An interface that maps tag names to compiled listener functions.
*
* ```typescript
* interface Listeners {
* [tag: string]: (arg?: any) => any;
* }
* ```
*
* @dochash types/core
* @docgroup 01-core
* @docname Listeners
* @docid CompiledBotListeners
*/
export interface CompiledBotListeners {
/**
* Gets the listener in the given tag.
*
* Can be one of the following:
* - A function that takes an optional argument and returns a value.
* - A function that takes the bot and tag name as arguments and returns a value.
*/
[tag: string]: DynamicListener | null;
}
/**
* An interface that maps tag names to dynamic listeners which have been registered.
*
* ```typescript
* interface DynamicListeners {
* [tag: string]: Listener[];
* }
* ```
*
* @dochash types/core
* @docgroup 01-core
* @docname DynamicListeners
* @docid DynamicBotListeners
*/
export interface DynamicBotListeners {
[tag: string]: DynamicListener[];
}
/**
* An interface that maps module names to compiled modules.
*
* ```typescript
* interface Modules {
* [tag: string]: BotModule;
* }
* ```
*
* @dochash types/core
* @docgroup 01-core
* @docname Listeners
* @docid CompiledBotModules
*/
export interface CompiledBotModules {
/**
* Gets the listener in the given tag.
*/
[tag: string]: BotModule;
}
export interface CompiledBotExports {
[tag: string]: Promise<BotModuleResult>;
}
/**
* The function signature of a dynamic bot listener.
*
* That is, a listener that is registered at runtime by a user script instead of parsed from a tag.
*
* @dochash types/core
* @docgroup 01-core
* @docname Listener
* @docid DynamicListener
*/
export type DynamicListener = (that: any, bot: RuntimeBot, tagName: string) => any;
/**
* Defines an interface for a bot that is precalculated.
*/
export interface PrecalculatedBot extends Bot {
/**
* Flag indicating that the bot is precalculated.
*/
precalculated: true;
/**
* The precalculated tags.
*/
values: PrecalculatedTags;
}
/**
* Defines an interface for an object that holds a set of tags that have been precalculated.
*/
export interface PrecalculatedTags {
[key: string]: any;
}
/**
* Defines an interface for a bot.
*
* @docid Bot
* @docrename RuntimeBot
*/
export interface Bot {
/**
* The ID of the bot.
*/
id: string;
/**
* The space the bot lives in.
*/
space?: BotSpace;
/**
* The set of tags that the bot contains.
*/
tags: BotTags;
/**
* The set of signatures that the bot contains.
*/
signatures?: BotSignatures;
/**
* The set of tag masks that have been applied to the bot.
*/
masks?: BotTagMasks;
}
/**
* Defines an interface that indicates a bot was updated.
*/
export interface UpdatedBot {
/**
* The updated bot.
*/
bot: Bot;
/**
* The tags that were updated on the bot.
*/
tags: string[];
/**
* The signatures that were updated on the bot.
*/
signatures?: string[];
}
/**
* The possible bot spaces.
*
* - `"shared"` means that the bot is a normal bot.
* - `"local"` means that the bot is stored in the [local storage](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Client-side_storage) partition.
* - `"tempLocal"` means that the bot is stored in the [temporary](https://en.wikipedia.org/wiki/In-memory_database) partition.
* - `"tempShared"` means that the bot is temporary and shared with other devices.
* - `"remoteTempShared"` means that the bot is temporary and shared with this device from a remote device.
*
* @dochash types/core
* @docgroup 01-core
* @docname Space
* @docid BotSpace
*/
export type BotSpace = 'shared' | 'local' | 'tempLocal' | 'history' | 'admin' | 'tempShared' | 'remoteTempShared' | 'certified';
/**
* The possible spaces that records can be stored in.
*
* - "tempGlobal" means that the record is temporary and available to anyone.
* - "tempRestricted" means that the record is temporary and available to a specific user.
* - "permanentGlobal" means that the record is permanent and available to anyone.
* - "permanentRestricted" means that the record is permanent and available to a specific user.
*/
export type RecordSpace = 'tempGlobal' | 'tempRestricted' | 'permanentGlobal' | 'permanentRestricted';
/**
* The space that records should be published to by default.
*/
export declare const DEFAULT_RECORD_SPACE: RecordSpace;
/**
* The possible portal types.
*
* @dochash types/core
* @docname PortalType
*/
export type PortalType = 'grid' | 'miniGrid' | 'menu' | 'sheet' | 'meet' | 'system' | string;
/**
* @docid ScriptTags
* @docrename BotTags
*/
export interface ScriptTags extends PrecalculatedTags {
toJSON(): any;
}
/**
* Defines an interface for a map of tag+value hashes to tag names.
*
* Each key in the object is the hash of an array with the tag name as the first value
* and the value as the second value using the getHash() function from the crypto package.
*
* This means that you can lookup if a tag/value pair has a hash by simply calculating the hash for it and then checking if the corresponding value
* in the object is set to true.
*/
export interface BotSignatures {
[hash: string]: string;
}
/**
* Defines an interface for a map of tag masks to tag names.
*
* Tag masks are special tags that can exist in a different space from the bot they are applied to.
* This makes it possible to have some local-only data applied to a shared bot for example.
*
* The actual data structure is similar to the bot tags structure except that tags are additionally
* split by the space that they originated from. This makes it possible to identify which space a tag came from and also
* prevents cross-space conflicts.
*
* ```typescript
* interface TagMasks {
* [space: string]: Tags;
* }
* ```
*
* @dochash types/core
* @docgroup 01-core
* @docname TagMasks
* @docid BotTagMasks
*/
export interface BotTagMasks {
/**
* Gets or sets the tag masks that are specific to the given space.
*/
[space: string]: BotTags;
}
/**
* Defines an interface that represents a set of tags and their related values.
*
* ```typescript
* interface Tags {
* [tag: string]: any
* }
* ```
*
* @dochash types/core
* @docgroup 01-core
* @docname Tags
* @docid BotTags
*/
export interface BotTags {
/**
* @hidden
*/
['color']?: unknown;
/**
* @hidden
*/
['draggable']?: unknown;
/**
* @hidden
*/
['draggableMode']?: unknown;
/**
* @hidden
*/
['destroyable']?: unknown;
/**
* @hidden
*/
['editable']?: unknown;
/**
* @hidden
*/
['strokeColor']?: unknown;
/**
* @hidden
*/
['strokeWidth']?: unknown;
/**
* @hidden
*/
['scale']?: number;
/**
* @hidden
*/
['scaleX']?: number;
/**
* @hidden
*/
['scaleY']?: number;
/**
* @hidden
*/
['scaleZ']?: number;
/**
* @hidden
*/
['scaleMode']?: BotScaleMode | null | string;
/**
* @hidden
*/
['lineTo']?: unknown;
/**
* @hidden
*/
['lineWidth']?: number;
/**
* @hidden
*/
['lineStyle']?: unknown;
/**
* @hidden
*/
['lineColor']?: unknown;
/**
* @hidden
*/
['label']?: unknown;
/**
* @hidden
*/
['labelColor']?: unknown;
/**
* @hidden
*/
['labelSize']?: unknown;
/**
* @hidden
*/
['labelSizeMode']?: 'auto' | null;
/**
* @hidden
*/
['labelPosition']?: BotLabelAnchor | null | string;
/**
* @hidden
*/
['labelAlignment']?: BotLabelAlignment | null | string;
/**
* @hidden
*/
['labelFontAddress']?: BotLabelFontAddress;
/**
* @hidden
*/
['listening']?: unknown;
/**
* @hidden
*/
['form']?: BotShape;
/**
* @hidden
*/
['formAnimation']?: string;
/**
* @hidden
*/
['formAddress']?: string;
/**
* @hidden
*/
['formOpacity']?: unknown;
/**
* @hidden
*/
['orientationMode']?: string;
/**
* @hidden
*/
['anchorPoint']?: string;
/**
* @hidden
*/
['creator']?: string;
/**
* @hidden
*/
['progressBar']?: unknown;
/**
* @hidden
*/
['progressBarColor']?: unknown;
/**
* @hidden
*/
['progressBarBackgroundColor']?: unknown;
/**
* @hidden
*/
['progressBarPosition']?: unknown;
/**
* @hidden
*/
['pointable']?: unknown;
/**
* @hidden
*/
['focusable']?: unknown;
/**
* @hidden
*/
['auxPlayerActive']?: boolean;
/**
* @hidden
*/
['gridPortal']?: string | boolean;
/**
* @hidden
*/
['sheetPortal']?: string | boolean;
/**
* @hidden
*/
['inst']?: string | string[];
/**
* @hidden
*/
['miniGridPortal']?: string;
/**
* @hidden
*/
['menuPortal']?: string;
/**
* @hidden
*/
['leftWristPortal']?: string;
/**
* @hidden
*/
['rightWristPortal']?: string;
/**
* @hidden
*/
['editingBot']?: string;
/**
* @hidden
*/
cursorStartIndex?: number;
/**
* @hidden
*/
cursorEndIndex?: number;
/**
* @hidden
*/
['pixelWidth']?: number;
/**
* @hidden
*/
['pixelHeight']?: number;
/**
* @hidden
*/
['portalColor']?: string;
/**
* @hidden
*/
['portalLocked']?: unknown;
/**
* @hidden
*/
['portalGridScale']?: number;
/**
* @hidden
*/
['portalSurfaceScale']?: number;
/**
* @hidden
*/
['portalCameraRotationX']?: number;
/**
* @hidden
*/
['portalCameraRotationY']?: number;
/**
* @hidden
*/
['portalCameraZoom']?: number;
/**
* @hidden
*/
['portalPannable']?: number | null;
/**
* @hidden
*/
[`portalPannableMinX`]?: number | null;
/**
* @hidden
*/
[`portalPannableMaxX`]?: number | null;
/**
* @hidden
*/
[`portalPannableMinY`]?: number | null;
/**
* @hidden
*/
[`portalPannableMaxY`]?: number | null;
/**
* @hidden
*/
['portalZoomable']?: number | null;
/**
* @hidden
*/
[`portalZoomableMin`]?: number | null;
/**
* @hidden
*/
[`portalZoomableMax`]?: number | null;
/**
* @hidden
*/
['portalRotatable']?: number | null;
/**
* @hidden
*/
['portalShowFocusPoint']?: boolean | null;
/**
* @hidden
*/
['portalDisableCanvasTransparency']?: boolean;
/**
* @hidden
*/
['miniPortalHeight']?: unknown;
/**
* @hidden
*/
['miniPortalResizable']?: boolean;
/**
* @hidden
*/
['wristPortalHeight']?: number;
/**
* @hidden
*/
['wristPortalWidth']?: number;
/**
* Gets or sets the given tag on the bot.
*
* @example Get the #color on this bot
* let color = thisBot.tags.color;
*
* @example Get a raw tag on this bot
* let rawTag = thisBot.raw.tag;
*
* @example Set the #color tag to "red" on this bot
* thisBot.tags.color = "red";
*
* @example Set a tempLocal tag mask for #color on this bot
* thisBot.masks.color = "red";
*/
[tag: string]: any;
}
/**
* Defines an interface that contains a set of bots that have been indexed by their IDs.
*
* Generally, this is only used when working with groups of bots.
* For example, the {@link diffSnapshots} function takes two bot states and produces the difference between them.
*
* @dochash types/core
* @docgroup 01-core
* @docname BotState
*
* @example Create a bot state with two bots
* let state = {
* [bot1.id]: bot1,
* [bot2.id]: bot2
* };
*
* @example Get a bot by its ID from a bot state
* let bot = state[botId];
*/
export interface BotsState {
/**
* Gets or sets the bot in the state with the given ID.
*/
[id: string]: Bot;
}
/**
* Defines an interface that contains a set of partial bots that have been indexed by their IDs.
*
* Generally, this is only used when working with differences between groups of bots.
* For example, the {@link applyDiffToSnapshot} function takes a bot state and a partial bot state and produces a final state that contains the combined result.
*
* @dochash types/core
* @docgroup 01-core
* @docname PartialBotState
*/
export interface PartialBotsState {
[id: string]: Partial<Bot>;
}
/**
* Defines an interface for a set of bots that have precalculated formulas.
*/
export interface PrecalculatedBotsState {
[id: string]: PrecalculatedBot;
}
/**
* Defines an interface for a partial set of bots that have precalculated formulas.
*/
export interface PartialPrecalculatedBotsState {
[id: string]: Partial<PrecalculatedBot>;
}
/**
* Defines an interface for a hex in a workspace.
*/
export interface WorkspaceHex {
height: number;
}
/**
* Defines the possible shapes that a bot can appear as.
*/
export type BotShape = 'cube' | 'circle' | 'skybox' | 'sphere' | 'sprite' | 'map' | 'mesh' | 'iframe' | 'frustum' | 'helix' | 'egg' | 'hex' | 'cursor' | 'portal' | 'dimension' | 'spherePortal' | 'nothing' | 'keyboard' | 'codeButton' | 'codeHint' | 'light';
/**
* Defines the possible forms that a menu bot can appear as.
*/
export type MenuBotForm = 'button' | 'input';
/**
* Defines the possible subtype forms that a menu bot can appear as.
*/
export type MenuBotSubtype = 'input' | 'password';
/**
* Defines the possible hover styles that can be used for a menu bot.
* Currently only applies to button menu bots.
*/
export type MenuBotHoverStyle = 'auto' | 'hover' | 'none';
/**
* Defines the possible hover styles that have been resolved from a bot.
*/
export type MenuBotResolvedHoverStyle = 'hover' | 'none';
/**
* Defines the possible subtypes for shapes that a bot can appear as.
*/
export type BotSubShape = 'gltf' | 'jsonObject' | 'ldraw' | 'ldrawText' | 'src' | 'html' | 'pointLight' | 'ambientLight' | 'directionalLight' | 'spotLight' | 'hemisphereLight' | null;
/**
* Defines the possible drag modes that a bot can have.
*
* "all" means that the bot is able to be dragged freely inside and across contexts.
* "none" means that the bot is not able to be dragged at all.
* "pickupOnly" means that the bot should be able to be dragged across contexts but not within a dimension.
* "moveOnly" means that the bot should be able to be dragged within a dimension but not across contexts.
*/
export type BotDragMode = 'all' | 'none' | 'moveOnly' | 'pickupOnly';
/**
* Defines the possible positioning modes that a bot's mesh can have.
*
* "center" means the mesh will be repositioned to be placed in the center of the bot. (default)
* "absolute" means the mesh will be placed in its original position.
*/
export type BotMeshPositioningMode = 'center' | 'absolute';
/**
* Defines the possible scaling modes that a bot's mesh can have.
*
* "fit" means that the mesh is scaled to fit inside its bot unit cube.
* "absolute" means that the mesh is not scaled to fit inside the bot unit cube.
*/
export type BotScaleMode = 'fit' | 'absolute';
/**
* Defines the possible anchor positions for a label.
*/
export type BotLabelAnchor = 'top' | 'front' | 'back' | 'left' | 'right' | 'floating' | 'floatingBillboard';
/**
* Defines the possible label alignment types.
*/
export type BotLabelAlignment = 'center' | 'left' | 'right';
/**
* Defines the possible label font addresses.
*/
export type BotLabelFontAddress = 'roboto' | 'noto-sans-kr' | string;
/**
* Defines the possible label font sizes.
*/
export type BotLabelFontSize = 'auto' | number;
export type BotLabelWordWrap = 'breakWords' | 'breakCharacters' | 'none';
/**
* Defines the possible bot orientation modes.
*/
export type BotOrientationMode = 'absolute' | 'billboard' | 'billboardTop' | 'billboardFront';
/**
* Defines the possible bot anchor points.
*
* @dochash types/core
* @docname BotAnchorPoint
*/
export type BotAnchorPoint = 'top' | 'front' | 'back' | 'left' | 'right' | 'bottom' | 'center' | readonly [number, number, number];
/**
* Defines the possible meet portal anchor points.
*/
export type MeetPortalAnchorPoint = 'fullscreen' | 'top' | 'topRight' | 'topLeft' | 'bottom' | 'bottomRight' | 'bottomLeft' | 'left' | 'right' | [number | string] | [number | string, number | string] | [number | string, number | string, number | string] | [number | string, number | string, number | string, number | string];
/**
* Defines the possible backup types.
*/
export type BackupType = 'github' | 'download';
/**
* Defines the possible dimension visualize modes.
*
* true means that the dimension is visible.
* false means the dimension is not visible.
* "surface" means the dimension is visible and renders a worksurface.
*/
export type DimensionVisualizeMode = true | false | 'surface';
/**
* The possible LODs for a bot.
*/
export type BotLOD = 'normal' | 'min' | 'max';
/**
* The possible camera control modes.
*/
export type PortalCameraControlsMode = 'player' | false;
/**
* The possible camera types.
*/
export type PortalCameraType = 'orthographic' | 'perspective';
/**
* The possible bot cursors.
*/
export type BotCursorType = 'auto' | 'default' | 'none' | 'context-menu' | 'help' | 'pointer' | 'progress' | 'wait' | 'cell' | 'crosshair' | 'text' | 'vertical-text' | 'alias' | 'copy' | 'move' | 'no-drop' | 'not-allowed' | 'grab' | 'grabbing' | 'all-scroll' | 'col-resize' | 'row-resize' | 'n-resize' | 'e-resize' | 's-resize' | 'w-resize' | 'ne-resize' | 'nw-resize' | 'se-resize' | 'sw-resize' | 'ew-resize' | 'ns-resize' | 'nesw-resize' | 'nwse-resize' | 'zoom-in' | 'zoom-out' | BotCursorLink;
export interface BotCursorLink {
type: 'link';
url: string;
x: number;
y: number;
}
/**
* Defines an interface that represents the padding that a bot label should have.
*/
export interface BotLabelPadding {
/**
* The horizontal padding that the label should have.
*/
horizontal: number;
/**
* The vertical padding that the label should have.
*/
vertical: number;
}
/**
* The default bot cursor.
*/
export declare const DEFAULT_BOT_CURSOR: BotCursorType;
/**
* The default bot shape.
*/
export declare const DEFAULT_BOT_SHAPE: BotShape;
/**
* The default menu bot form.
*/
export declare const DEFAULT_MENU_BOT_FORM: MenuBotForm;
/**
* The default menu bot hover style.
*/
export declare const DEFAULT_MENU_BOT_HOVER_STYLE: MenuBotHoverStyle;
/**
* The default bot label anchor.
*/
export declare const DEFAULT_LABEL_ANCHOR: BotLabelAnchor;
/**
* The default bot label alignment.
*/
export declare const DEFAULT_LABEL_ALIGNMENT: BotLabelAlignment;
/**
* The default bot scale mode.
*/
export declare const DEFAULT_SCALE_MODE: BotScaleMode;
/**
* The default bot mesh positioning mode.
*/
export declare const DEFAULT_MESH_POSITIONING_MODE: BotMeshPositioningMode;
/**
* The default bot orientation mode.
*/
export declare const DEFAULT_ORIENTATION_MODE: BotOrientationMode;
/**
* The default bot orientation mode.
*/
export declare const DEFAULT_ANCHOR_POINT: BotAnchorPoint;
/**
* The default portal camera controls mode.
*/
export declare const DEFAULT_PORTAL_CAMERA_CONTROLS_MODE: PortalCameraControlsMode;
/**
* The default bot label font address.
*/
export declare const DEFAULT_LABEL_FONT_ADDRESS: BotLabelFontAddress;
/**
* The default bot label font address.
*/
export declare const DEFAULT_LABEL_FONT_SIZE: BotLabelFontSize;
/**
* The default bot label word wrapping mode.
*/
export declare const DEFAULT_LABEL_WORD_WRAP_MODE: BotLabelWordWrap;
/**
* Whether canvas transparency is disabled by default.
*/
export declare const DEFAULT_PORTAL_DISABLE_CANVAS_TRANSPARENCY: boolean;
/**
* The default height for workspaces.
*/
export declare const DEFAULT_WORKSPACE_HEIGHT = 0.1;
/**
* The default size for workspaces.
*/
export declare const DEFAULT_WORKSPACE_SIZE = 1;
/**
* The default scale for workspaces.
*/
export declare const DEFAULT_WORKSPACE_SCALE = 2;
/**
* The default scale for mini workspaces.
*/
export declare const DEFAULT_MINI_WORKSPACE_SCALE: number;
/**
* The default grid scale for workspaces.
*/
export declare const DEFAULT_WORKSPACE_GRID_SCALE = 0.2;
/**
* The amount that a hex's height is allowed to change by in a single increment.
*/
export declare const DEFAULT_WORKSPACE_HEIGHT_INCREMENT = 0.1;
/**
* The minimum height that hexes in a workspace can be.
*/
export declare const DEFAULT_WORKSPACE_MIN_HEIGHT = 0.1;
/**
* The default color for workspaces.
*/
export declare const DEFAULT_WORKSPACE_COLOR = "#999999";
/**
* The default color for scene background.
*/
export declare const DEFAULT_SCENE_BACKGROUND_COLOR = "#263238";
/**
* The default color for users in AUX Builder.
*/
export declare const DEFAULT_BUILDER_USER_COLOR = "#00D000";
/**
* The default color for users in AUX Player.
*/
export declare const DEFAULT_PLAYER_USER_COLOR = "#DDDD00";
/**
* The amount of time that a user needs to be inactive for
* in order to hide their bot.
*/
export declare const DEFAULT_USER_INACTIVE_TIME: number;
/**
* The amount of time that a user needs to be inactive for
* in order to delete their bot.
*/
export declare const DEFAULT_USER_DELETION_TIME: number;
/**
* Whether the miniGridPortal is visible by default.
*/
export declare const DEFAULT_MINI_PORTAL_VISIBLE = false;
/**
* Whether the map portal is visible by default.
*/
export declare const DEFAULT_MAP_PORTAL_VISIBLE = false;
/**
* The default scale for the map portal grid.
*/
export declare const DEFAULT_MAP_PORTAL_SCALE = 1;
/**
* The default grid scale for the map portal.
*/
export declare const DEFAULT_MAP_PORTAL_GRID_SCALE = 10;
/**
* The default basemap that should be used for the map portal.
* See https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#basemap
*/
export declare const DEFAULT_MAP_PORTAL_BASEMAP = "dark-gray-vector";
/**
* The possible kinds of map portals.
* - "globe" means that the map portal is rendered as a globe.
* - "plane" means that the map portal is rendered as a flat plane.
*/
export type MapPortalKind = 'globe' | 'plane';
/**
* The default kind of map portal.
*/
export declare const DEFAULT_MAP_PORTAL_KIND: MapPortalKind;
/**
* The default longitude that the map portal should show.
*/
export declare const DEFAULT_MAP_PORTAL_LONGITUDE = -84.71112905478944;
/**
* The default latitude that the map portal should show.
*/
export declare const DEFAULT_MAP_PORTAL_LATITUDE = 43.152972972972975;
/**
* The default zoom that the map portal should show.
*/
export declare const DEFAULT_MAP_PORTAL_ZOOM = 7;
/**
* Whether portals are pannable by default.
*/
export declare const DEFAULT_PORTAL_PANNABLE = true;
/**
* Whether portals are rotatable by default.
*/
export declare const DEFAULT_PORTAL_ROTATABLE = true;
export declare const DEFAULT_GRID_PORTAL_LIGHTING = true;
/**
* Whether portals are zoomable by default.
*/
export declare const DEFAULT_PORTAL_ZOOMABLE = true;
/**
* Whether portals should show their focus point.
*/
export declare const DEFAULT_PORTAL_SHOW_FOCUS_POINT = false;
/**
* Whether miniGridPortals are resizable by default.
*/
export declare const DEFAULT_MINI_PORTAL_RESIZABLE = true;
/**
* The default height for miniGridPortals.
*/
export declare const DEFAULT_MINI_PORTAL_HEIGHT = 0.2;
/**
* The default height for wrist portals.
*/
export declare const DEFAULT_WRIST_PORTAL_HEIGHT = 6;
/**
* The default width for wrist portals.
*/
export declare const DEFAULT_WRIST_PORTAL_WIDTH = 6;
/**
* The default grid scale for wrist portals.
*/
export declare const DEFAULT_WRIST_PORTAL_GRID_SCALE = 0.025;
/**
* The default anchor point for the meet portal.
*/
export declare const DEFAULT_MEET_PORTAL_ANCHOR_POINT: MeetPortalAnchorPoint;
/**
* The default anchor point for the tag portal.
*/
export declare const DEFAULT_TAG_PORTAL_ANCHOR_POINT: MeetPortalAnchorPoint;
/**
* The default anchor point for the bot portal.
*/
export declare const DEFAULT_BOT_PORTAL_ANCHOR_POINT: MeetPortalAnchorPoint;
/**
* The default anchor point for custom portals.
*/
export declare const DEFAULT_CUSTOM_PORTAL_ANCHOR_POINT: MeetPortalAnchorPoint;
/**
* The default bot LOD.
*/
export declare const DEFAULT_BOT_LOD: BotLOD;
/**
* The default minimum LOD threshold.
*/
export declare const DEFAULT_BOT_LOD_MIN_THRESHOLD = 0.0005;
/**
* The default maximum LOD threshold.
*/
export declare const DEFAULT_BOT_LOD_MAX_THRESHOLD = 0.03;
/**
* The ID of the device configuration bot.
*/
export declare const DEVICE_BOT_ID = "device";
/**
* The ID of the local configuration bot.
*/
export declare const LOCAL_BOT_ID = "local";
/**
* The ID of the cookie configuration bot.
*/
export declare const COOKIE_BOT_ID = "cookie";
/**
* THe partition ID for cookie bots.
*/
export declare const COOKIE_BOT_PARTITION_ID = "local";
/**
* The partition ID for temporary bots.
*/
export declare const TEMPORARY_BOT_PARTITION_ID = "tempLocal";
/**
* The partition ID for admin bots.
*/
export declare const ADMIN_PARTITION_ID = "admin";
/**
* The partition ID for temporary shared bots.
*/
export declare const TEMPORARY_SHARED_PARTITION_ID = "tempShared";
/**
* The partition ID for bots that are automatically added to the instance.
*/
export declare const BOOTSTRAP_PARTITION_ID = "bootstrap";
/**
* The partition ID for other temp shared bots.
*/
export declare const REMOTE_TEMPORARY_SHARED_PARTITION_ID = "remoteTempShared";
/**
* The space that tag masks get placed in by default.
*/
export declare const DEFAULT_TAG_MASK_SPACE: BotSpace;
/**
* The list of spaces that tag masks should be prioritized by.
* Listed in reverse order of where they actually end up applied.
*/
export declare const TAG_MASK_SPACE_PRIORITIES_REVERSE: BotSpace[];
/**
* The list of spaces that tag masks should be prioritized by.
*/
export declare const TAG_MASK_SPACE_PRIORITIES: BotSpace[];
/**
* The name of the branch that contains admin space.
*/
export declare const ADMIN_BRANCH_NAME = "$admin";
/**
* The name of the tag used to represent the space that the bot is
* stored in.
*/
export declare const BOT_SPACE_TAG = "space";
/**
* The name of the event that represents a bot being diffed into another bot.
*/
export declare const MOD_DROP_ACTION_NAME: string;
/**
* The name of the event that represents a bot being created.
*/
export declare const CREATE_ACTION_NAME: string;
/**
* The name of the event that represents any bot being created.
*/
export declare const CREATE_ANY_ACTION_NAME: string;
/**
* The name of the event that represents a bot being destroyed.
*/
export declare const DESTROY_ACTION_NAME: string;
/**
* The name of the event that represents a bot being clicked.
*/
export declare const CLICK_ACTION_NAME: string;
/**
* The name of the event that represents any bot being clicked.
*/
export declare const ANY_CLICK_ACTION_NAME: string;
/**
* The name of the event that represents a bot entering over another bot.
*/
export declare const DROP_ENTER_ACTION_NAME: string;
/**
* The name of the event that represents a bot exiting from over another bot.
*/
export declare const DROP_EXIT_ACTION_NAME: string;
/**
* The name of the event that represents a bot entering over another bot.
*/
export declare const ANY_DROP_ENTER_ACTION_NAME: string;
/**
* The name of the event that represents a bot exiting from over another bot.
*/
export declare const ANY_DROP_EXIT_ACTION_NAME: string;
/**
* The name of the event that represents a bot being dropped onto a dimension.
*/
export declare const DROP_ACTION_NAME: string;
/**
* The name of the event that represents any bot being dropped onto a dimension.
*/
export declare const DROP_ANY_ACTION_NAME: string;
/**
* The name of the event that represents a bot starting to be dragged.
*/
export declare const DRAG_ACTION_NAME: string;
/**
* The name of the event that represents any bot starting to be dragged.
*/
export declare const DRAG_ANY_ACTION_NAME: string;
/**
* The name of the event that represents a bot being dragged.
*/
export declare const DRAGGING_ACTION_NAME: string;
/**
* The name of the event that represents any bot being dragged.
*/
export declare const DRAGGING_ANY_ACTION_NAME: string;
/**
* The name of the event that represents a mod entering over a bot.
*/
export declare const MOD_DROP_ENTER_ACTION_NAME: string;
/**
* The name of the event that represents a mod exiting from over a bot.
*/
export declare const MOD_DROP_EXIT_ACTION_NAME: string;
/**
* The name of the event that is triggered when a pointer starts hovering a bot.
*/
export declare const ON_POINTER_ENTER: string;
/**
* The name of the event that is triggered when a pointer stops hovering a bot.
*/
export declare const ON_POINTER_EXIT: string;
/**
* The name of the event that is triggered when a pointer starts hovering any bot.
*/
export declare const ON_ANY_POINTER_ENTER: string;
/**
* The name of the event that is triggered when a pointer stops hovering any bot.
*/
export declare const ON_ANY_POINTER_EXIT: string;
/**
* The name of the event that is triggered when a pointer starts clicking a bot.
*/
export declare const ON_POINTER_DOWN: string;
/**
* The name of the event that is triggered when a pointer stops clicking a bot.
*/
export declare const ON_POINTER_UP: string;
/**
* The name of the event that is triggered when a pointer starts hovering any bot.
*/
export declare const ON_ANY_POINTER_DOWN: string;
/**
* The name of the event that is triggered when a pointer stops hovering any bot.
*/
export declare const ON_ANY_POINTER_UP: string;
/**
* The name of the event that is triggered when a QR Code is scanned.
*/
export declare const ON_QR_CODE_SCANNED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the QR Code scanner is closed.
*/
export declare const ON_QR_CODE_SCANNER_CLOSED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the QR Code scanner is opened.
*/
export declare const ON_QR_CODE_SCANNER_OPENED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the Barcode scanner is closed.
*/
export declare const ON_BARCODE_SCANNER_CLOSED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the Barcode scanner is opened.
*/
export declare const ON_BARCODE_SCANNER_OPENED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a Barcode is scanned.
*/
export declare const ON_BARCODE_SCANNED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the image classifier is closed.
*/
export declare const ON_IMAGE_CLASSIFIER_CLOSED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the image classifier is opened.
*/
export declare const ON_IMAGE_CLASSIFIER_OPENED_ACTION_NAME: string;
/**
* The name of the event that is triggered when an image is classified.
*/
export declare const ON_IMAGE_CLASSIFIED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the photo camera is opened.
*/
export declare const ON_PHOTO_CAMERA_OPENED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the photo camera is closed.
*/
export declare const ON_PHOTO_CAMERA_CLOSED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a photo is captured from the photo camera.
*/
export declare const ON_PHOTO_CAPTURED_ACTION_NAME: string;
/**
* The name of the event that is triggered when the checkout process is completed.
*/
export declare const ON_CHECKOUT_ACTION_NAME: string;
/**
* The name of the event that is triggered when payment has been approved for the checkout.
*/
export declare const ON_PAYMENT_SUCCESSFUL_ACTION_NAME: string;
/**
* The name of the event that is triggered when payment has been rejected for the checkout.
*/
export declare const ON_PAYMENT_FAILED_ACTION_NAME: string;
/**
* The name of the event that is triggered when webhooks have been received.
*/
export declare const ON_WEBHOOK_ACTION_NAME: string;
/**
* The name of the event that is triggered on every bot when a shout has been executed.
*/
export declare const ON_ANY_SHOUT_ACTION_NAME: string;
/**
* The name of the event that is triggered when a shout has been executed.
*/
export declare const ON_SHOUT_ACTION_NAME: string;
/**
* The name of the event that is triggered before an action is executed.
*/
export declare const ON_ACTION_ACTION_NAME: string;
/**
* The name of the event that is triggered when a remote whisper is executed.
*/
export declare const ON_REMOTE_WHISPER_ACTION_NAME: string;
/**
* The name of the event that is triggered when a remote whisper is executed.
*/
export declare const ON_REMOTE_DATA_ACTION_NAME: string;
/**
* The name of the event that is triggered when a channel becomes synced.
*/
export declare const ON_SERVER_STREAMING_ACTION_NAME: string;
/**
* The name of the event that is triggered when a channel has become unsynced.
*/
export declare const ON_SERVER_STREAM_LOST_ACTION_NAME: string;
/**
* The name of the event that is triggered when a inst becomes synced.
*/
export declare const ON_INST_STREAMING_ACTION_NAME: string;
/**
* The name of the event that is triggered when a inst has become unsynced.
*/
export declare const ON_INST_STREAM_LOST_ACTION_NAME: string;
/**
* The name of the event that is triggered when a channel is loaded.
*/
export declare const ON_SERVER_SUBSCRIBED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a channel is loaded.
*/
export declare const ON_SERVER_JOINED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a inst is loaded.
*/
export declare const ON_INST_JOINED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a channel is unloaded.
*/
export declare const ON_SERVER_UNSUBSCRIBED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a channel is unloaded.
*/
export declare const ON_SERVER_LEAVE_ACTION_NAME: string;
/**
* The name of the event that is triggered when a channel is unloaded.
*/
export declare const ON_INST_LEAVE_ACTION_NAME: string;
/**
* The name of the event that is triggered when portal tag is changed on the config bot.
*/
export declare const ON_PLAYER_PORTAL_CHANGED_ACTION_NAME: string;
/**
* The name of the event that is triggered when portal tag is changed on the config bot.
*/
export declare const ON_PORTAL_CHANGED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a script is executed.
*/
export declare const ON_RUN_ACTION_NAME: string;
/**
* The name of the event that is triggered when the text in the chat bar is updated.
*/
export declare const ON_CHAT_TYPING_ACTION_NAME: string;
/**
* The name of the event that is triggered when the text in the chat bar is submitted.
*/
export declare const ON_CHAT_ACTION_NAME: string;
/**
* The name of the event that is triggered when the text in a menu bot input is submitted.
*/
export declare const ON_SUBMIT_ACTION_NAME: string;
/**
* The name of the event that is triggered when the text in a menu bot input is updated.
*/
export declare const ON_INPUT_TYPING_ACTION_NAME: string;
/**
* The name of the event that is triggered when text is pasted into aux.
*/
export declare const ON_PASTE_ACTION_NAME: string;
/**
* The name of the event that is triggered when the maximum LOD is entered.
*/
export declare const ON_MAX_LOD_ENTER_ACTION_NAME: string;
/**
* The name of the event that is triggered when the minimum LOD is entered.
*/
export declare const ON_MIN_LOD_ENTER_ACTION_NAME: string;
/**
* The name of the event that is triggered when the maximum LOD is exited.
*/
export declare const ON_MAX_LOD_EXIT_ACTION_NAME: string;
/**
* The name of the event that is triggered when the minimum LOD is exited.
*/
export declare const ON_MIN_LOD_EXIT_ACTION_NAME: string;
/**
* The name of the event that is triggered when the maximum LOD is entered.
*/
export declare const ON_ANY_MAX_LOD_ENTER_ACTION_NAME: string;
/**
* The name of the event that is triggered when the minimum LOD is entered.
*/
export declare const ON_ANY_MIN_LOD_ENTER_ACTION_NAME: string;
/**
* The name of the event that is triggered when the maximum LOD is exited.
*/
export declare const ON_ANY_MAX_LOD_EXIT_ACTION_NAME: string;
/**
* The name of the event that is triggered when the minimum LOD is exited.
*/
export declare const ON_ANY_MIN_LOD_EXIT_ACTION_NAME: string;
/**
* The name of the event that is triggered when the grid is clicked.
*/
export declare const ON_GRID_CLICK_ACTION_NAME: string;
/**
* The name of the event that is triggered when the grid starts getting pressed.
*/
export declare const ON_GRID_UP_ACTION_NAME: string;
/**
* The name of the event that is triggered when the grid stops getting pressed.
*/
export declare const ON_GRID_DOWN_ACTION_NAME: string;
/**
* The name of the event that is triggered when a file is uploaded.
*/
export declare const ON_FILE_UPLOAD_ACTION_NAME: string;
/**
* The name of the event that is triggerd when a bot gains camera focus.
*/
export declare const ON_FOCUS_ENTER_ACTION_NAME: string;
/**
* The name of the event that is triggerd when a bot loses camera focus.
*/
export declare const ON_FOCUS_EXIT_ACTION_NAME: string;
/**
* The name of the event that is triggerd when a bot gains camera focus.
*/
export declare const ON_ANY_FOCUS_ENTER_ACTION_NAME: string;
/**
* The name of the event that is triggerd when a bot loses camera focus.
*/
export declare const ON_ANY_FOCUS_EXIT_ACTION_NAME: string;
/**
* The name of the event that is triggered when a remote player joins the game.
*/
export declare const ON_REMOTE_PLAYER_SUBSCRIBED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a remote player joins the game.
*/
export declare const ON_REMOTE_JOINED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a remote player leaves the game.
*/
export declare const ON_REMOTE_PLAYER_UNSUBSCRIBED_ACTION_NAME: string;
/**
* The name of the event that is triggered when a remote player leaves the game.
*/
export declare const ON_REMOTE_LEAVE_ACTION_NAME: string;
/**
* The name of the event that is triggered when a bot is added to the local simulation.
*/
export declare const ON_BOT_ADDED_ACTION_NAME = "onBotAdded";
/**
* The name of the event that is triggered when any bot is added to the local simulation.
*/
export declare const ON_ANY_BOTS_ADDED_ACTION_NAME = "onAnyBotsAdded";
/**
* The name of the event that is triggered when any bot is removed from the local simulation.
*/
export declare const ON_ANY_BOTS_REMOVED_ACTION_NAME = "onAnyBotsRemoved";
/**
* The name of the event that is triggered when a bot is changed.
*/
export declare const ON_BOT_CHANGED_ACTION_NAME = "onBotChanged";
/**
* The name of the event that is triggered when any bot is changed in the local simulation.
*/
export declare const ON_ANY_BOTS_CHANGED_ACTION_NAME = "onAnyBotsChanged";
/**
* The name of the event that is triggered when a tag is clicked in the sheet.
*/
export declare const ON_SHEET_TAG_CLICK = "onSheetTagClick";
/**
* The name of the event that is triggered when a Bot's ID is clicked in the sheet.
*/
export declare const ON_SHEET_BOT_ID_CLICK = "onSheetBotIDClick";
/**
* The name of the event that is triggered when a Bot is clicked in the sheet.
*/
export declare const ON_SHEET_BOT_CLICK = "onSheetBotClick";
/**
* The name of the event that is triggered when a listen tag encounters an unhandled error.
*/
export declare const ON_ERROR = "onError";
/**
* The name of the event that is triggered when a portal is being configured.
*/
export declare const ON_APP_SETUP_ACTION_NAME = "onAppSetup";
/**
* The name of the event that is triggered when the root app has been setup.
*/
export declare const ON_DOCUMENT_AVAILABLE_ACTION_NAME: string;
/**
* The name of the event that is triggered when a keyboard button is clicked.
*/
export declare const ON_KEY_CLICK_ACTION_NAME = "onKeyClick";
/**
* The name of the event that is triggered when a package is installed.
*/
export declare const ON_PACKAGE_INSTALLED_ACTION_NAME: string;
/**
* The tag used to set the space that the tag portal operates in.
*/
export declare const TAG_PORTAL_SPACE: string;
/**
* The name of the event that is triggered when an audio sample is resolved.
*/
export declare const ON_AUDIO_SAMPLE: string;
/**
* The name of the event that is triggered when audio recording is started.
*/
export declare const ON_BEGIN_AUDIO_RECORDING: string;
/**
* The name of the event that is triggered when audio recording is stopped.
*/
export declare const ON_END_AUDIO_RECORDING: string;
/**
* The name of the event that is triggered when VR is entered.
*/
export declare const ON_ENTER_VR: string;
/**
* The name of the event that is triggered when VR is exited.
*/
export declare const ON_EXIT_VR: string;
/**
* The name of the event that is triggered when AR is entered.
*/
export declare const ON_ENTER_AR: string;
/**
* The name of the event that is triggered when AR is exited.
*/
export declare const ON_EXIT_AR: string;
/**
* The name of the event that is triggered when the meet portal is finished loading.
*/
export declare const ON_MEET_LOADED: string;
/**
* The name of the event that is triggered when the user meet portal is closed.
*/
export declare const ON_MEET_LEAVE: string;
/**
* The name of the event that is triggered when the user has entered a meet.
*/
export declare const ON_MEET_ENTERED: string;
/**
* The name of the event that is triggered when the user has exited a meet.
*/
export declare const ON_MEET_EXITED: string;
/**
* The name of the event that is triggered when the link to a meeting recording is available.
*/
export declare const ON_MEET_RECORDING_LINK_AVAILABLE: string;
/**
* The name of the event that is triggered when the user has joined a multimedia chat room.
*/
export declare const ON_ROOM_JOINED: string;
/**
* The name of the event that is triggered when the user has left a multimedia chat room.
*/
export declare const ON_ROOM_LEAVE: string;
/**
* The name of the event that is triggered when a multimedia track has been recieved.
*/
export declare const ON_ROOM_TRACK_SUBSCRIBED: string;
/**
* The name of the event that is triggerd when a multimedia track has been lost.
*/
export declare const ON_ROOM_TRACK_UNSUBSCRIBED: string;
/**
* The name of the event that is triggered when the user has become disconnected from a multimedia chat room.
*/
export declare const ON_ROOM_STREAM_LOST: string;
/**
* The name of the event that is triggered when the user has become connected to a multimedia chat room.
*/
export declare const ON_ROOM_STREAMING: string;
/**
* The name of the event that is triggered when the list of active speakers has changed.
*/
export declare const ON_ROOM_SPEAKERS_CHANGED: string;
/**
* The name of the event that is triggered when a remote user joins a multimedia chat room.
*/
export declare const ON_ROOM_REMOTE_JOINED: string;
/**
* The name of the event that is triggered when a remote user leaves a multimedia chat room.
*/
export declare const ON_ROOM_REMOTE_LEAVE: string;
/**
* The name of the event that is triggered when options for a multimedia chat room are changed.
*/
export declare const ON_ROOM_OPTIONS_CHANGED: string;
/**
* The name of the event that is triggered when a form animation is started.
*/
export declare const ON_FORM_ANIMATION_STARTED: string;
/**
* The name of the event that is triggered for all bots when a form animation is started.
*/
export declare const ON_ANY_FORM_ANIMATION_STARTED: string;
/**
* The name of the event that is triggered when a form animation is finished.
*/
export declare const ON_FORM_ANIMATION_FINISHED: string;
/**
* The name of the event that is triggered for all bots when a form animation is finished.
*/
export declare const ON_ANY_FORM_ANIMATION_FINISHED: string;
/**
* The name of the event that is triggered when a form animation is stopped.
*/
export declare const ON_FORM_ANIMATION_STOPPED: string;
/**
* The name of the event that is triggered for all bots when a form animation is stopped.
*/
export declare const ON_ANY_FORM_ANIMATION_STOPPED: string;
/**
* The name of the event that is triggered when a form animation loops.
*/
export declare const ON_FORM_ANIMATION_LOOPED: string;
/**
* The name of the event that is triggered for all bots when a form animation loops.
*/
export declare const ON_ANY_FORM_ANIMATION_LOOPED: string;
/**
* The name of the event that is triggered when a space's max size has been reached.
*/
export declare const ON_SPACE_MAX_SIZE_REACHED: string;
/**
* The name of the event that is triggered when a network rate limit is exceeded.
*/
export declare const ON_SPACE_RATE_LIMIT_EXCEEDED_ACTION_NAME: string;
/**
* The name of the event that is triggered once collaboration has been enabled.
*/
export declare const ON_COLLABORATION_ENABLED: string;
/**
* The name of the event that is triggered when collaboration upgrades begin to be allowed.
*/
export declare const ON_ALLOW_COLLABORATION_UPGRADE: string;
/**
* The name of the event that is triggered when collaboration upgrades are no longer allowed.
*/
export declare const ON_DISALLOW_COLLABORATION_UPGRADE: string;
/**
* The name of the event that is triggered when a module needs to be resolved.
*/
export declare const ON_RESOLVE_MODULE: string;
/**
* The current bot format version for AUX Bots.
* This number increments whenever there are any changes between AUX versions.
* As a result, it will allow us to make breaking changes but still upgrade people's bots
* in the future.
*/
export declare const AUX_BOT_VERSION: number;
/**
* The dimension that is used for showing codeButton bots in the code editor context menu.
*/
export declare const EDITOR_CODE_BUTTON_DIMENSION = "true";
/**
* The name of the codeToolsPortal.
*/
export declare const EDITOR_CODE_TOOL_PORTAL = "codeToolsPortal";
/**
* The name of the grid portal.
*/
export declare const GRID_PORTAL: string;
/**
* The name of the miniGridPortal.
*/
export declare const MINI_PORTAL: string;
/**
* The name of the map portal.
*/
export declare const MAP_PORTAL: string;
/**
* The name of the mini map portal.
*/
export declare const MINI_MAP_PORTAL: string;
/**
* The name of the meet portal.
*/
export declare const MEET_PORTAL: string;
/**
* The name of the bot portal.
*/
export declare const BOT_PORTAL: string;
/**
* The name of the tag portal.
*/
export declare const TAG_PORTAL: string;
/**
* The name of the data portal.
*/
export declare const DATA_PORTAL: string;
/**
* The name of the sheet portal.
*/
export declare const SHEET_PORTAL: string;
/**
* The name of the IDE portal.
*/
export declare const IDE_PORTAL: string;
/**
* The name of the system portal.
*/
export declare const SYSTEM_PORTAL: string;
/**
* The name of the system tag.
*/
export declare const SYSTEM_TAG: string;
/**
* The name of the tag that is used to determine which tag should be used for the system portal.
*/
export declare const SYSTEM_TAG_NAME: string;
/**
* The name of the tag that is used to search tags in the system portal.
*/
export declare const SYSTEM_PORTAL_SEARCH: string;
/**
* The name of the tag used to keep track of the selected bot in the system portal..
*/
export declare const SYSTEM_PORTAL_BOT: string;
/**
* The name of the tag that is selected in the system portal.
*/
export declare const SYSTEM_PORTAL_TAG: string;
/**
* The space of the tag that is selected in the system portal.
*/
export declare const SYSTEM_PORTAL_TAG_SPACE: string;
/**
* The name of the diff portal.
*/
export declare const SYSTEM_PORTAL_DIFF: string;
/**
* The bot that is currently selected in the diff portal.
*/
export declare const SYSTEM_PORTAL_DIFF_BOT: string;
/**
* The name of the tag that is selected in the diff portal.
*/
export declare const SYSTEM_PORTAL_DIFF_TAG: string;
/**
* The space of the tag that is selected in the system portal.
*/
export declare const SYSTEM_PORTAL_DIFF_TAG_SPACE: string;
/**
* The pane that is open in the system portal.
*/
export declare const SYSTEM_PORTAL_PANE: string;
/**
* The list of possible system portal panes.
*/
export type SystemPortalPane = 'bots' | 'search' | 'sheet' | 'diff';
/**
* The name of the tag that is used to indicate which bot the player is currently editing.
*/
export declare const EDITING_BOT: string;
/**
* The name of the tag that is used to indiciate which tag the player is currently editing.
*/
export declare const EDITING_TAG: string;
/**
* The name of the tag that is used to indiciate which space the tag the player is currently editing is in.
*/
export declare const EDITING_TAG_SPACE: string;
/**
* The name of the tag that is used to enable or disable semantic highlighting in the code editor.
*/
export declare const SHOW_SCRIPT_ISSUES: string;
/**
* The name of the IMU portal.
*/
export declare const IMU_PORTAL: string;
/**
* The prefix for DNA Tags.
*/
export declare const DNA_TAG_PREFIX: string;
/**
* The prefix for bot links.
*/
export declare const BOT_LINK_TAG_PREFIX: string;
/**
* The prefix for date tags.
*/
export declare const DATE_TAG_PREFIX: string;
/**
* The prefix for string tags.
*/
export declare const STRING_TAG_PREFIX: string;
export declare const NUMBER_TAG_PREFIX: string;
/**
* The prefix for vector tags.
*/
export declare const VECTOR_TAG_PREFIX: string;
/**
* The prefix for rotation tags.
*/
export declare const ROTATION_TAG_PREFIX: string;
/**
* The default script prefixes for custom portals.
*/
export declare const DEFAULT_CUSTOM_PORTAL_SCRIPT_PREFIXES: string[];
/**
* The default script prefixes for library portals.
*/
export declare const LIBRARY_SCRIPT_PREFIX = "\uD83D\uDCC4";
/**
* The list of known tag prefixes.
*/
export declare const KNOWN_TAG_PREFIXES: string[];
/**
* The list of all portal tags.
*/
export declare const KNOWN_PORTALS: string[];
/**
* The list of portal tags that trigger closing the loading screen.
*/
export declare const LOAD_PORTALS: string[];
/**
* The list of portal tags that should always be represented in the query string.
*/
export declare const QUERY_PORTALS: string[];
/**
* The list of portal tags that should cause a new browser history entry to be added
* when it is updated.
*/
export declare const QUERY_FULL_HISTORY_TAGS: Set<string>;
/**
* The list of portal tags that should cause a new browser history entry to be added
* only when the tag itself is added or removed from the query.
*/
export declare const QUERY_PARTIAL_HISTORY_TAGS: Set<string>;
export declare const KNOWN_TAGS: string[];
export declare function onClickArg(face: string, dimension: string, uv: string, modality: string, hand: string, finger: string, buttonId: string): {
face: string;
dimension: string;
uv: string;
modality: string;
hand: string;
finger: string;
buttonId: string;
};
export declare function onAnyClickArg(face: string, dimension: string, bot: Bot, uv: string, modality: string, hand: string, finger: string, buttonId: string): {
bot: Bot;
face: string;
dimension: string;
uv: string;
modality: string;
hand: string;
finger: string;
buttonId: string;
};
export declare function onGridClickArg(position: Point2D, dimension: string, modality: string, hand: string, finger: string, buttonId: string): {
position: Point2D;
dimension: string;
modality: string;
hand: string;
finger: string;
buttonId: string;
};
export declare function onDragArg(bot: Bot, from: BotDropDestination, face: string, uv: string): {
face: string;
bot: Bot;
from: BotDropDestination;
uv: string;
};
export declare function onDraggingArg(bot: Bot, to: BotDropToDestination, from: BotDropDestination): {
bot: Bot;
to: BotDropToDestination;
from: BotDropDestination;
};
export declare function onModDropArg(mod: BotTags, dimension: string): {
mod: BotTags;
dimension: string;
};
export declare function onDropArg(dragBot: Bot, to: BotDropToDestination, from: BotDropDestination): {
dragBot: Bot;
bot: Bot;
to: BotDropToDestination;
from: BotDropDestination;
};
export declare function onServerStreamingArg(server: string): {
server: string;
inst: string;
};
export declare function onServerStreamLostArg(server: string): {
server: string;
inst: string;
};
export declare function onServerSubscribedArg(server: string): {
server: string;
inst: string;
};
export declare function onServerUnsubscribedArg(server: string): {
server: string;
inst: string;
};
export declare function onChatTypingArg(message: string): {
message: string;
};
export declare function onChatArg(message: string): {
message: string;
};
export declare function onPasteArg(text: string): {
text: string;
};
export declare function onLODArg(bot: Bot, dimension: string): {
bot: Bot;
dimension: string;
};
export declare function onPointerEnterExitArg(bot: Bot, dimension: string, modality: string, hand: string, finger: string, buttonId: string): {
bot: Bot;
dimension: string;
modality: string;
hand: string;
finger: string;
buttonId: string;
};
export declare function onPointerUpDownArg(bot: Bot, dimension: string, modality: string, hand: string, finger: string, buttonId: string): {
bot: Bot;
dimension: string;
modality: string;
hand: string;
finger: string;
buttonId: string;
};
export declare function onSubmitArg(text: string): {
text: string;
};
export interface BotDropDestination {
x: number;
y: number;
dimension: string;
}
export interface BotDropToDestination extends BotDropDestination {
bot: Bot;
}
//# sourceMappingURL=Bot.d.ts.map