From 0fbccb65bb1de6f70599b6ef6d2266962afd12f9 Mon Sep 17 00:00:00 2001 From: mwfarb Date: Tue, 15 Oct 2024 17:07:35 -0400 Subject: [PATCH] docs: update message schema deprecated --- content/schemas/message/animation-mixer.md | 16 +-- content/schemas/message/animation.md | 34 ++--- .../schemas/message/arena-scene-options.md | 18 +-- content/schemas/message/arena-user.md | 16 +-- .../schemas/message/arenaui-button-panel.md | 90 +++++++------ content/schemas/message/arenaui-card.md | 106 +++++++-------- content/schemas/message/arenaui-prompt.md | 92 ++++++------- content/schemas/message/armarker.md | 20 +-- content/schemas/message/attribution.md | 16 +-- content/schemas/message/blip.md | 12 +- .../schemas/message/box-collision-listener.md | 4 +- content/schemas/message/box.md | 103 +++++++------- content/schemas/message/camera-override.md | 10 +- content/schemas/message/camera.md | 28 ++-- content/schemas/message/capsule.md | 99 +++++++------- content/schemas/message/circle.md | 99 +++++++------- content/schemas/message/click-listener.md | 4 +- content/schemas/message/cone.md | 107 +++++++-------- content/schemas/message/cube.md | 103 +++++++------- content/schemas/message/cylinder.md | 105 ++++++++------- content/schemas/message/dodecahedron.md | 95 ++++++------- content/schemas/message/dynamic-body.md | 14 +- content/schemas/message/entity.md | 82 ++++++------ content/schemas/message/env-presets.md | 58 ++++---- content/schemas/message/gaussian_splatting.md | 86 ++++++------ content/schemas/message/geometry.md | 2 +- content/schemas/message/gltf-model-lod.md | 8 +- content/schemas/message/gltf-model.md | 86 ++++++------ content/schemas/message/gltf-morph.md | 4 +- content/schemas/message/goto-landmark.md | 4 +- content/schemas/message/goto-url.md | 6 +- content/schemas/message/hand.md | 30 +++-- content/schemas/message/icosahedron.md | 95 ++++++------- content/schemas/message/image.md | 99 +++++++------- content/schemas/message/impulse.md | 6 +- content/schemas/message/jitsi-video.md | 4 +- content/schemas/message/landmark.md | 14 +- content/schemas/message/light.md | 126 +++++++++--------- content/schemas/message/line.md | 34 ++--- content/schemas/message/material-extras.md | 12 +- content/schemas/message/material.md | 68 +++++----- content/schemas/message/modelUpdate.md | 2 +- content/schemas/message/multisrc.md | 4 +- content/schemas/message/obj-model.md | 95 ++++++------- content/schemas/message/ocean.md | 44 +++--- content/schemas/message/octahedron.md | 95 ++++++------- content/schemas/message/panel.md | 6 +- content/schemas/message/pcd-model.md | 84 ++++++------ content/schemas/message/plane.md | 99 +++++++------- content/schemas/message/position.md | 6 +- content/schemas/message/post-processing.md | 14 +- content/schemas/message/remote-render.md | 2 +- content/schemas/message/renderer-settings.md | 8 +- content/schemas/message/ring.md | 103 +++++++------- content/schemas/message/rotation.md | 8 +- content/schemas/message/roundedbox.md | 101 +++++++------- content/schemas/message/scale.md | 6 +- content/schemas/message/scene-options.md | 34 ++--- content/schemas/message/shadow.md | 4 +- content/schemas/message/sound.md | 22 +-- content/schemas/message/spe-particles.md | 120 ++++++++--------- content/schemas/message/sphere.md | 105 ++++++++------- content/schemas/message/static-body.md | 8 +- content/schemas/message/tetrahedron.md | 95 ++++++------- content/schemas/message/text.md | 71 +++++----- content/schemas/message/textinput.md | 8 +- content/schemas/message/thickline.md | 34 ++--- content/schemas/message/threejs-scene.md | 78 +++++------ content/schemas/message/torus.md | 101 +++++++------- content/schemas/message/torusKnot.md | 103 +++++++------- content/schemas/message/triangle.md | 97 +++++++------- content/schemas/message/urdf-model.md | 82 ++++++------ content/schemas/message/vector3.md | 6 +- content/schemas/message/video-control.md | 16 +-- content/schemas/message/videosphere.md | 79 +++++++---- 75 files changed, 1937 insertions(+), 1818 deletions(-) diff --git a/content/schemas/message/animation-mixer.md b/content/schemas/message/animation-mixer.md index 9ce1183b..b862605f 100644 --- a/content/schemas/message/animation-mixer.md +++ b/content/schemas/message/animation-mixer.md @@ -21,11 +21,11 @@ Animation Mixer Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|clampWhenFinished|boolean|```False```|If true, halts the animation at the last frame.|No| -|clip|string|```'*'```|Name of the animation clip(s) to play. Accepts wildcards.|Yes| -|crossFadeDuration|number|```0```|Duration of cross-fades between clips, in seconds.|No| -|duration|number|```0```|Duration of the animation, in seconds (0 = auto).|No| -|loop|string; One of: ```['once', 'repeat', 'pingpong']```|```'repeat'```|In repeat and pingpong modes, the clip plays once plus the specified number of repetitions. For pingpong, every second clip plays in reverse.|No| -|repetitions|string|```''```|Number of times to play the clip, in addition to the first play (empty string = Infinity). Repetitions are ignored for loop: once.|No| -|startAt|number|```0```|Sets the start of an animation to a specific time (in milliseconds). This is useful when you need to jump to an exact time in an animation. The input parameter will be scaled by the mixer's timeScale.|No| -|timeScale|number|```1```|Scaling factor for playback speed. A value of 0 causes the animation to pause. Negative values cause the animation to play backwards.|No| +|**clampWhenFinished**|boolean|```False```|If true, halts the animation at the last frame.|No| +|**clip**|string|```'*'```|Name of the animation clip(s) to play. Accepts wildcards.|Yes| +|**crossFadeDuration**|number|```0```|Duration of cross-fades between clips, in seconds.|No| +|**duration**|number|```0```|Duration of the animation, in seconds (0 = auto).|No| +|**loop**|string; One of: ```['once', 'repeat', 'pingpong']```|```'repeat'```|In repeat and pingpong modes, the clip plays once plus the specified number of repetitions. For pingpong, every second clip plays in reverse.|No| +|**repetitions**|string|```''```|Number of times to play the clip, in addition to the first play (empty string = Infinity). Repetitions are ignored for loop: once.|No| +|**startAt**|number|```0```|Sets the start of an animation to a specific time (in milliseconds). This is useful when you need to jump to an exact time in an animation. The input parameter will be scaled by the mixer's timeScale.|No| +|**timeScale**|number|```1```|Scaling factor for playback speed. A value of 0 causes the animation to pause. Negative values cause the animation to play backwards.|No| diff --git a/content/schemas/message/animation.md b/content/schemas/message/animation.md index 5e2f7438..9630b90b 100644 --- a/content/schemas/message/animation.md +++ b/content/schemas/message/animation.md @@ -21,20 +21,20 @@ Animation Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|autoplay|boolean|```True```|Whether or not the animation should autoplay. Should be specified if the animation is defined for the animation-timeline component (currently not supported).|No| -|delay|number|```0```|How long (milliseconds) to wait before starting.|No| -|dir|string; One of: ```['normal', 'alternate', 'reverse']```|```'normal'```|Which dir to go from from to to.|No| -|dur|number|```1000```|How long (milliseconds) each cycle of the animation is.|No| -|easing|string; One of: ```['easeInQuad', 'easeInCubic', 'easeInQuart', 'easeInQuint', 'easeInSine', 'easeInExpo', 'easeInCirc', 'easeInBack', 'easeInElastic', 'easeOutQuad', 'easeOutCubic', 'easeOutQuart', 'easeOutQuint', 'easeOutSine', 'easeOutExpo', 'easeOutCirc', 'easeOutBack', 'easeOutElastic', 'easeInOutQuad', 'easeInOutCubic', 'easeInOutQuart', 'easeInOutQuint', 'easeInOutSine', 'easeInOutExpo', 'easeInOutCirc', 'easeInOutBack', 'easeInOutElastic', 'linear']```|```'easeInQuad'```|Easing function of animation. To ease in, ease out, ease in and out. See easings.net for more.|No| -|elasticity|number|```400```|How much to bounce (higher is stronger).|No| -|enabled|boolean|```True```|If disabled, animation will stop and startEvents will not trigger animation start.|No| -|from|string|```''```|Initial value at start of animation. If not specified, the current property value of the entity will be used (will be sampled on each animation start). It is best to specify a from value when possible for stability.|No| -|isRawProperty|boolean|```False```|Flag to animate an arbitrary object property outside of A-Frame components for better performance. If set to true, for example, we can set property to like components.material.material.opacity. If property starts with components or object3D, this will be inferred to true.|No| -|loop|string|```'0'```|How many times the animation should repeat. If the value is true, the animation will repeat infinitely.|No| -|pauseEvents|array|```[]```|Comma-separated list of events to listen to trigger pause. Can be resumed with resumeEvents.|No| -|property|string||Property to animate. Can be a component name, a dot-delimited property of a component (e.g., material.color), or a plain attribute.|No| -|resumeEvents|array|```[]```|Comma-separated list of events to listen to trigger resume after pausing.|No| -|round|boolean|```False```|Whether to round values.|No| -|startEvents|array|```[]```|Comma-separated list of events to listen to trigger a restart and play. Animation will not autoplay if specified. startEvents will restart the animation, use pauseEvents to resume it. If there are other animation components on the entity animating the same property, those animations will be automatically paused to not conflict.|No| -|to|string|```''```|Target value at end of animation.|No| -|type|string|```''```|Right now only supports color for tweening isRawProperty color XYZ/RGB vector values.|No| +|**autoplay**|boolean|```True```|Whether or not the animation should autoplay. Should be specified if the animation is defined for the animation-timeline component (currently not supported).|No| +|**delay**|number|```0```|How long (milliseconds) to wait before starting.|No| +|**dir**|string; One of: ```['normal', 'alternate', 'reverse']```|```'normal'```|Which dir to go from from to to.|No| +|**dur**|number|```1000```|How long (milliseconds) each cycle of the animation is.|No| +|**easing**|string; One of: ```['easeInQuad', 'easeInCubic', 'easeInQuart', 'easeInQuint', 'easeInSine', 'easeInExpo', 'easeInCirc', 'easeInBack', 'easeInElastic', 'easeOutQuad', 'easeOutCubic', 'easeOutQuart', 'easeOutQuint', 'easeOutSine', 'easeOutExpo', 'easeOutCirc', 'easeOutBack', 'easeOutElastic', 'easeInOutQuad', 'easeInOutCubic', 'easeInOutQuart', 'easeInOutQuint', 'easeInOutSine', 'easeInOutExpo', 'easeInOutCirc', 'easeInOutBack', 'easeInOutElastic', 'linear']```|```'easeInQuad'```|Easing function of animation. To ease in, ease out, ease in and out. See easings.net for more.|No| +|**elasticity**|number|```400```|How much to bounce (higher is stronger).|No| +|**enabled**|boolean|```True```|If disabled, animation will stop and startEvents will not trigger animation start.|No| +|**from**|string|```''```|Initial value at start of animation. If not specified, the current property value of the entity will be used (will be sampled on each animation start). It is best to specify a from value when possible for stability.|No| +|**isRawProperty**|boolean|```False```|Flag to animate an arbitrary object property outside of A-Frame components for better performance. If set to true, for example, we can set property to like components.material.material.opacity. If property starts with components or object3D, this will be inferred to true.|No| +|**loop**|string|```'0'```|How many times the animation should repeat. If the value is true, the animation will repeat infinitely.|No| +|**pauseEvents**|array|```[]```|Comma-separated list of events to listen to trigger pause. Can be resumed with resumeEvents.|No| +|**property**|string||Property to animate. Can be a component name, a dot-delimited property of a component (e.g., material.color), or a plain attribute.|No| +|**resumeEvents**|array|```[]```|Comma-separated list of events to listen to trigger resume after pausing.|No| +|**round**|boolean|```False```|Whether to round values.|No| +|**startEvents**|array|```[]```|Comma-separated list of events to listen to trigger a restart and play. Animation will not autoplay if specified. startEvents will restart the animation, use pauseEvents to resume it. If there are other animation components on the entity animating the same property, those animations will be automatically paused to not conflict.|No| +|**to**|string|```''```|Target value at end of animation.|No| +|**type**|string|```''```|Right now only supports color for tweening isRawProperty color XYZ/RGB vector values.|No| diff --git a/content/schemas/message/arena-scene-options.md b/content/schemas/message/arena-scene-options.md index d6f88c10..8937c421 100644 --- a/content/schemas/message/arena-scene-options.md +++ b/content/schemas/message/arena-scene-options.md @@ -21,17 +21,17 @@ Scene Config Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string|```'scene-options'```|A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```scene-options```|```'scene-options'```|ARENA scene options|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|data|Scene Config data||Scene Config Data|Yes| +|**object_id**|string|```'scene-options'```|A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```scene-options```|```'scene-options'```|ARENA scene options|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**data**|Scene Config data||Scene Config Data|Yes| ### Scene Config Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|env-presets|[env-presets](env-presets)||A-Frame Environment presets.|Yes| -|renderer-settings|[renderer-settings](renderer-settings)||These settings are fed into three.js WebGLRenderer properties.|No| -|scene-options|[scene-options](scene-options)||ARENA Scene Options.|Yes| -|post-processing|[post-processing](post-processing)||These effects are enabled in desktop and XR views.|No| +|**env-presets**|[env-presets](env-presets)||A-Frame Environment presets.|Yes| +|**renderer-settings**|[renderer-settings](renderer-settings)||These settings are fed into three.js WebGLRenderer properties.|No| +|**scene-options**|[scene-options](scene-options)||ARENA Scene Options.|Yes| +|**post-processing**|[post-processing](post-processing)||These effects are enabled in desktop and XR views.|No| diff --git a/content/schemas/message/arena-user.md b/content/schemas/message/arena-user.md index 94bede1b..dfa58001 100644 --- a/content/schemas/message/arena-user.md +++ b/content/schemas/message/arena-user.md @@ -19,11 +19,11 @@ User Avatar Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|displayName|string|```''```|User display name.|Yes| -|color|string|```'white'```|The color for the user's name text.|Yes| -|headModelPath|string|```'/static/models/avatars/robobit.glb'```|Path to user avatar head model.|Yes| -|presence|string; One of: ```['Standard', 'Portal']```|```'Standard'```|Type of presence for user.|No| -|jitsiId|string|```''```|User Jitsi ID.|No| -|hasAudio|bool|```False```|Whether the user has audio on.|No| -|hasVideo|bool|```False```|Whether the user has video on.|No| -|hasAvatar|bool|```False```|Whether the user has facial feature capture on.|No| +|**displayName**|string|```''```|User display name.|Yes| +|**color**|string|```'white'```|The color for the user's name text.|Yes| +|**headModelPath**|string|```'/static/models/avatars/robobit.glb'```|Path to user avatar head model.|Yes| +|**presence**|string; One of: ```['Standard', 'Portal']```|```'Standard'```|Type of presence for user.|No| +|**jitsiId**|string|```''```|User Jitsi ID.|No| +|**hasAudio**|bool|```False```|Whether the user has audio on.|No| +|**hasVideo**|bool|```False```|Whether the user has video on.|No| +|**hasAvatar**|bool|```False```|Whether the user has facial feature capture on.|No| diff --git a/content/schemas/message/arenaui-button-panel.md b/content/schemas/message/arenaui-button-panel.md index ee235148..1804c1a4 100644 --- a/content/schemas/message/arenaui-button-panel.md +++ b/content/schemas/message/arenaui-button-panel.md @@ -21,52 +21,54 @@ ARENAUI Button Panel Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|ARENAUI Button Panel data||Button Panel Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|ARENAUI Button Panel data||Button Panel Data|Yes| ### ARENAUI Button Panel Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```arenaui-button-panel```|```arenaui-button-panel```|3D object type.|Yes| -|buttons|array|```[{'name': 'Option 1'}, {'name': 'Option 2'}]```|Buttons|Yes| -|title|string|```''```|Title to display above buttons (optional).|Yes| -|vertical|boolean|```False```|Vertical button layout|Yes| -|font|string; One of: ```['Roboto', 'Roboto-Mono']```|```'Roboto'```|Font to use for button text.|No| -|theme|string; One of: ```['light', 'dark']```|```'light'```|Color Theme|No| -|materialSides|string; One of: ```['both', 'front']```|```'both'```|Which sides display the rendered UI material|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```arenaui-button-panel```|```arenaui-button-panel```|3D object type.|Yes| +|**buttons**|array|```[{'name': 'Option 1'}, {'name': 'Option 2'}]```|Buttons|Yes| +|**title**|string|```''```|Title to display above buttons (optional).|Yes| +|**vertical**|boolean|```False```|Vertical button layout|Yes| +|**font**|string; One of: ```['Roboto', 'Roboto-Mono']```|```'Roboto'```|Font to use for button text.|No| +|**theme**|string; One of: ```['light', 'dark']```|```'light'```|Color Theme|No| +|**materialSides**|string; One of: ```['both', 'front']```|```'both'```|Which sides display the rendered UI material|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/arenaui-card.md b/content/schemas/message/arenaui-card.md index 3e64f53e..cc1d8e00 100644 --- a/content/schemas/message/arenaui-card.md +++ b/content/schemas/message/arenaui-card.md @@ -21,60 +21,62 @@ ARENAUI Card Panel Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|ARENAUI Card Panel data||Card Panel Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|ARENAUI Card Panel data||Card Panel Data|Yes| ### ARENAUI Card Panel Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```arenaui-card```|```arenaui-card```|3D object type.|Yes| -|title|string|```''```|Title|Yes| -|body|string|```''```|This is the text body of the card.|Yes| -|bodyAlign|string; One of: ```['left', 'center', 'right', 'justify']```|```'left'```|Body Text Alignment|No| -|img|string|```''```|This image will be embedded alongside the body text.|No| -|imgCaption|string|```''```|This will caption the image.|No| -|imgDirection|string; One of: ```['left', 'right']```|```'right'```|Image Direction|No| -|imgSize|string; One of: ```['cover', 'contain', 'stretch']```|```'cover'```|Image sizing|No| -|textImageRatio|number|```0.5```|Text to Image Width Ratio|No| -|fontSize|number|```0.035```|Font Size|No| -|widthScale|number|```1```|Width scale multiplier|No| -|closeButton|boolean|```False```|Show close button|No| -|font|string; One of: ```['Roboto', 'Roboto-Mono']```|```'Roboto'```|Font to use for button text.|No| -|theme|string; One of: ```['light', 'dark']```|```'light'```|Color Theme|No| -|materialSides|string; One of: ```['both', 'front']```|```'both'```|Which sides display the rendered UI material|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```arenaui-card```|```arenaui-card```|3D object type.|Yes| +|**title**|string|```''```|Title|Yes| +|**body**|string|```''```|This is the text body of the card.|Yes| +|**bodyAlign**|string; One of: ```['left', 'center', 'right', 'justify']```|```'left'```|Body Text Alignment|No| +|**img**|string|```''```|This image will be embedded alongside the body text.|No| +|**imgCaption**|string|```''```|This will caption the image.|No| +|**imgDirection**|string; One of: ```['left', 'right']```|```'right'```|Image Direction|No| +|**imgSize**|string; One of: ```['cover', 'contain', 'stretch']```|```'cover'```|Image sizing|No| +|**textImageRatio**|number|```0.5```|Text to Image Width Ratio|No| +|**fontSize**|number|```0.035```|Font Size|No| +|**widthScale**|number|```1```|Width scale multiplier|No| +|**closeButton**|boolean|```False```|Show close button|No| +|**font**|string; One of: ```['Roboto', 'Roboto-Mono']```|```'Roboto'```|Font to use for button text.|No| +|**theme**|string; One of: ```['light', 'dark']```|```'light'```|Color Theme|No| +|**materialSides**|string; One of: ```['both', 'front']```|```'both'```|Which sides display the rendered UI material|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/arenaui-prompt.md b/content/schemas/message/arenaui-prompt.md index c79e0523..b74d393e 100644 --- a/content/schemas/message/arenaui-prompt.md +++ b/content/schemas/message/arenaui-prompt.md @@ -21,53 +21,55 @@ ARENAUI Prompt Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|ARENAUI Prompt data||Prompt Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|ARENAUI Prompt data||Prompt Data|Yes| ### ARENAUI Prompt Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```arenaui-prompt```|```arenaui-prompt```|3D object type.|Yes| -|title|string|```'Prompt'```|Title|Yes| -|description|string|```'This is a prompt. Please confirm or cancel.'```|Description|No| -|buttons|array|```['Confirm', 'Cancel']```|Buttons|Yes| -|width|number|```1.5```|Override width|Yes| -|font|string; One of: ```['Roboto', 'Roboto-Mono']```|```'Roboto'```|Font to use for button text.|No| -|theme|string; One of: ```['light', 'dark']```|```'light'```|Color Theme|No| -|materialSides|string; One of: ```['both', 'front']```|```'both'```|Which sides display the rendered UI material|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```arenaui-prompt```|```arenaui-prompt```|3D object type.|Yes| +|**title**|string|```'Prompt'```|Title|Yes| +|**description**|string|```'This is a prompt. Please confirm or cancel.'```|Description|No| +|**buttons**|array|```['Confirm', 'Cancel']```|Buttons|Yes| +|**width**|number|```1.5```|Override width|Yes| +|**font**|string; One of: ```['Roboto', 'Roboto-Mono']```|```'Roboto'```|Font to use for button text.|No| +|**theme**|string; One of: ```['light', 'dark']```|```'light'```|Color Theme|No| +|**materialSides**|string; One of: ```['both', 'front']```|```'both'```|Which sides display the rendered UI material|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/armarker.md b/content/schemas/message/armarker.md index d93db213..5c50c1af 100644 --- a/content/schemas/message/armarker.md +++ b/content/schemas/message/armarker.md @@ -19,13 +19,13 @@ ARMarker Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|publish|boolean|```False```|Publish detections. Send detections to external agents (e.g. external builder script that places new markers in the scene). If dynamic=true and publish=true, object position is not updated (left up to external agent).|No| -|buildable|boolean|```False```|Whether tag has 'dynamic' toggled on click. Used to position a tag, then lock into position.|Yes| -|dynamic|boolean|```False```|Dynamic tag, not used for localization. E.g., to move object to which this ARMarker component is attached to. Requires permissions to update the scene (if dynamic=true).|Yes| -|ele|number|```0```|Tag elevation in meters.|No| -|lat|number|```0```|Tag latitude.|No| -|long|number|```0```|Tag longitude.|No| -|markerid|string|```'0'```|The marker id (e.g. for AprilTag 36h11 family, an integer in the range [0, 586]).|Yes| -|markertype|string; One of: ```['apriltag_36h11', 'lightanchor', 'uwb', 'vive', 'optitrack']```|```'apriltag_36h11'```|The marker type, technology-based.|Yes| -|size|number|```150```|Tag size in millimeters.|Yes| -|url|string|```''```|URL associated with the tag.|No| +|**publish**|boolean|```False```|Publish detections. Send detections to external agents (e.g. external builder script that places new markers in the scene). If dynamic=true and publish=true, object position is not updated (left up to external agent).|No| +|**buildable**|boolean|```False```|Whether tag has 'dynamic' toggled on click. Used to position a tag, then lock into position.|Yes| +|**dynamic**|boolean|```False```|Dynamic tag, not used for localization. E.g., to move object to which this ARMarker component is attached to. Requires permissions to update the scene (if dynamic=true).|Yes| +|**ele**|number|```0```|Tag elevation in meters.|No| +|**lat**|number|```0```|Tag latitude.|No| +|**long**|number|```0```|Tag longitude.|No| +|**markerid**|string|```'0'```|The marker id (e.g. for AprilTag 36h11 family, an integer in the range [0, 586]).|Yes| +|**markertype**|string; One of: ```['apriltag_36h11', 'lightanchor', 'uwb', 'vive', 'optitrack']```|```'apriltag_36h11'```|The marker type, technology-based.|Yes| +|**size**|number|```150```|Tag size in millimeters.|Yes| +|**url**|string|```''```|URL associated with the tag.|No| diff --git a/content/schemas/message/attribution.md b/content/schemas/message/attribution.md index 8485ea7c..a1e9e3f9 100644 --- a/content/schemas/message/attribution.md +++ b/content/schemas/message/attribution.md @@ -19,11 +19,11 @@ Attribution Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|author|string|```'Unknown'```|Author name; e.g. 'Vaptor-Studio'.|No| -|authorURL|string||Author homepage/profile; e.g. https://sketchfab.com/VapTor.|No| -|license|string|```'Unknown'```|License summary/short name; e.g. 'CC-BY-4.0'.|No| -|licenseURL|string||License URL; e.g. http://creativecommons.org/licenses/by/4.0/.|No| -|source|string|```'Unknown'```|Model source e.g. 'Sketchfab'.|No| -|sourceURL|string||Model source URL; e.g. https://sketchfab.com/models/2135501583704537907645bf723685e7.|No| -|title|string|```'No Title'```|Model title; e.g. 'Spinosaurus'.|No| -|extractAssetExtras|boolean|```True```|Extract attribution info from asset extras; will override attribution info given (default: true).|No| +|**author**|string|```'Unknown'```|Author name; e.g. 'Vaptor-Studio'.|No| +|**authorURL**|string||Author homepage/profile; e.g. https://sketchfab.com/VapTor.|No| +|**license**|string|```'Unknown'```|License summary/short name; e.g. 'CC-BY-4.0'.|No| +|**licenseURL**|string||License URL; e.g. http://creativecommons.org/licenses/by/4.0/.|No| +|**source**|string|```'Unknown'```|Model source e.g. 'Sketchfab'.|No| +|**sourceURL**|string||Model source URL; e.g. https://sketchfab.com/models/2135501583704537907645bf723685e7.|No| +|**title**|string|```'No Title'```|Model title; e.g. 'Spinosaurus'.|No| +|**extractAssetExtras**|boolean|```True```|Extract attribution info from asset extras; will override attribution info given (default: true).|No| diff --git a/content/schemas/message/blip.md b/content/schemas/message/blip.md index 4c8f76bd..2c50e4d2 100644 --- a/content/schemas/message/blip.md +++ b/content/schemas/message/blip.md @@ -19,9 +19,9 @@ Blip Effect Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|blipin|boolean|```True```|Animate in on create, set false to disable.|Yes| -|blipout|boolean|```True```|Animate out on delete, set false to disable.|Yes| -|geometry|string; One of: ```['rect', 'disk', 'ring']```|```'rect'```|Geometry of the blipout plane.|Yes| -|planes|string; One of: ```['both', 'top', 'bottom']```|```'both'```|Which which clipping planes to use for effect. A top plane clips above it, bottom clips below it.|Yes| -|duration|number|```750```|Animation duration in milliseconds.|Yes| -|applyDescendants|boolean|```False```|Apply blipout effect to include all descendents. Does not work for blipin.|No| +|**blipin**|boolean|```True```|Animate in on create, set false to disable.|Yes| +|**blipout**|boolean|```True```|Animate out on delete, set false to disable.|Yes| +|**geometry**|string; One of: ```['rect', 'disk', 'ring']```|```'rect'```|Geometry of the blipout plane.|Yes| +|**planes**|string; One of: ```['both', 'top', 'bottom']```|```'both'```|Which which clipping planes to use for effect. A top plane clips above it, bottom clips below it.|Yes| +|**duration**|number|```750```|Animation duration in milliseconds.|Yes| +|**applyDescendants**|boolean|```False```|Apply blipout effect to include all descendents. Does not work for blipin.|No| diff --git a/content/schemas/message/box-collision-listener.md b/content/schemas/message/box-collision-listener.md index 6e69daca..12326d18 100644 --- a/content/schemas/message/box-collision-listener.md +++ b/content/schemas/message/box-collision-listener.md @@ -19,5 +19,5 @@ Box Collision Listener Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|enabled|boolean|```True```|Publish detections, set `false` to disable.|No| -|dynamic|boolean|```False```|Set true for a moving object, which should have its bounding box recalculated regularly to determine proper collision.|Yes| +|**enabled**|boolean|```True```|Publish detections, set `false` to disable.|No| +|**dynamic**|boolean|```False```|Set true for a moving object, which should have its bounding box recalculated regularly to determine proper collision.|Yes| diff --git a/content/schemas/message/box.md b/content/schemas/message/box.md index 923e364c..8d5f3dff 100644 --- a/content/schemas/message/box.md +++ b/content/schemas/message/box.md @@ -21,58 +21,61 @@ Box Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Box data||Box Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Box data||Box Data|Yes| ### Box Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```box```|```box```|3D object type.|Yes| -|depth|number|```1```|depth|Yes| -|height|number|```1```|height|Yes| -|segmentsDepth|integer|```1```|segments depth|No| -|segmentsHeight|integer|```1```|segments height|No| -|segmentsWidth|integer|```1```|segments width|No| -|width|number|```1```|width|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```box```|```box```|3D object type.|Yes| +|**depth**|number|```1```|depth|Yes| +|**height**|number|```1```|height|Yes| +|**segmentsDepth**|integer|```1```|segments depth|No| +|**segmentsHeight**|integer|```1```|segments height|No| +|**segmentsWidth**|integer|```1```|segments width|No| +|**width**|number|```1```|width|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/camera-override.md b/content/schemas/message/camera-override.md index eb8dc0d8..919ebb52 100644 --- a/content/schemas/message/camera-override.md +++ b/content/schemas/message/camera-override.md @@ -21,10 +21,10 @@ Camera Override Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||Object identifier; Must be a valid camera ID.|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'update'```|Message action create, update, delete.|Yes| -|persist|boolean|```False```|Persist this object in the database.|Yes| -|type|string; Must be: ```camera-override```|```'camera-override'```|ARENA camera override data|Yes| -|data|[camera-override](camera-override)||Object data payload; Camera Override config data.|Yes| +|**object_id**|string||Object identifier; Must be a valid camera ID.|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'update'```|Message action create, update, delete.|Yes| +|**persist**|boolean|```False```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```camera-override```|```'camera-override'```|ARENA camera override data|Yes| +|**data**|[camera-override](camera-override)||Object data payload; Camera Override config data.|Yes| ### Camera Override Data Attributes diff --git a/content/schemas/message/camera.md b/content/schemas/message/camera.md index d18ac648..63352672 100644 --- a/content/schemas/message/camera.md +++ b/content/schemas/message/camera.md @@ -21,21 +21,23 @@ Camera Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Camera data||Camera Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Camera data||Camera Data|Yes| ### Camera Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```camera```|```camera```|3D object type.|Yes| -|arena-user|[arena-user](arena-user)||Another user's camera in the ARENA. Handles Jitsi and display name updates.|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**object_type**|string; Must be: ```camera```|```camera```|3D object type.|Yes| +|**arena-user**|[arena-user](arena-user)||Another user's camera in the ARENA. Handles Jitsi and display name updates.|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| diff --git a/content/schemas/message/capsule.md b/content/schemas/message/capsule.md index 801085a3..8d41f41e 100644 --- a/content/schemas/message/capsule.md +++ b/content/schemas/message/capsule.md @@ -21,56 +21,59 @@ Capsule Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Capsule data||Capsule Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Capsule data||Capsule Data|Yes| ### Capsule Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```capsule```|```capsule```|3D object type.|Yes| -|length|number|```1```|length|Yes| -|radius|number|```1```|radius|Yes| -|segmentsCap|integer|```18```|segments capsule|No| -|segmentsRadial|integer|```36```|segments radial|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```capsule```|```capsule```|3D object type.|Yes| +|**length**|number|```1```|length|Yes| +|**radius**|number|```1```|radius|Yes| +|**segmentsCap**|integer|```18```|segments capsule|No| +|**segmentsRadial**|integer|```36```|segments radial|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/circle.md b/content/schemas/message/circle.md index c953c701..bde74aa5 100644 --- a/content/schemas/message/circle.md +++ b/content/schemas/message/circle.md @@ -21,56 +21,59 @@ Circle Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Circle data||Circle Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Circle data||Circle Data|Yes| ### Circle Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```circle```|```circle```|3D object type.|Yes| -|radius|number|```1```|radius|Yes| -|segments|integer|```32```|segments|No| -|thetaLength|number|```360```|theta length|No| -|thetaStart|number|```0```|theta start|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```circle```|```circle```|3D object type.|Yes| +|**radius**|number|```1```|radius|Yes| +|**segments**|integer|```32```|segments|No| +|**thetaLength**|number|```360```|theta length|No| +|**thetaStart**|number|```0```|theta start|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/click-listener.md b/content/schemas/message/click-listener.md index 01ff6c72..34c4de86 100644 --- a/content/schemas/message/click-listener.md +++ b/content/schemas/message/click-listener.md @@ -19,5 +19,5 @@ Click Listener Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|enabled|boolean|```True```|Publish events, set false to disable.|Yes| -|bubble|boolean|```True```|Set false to prevent click events from bubbling up to parent objects. See Event Bubbling.|Yes| +|**enabled**|boolean|```True```|Publish events, set false to disable.|Yes| +|**bubble**|boolean|```True```|Set false to prevent click events from bubbling up to parent objects. See Event Bubbling.|Yes| diff --git a/content/schemas/message/cone.md b/content/schemas/message/cone.md index 123f06bb..ca2850d3 100644 --- a/content/schemas/message/cone.md +++ b/content/schemas/message/cone.md @@ -21,60 +21,63 @@ Cone Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Cone data||Cone Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Cone data||Cone Data|Yes| ### Cone Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```cone```|```cone```|3D object type.|Yes| -|height|number|```1```|height|Yes| -|openEnded|boolean|```False```|open ended|No| -|radiusBottom|number|```1```|radius bottom|Yes| -|radiusTop|number|```0.01```|radius top|Yes| -|segmentsHeight|integer|```18```|segments height|No| -|segmentsRadial|integer|```36```|segments radial|No| -|thetaLength|number|```360```|theta length|No| -|thetaStart|number|```0```|theta start|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```cone```|```cone```|3D object type.|Yes| +|**height**|number|```1```|height|Yes| +|**openEnded**|boolean|```False```|open ended|No| +|**radiusBottom**|number|```1```|radius bottom|Yes| +|**radiusTop**|number|```0.01```|radius top|Yes| +|**segmentsHeight**|integer|```18```|segments height|No| +|**segmentsRadial**|integer|```36```|segments radial|No| +|**thetaLength**|number|```360```|theta length|No| +|**thetaStart**|number|```0```|theta start|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/cube.md b/content/schemas/message/cube.md index 73a2b7fc..94f29479 100644 --- a/content/schemas/message/cube.md +++ b/content/schemas/message/cube.md @@ -21,58 +21,61 @@ Cube (deprecated; don't use) Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Cube (deprecated; don't use) data||Cube (deprecated; don't use) Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Cube (deprecated; don't use) data||Cube (deprecated; don't use) Data|Yes| ### Cube (deprecated; don't use) Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```cube```|```cube```|3D object type.|Yes| -|depth|number|```1```|depth|Yes| -|height|number|```1```|height|Yes| -|segmentsDepth|integer|```1```|segments depth|No| -|segmentsHeight|integer|```1```|segments height|No| -|segmentsWidth|integer|```1```|segments width|No| -|width|number|```1```|width|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|~~**object_type**~~|~~string; Must be: ```cube```~~|~~```cube```~~|~~3D object type.~~|~~Yes~~| +|~~**depth**~~|~~number~~|~~```1```~~|~~depth~~|~~Yes~~| +|~~**height**~~|~~number~~|~~```1```~~|~~height~~|~~Yes~~| +|~~**segmentsDepth**~~|~~integer~~|~~```1```~~|~~segments depth~~|~~No~~| +|~~**segmentsHeight**~~|~~integer~~|~~```1```~~|~~segments height~~|~~No~~| +|~~**segmentsWidth**~~|~~integer~~|~~```1```~~|~~segments width~~|~~No~~| +|~~**width**~~|~~number~~|~~```1```~~|~~width~~|~~Yes~~| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/cylinder.md b/content/schemas/message/cylinder.md index b75a9d70..68d3ee9d 100644 --- a/content/schemas/message/cylinder.md +++ b/content/schemas/message/cylinder.md @@ -21,59 +21,62 @@ Cylinder Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Cylinder data||Cylinder Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Cylinder data||Cylinder Data|Yes| ### Cylinder Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```cylinder```|```cylinder```|3D object type.|Yes| -|height|number|```1```|height|Yes| -|openEnded|boolean|```False```|open ended|No| -|radius|number|```1```|radius|Yes| -|segmentsHeight|integer|```18```|segments height|No| -|segmentsRadial|integer|```36```|segments radial|No| -|thetaLength|number|```360```|theta length|No| -|thetaStart|number|```0```|theta start|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```cylinder```|```cylinder```|3D object type.|Yes| +|**height**|number|```1```|height|Yes| +|**openEnded**|boolean|```False```|open ended|No| +|**radius**|number|```1```|radius|Yes| +|**segmentsHeight**|integer|```18```|segments height|No| +|**segmentsRadial**|integer|```36```|segments radial|No| +|**thetaLength**|number|```360```|theta length|No| +|**thetaStart**|number|```0```|theta start|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/dodecahedron.md b/content/schemas/message/dodecahedron.md index 5821cc9e..6b5265a0 100644 --- a/content/schemas/message/dodecahedron.md +++ b/content/schemas/message/dodecahedron.md @@ -21,54 +21,57 @@ Dodecahedron Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Dodecahedron data||Dodecahedron Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Dodecahedron data||Dodecahedron Data|Yes| ### Dodecahedron Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```dodecahedron```|```dodecahedron```|3D object type.|Yes| -|detail|integer|```0```|detail|No| -|radius|number|```1```|radius|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```dodecahedron```|```dodecahedron```|3D object type.|Yes| +|**detail**|integer|```0```|detail|No| +|**radius**|number|```1```|radius|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/dynamic-body.md b/content/schemas/message/dynamic-body.md index 2ff81c41..d1be4d34 100644 --- a/content/schemas/message/dynamic-body.md +++ b/content/schemas/message/dynamic-body.md @@ -21,10 +21,10 @@ Physics Dynamic Body Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|mass|number|```5```|Simulated mass of the object, > 0.|No| -|linearDamping|number|```0.01```|Resistance to movement.|No| -|angularDamping|number|```0.01```|Resistance to rotation.|No| -|shape|string; One of: ```['auto', 'box', 'cylinder', 'sphere', 'hull', 'none']```|```'auto'```|Body components will attempt to find an appropriate CANNON.js shape to fit your model. When defining an object you may choose a shape or leave the default, auto. Select a shape carefully, as there are performance implications with different choices.|No| -|cylinderAxis|string; One of: ```['x', 'y', 'z']```|```'y'```|Override default axis of bounding cylinder. Requires shape:cylinder.|No| -|sphereRadius|number||Override default radius of bounding sphere. Requires shape:sphere. NaN by default.|No| -|type|string; One of: ```['dynamic', 'static']```|```'dynamic'```|Define the result of collisions. Dynamic can be moved, Static cannot be moved.|No| +|**mass**|number|```5```|Simulated mass of the object, > 0.|No| +|**linearDamping**|number|```0.01```|Resistance to movement.|No| +|**angularDamping**|number|```0.01```|Resistance to rotation.|No| +|**shape**|string; One of: ```['auto', 'box', 'cylinder', 'sphere', 'hull', 'none']```|```'auto'```|Body components will attempt to find an appropriate CANNON.js shape to fit your model. When defining an object you may choose a shape or leave the default, auto. Select a shape carefully, as there are performance implications with different choices.|No| +|**cylinderAxis**|string; One of: ```['x', 'y', 'z']```|```'y'```|Override default axis of bounding cylinder. Requires shape:cylinder.|No| +|**sphereRadius**|number||Override default radius of bounding sphere. Requires shape:sphere. NaN by default.|No| +|**type**|string; One of: ```['dynamic', 'static']```|```'dynamic'```|Define the result of collisions. Dynamic can be moved, Static cannot be moved.|No| diff --git a/content/schemas/message/entity.md b/content/schemas/message/entity.md index 1c559191..eee884ec 100644 --- a/content/schemas/message/entity.md +++ b/content/schemas/message/entity.md @@ -21,48 +21,50 @@ Entity (generic object) Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Entity (generic object) data||Entity (generic object) Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Entity (generic object) data||Entity (generic object) Data|Yes| ### Entity (generic object) Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```entity```|```entity```|3D object type.|Yes| -|geometry|[geometry](geometry)||The primitive mesh geometry.|No| -|panel|[panel](panel)||The rounded UI panel primitive.|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```entity```|```entity```|3D object type.|Yes| +|**geometry**|[geometry](geometry)||The primitive mesh geometry.|No| +|**panel**|[panel](panel)||The rounded UI panel primitive.|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/env-presets.md b/content/schemas/message/env-presets.md index 0e3f5656..46f5a072 100644 --- a/content/schemas/message/env-presets.md +++ b/content/schemas/message/env-presets.md @@ -21,32 +21,32 @@ Environment Presets Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|active|boolean|```True```|Shows or hides the environment presets component. Use this instead of using the visible attribute.|Yes| -|dressing|string; One of: ```['apparatus', 'arches', 'cubes', 'cylinders', 'hexagons', 'mushrooms', 'none', 'pyramids', 'stones', 'torii', 'towers', 'trees']```|```'none'```|Dressing is the term we use here for the set of additional objects that are put on the ground for decoration.|No| -|dressingAmount|integer|```10```|Number of objects used for dressing.|No| -|dressingColor|string|```'#795449'```|Base color of dressing objects.|No| -|dressingOnPlayArea|number|```0```|Amount of dressing on play area.|No| -|dressingScale|number|```5```|Height (in meters) of dressing objects.|No| -|dressingUniformScale|boolean|```True```|If false, a different value is used for each coordinate x, y, z in the random variance of size.|No| -|dressingVariance|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|Maximum x,y,z meters to randomize the size and rotation of each dressing object. Use 0 0 0 for no variation in size nor rotation.|No| -|flatShading|boolean|```False```|Whether to show everything smoothed (false) or polygonal (true).|No| -|fog|number|```0```|Amount of fog (0 = none, 1 = full fog). The color is estimated automatically.|No| -|grid|string; One of: ```['1x1', '2x2', 'crosses', 'dots', 'none', 'xlines', 'ylines']```|```'none'```|1x1 and 2x2 are rectangular grids of 1 and 2 meters side, respectively.|No| -|gridColor|string|```'#ccc'```|Color of the grid.|No| -|ground|string; One of: ```['canyon', 'flat', 'hills', 'noise', 'none', 'spikes']```|```'hills'```|Orography style.|No| -|groundColor|string|```'#553e35'```|Main color of the ground.|No| -|groundColor2|string|```'#694439'```|Secondary color of the ground. Used for textures, ignored if groundTexture is none.|No| -|groundScale|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|Ground dimensions (in meters).|No| -|groundTexture|string; One of: ```['checkerboard', 'none', 'squares', 'walkernoise']```|```'none'```|Texture applied to the ground.|No| -|groundYScale|number|```3```|Maximum height (in meters) of ground's features (hills, mountains, peaks..).|No| -|hideInAR|boolean|```True```|If true, hide the environment when entering AR.|No| -|horizonColor|string|```'#ffa500'```|Horizon Color|No| -|lighting|string; One of: ```['distant', 'none', 'point']```|```'distant'```|A hemisphere light and a key light (directional or point) are added to the scene automatically when using the component. Use none if you don't want this automatic lighting set being added. The color and intensity are estimated automatically.|No| -|lightPosition|[vector3](vector3)|```{'x': 0, 'y': 1, 'z': -0.2}```|Position of the main light. If skyType is atmospheric, only the orientation matters (is a directional light) and it can turn the scene into night when lowered towards the horizon.|No| -|playArea|number|```1```|Radius of the area in the center reserved for the player and the gameplay. The ground is flat in there and no objects are placed inside.|No| -|preset|string; One of: ```['arches', 'checkerboard', 'contact', 'default', 'dream', 'egypt', 'forest', 'goaland', 'goldmine', 'japan', 'none', 'osiris', 'poison', 'starry', 'threetowers', 'tron', 'volcano', 'yavapai']```|```'default'```|An A-frame preset environment.|Yes| -|seed|integer|```1```|Seed for randomization. If you don't like the layout of the elements, try another value for the seed.|No| -|shadow|boolean|```False```|Shadows on/off. Sky light casts shadows on the ground of all those objects with shadow component applied.|No| -|shadowSize|number|```10```|Size of the shadow, if applied.|No| -|skyColor|string|```'#ffa500'```|Sky Color|No| -|skyType|string; One of: ```['atmosphere', 'color', 'gradient', 'none']```|```'color'```|A sky type.|No| +|**active**|boolean|```True```|Shows or hides the environment presets component. Use this instead of using the visible attribute.|Yes| +|**dressing**|string; One of: ```['apparatus', 'arches', 'cubes', 'cylinders', 'hexagons', 'mushrooms', 'none', 'pyramids', 'stones', 'torii', 'towers', 'trees']```|```'none'```|Dressing is the term we use here for the set of additional objects that are put on the ground for decoration.|No| +|**dressingAmount**|integer|```10```|Number of objects used for dressing.|No| +|**dressingColor**|string|```'#795449'```|Base color of dressing objects.|No| +|**dressingOnPlayArea**|number|```0```|Amount of dressing on play area.|No| +|**dressingScale**|number|```5```|Height (in meters) of dressing objects.|No| +|**dressingUniformScale**|boolean|```True```|If false, a different value is used for each coordinate x, y, z in the random variance of size.|No| +|**dressingVariance**|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|Maximum x,y,z meters to randomize the size and rotation of each dressing object. Use 0 0 0 for no variation in size nor rotation.|No| +|**flatShading**|boolean|```False```|Whether to show everything smoothed (false) or polygonal (true).|No| +|**fog**|number|```0```|Amount of fog (0 = none, 1 = full fog). The color is estimated automatically.|No| +|**grid**|string; One of: ```['1x1', '2x2', 'crosses', 'dots', 'none', 'xlines', 'ylines']```|```'none'```|1x1 and 2x2 are rectangular grids of 1 and 2 meters side, respectively.|No| +|**gridColor**|string|```'#ccc'```|Color of the grid.|No| +|**ground**|string; One of: ```['canyon', 'flat', 'hills', 'noise', 'none', 'spikes']```|```'hills'```|Orography style.|No| +|**groundColor**|string|```'#553e35'```|Main color of the ground.|No| +|**groundColor2**|string|```'#694439'```|Secondary color of the ground. Used for textures, ignored if groundTexture is none.|No| +|**groundScale**|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|Ground dimensions (in meters).|No| +|**groundTexture**|string; One of: ```['checkerboard', 'none', 'squares', 'walkernoise']```|```'none'```|Texture applied to the ground.|No| +|**groundYScale**|number|```3```|Maximum height (in meters) of ground's features (hills, mountains, peaks..).|No| +|**hideInAR**|boolean|```True```|If true, hide the environment when entering AR.|No| +|**horizonColor**|string|```'#ffa500'```|Horizon Color|No| +|**lighting**|string; One of: ```['distant', 'none', 'point']```|```'distant'```|A hemisphere light and a key light (directional or point) are added to the scene automatically when using the component. Use none if you don't want this automatic lighting set being added. The color and intensity are estimated automatically.|No| +|**lightPosition**|[vector3](vector3)|```{'x': 0, 'y': 1, 'z': -0.2}```|Position of the main light. If skyType is atmospheric, only the orientation matters (is a directional light) and it can turn the scene into night when lowered towards the horizon.|No| +|**playArea**|number|```1```|Radius of the area in the center reserved for the player and the gameplay. The ground is flat in there and no objects are placed inside.|No| +|**preset**|string; One of: ```['arches', 'checkerboard', 'contact', 'default', 'dream', 'egypt', 'forest', 'goaland', 'goldmine', 'japan', 'none', 'osiris', 'poison', 'starry', 'threetowers', 'tron', 'volcano', 'yavapai']```|```'default'```|An A-frame preset environment.|Yes| +|**seed**|integer|```1```|Seed for randomization. If you don't like the layout of the elements, try another value for the seed.|No| +|**shadow**|boolean|```False```|Shadows on/off. Sky light casts shadows on the ground of all those objects with shadow component applied.|No| +|**shadowSize**|number|```10```|Size of the shadow, if applied.|No| +|**skyColor**|string|```'#ffa500'```|Sky Color|No| +|**skyType**|string; One of: ```['atmosphere', 'color', 'gradient', 'none']```|```'color'```|A sky type.|No| diff --git a/content/schemas/message/gaussian_splatting.md b/content/schemas/message/gaussian_splatting.md index 0820513f..dcbb96ae 100644 --- a/content/schemas/message/gaussian_splatting.md +++ b/content/schemas/message/gaussian_splatting.md @@ -23,50 +23,52 @@ All wire objects have a set of basic attributes ```{object_id, action, type, per |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|3D Gaussian Splat data||3D Gaussian Splat|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|3D Gaussian Splat data||3D Gaussian Splat|Yes| ### 3D Gaussian Splat Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```gaussian_splatting```|```gaussian_splatting```|3D object type.|Yes| -|src|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| -|cutoutEntity|string|```''```|Selector to a box primitive that uses scale and position to define the bounds of splat points to render.|No| -|pixelRatio|number|```1.0```|Pixel ratio for rendering. Reducing the value decreases the resolution and improves performance. If a negative value is set, the device's native value will be applied.|No| -|xrPixelRatio|number|```0.5```|Same as pixelRatio. Applied to XR devices.|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|Yes| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```gaussian_splatting```|```gaussian_splatting```|3D object type.|Yes| +|**src**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| +|**cutoutEntity**|string|```''```|Selector to a box primitive that uses scale and position to define the bounds of splat points to render.|No| +|**pixelRatio**|number|```1.0```|Pixel ratio for rendering. Reducing the value decreases the resolution and improves performance. If a negative value is set, the device's native value will be applied.|No| +|**xrPixelRatio**|number|```0.5```|Same as pixelRatio. Applied to XR devices.|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|Yes| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/geometry.md b/content/schemas/message/geometry.md index f1a6bc35..f46f6643 100644 --- a/content/schemas/message/geometry.md +++ b/content/schemas/message/geometry.md @@ -19,4 +19,4 @@ Geometry Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|primitive|string; One of: ```['box', 'capsule', 'circle', 'cone', 'cylinder', 'dodecahedron', 'icosahedron', 'octahedron', 'plane', 'ring', 'roundedbox', 'sphere', 'tetrahedron', 'torus', 'torusKnot', 'triangle']```|```'box'```|The geometry primitive.|Yes| +|**primitive**|string; One of: ```['box', 'capsule', 'circle', 'cone', 'cylinder', 'dodecahedron', 'icosahedron', 'octahedron', 'plane', 'ring', 'roundedbox', 'sphere', 'tetrahedron', 'torus', 'torusKnot', 'triangle']```|```'box'```|The geometry primitive.|Yes| diff --git a/content/schemas/message/gltf-model-lod.md b/content/schemas/message/gltf-model-lod.md index ff09588c..ab84126c 100644 --- a/content/schemas/message/gltf-model-lod.md +++ b/content/schemas/message/gltf-model-lod.md @@ -19,7 +19,7 @@ GLTF Model Level of Detail Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|detailedUrl|string|```''```|Alternative 'detailed' gltf model to load by URL.|Yes| -|detailedDistance|number|```10```|At what distance to switch between the models.|Yes| -|updateRate|number|```333```|How often user camera is checked for LOD (default 333ms).|Yes| -|retainCache|boolean|```False```|Whether to skip freeing the detailed model from browser cache (default false).|Yes| +|**detailedUrl**|string|```''```|Alternative 'detailed' gltf model to load by URL.|Yes| +|**detailedDistance**|number|```10```|At what distance to switch between the models.|Yes| +|**updateRate**|number|```333```|How often user camera is checked for LOD (default 333ms).|Yes| +|**retainCache**|boolean|```False```|Whether to skip freeing the detailed model from browser cache (default false).|Yes| diff --git a/content/schemas/message/gltf-model.md b/content/schemas/message/gltf-model.md index 6a81db26..5052549d 100644 --- a/content/schemas/message/gltf-model.md +++ b/content/schemas/message/gltf-model.md @@ -23,50 +23,52 @@ GLTF Model Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|GLTF Model data||GLTF Model Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|GLTF Model data||GLTF Model Data|Yes| ### GLTF Model Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```gltf-model```|```gltf-model```|3D object type.|Yes| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|Yes| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|animation-mixer|[animation-mixer](animation-mixer)||A list of available animations can usually be found by inspecting the model file or its documentation. All animations will play by default. To play only a specific set of animations, use wildcards: animation-mixer='clip: run_*'.|No| -|gltf-morph|[gltf-morph](gltf-morph)||Allows you to target and control a gltf model's morphTargets created in Blender.|No| -|gltf-model-lod|[gltf-model-lod](gltf-model-lod)||Simple switch between the default gltf-model and a detailed one when a user camera is within specified distance|No| -|modelUpdate|[modelUpdate](modelUpdate)||The GLTF-specific `modelUpdate` attribute is an object with child component names as keys. The top-level keys are the names of the child components to be updated. The values of each are nested `position` and `rotation` attributes to set as new values, respectively. Either `position` or `rotation` can be omitted if unchanged.|No| +|**object_type**|string; Must be: ```gltf-model```|```gltf-model```|3D object type.|Yes| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|Yes| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**animation-mixer**|[animation-mixer](animation-mixer)||A list of available animations can usually be found by inspecting the model file or its documentation. All animations will play by default. To play only a specific set of animations, use wildcards: animation-mixer='clip: run_*'.|No| +|**gltf-morph**|[gltf-morph](gltf-morph)||Allows you to target and control a gltf model's morphTargets created in Blender.|No| +|**gltf-model-lod**|[gltf-model-lod](gltf-model-lod)||Simple switch between the default gltf-model and a detailed one when a user camera is within specified distance|No| +|**modelUpdate**|[modelUpdate](modelUpdate)||The GLTF-specific `modelUpdate` attribute is an object with child component names as keys. The top-level keys are the names of the child components to be updated. The values of each are nested `position` and `rotation` attributes to set as new values, respectively. Either `position` or `rotation` can be omitted if unchanged.|No| diff --git a/content/schemas/message/gltf-morph.md b/content/schemas/message/gltf-morph.md index 4c9dd7c9..e7a40fa9 100644 --- a/content/schemas/message/gltf-morph.md +++ b/content/schemas/message/gltf-morph.md @@ -21,5 +21,5 @@ GLTF Morph Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|morphtarget|string|```''```|Name of morphTarget, can be found as part of the GLTF model.|Yes| -|value|number|```0```|Value that you want to set that morphTarget to (0 - 1).|Yes| +|**morphtarget**|string|```''```|Name of morphTarget, can be found as part of the GLTF model.|Yes| +|**value**|number|```0```|Value that you want to set that morphTarget to (0 - 1).|Yes| diff --git a/content/schemas/message/goto-landmark.md b/content/schemas/message/goto-landmark.md index 56c4b34b..65dfdae7 100644 --- a/content/schemas/message/goto-landmark.md +++ b/content/schemas/message/goto-landmark.md @@ -19,5 +19,5 @@ Goto Landmark Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|on|string; One of: ```['mousedown', 'mouseup']```|```'mousedown'```|Event to listen 'on'.|Yes| -|landmark|string|```''```|Id of landmark to teleport to.|Yes| +|**on**|string; One of: ```['mousedown', 'mouseup']```|```'mousedown'```|Event to listen 'on'.|Yes| +|**landmark**|string|```''```|Id of landmark to teleport to.|Yes| diff --git a/content/schemas/message/goto-url.md b/content/schemas/message/goto-url.md index 81747159..267c77d9 100644 --- a/content/schemas/message/goto-url.md +++ b/content/schemas/message/goto-url.md @@ -19,6 +19,6 @@ Goto URL Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|dest|string; One of: ```['popup', 'newtab', 'sametab']```|```'sametab'```|Where to open the URL.|Yes| -|on|string; One of: ```['mousedown', 'mouseup']```|```'mousedown'```|A case-sensitive string representing the event type to listen for. See Web Events.|Yes| -|url|string|```''```|The destination url, e.g. https://example.com.|Yes| +|**dest**|string; One of: ```['popup', 'newtab', 'sametab']```|```'sametab'```|Where to open the URL.|Yes| +|**on**|string; One of: ```['mousedown', 'mouseup']```|```'mousedown'```|A case-sensitive string representing the event type to listen for. See Web Events.|Yes| +|**url**|string|```''```|The destination url, e.g. https://example.com.|Yes| diff --git a/content/schemas/message/hand.md b/content/schemas/message/hand.md index f624bb91..7dac51f7 100644 --- a/content/schemas/message/hand.md +++ b/content/schemas/message/hand.md @@ -21,22 +21,24 @@ Hand Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Hand data||Hand Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Hand data||Hand Data|Yes| ### Hand Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; One of: ```['handLeft', 'handRight']```|```handLeft```|3D object type.|Yes| -|url|string|```'static/models/hands/valve_index_left.gltf'```|Path to user avatar hand model.|Yes| -|dep|string|```''```|Camera object_id this hand belongs to.|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**object_type**|string; One of: ```['handLeft', 'handRight']```|```handLeft```|3D object type.|Yes| +|**url**|string|```'static/models/hands/valve_index_left.gltf'```|Path to user avatar hand model.|Yes| +|**dep**|string|```''```|Camera object_id this hand belongs to.|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| diff --git a/content/schemas/message/icosahedron.md b/content/schemas/message/icosahedron.md index 2bc9cda0..a17d04be 100644 --- a/content/schemas/message/icosahedron.md +++ b/content/schemas/message/icosahedron.md @@ -21,54 +21,57 @@ Icosahedron Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Icosahedron data||Icosahedron Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Icosahedron data||Icosahedron Data|Yes| ### Icosahedron Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```icosahedron```|```icosahedron```|3D object type.|Yes| -|detail|integer|```0```|detail|No| -|radius|number|```1```|radius|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```icosahedron```|```icosahedron```|3D object type.|Yes| +|**detail**|integer|```0```|detail|No| +|**radius**|number|```1```|radius|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/image.md b/content/schemas/message/image.md index 72e22068..0d694399 100644 --- a/content/schemas/message/image.md +++ b/content/schemas/message/image.md @@ -23,56 +23,59 @@ Image Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Image data||Image Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Image data||Image Data|Yes| ### Image Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```image```|```image```|3D object type.|Yes| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| -|height|number|```1```|height|Yes| -|segmentsHeight|integer|```1```|segments height|No| -|segmentsWidth|integer|```1```|segments width|No| -|width|number|```1```|width|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)||The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```image```|```image```|3D object type.|Yes| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| +|**height**|number|```1```|height|Yes| +|**segmentsHeight**|integer|```1```|segments height|No| +|**segmentsWidth**|integer|```1```|segments width|No| +|**width**|number|```1```|width|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)||The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/impulse.md b/content/schemas/message/impulse.md index f7b989c8..9c638114 100644 --- a/content/schemas/message/impulse.md +++ b/content/schemas/message/impulse.md @@ -19,6 +19,6 @@ Impulse Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|force|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|Impulse vector.|No| -|on|string; One of: ```['mousedown', 'mouseup']```|```'mousedown'```|Event to listen 'on'.|No| -|position|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|World position.|No| +|**force**|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|Impulse vector.|No| +|**on**|string; One of: ```['mousedown', 'mouseup']```|```'mousedown'```|Event to listen 'on'.|No| +|**position**|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|World position.|No| diff --git a/content/schemas/message/jitsi-video.md b/content/schemas/message/jitsi-video.md index 687e8016..c8483d8f 100644 --- a/content/schemas/message/jitsi-video.md +++ b/content/schemas/message/jitsi-video.md @@ -19,5 +19,5 @@ Jitsi Video Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|jitsiId|string||JitsiId of the video source; If defined will override displayName.|No| -|displayName|string||ARENA or Jitsi display name of the video source; Will be ignored if jitsiId is given. (* change requires reload* ).|Yes| +|**jitsiId**|string||JitsiId of the video source; If defined will override displayName.|No| +|**displayName**|string||ARENA or Jitsi display name of the video source; Will be ignored if jitsiId is given. (* change requires reload* ).|Yes| diff --git a/content/schemas/message/landmark.md b/content/schemas/message/landmark.md index 5951492a..c58002b1 100644 --- a/content/schemas/message/landmark.md +++ b/content/schemas/message/landmark.md @@ -19,10 +19,10 @@ Landmark Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|randomRadiusMin|number|```0```|Minimum radius from the landmark to teleport to. (randomRadiusMax must > 0).|Yes| -|randomRadiusMax|number|```0```|Maximum radius from the landmark to teleport to.|Yes| -|offsetPosition|[vector3](vector3)|```{'x': 0, 'y': 1.6, 'z': 0}```|Use as a static teleport x,y,z offset.|No| -|constrainToNavMesh|string; One of: ```['false', 'any', 'coplanar']```|```'false'```|Teleports should snap to navmesh.|No| -|startingPosition|boolean|```False```|Set to true to use this landmark as a scene start (spawn) position. If several landmarks with startingPosition=true exist in a scene, one will be randomly selected.|No| -|lookAtLandmark|boolean|```True```|Set to true to make users face the landmark when teleported to it.|Yes| -|label|string|```''```|Landmark description to display in the landmark list.|Yes| +|**randomRadiusMin**|number|```0```|Minimum radius from the landmark to teleport to. (randomRadiusMax must > 0).|Yes| +|**randomRadiusMax**|number|```0```|Maximum radius from the landmark to teleport to.|Yes| +|**offsetPosition**|[vector3](vector3)|```{'x': 0, 'y': 1.6, 'z': 0}```|Use as a static teleport x,y,z offset.|No| +|**constrainToNavMesh**|string; One of: ```['false', 'any', 'coplanar']```|```'false'```|Teleports should snap to navmesh.|No| +|**startingPosition**|boolean|```False```|Set to true to use this landmark as a scene start (spawn) position. If several landmarks with startingPosition=true exist in a scene, one will be randomly selected.|No| +|**lookAtLandmark**|boolean|```True```|Set to true to make users face the landmark when teleported to it.|Yes| +|**label**|string|```''```|Landmark description to display in the landmark list.|Yes| diff --git a/content/schemas/message/light.md b/content/schemas/message/light.md index 41a8536e..0b1913b5 100644 --- a/content/schemas/message/light.md +++ b/content/schemas/message/light.md @@ -23,70 +23,72 @@ Light Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Light data||Light Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Light data||Light Data|Yes| ### Light Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```light```|```light```|3D object type.|Yes| -|angle|number|```60```|Maximum extent of spot light from its direction (in degrees). Requires type:spot.|No| -|castShadow|boolean|```False```|Whether this light casts shadows on the scene.|No| -|color|string|```'#ffffff'```|Light color. For 'hemisphere', light color from above.|Yes| -|decay|number|```1```|Amount the light dims along the distance of the light. Requires type:point or type:spot.|No| -|distance|number|```0```|Distance where intensity becomes 0. If distance is 0, then the point light does not decay with distance. Requires type:point or type:spot.|No| -|envMap|string|```'None'```|Cube Map to load.|No| -|groundColor|string|```'#ffffff'```|Light color from below. Requires type:hemisphere.|No| -|intensity|number|```1```|Amount of light provided.|Yes| -|light|[light](light)||DEPRECATED: data.light.[property] is deprecated, use object_type: light and data.[property] instead.|No| -|penumbra|number|```0```|Percent of the spotlight cone that is attenuated due to penumbra. Requires type:spot.|No| -|shadowBias|number|```0```|Offset depth when deciding whether a surface is in shadow. Tiny adjustments here (in the order of +/-0.0001) may reduce artifacts in shadows.|No| -|shadowCameraBottom|number|```-5```|Bottom plane of shadow camera frustum. Requires type:directional.|No| -|shadowCameraFar|number|```500```|Far plane of shadow camera frustum.|No| -|shadowCameraFov|number|```50```|Shadow camera's FOV. Requires type:point or spot.|No| -|shadowCameraLeft|number|```-5```|Left plane of shadow camera frustum. Requires type:directional.|No| -|shadowCameraNear|number|```0.5```|Near plane of shadow camera frustum.|No| -|shadowCameraRight|number|```5```|Right plane of shadow camera frustum. Requires type:directional.|No| -|shadowCameraTop|number|```5```|Top plane of shadow camera frustum. Requires type:directional.|No| -|shadowCameraVisible|boolean|```False```|Displays a visual aid showing the shadow camera's position and frustum. This is the light's view of the scene, used to project shadows.|No| -|shadowMapHeight|number|```512```|Shadow map's vertical resolution. Larger shadow maps display more crisp shadows, at the cost of performance.|No| -|shadowMapWidth|number|```512```|Shadow map's horizontal resolution.|No| -|shadowRadius|number|```1```||No| -|target|string|```'None'```|Id of element the spot should point to. Set to null to transform spotlight by orientation, pointing to it's -Z axis. Requires type:spot.|No| -|type|string; One of: ```['ambient', 'directional', 'hemisphere', 'point', 'spot']```|```'directional'```|The type of light, or what shape the light should take.|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```light```|```light```|3D object type.|Yes| +|**angle**|number|```60```|Maximum extent of spot light from its direction (in degrees). Requires type:spot.|No| +|**castShadow**|boolean|```False```|Whether this light casts shadows on the scene.|No| +|**color**|string|```'#ffffff'```|Light color. For 'hemisphere', light color from above.|Yes| +|**decay**|number|```1```|Amount the light dims along the distance of the light. Requires type:point or type:spot.|No| +|**distance**|number|```0```|Distance where intensity becomes 0. If distance is 0, then the point light does not decay with distance. Requires type:point or type:spot.|No| +|**envMap**|string|```'None'```|Cube Map to load.|No| +|**groundColor**|string|```'#ffffff'```|Light color from below. Requires type:hemisphere.|No| +|**intensity**|number|```1```|Amount of light provided.|Yes| +|~~**light**~~|~~object~~||~~DEPRECATED: data.light.[property] is deprecated, use object_type: light and data.[property] instead.~~|~~No~~| +|**penumbra**|number|```0```|Percent of the spotlight cone that is attenuated due to penumbra. Requires type:spot.|No| +|**shadowBias**|number|```0```|Offset depth when deciding whether a surface is in shadow. Tiny adjustments here (in the order of +/-0.0001) may reduce artifacts in shadows.|No| +|**shadowCameraBottom**|number|```-5```|Bottom plane of shadow camera frustum. Requires type:directional.|No| +|**shadowCameraFar**|number|```500```|Far plane of shadow camera frustum.|No| +|**shadowCameraFov**|number|```50```|Shadow camera's FOV. Requires type:point or spot.|No| +|**shadowCameraLeft**|number|```-5```|Left plane of shadow camera frustum. Requires type:directional.|No| +|**shadowCameraNear**|number|```0.5```|Near plane of shadow camera frustum.|No| +|**shadowCameraRight**|number|```5```|Right plane of shadow camera frustum. Requires type:directional.|No| +|**shadowCameraTop**|number|```5```|Top plane of shadow camera frustum. Requires type:directional.|No| +|**shadowCameraVisible**|boolean|```False```|Displays a visual aid showing the shadow camera's position and frustum. This is the light's view of the scene, used to project shadows.|No| +|**shadowMapHeight**|number|```512```|Shadow map's vertical resolution. Larger shadow maps display more crisp shadows, at the cost of performance.|No| +|**shadowMapWidth**|number|```512```|Shadow map's horizontal resolution.|No| +|**shadowRadius**|number|```1```||No| +|**target**|string|```'None'```|Id of element the spot should point to. Set to null to transform spotlight by orientation, pointing to it's -Z axis. Requires type:spot.|No| +|**type**|string; One of: ```['ambient', 'directional', 'hemisphere', 'point', 'spot']```|```'directional'```|The type of light, or what shape the light should take.|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/line.md b/content/schemas/message/line.md index 12b14008..948494d8 100644 --- a/content/schemas/message/line.md +++ b/content/schemas/message/line.md @@ -21,24 +21,26 @@ Line Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Line data||Line Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Line data||Line Data|Yes| ### Line Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```line```|```line```|3D object type.|Yes| -|color|string|```'#74BEC1'```|Line color.|Yes| -|end|[vector3](vector3)|```{'x': -0.5, 'y': -0.5, 'z': 0}```|End coordinate.|Yes| -|opacity|number|```1```|Line opacity.|No| -|start|[vector3](vector3)|```{'x': 0, 'y': 0.5, 'z': 0}```|Start point coordinate.|Yes| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|No| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|No| -|scale|[scale](scale)||3D object scale.|No| +|**object_type**|string; Must be: ```line```|```line```|3D object type.|Yes| +|**color**|string|```'#74BEC1'```|Line color.|Yes| +|**end**|[vector3](vector3)|```{'x': -0.5, 'y': -0.5, 'z': 0}```|End coordinate.|Yes| +|**opacity**|number|```1```|Line opacity.|No| +|**start**|[vector3](vector3)|```{'x': 0, 'y': 0.5, 'z': 0}```|Start point coordinate.|Yes| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|No| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|No| +|**scale**|[scale](scale)||3D object scale.|No| diff --git a/content/schemas/message/material-extras.md b/content/schemas/message/material-extras.md index 2bb63c2e..93c78bd0 100644 --- a/content/schemas/message/material-extras.md +++ b/content/schemas/message/material-extras.md @@ -23,9 +23,9 @@ Material extras Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|overrideSrc|string|```''```|Overrides the material source in all meshes of an object (e.g. a basic shape or a GLTF); Use, for example, to change the texture of a GLTF.|No| -|colorSpace|string; One of: ```['SRGBColorSpace', 'LinearSRGBColorSpace', 'DisplayP3ColorSpace', 'NoColorSpace']```|```'SRGBColorSpace'```|The material colorspace.|Yes| -|colorWrite|boolean|```True```|Whether to render the material's color.|No| -|renderOrder|number|```1```|Allows the default rendering order of scene graph objects to be overridden.|No| -|transparentOccluder|boolean|```False```|If `true`, will set `colorWrite=false` and `renderOrder=0` to make the material a transparent occluder.|No| -|gltfOpacity|number|```1```|Opacity value to apply to the model. 1 is fully opaque, 0 is fully transparent.|Yes| +|**overrideSrc**|string|```''```|Overrides the material source in all meshes of an object (e.g. a basic shape or a GLTF); Use, for example, to change the texture of a GLTF.|No| +|**colorSpace**|string; One of: ```['SRGBColorSpace', 'LinearSRGBColorSpace', 'DisplayP3ColorSpace', 'NoColorSpace']```|```'SRGBColorSpace'```|The material colorspace.|Yes| +|**colorWrite**|boolean|```True```|Whether to render the material's color.|No| +|**renderOrder**|number|```1```|Allows the default rendering order of scene graph objects to be overridden.|No| +|**transparentOccluder**|boolean|```False```|If `true`, will set `colorWrite=false` and `renderOrder=0` to make the material a transparent occluder.|No| +|**gltfOpacity**|number|```1```|Opacity value to apply to the model. 1 is fully opaque, 0 is fully transparent.|Yes| diff --git a/content/schemas/message/material.md b/content/schemas/message/material.md index 2a15a83c..533deddc 100644 --- a/content/schemas/message/material.md +++ b/content/schemas/message/material.md @@ -21,37 +21,37 @@ Material Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|alphaTest|number|```0```|Alpha test threshold for transparency.|No| -|anisotropy|number|```0```|The anisotropic filtering sample rate to use for the textures. A value of 0 means the default value will be used, see renderer.|No| -|blending|string; One of: ```['none', 'normal', 'additive', 'subtractive', 'multiply']```|```'normal'```|The blending mode for the material's RGB and Alpha sent to the WebGLRenderer.|No| -|color|string|```'#ffffff'```|Base diffuse color.|No| -|combine|string; One of: ```['mix', 'add', 'multiply']```|```'mix'```|How the environment map mixes with the material. Requires shader: phong.|No| -|depthTest|boolean|```True```|Whether depth testing is enabled when rendering the material.|No| -|depthWrite|boolean|```True```|Render when depth test succeeds.|No| -|dithering|boolean|```True```|Whether material is dithered with noise. Removes banding from gradients like ones produced by lighting.|No| -|emissive|string|```'#000000'```|The color of the emissive lighting component. Used to make objects produce light even without other lighting in the scene. Requires shader: standard or phong|No| -|emissiveIntensity|number|```1```|Intensity of the emissive lighting component. Requires shader: standard or phong|No| -|flatShading|boolean|```False```|Use THREE.FlatShading rather than THREE.StandardShading.|No| -|fog|boolean|```True```|Whether or not material is affected by fog.|No| -|height|integer|```256```|Height of video (in pixels), if defining a video texture. Requires shader: standard or flat.|No| -|metalness|number|```0```|How metallic the material is from 0 to 1. Requires shader: standard.|No| -|npot|boolean|```False```|Use settings for non-power-of-two (NPOT) texture.|No| -|offset|object|```{'x': 0, 'y': 0}```|Texture offset to be used.|No| -|opacity|number|```1```|Extent of transparency. If the transparent property is not true, then the material will remain opaque and opacity will only affect color.|No| -|reflectivity|number|```0.9```|How much the environment map affects the surface. Requires shader: phong.|No| -|refract|boolean|```False```|Whether the defined envMap should refract. Requires shader: phong.|No| -|refractionRatio|number|```0.98```|1/refractive index of the material. Requires shader: phong.|No| -|repeat|object|```{'x': 1, 'y': 1}```|How many times a texture (defined by src) repeats in the X and Y direction.|No| -|roughness|number|```0```|How rough the material is from 0 to 1. A rougher material will scatter reflected light in more directions than a smooth material. Requires shader: standard.|No| -|shader|string; One of: ```['flat', 'standard', 'phong']```|```'standard'```|Which material to use. Defaults to the standard material. Can be set to the flat material or to a registered custom shader material.|No| -|shininess|number|```30```|How shiny the specular highlight is; a higher value gives a sharper highlight. Requires shader: phong.|No| -|side|string; One of: ```['front', 'back', 'double']```|```'front'```|Which sides of the mesh to render.|No| -|specular|string|```'#111111'```|This defines how shiny the material is and the color of its shine. Requires shader: phong.|No| -|src|string||URI, relative or full path of an image/video file. e.g. 'store/users/wiselab/images/360falls.mp4'.|No| -|toneMapped|boolean|```True```|Whether to ignore toneMapping, set to false you are using renderer.toneMapping and an element should appear to emit light. Requires shader: flat.|No| -|transparent|boolean|```False```|Whether material is transparent. Transparent entities are rendered after non-transparent entities.|No| -|vertexColorsEnabled|boolean|```False```|Whether to use vertex or face colors to shade the material.|No| -|visible|boolean|```True```|Whether material is visible. Raycasters will ignore invisible materials.|No| -|width|integer|```512```|Width of video (in pixels), if defining a video texture. Requires shader: standard or flat.|No| -|wireframe|boolean|```False```|Whether to render just the geometry edges.|No| -|wireframeLinewidth|integer|```2```|Width in px of the rendered line.|No| +|**alphaTest**|number|```0```|Alpha test threshold for transparency.|No| +|**anisotropy**|number|```0```|The anisotropic filtering sample rate to use for the textures. A value of 0 means the default value will be used, see renderer.|No| +|**blending**|string; One of: ```['none', 'normal', 'additive', 'subtractive', 'multiply']```|```'normal'```|The blending mode for the material's RGB and Alpha sent to the WebGLRenderer.|No| +|**color**|string|```'#ffffff'```|Base diffuse color.|No| +|**combine**|string; One of: ```['mix', 'add', 'multiply']```|```'mix'```|How the environment map mixes with the material. Requires shader: phong.|No| +|**depthTest**|boolean|```True```|Whether depth testing is enabled when rendering the material.|No| +|**depthWrite**|boolean|```True```|Render when depth test succeeds.|No| +|**dithering**|boolean|```True```|Whether material is dithered with noise. Removes banding from gradients like ones produced by lighting.|No| +|**emissive**|string|```'#000000'```|The color of the emissive lighting component. Used to make objects produce light even without other lighting in the scene. Requires shader: standard or phong|No| +|**emissiveIntensity**|number|```1```|Intensity of the emissive lighting component. Requires shader: standard or phong|No| +|**flatShading**|boolean|```False```|Use THREE.FlatShading rather than THREE.StandardShading.|No| +|**fog**|boolean|```True```|Whether or not material is affected by fog.|No| +|**height**|integer|```256```|Height of video (in pixels), if defining a video texture. Requires shader: standard or flat.|No| +|**metalness**|number|```0```|How metallic the material is from 0 to 1. Requires shader: standard.|No| +|**npot**|boolean|```False```|Use settings for non-power-of-two (NPOT) texture.|No| +|**offset**|object|```{'x': 0, 'y': 0}```|Texture offset to be used.|No| +|**opacity**|number|```1```|Extent of transparency. If the transparent property is not true, then the material will remain opaque and opacity will only affect color.|No| +|**reflectivity**|number|```0.9```|How much the environment map affects the surface. Requires shader: phong.|No| +|**refract**|boolean|```False```|Whether the defined envMap should refract. Requires shader: phong.|No| +|**refractionRatio**|number|```0.98```|1/refractive index of the material. Requires shader: phong.|No| +|**repeat**|object|```{'x': 1, 'y': 1}```|How many times a texture (defined by src) repeats in the X and Y direction.|No| +|**roughness**|number|```0```|How rough the material is from 0 to 1. A rougher material will scatter reflected light in more directions than a smooth material. Requires shader: standard.|No| +|**shader**|string; One of: ```['flat', 'standard', 'phong']```|```'standard'```|Which material to use. Defaults to the standard material. Can be set to the flat material or to a registered custom shader material.|No| +|**shininess**|number|```30```|How shiny the specular highlight is; a higher value gives a sharper highlight. Requires shader: phong.|No| +|**side**|string; One of: ```['front', 'back', 'double']```|```'front'```|Which sides of the mesh to render.|No| +|**specular**|string|```'#111111'```|This defines how shiny the material is and the color of its shine. Requires shader: phong.|No| +|**src**|string||URI, relative or full path of an image/video file. e.g. 'store/users/wiselab/images/360falls.mp4'.|No| +|**toneMapped**|boolean|```True```|Whether to ignore toneMapping, set to false you are using renderer.toneMapping and an element should appear to emit light. Requires shader: flat.|No| +|**transparent**|boolean|```False```|Whether material is transparent. Transparent entities are rendered after non-transparent entities.|No| +|**vertexColorsEnabled**|boolean|```False```|Whether to use vertex or face colors to shade the material.|No| +|**visible**|boolean|```True```|Whether material is visible. Raycasters will ignore invisible materials.|No| +|**width**|integer|```512```|Width of video (in pixels), if defining a video texture. Requires shader: standard or flat.|No| +|**wireframe**|boolean|```False```|Whether to render just the geometry edges.|No| +|**wireframeLinewidth**|integer|```2```|Width in px of the rendered line.|No| diff --git a/content/schemas/message/modelUpdate.md b/content/schemas/message/modelUpdate.md index f2d18341..80089881 100644 --- a/content/schemas/message/modelUpdate.md +++ b/content/schemas/message/modelUpdate.md @@ -19,7 +19,7 @@ GLTF Model Update Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|^[A-Za-z][A-Za-z0-9_-]*$|object||One of this model's named child components.|No| +|**^[A-Za-z][A-Za-z0-9_-]*$**|object||One of this model's named child components.|No| GLTF Model Update Example diff --git a/content/schemas/message/multisrc.md b/content/schemas/message/multisrc.md index 3f70d144..ff9c35f5 100644 --- a/content/schemas/message/multisrc.md +++ b/content/schemas/message/multisrc.md @@ -19,5 +19,5 @@ Multi Source Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|srcs|string||A comma-delimited list if URIs, e.g. 'side1.png, side2.png, side3.png, side4.png, side5.png, side6.png' (required).|Yes| -|srcspath|string||URI, relative or full path of a directory containing srcs, e.g. 'store/users/wiselab/images/dice/' (required).|Yes| +|**srcs**|string||A comma-delimited list if URIs, e.g. 'side1.png, side2.png, side3.png, side4.png, side5.png, side6.png' (required).|Yes| +|**srcspath**|string||URI, relative or full path of a directory containing srcs, e.g. 'store/users/wiselab/images/dice/' (required).|Yes| diff --git a/content/schemas/message/obj-model.md b/content/schemas/message/obj-model.md index ad56db30..b317efd2 100644 --- a/content/schemas/message/obj-model.md +++ b/content/schemas/message/obj-model.md @@ -23,54 +23,57 @@ OBJ Model Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|OBJ Model data||OBJ Model Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|OBJ Model data||OBJ Model Data|Yes| ### OBJ Model Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```obj-model```|```obj-model```|3D object type.|Yes| -|obj|string||Url pointing to a .OBJ file. Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| -|mtl|string||Url pointing to a .MTL file. Optional if you wish to use the material component instead.|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|No| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|No| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)||The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```obj-model```|```obj-model```|3D object type.|Yes| +|**obj**|string||Url pointing to a .OBJ file. Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| +|**mtl**|string||Url pointing to a .MTL file. Optional if you wish to use the material component instead.|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|No| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|No| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)||The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/ocean.md b/content/schemas/message/ocean.md index 3b6aaa1f..62caa9ec 100644 --- a/content/schemas/message/ocean.md +++ b/content/schemas/message/ocean.md @@ -21,29 +21,31 @@ Ocean Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Ocean data||Ocean Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Ocean data||Ocean Data|Yes| ### Ocean Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```ocean```|```ocean```|3D object type.|Yes| -|width|number|```10```|Width of the ocean area.|Yes| -|depth|number|```10```|Depth of the ocean area.|Yes| -|density|number|```10```|Density of waves.|No| -|amplitude|number|```0.1```|Wave amplitude.|No| -|amplitudeVariance|number|```0.3```|Wave amplitude variance.|No| -|speed|number|```1```|Wave speed.|No| -|speedVariance|number|```2```|Wave speed variance.|No| -|color|string|```'#7AD2F7'```|Wave color.|Yes| -|opacity|number|```0.8```|Wave opacity.|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)|```{'w': -0.70711, 'x': 0.70711, 'y': 0, 'z': 0}```|3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**object_type**|string; Must be: ```ocean```|```ocean```|3D object type.|Yes| +|**width**|number|```10```|Width of the ocean area.|Yes| +|**depth**|number|```10```|Depth of the ocean area.|Yes| +|**density**|number|```10```|Density of waves.|No| +|**amplitude**|number|```0.1```|Wave amplitude.|No| +|**amplitudeVariance**|number|```0.3```|Wave amplitude variance.|No| +|**speed**|number|```1```|Wave speed.|No| +|**speedVariance**|number|```2```|Wave speed variance.|No| +|**color**|string|```'#7AD2F7'```|Wave color.|Yes| +|**opacity**|number|```0.8```|Wave opacity.|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)|```{'w': -0.70711, 'x': 0.70711, 'y': 0, 'z': 0}```|3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| diff --git a/content/schemas/message/octahedron.md b/content/schemas/message/octahedron.md index 39a8898d..c8a4add8 100644 --- a/content/schemas/message/octahedron.md +++ b/content/schemas/message/octahedron.md @@ -21,54 +21,57 @@ Octahedron Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Octahedron data||Octahedron Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Octahedron data||Octahedron Data|Yes| ### Octahedron Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```octahedron```|```octahedron```|3D object type.|Yes| -|detail|integer|```0```|detail|No| -|radius|number|```1```|radius|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```octahedron```|```octahedron```|3D object type.|Yes| +|**detail**|integer|```0```|detail|No| +|**radius**|number|```1```|radius|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/panel.md b/content/schemas/message/panel.md index 9d352036..bb409064 100644 --- a/content/schemas/message/panel.md +++ b/content/schemas/message/panel.md @@ -19,6 +19,6 @@ UI Panel Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|depth|number|```0.05```|depth|Yes| -|height|number|```1```|height|Yes| -|width|number|```1```|width|Yes| +|**depth**|number|```0.05```|depth|Yes| +|**height**|number|```1```|height|Yes| +|**width**|number|```1```|width|Yes| diff --git a/content/schemas/message/pcd-model.md b/content/schemas/message/pcd-model.md index a0644dea..8fff5dfe 100644 --- a/content/schemas/message/pcd-model.md +++ b/content/schemas/message/pcd-model.md @@ -23,49 +23,51 @@ PCD Model Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|PCD Model data||PCD Model Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|PCD Model data||PCD Model Data|Yes| ### PCD Model Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```pcd-model```|```pcd-model```|3D object type.|Yes| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| -|pointSize|number|```0.01```|Size of the points.|Yes| -|pointColor|string|```''```|Color of the points.|No| -|opacity|number|```1```|Opacity of all points.|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|Yes| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```pcd-model```|```pcd-model```|3D object type.|Yes| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| +|**pointSize**|number|```0.01```|Size of the points.|Yes| +|**pointColor**|string|```''```|Color of the points.|No| +|**opacity**|number|```1```|Opacity of all points.|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|Yes| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/plane.md b/content/schemas/message/plane.md index 23aea2bb..fb6cf64b 100644 --- a/content/schemas/message/plane.md +++ b/content/schemas/message/plane.md @@ -21,56 +21,59 @@ Plane Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Plane data||Plane Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Plane data||Plane Data|Yes| ### Plane Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```plane```|```plane```|3D object type.|Yes| -|height|number|```1```|height|Yes| -|segmentsHeight|integer|```1```|segments height|No| -|segmentsWidth|integer|```1```|segments width|No| -|width|number|```1```|width|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```plane```|```plane```|3D object type.|Yes| +|**height**|number|```1```|height|Yes| +|**segmentsHeight**|integer|```1```|segments height|No| +|**segmentsWidth**|integer|```1```|segments width|No| +|**width**|number|```1```|width|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/position.md b/content/schemas/message/position.md index 119a4a7b..50bfcdfc 100644 --- a/content/schemas/message/position.md +++ b/content/schemas/message/position.md @@ -19,6 +19,6 @@ Position Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|x|number|```0```|x|Yes| -|y|number|```0```|y|Yes| -|z|number|```0```|z|Yes| +|**x**|number|```0```|x|Yes| +|**y**|number|```0```|y|Yes| +|**z**|number|```0```|z|Yes| diff --git a/content/schemas/message/post-processing.md b/content/schemas/message/post-processing.md index 1158d294..760a59f6 100644 --- a/content/schemas/message/post-processing.md +++ b/content/schemas/message/post-processing.md @@ -19,10 +19,10 @@ Post-Processing Effects Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|bloom|object||Use bloom post-processing effect.|No| -|sao|object||Use scalable ambient occlusion (SAO) post-processing effect.|No| -|ssao|object||Use screen space ambient occlusion (SSAO) post-processing effect.|No| -|pixel|object||Use Pixelation post-processing effect.|No| -|glitch|object||Use Glitch post-processing effect.|No| -|fxaa|object||Use FXAA post-processing effect. You may want to place this last in effects list.|No| -|smaa|object||Use SMAA post-processing effect. You may want to place this last in effects list.|No| +|**bloom**|object||Use bloom post-processing effect.|No| +|**sao**|object||Use scalable ambient occlusion (SAO) post-processing effect.|No| +|**ssao**|object||Use screen space ambient occlusion (SSAO) post-processing effect.|No| +|**pixel**|object||Use Pixelation post-processing effect.|No| +|**glitch**|object||Use Glitch post-processing effect.|No| +|**fxaa**|object||Use FXAA post-processing effect. You may want to place this last in effects list.|No| +|**smaa**|object||Use SMAA post-processing effect. You may want to place this last in effects list.|No| diff --git a/content/schemas/message/remote-render.md b/content/schemas/message/remote-render.md index d9af5278..31befc92 100644 --- a/content/schemas/message/remote-render.md +++ b/content/schemas/message/remote-render.md @@ -19,4 +19,4 @@ Remote Render Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|enabled|boolean|```True```|Remote Render this object.|No| +|**enabled**|boolean|```True```|Remote Render this object.|No| diff --git a/content/schemas/message/renderer-settings.md b/content/schemas/message/renderer-settings.md index b02298a2..29515893 100644 --- a/content/schemas/message/renderer-settings.md +++ b/content/schemas/message/renderer-settings.md @@ -19,7 +19,7 @@ Renderer Settings Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|localClippingEnabled|boolean|```False```|Defines whether the renderer respects object-level clipping planes.|No| -|outputColorSpace|string; One of: ```['SRGBColorSpace', 'LinearSRGBColorSpace', 'DisplayP3ColorSpace', 'NoColorSpace']```|```'SRGBColorSpace'```|Defines the output color space of the renderer (three.js default is SRGBColorSpace).|Yes| -|physicallyCorrectLights|boolean|```False```|Whether to use physically correct lighting mode.|No| -|sortObjects|boolean|```True```|Defines whether the renderer should sort objects.|No| +|**localClippingEnabled**|boolean|```False```|Defines whether the renderer respects object-level clipping planes.|No| +|**outputColorSpace**|string; One of: ```['SRGBColorSpace', 'LinearSRGBColorSpace', 'DisplayP3ColorSpace', 'NoColorSpace']```|```'SRGBColorSpace'```|Defines the output color space of the renderer (three.js default is SRGBColorSpace).|Yes| +|**physicallyCorrectLights**|boolean|```False```|Whether to use physically correct lighting mode.|No| +|**sortObjects**|boolean|```True```|Defines whether the renderer should sort objects.|No| diff --git a/content/schemas/message/ring.md b/content/schemas/message/ring.md index 345af890..61a43333 100644 --- a/content/schemas/message/ring.md +++ b/content/schemas/message/ring.md @@ -21,58 +21,61 @@ Ring Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Ring data||Ring Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Ring data||Ring Data|Yes| ### Ring Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```ring```|```ring```|3D object type.|Yes| -|radiusInner|number|```0.8```|radius inner|Yes| -|radiusOuter|number|```1.2```|radius outer|Yes| -|segmentsPhi|integer|```10```|segments phi|No| -|segmentsTheta|integer|```32```|segments theta|No| -|thetaLength|number|```360```|theta length|No| -|thetaStart|number|```0```|theta start|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```ring```|```ring```|3D object type.|Yes| +|**radiusInner**|number|```0.8```|radius inner|Yes| +|**radiusOuter**|number|```1.2```|radius outer|Yes| +|**segmentsPhi**|integer|```10```|segments phi|No| +|**segmentsTheta**|integer|```32```|segments theta|No| +|**thetaLength**|number|```360```|theta length|No| +|**thetaStart**|number|```0```|theta start|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/rotation.md b/content/schemas/message/rotation.md index 2c7dbfe4..1962a4f9 100644 --- a/content/schemas/message/rotation.md +++ b/content/schemas/message/rotation.md @@ -19,7 +19,7 @@ Rotation Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|w|number|```1```|w|Yes| -|x|number|```0```|x|Yes| -|y|number|```0```|y|Yes| -|z|number|```0```|z|Yes| +|**w**|number|```1```|w|Yes| +|**x**|number|```0```|x|Yes| +|**y**|number|```0```|y|Yes| +|**z**|number|```0```|z|Yes| diff --git a/content/schemas/message/roundedbox.md b/content/schemas/message/roundedbox.md index ed71ca48..e17b8464 100644 --- a/content/schemas/message/roundedbox.md +++ b/content/schemas/message/roundedbox.md @@ -21,57 +21,60 @@ Rounded Box Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Rounded Box data||Rounded Box Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Rounded Box data||Rounded Box Data|Yes| ### Rounded Box Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```roundedbox```|```roundedbox```|3D object type.|Yes| -|depth|number|```1```|depth|Yes| -|height|number|```1```|height|Yes| -|width|number|```1```|width|Yes| -|radius|number|```0.15```|radius of edge|Yes| -|radiusSegments|integer|```10```|segments radius|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```roundedbox```|```roundedbox```|3D object type.|Yes| +|**depth**|number|```1```|depth|Yes| +|**height**|number|```1```|height|Yes| +|**width**|number|```1```|width|Yes| +|**radius**|number|```0.15```|radius of edge|Yes| +|**radiusSegments**|integer|```10```|segments radius|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/scale.md b/content/schemas/message/scale.md index db4436df..d0e3fcb5 100644 --- a/content/schemas/message/scale.md +++ b/content/schemas/message/scale.md @@ -19,6 +19,6 @@ Scale Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|x|number|```1```|x|Yes| -|y|number|```1```|y|Yes| -|z|number|```1```|z|Yes| +|**x**|number|```1```|x|Yes| +|**y**|number|```1```|y|Yes| +|**z**|number|```1```|z|Yes| diff --git a/content/schemas/message/scene-options.md b/content/schemas/message/scene-options.md index 17cb4f96..5cac1882 100644 --- a/content/schemas/message/scene-options.md +++ b/content/schemas/message/scene-options.md @@ -19,22 +19,22 @@ Scene Options Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|clickableOnlyEvents|boolean|```True```|True = publish only mouse events for objects with click-listeners; False = all objects publish mouse events.|No| -|distanceModel|string; One of: ```['exponential', 'inverse', 'linear']```|```'inverse'```|Algorithm to use to reduce the volume of the audio source as it moves away from the listener.|No| -|sceneHeadModels|array|```[]```|Define the default head model(s) for the scene in a list. Users may still choose from the ARENA default list of head models as well.|No| -|jitsiHost|string|```'jitsi0.andrew.cmu.edu:8443'```|Jitsi host used for this scene.|No| -|maxAVDist|number|```20```|Maximum distance between cameras/users until audio and video are cut off. For saving bandwidth on scenes with large amounts of user activity at once.|Yes| -|navMesh|string|```''```|Navigation Mesh URL.|No| -|networkedLocationSolver|boolean|```False```|ARMarker location solver parameter. By default (networkedLocationSolver=false) clients solve camera location locally when a static marker is detected. When true, publishes marker detections (to realm/g/a/camera-name) and defers all tag solving of client camera to a solver sitting on pubsub.|No| -|privateScene|boolean|```False```|False = scene will be visible; True = scene will not show in listings.|Yes| -|refDistance|number|```1```|Distance at which the volume reduction starts taking effect.|No| -|rolloffFactor|number|```1```|How quickly the volume is reduced as the source moves away from the listener.|No| -|screenshare|string|```'screenshare'```|Name of the 3D object used when sharing desktop.|No| -|videoFrustumCulling|boolean|```True```|If false, will disable video frustum culling (video frustum culling stops video from users outside of view).|No| -|videoDistanceConstraints|boolean|```True```|If false, will disable video distance constraints (video resolution decreases with distance from users in view).|No| -|videoDefaultResolutionConstraint|number|```180```|Sets the default max resolution for all users. Ignored when videoDistanceConstraints = true.|No| -|volume|number|```1```|Volume for users in a scene.|No| -|physics|boolean|```False```|If true, will load the aframe-physics-system. Required for the following: `dynamic-body`, `impulse`, `collision-listener`.|Yes| -|ar-hit-test|object||A-Frame AR Hit Test Settings. +|**clickableOnlyEvents**|boolean|```True```|True = publish only mouse events for objects with click-listeners; False = all objects publish mouse events.|No| +|**distanceModel**|string; One of: ```['exponential', 'inverse', 'linear']```|```'inverse'```|Algorithm to use to reduce the volume of the audio source as it moves away from the listener.|No| +|**sceneHeadModels**|array|```[]```|Define the default head model(s) for the scene in a list. Users may still choose from the ARENA default list of head models as well.|No| +|**jitsiHost**|string|```'jitsi0.andrew.cmu.edu:8443'```|Jitsi host used for this scene.|No| +|**maxAVDist**|number|```20```|Maximum distance between cameras/users until audio and video are cut off. For saving bandwidth on scenes with large amounts of user activity at once.|Yes| +|**navMesh**|string|```''```|Navigation Mesh URL.|No| +|**networkedLocationSolver**|boolean|```False```|ARMarker location solver parameter. By default (networkedLocationSolver=false) clients solve camera location locally when a static marker is detected. When true, publishes marker detections (to realm/g/a/camera-name) and defers all tag solving of client camera to a solver sitting on pubsub.|No| +|**privateScene**|boolean|```False```|False = scene will be visible; True = scene will not show in listings.|Yes| +|**refDistance**|number|```1```|Distance at which the volume reduction starts taking effect.|No| +|**rolloffFactor**|number|```1```|How quickly the volume is reduced as the source moves away from the listener.|No| +|**screenshare**|string|```'screenshare'```|Name of the 3D object used when sharing desktop.|No| +|**videoFrustumCulling**|boolean|```True```|If false, will disable video frustum culling (video frustum culling stops video from users outside of view).|No| +|**videoDistanceConstraints**|boolean|```True```|If false, will disable video distance constraints (video resolution decreases with distance from users in view).|No| +|**videoDefaultResolutionConstraint**|number|```180```|Sets the default max resolution for all users. Ignored when videoDistanceConstraints = true.|No| +|**volume**|number|```1```|Volume for users in a scene.|No| +|**physics**|boolean|```False```|If true, will load the aframe-physics-system. Required for the following: `dynamic-body`, `impulse`, `collision-listener`.|Yes| +|**ar-hit-test**|object||A-Frame AR Hit Test Settings. More properties at AR Hit Test component.|No| diff --git a/content/schemas/message/shadow.md b/content/schemas/message/shadow.md index f3911f84..21f02b11 100644 --- a/content/schemas/message/shadow.md +++ b/content/schemas/message/shadow.md @@ -19,5 +19,5 @@ Shadow Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|cast|boolean|```False```|Whether the entity casts shadows onto the surrounding scene.|Yes| -|receive|boolean|```False```|Whether the entity receives shadows from the surrounding scene.|Yes| +|**cast**|boolean|```False```|Whether the entity casts shadows onto the surrounding scene.|Yes| +|**receive**|boolean|```False```|Whether the entity receives shadows from the surrounding scene.|Yes| diff --git a/content/schemas/message/sound.md b/content/schemas/message/sound.md index ace594e1..685b44c9 100644 --- a/content/schemas/message/sound.md +++ b/content/schemas/message/sound.md @@ -21,14 +21,14 @@ Sound Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|autoplay|boolean|```False```|Whether to automatically play sound once set.|No| -|distanceModel|string; One of: ```['linear', 'inverse', 'exponential']```|```'inverse'```|Sound model.|No| -|loop|boolean|```False```|Whether to loop the sound once the sound finishes playing.|No| -|maxDistance|number|```10000```|Maximum distance between the audio source and the listener, after which the volume is not reduced any further.|No| -|on|string; One of: ```['mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'triggerdown', 'triggerup', 'gripdown', 'gripup', 'menudown', 'menuup', 'systemdown', 'systemup', 'trackpaddown', 'trackpadup']```|```'mousedown'```|An event for the entity to listen to before playing sound.|No| -|poolSize|number|```1```|Numbers of simultaneous instances of this sound that can be playing at the same time.|No| -|positional|boolean|```True```|Whether or not the audio is positional (movable).|No| -|refDistance|number|```1```|Reference distance for reducing volume as the audio source moves further from the listener.|No| -|rolloffFactor|number|```1```|Describes how quickly the volume is reduced as the source moves away from the listener.|No| -|src|string||URL path to sound file e.g. 'store/users/wiselab/sound/wave.mp3'.|No| -|volume|number|```1```|How loud to play the sound.|No| +|**autoplay**|boolean|```False```|Whether to automatically play sound once set.|No| +|**distanceModel**|string; One of: ```['linear', 'inverse', 'exponential']```|```'inverse'```|Sound model.|No| +|**loop**|boolean|```False```|Whether to loop the sound once the sound finishes playing.|No| +|**maxDistance**|number|```10000```|Maximum distance between the audio source and the listener, after which the volume is not reduced any further.|No| +|**on**|string; One of: ```['mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'triggerdown', 'triggerup', 'gripdown', 'gripup', 'menudown', 'menuup', 'systemdown', 'systemup', 'trackpaddown', 'trackpadup']```|```'mousedown'```|An event for the entity to listen to before playing sound.|No| +|**poolSize**|number|```1```|Numbers of simultaneous instances of this sound that can be playing at the same time.|No| +|**positional**|boolean|```True```|Whether or not the audio is positional (movable).|No| +|**refDistance**|number|```1```|Reference distance for reducing volume as the audio source moves further from the listener.|No| +|**rolloffFactor**|number|```1```|Describes how quickly the volume is reduced as the source moves away from the listener.|No| +|**src**|string||URL path to sound file e.g. 'store/users/wiselab/sound/wave.mp3'.|No| +|**volume**|number|```1```|How loud to play the sound.|No| diff --git a/content/schemas/message/spe-particles.md b/content/schemas/message/spe-particles.md index e673437b..e4607baf 100644 --- a/content/schemas/message/spe-particles.md +++ b/content/schemas/message/spe-particles.md @@ -21,63 +21,63 @@ SPE Particles Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|acceleration|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|For sphere and disc distributions, only the x axis is used.|No| -|accelerationDistribution|string; One of: ```['none', 'box', 'sphere', 'disc']```|```'none'```|Distribution of particle acceleration, for disc and sphere, only the x component will be used. if set to NONE use the 'distribution' attribute for accelerationDistribution.|No| -|accelerationSpread|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Spread of the particle's acceleration. for sphere and disc distributions, only the x axis is used.|No| -|activeMultiplier|number|```1```|Multiply the rate of particles emission, if larger than 1 then the particles will be emitted in bursts. note, very large numbers will emit all particles at once.|No| -|affectedByFog|boolean|```True```|If true, the particles are affected by THREE js fog.|No| -|alphaTest|number|```0```|Alpha values below the alphaTest threshold are considered invisible.|No| -|angle|array|```[0]```|2D rotation of the particle over the particle's lifetime, max 4 elements.|No| -|angleSpread|array|```[0]```|Spread in angle over the particle's lifetime, max 4 elements.|No| -|blending|string; One of: ```['no', 'normal', 'additive', 'subtractive', 'multiply', 'custom']```|```'normal'```|Blending mode, when drawing particles.|No| -|color|array|```['#fff']```|Array of colors over the particle's lifetime, max 4 elements.|No| -|colorSpread|array|```[]```|Spread to apply to colors, spread an array of vec3 (r g b) with 0 for no spread. note the spread will be re-applied through-out the lifetime of the particle.|No| -|depthTest|boolean|```True```|If true, don't render a particle's pixels if something is closer in the depth buffer.|No| -|depthWrite|boolean|```False```|If true, particles write their depth into the depth buffer. this should be false if we use transparent particles.|No| -|direction|string; One of: ```['forward', 'backward']```|```'forward'```|Make the emitter operate forward or backward in time.|No| -|distribution|string; One of: ```['box', 'sphere', 'disc']```|```'box'```|Distribution for particle positions, velocities and acceleration. will be overridden by specific '...Distribution' attributes.|No| -|drag|number|```0```|Apply resistance to moving the particle, 0 is no resistance, 1 is full resistance, particle will stop moving at half of it's maxAge.|No| -|dragSpread|number|```0```|Spread to apply to the drag attribute.|No| -|duration|number|```-1```|Duration of the emitter (seconds), if less than 0 then continuously emit particles.|No| -|emitterScale|number|```100```|Global scaling factor for all particles from the emitter.|No| -|enableInEditor|boolean|```False```|Enable the emitter while the editor is active (i.e. while scene is paused).|No| -|enabled|boolean|```True```|Enable/disable the emitter.|No| -|frustumCulled|boolean|```False```|Enable/disable frustum culling.|No| -|hasPerspective|boolean|```True```|If true, particles will be larger the closer they are to the camera.|No| -|maxAge|number|```1```|Maximum age of a particle before reusing.|No| -|maxAgeSpread|number|```0```|Variance for the 'maxAge' attribute.|No| -|opacity|array|```[1]```|Opacity over the particle's lifetime, max 4 elements.|No| -|opacitySpread|array|```[0]```|Spread in opacity over the particle's lifetime, max 4 elements.|No| -|particleCount|integer|```100```|Maximum number of particles for this emitter.|No| -|positionDistribution|string; One of: ```['none', 'box', 'sphere', 'disc']```|```'none'```|Distribution of particle positions, disc and sphere will use the radius attributes. For box particles emit at 0,0,0, for sphere they emit on the surface of the sphere and for disc on the edge of a 2D disc on the XY plane.|No| -|positionOffset|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Fixed offset to the apply to the emitter relative to its parent entity.|No| -|positionSpread|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Particles are positioned within +- of these local bounds. for sphere and disc distributions only the x axis is used.|No| -|radius|number|```1```|Radius of the disc or sphere emitter (ignored for box). note radius of 0 will prevent velocity and acceleration if they use a sphere or disc distribution.|No| -|radiusScale|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|Scales the emitter for sphere and disc shapes to form oblongs and ellipses.|No| -|randomizeAcceleration|boolean|```False```|If true, re-randomize acceleration when re-spawning a particle, can incur a performance hit.|No| -|randomizeAngle|boolean|```False```|If true, re-randomize angle when re-spawning a particle, can incur a performance hit.|No| -|randomizeColor|boolean|```False```|If true, re-randomize colour when re-spawning a particle, can incur a performance hit.|No| -|randomizeDrag|boolean|```False```|If true, re-randomize drag when re-spawning a particle, can incur a performance hit.|No| -|randomizeOpacity|boolean|```False```|If true, re-randomize opacity when re-spawning a particle, can incur a performance hit.|No| -|randomizePosition|boolean|```False```|If true, re-randomize position when re-spawning a particle, can incur a performance hit.|No| -|randomizeRotation|boolean|```False```|If true, re-randomize rotation when re-spawning a particle, can incur a performance hit.|No| -|randomizeSize|boolean|```False```|If true, re-randomize size when re-spawning a particle, can incur a performance hit.|No| -|randomizeVelocity|boolean|```False```|If true, re-randomize velocity when re-spawning a particle, can incur a performance hit.|No| -|relative|string; One of: ```['local', 'world']```|```'local'```|World relative particles move relative to the world, while local particles move relative to the emitter (i.e. if the emitter moves, all particles move with it).|No| -|rotation|number|```0```|Rotation in degrees.|No| -|rotationAxis|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Local axis when using rotation.|No| -|rotationAxisSpread|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Variance in the axis of rotation.|No| -|rotationSpread|number|```0```|Rotation variance in degrees.|No| -|rotationStatic|boolean|```False```|If true, the particles are fixed at their initial rotation value. if false, the particle will rotate from 0 to the 'rotation' value.|No| -|size|array|```[1]```|Array of sizes over the particle's lifetime, max 4 elements.|No| -|sizeSpread|array|```[0]```|Spread in size over the particle's lifetime, max 4 elements.|No| -|texture|string|```''```|Texture to be used for each particle, may be a spritesheet. Examples: [blob.png, fog.png, square.png, explosion_sheet.png, fireworks_sheet.png], like path 'static/images/textures/blob.png'.|No| -|textureFrameCount|integer|```-1```|Number of frames in the spritesheet, negative numbers default to textureFrames.x * textureFrames.y.|No| -|textureFrameLoop|integer|```1```|Number of times the spritesheet should be looped over the lifetime of a particle.|No| -|textureFrames|[vector2](vector2)|```{'x': 1, 'y': 1}```|X and Y frames for a spritesheet. each particle will transition through every frame of the spritesheet over its lifetime (see textureFramesLoop).|No| -|useTransparency|boolean|```True```|Should the particles be rendered with transparency?|No| -|velocity|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|For sphere and disc distributions, only the x axis is used.|No| -|velocityDistribution|string; One of: ```['none', 'box', 'sphere', 'disc']```|```'none'```|Distribution of particle velocities, for disc and sphere, only the x component will be used. if set to NONE use the 'distribution' attribute for velocityDistribution.|No| -|velocitySpread|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Variance for the velocity.|No| -|wiggle|number|```0```|Extra distance the particle moves over its lifetime.|No| -|wiggleSpread|number|```0```|+- spread for the wiggle attribute.|No| +|**acceleration**|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|For sphere and disc distributions, only the x axis is used.|No| +|**accelerationDistribution**|string; One of: ```['none', 'box', 'sphere', 'disc']```|```'none'```|Distribution of particle acceleration, for disc and sphere, only the x component will be used. if set to NONE use the 'distribution' attribute for accelerationDistribution.|No| +|**accelerationSpread**|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Spread of the particle's acceleration. for sphere and disc distributions, only the x axis is used.|No| +|**activeMultiplier**|number|```1```|Multiply the rate of particles emission, if larger than 1 then the particles will be emitted in bursts. note, very large numbers will emit all particles at once.|No| +|**affectedByFog**|boolean|```True```|If true, the particles are affected by THREE js fog.|No| +|**alphaTest**|number|```0```|Alpha values below the alphaTest threshold are considered invisible.|No| +|**angle**|array|```[0]```|2D rotation of the particle over the particle's lifetime, max 4 elements.|No| +|**angleSpread**|array|```[0]```|Spread in angle over the particle's lifetime, max 4 elements.|No| +|**blending**|string; One of: ```['no', 'normal', 'additive', 'subtractive', 'multiply', 'custom']```|```'normal'```|Blending mode, when drawing particles.|No| +|**color**|array|```['#fff']```|Array of colors over the particle's lifetime, max 4 elements.|No| +|**colorSpread**|array|```[]```|Spread to apply to colors, spread an array of vec3 (r g b) with 0 for no spread. note the spread will be re-applied through-out the lifetime of the particle.|No| +|**depthTest**|boolean|```True```|If true, don't render a particle's pixels if something is closer in the depth buffer.|No| +|**depthWrite**|boolean|```False```|If true, particles write their depth into the depth buffer. this should be false if we use transparent particles.|No| +|**direction**|string; One of: ```['forward', 'backward']```|```'forward'```|Make the emitter operate forward or backward in time.|No| +|**distribution**|string; One of: ```['box', 'sphere', 'disc']```|```'box'```|Distribution for particle positions, velocities and acceleration. will be overridden by specific '...Distribution' attributes.|No| +|**drag**|number|```0```|Apply resistance to moving the particle, 0 is no resistance, 1 is full resistance, particle will stop moving at half of it's maxAge.|No| +|**dragSpread**|number|```0```|Spread to apply to the drag attribute.|No| +|**duration**|number|```-1```|Duration of the emitter (seconds), if less than 0 then continuously emit particles.|No| +|**emitterScale**|number|```100```|Global scaling factor for all particles from the emitter.|No| +|**enableInEditor**|boolean|```False```|Enable the emitter while the editor is active (i.e. while scene is paused).|No| +|**enabled**|boolean|```True```|Enable/disable the emitter.|No| +|**frustumCulled**|boolean|```False```|Enable/disable frustum culling.|No| +|**hasPerspective**|boolean|```True```|If true, particles will be larger the closer they are to the camera.|No| +|**maxAge**|number|```1```|Maximum age of a particle before reusing.|No| +|**maxAgeSpread**|number|```0```|Variance for the 'maxAge' attribute.|No| +|**opacity**|array|```[1]```|Opacity over the particle's lifetime, max 4 elements.|No| +|**opacitySpread**|array|```[0]```|Spread in opacity over the particle's lifetime, max 4 elements.|No| +|**particleCount**|integer|```100```|Maximum number of particles for this emitter.|No| +|**positionDistribution**|string; One of: ```['none', 'box', 'sphere', 'disc']```|```'none'```|Distribution of particle positions, disc and sphere will use the radius attributes. For box particles emit at 0,0,0, for sphere they emit on the surface of the sphere and for disc on the edge of a 2D disc on the XY plane.|No| +|**positionOffset**|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Fixed offset to the apply to the emitter relative to its parent entity.|No| +|**positionSpread**|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Particles are positioned within +- of these local bounds. for sphere and disc distributions only the x axis is used.|No| +|**radius**|number|```1```|Radius of the disc or sphere emitter (ignored for box). note radius of 0 will prevent velocity and acceleration if they use a sphere or disc distribution.|No| +|**radiusScale**|[vector3](vector3)|```{'x': 1, 'y': 1, 'z': 1}```|Scales the emitter for sphere and disc shapes to form oblongs and ellipses.|No| +|**randomizeAcceleration**|boolean|```False```|If true, re-randomize acceleration when re-spawning a particle, can incur a performance hit.|No| +|**randomizeAngle**|boolean|```False```|If true, re-randomize angle when re-spawning a particle, can incur a performance hit.|No| +|**randomizeColor**|boolean|```False```|If true, re-randomize colour when re-spawning a particle, can incur a performance hit.|No| +|**randomizeDrag**|boolean|```False```|If true, re-randomize drag when re-spawning a particle, can incur a performance hit.|No| +|**randomizeOpacity**|boolean|```False```|If true, re-randomize opacity when re-spawning a particle, can incur a performance hit.|No| +|**randomizePosition**|boolean|```False```|If true, re-randomize position when re-spawning a particle, can incur a performance hit.|No| +|**randomizeRotation**|boolean|```False```|If true, re-randomize rotation when re-spawning a particle, can incur a performance hit.|No| +|**randomizeSize**|boolean|```False```|If true, re-randomize size when re-spawning a particle, can incur a performance hit.|No| +|**randomizeVelocity**|boolean|```False```|If true, re-randomize velocity when re-spawning a particle, can incur a performance hit.|No| +|**relative**|string; One of: ```['local', 'world']```|```'local'```|World relative particles move relative to the world, while local particles move relative to the emitter (i.e. if the emitter moves, all particles move with it).|No| +|**rotation**|number|```0```|Rotation in degrees.|No| +|**rotationAxis**|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Local axis when using rotation.|No| +|**rotationAxisSpread**|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Variance in the axis of rotation.|No| +|**rotationSpread**|number|```0```|Rotation variance in degrees.|No| +|**rotationStatic**|boolean|```False```|If true, the particles are fixed at their initial rotation value. if false, the particle will rotate from 0 to the 'rotation' value.|No| +|**size**|array|```[1]```|Array of sizes over the particle's lifetime, max 4 elements.|No| +|**sizeSpread**|array|```[0]```|Spread in size over the particle's lifetime, max 4 elements.|No| +|**texture**|string|```''```|Texture to be used for each particle, may be a spritesheet. Examples: [blob.png, fog.png, square.png, explosion_sheet.png, fireworks_sheet.png], like path 'static/images/textures/blob.png'.|No| +|**textureFrameCount**|integer|```-1```|Number of frames in the spritesheet, negative numbers default to textureFrames.x * textureFrames.y.|No| +|**textureFrameLoop**|integer|```1```|Number of times the spritesheet should be looped over the lifetime of a particle.|No| +|**textureFrames**|[vector2](vector2)|```{'x': 1, 'y': 1}```|X and Y frames for a spritesheet. each particle will transition through every frame of the spritesheet over its lifetime (see textureFramesLoop).|No| +|**useTransparency**|boolean|```True```|Should the particles be rendered with transparency?|No| +|**velocity**|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|For sphere and disc distributions, only the x axis is used.|No| +|**velocityDistribution**|string; One of: ```['none', 'box', 'sphere', 'disc']```|```'none'```|Distribution of particle velocities, for disc and sphere, only the x component will be used. if set to NONE use the 'distribution' attribute for velocityDistribution.|No| +|**velocitySpread**|[vector3](vector3)|```{'x': 0, 'y': 0, 'z': 0}```|Variance for the velocity.|No| +|**wiggle**|number|```0```|Extra distance the particle moves over its lifetime.|No| +|**wiggleSpread**|number|```0```|+- spread for the wiggle attribute.|No| diff --git a/content/schemas/message/sphere.md b/content/schemas/message/sphere.md index 4eaf7d23..3b59a160 100644 --- a/content/schemas/message/sphere.md +++ b/content/schemas/message/sphere.md @@ -21,59 +21,62 @@ Sphere Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Sphere data||Sphere Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Sphere data||Sphere Data|Yes| ### Sphere Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```sphere```|```sphere```|3D object type.|Yes| -|phiLength|number|```360```|phi length|No| -|phiStart|number|```0```|phi start|No| -|radius|number|```1```|radius|Yes| -|segmentsHeight|integer|```18```|segments height|No| -|segmentsWidth|integer|```36```|segments width|No| -|thetaLength|number|```180```|theta length|No| -|thetaStart|number|```0```|theta start|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```sphere```|```sphere```|3D object type.|Yes| +|**phiLength**|number|```360```|phi length|No| +|**phiStart**|number|```0```|phi start|No| +|**radius**|number|```1```|radius|Yes| +|**segmentsHeight**|integer|```18```|segments height|No| +|**segmentsWidth**|integer|```36```|segments width|No| +|**thetaLength**|number|```180```|theta length|No| +|**thetaStart**|number|```0```|theta start|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/static-body.md b/content/schemas/message/static-body.md index 75ec79d5..38a2ac0e 100644 --- a/content/schemas/message/static-body.md +++ b/content/schemas/message/static-body.md @@ -21,7 +21,7 @@ Physics Static Body Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|shape|string; One of: ```['auto', 'box', 'cylinder', 'sphere', 'hull', 'none']```|```'auto'```|Body components will attempt to find an appropriate CANNON.js shape to fit your model. When defining an object you may choose a shape or leave the default, auto. Select a shape carefully, as there are performance implications with different choices.|No| -|cylinderAxis|string; One of: ```['x', 'y', 'z']```|```'y'```|Override default axis of bounding cylinder. Requires shape:cylinder.|No| -|sphereRadius|number||Override default radius of bounding sphere. Requires shape:sphere. NaN by default.|No| -|type|string; One of: ```['dynamic', 'static']```|```'static'```|Define the result of collisions. Dynamic can be moved, Static cannot be moved.|No| +|**shape**|string; One of: ```['auto', 'box', 'cylinder', 'sphere', 'hull', 'none']```|```'auto'```|Body components will attempt to find an appropriate CANNON.js shape to fit your model. When defining an object you may choose a shape or leave the default, auto. Select a shape carefully, as there are performance implications with different choices.|No| +|**cylinderAxis**|string; One of: ```['x', 'y', 'z']```|```'y'```|Override default axis of bounding cylinder. Requires shape:cylinder.|No| +|**sphereRadius**|number||Override default radius of bounding sphere. Requires shape:sphere. NaN by default.|No| +|**type**|string; One of: ```['dynamic', 'static']```|```'static'```|Define the result of collisions. Dynamic can be moved, Static cannot be moved.|No| diff --git a/content/schemas/message/tetrahedron.md b/content/schemas/message/tetrahedron.md index 2d1865e3..71125567 100644 --- a/content/schemas/message/tetrahedron.md +++ b/content/schemas/message/tetrahedron.md @@ -21,54 +21,57 @@ Tetrahedron Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Tetrahedron data||Tetrahedron Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Tetrahedron data||Tetrahedron Data|Yes| ### Tetrahedron Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```tetrahedron```|```tetrahedron```|3D object type.|Yes| -|detail|integer|```0```|detail|No| -|radius|number|```1```|radius|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```tetrahedron```|```tetrahedron```|3D object type.|Yes| +|**detail**|integer|```0```|detail|No| +|**radius**|number|```1```|radius|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/text.md b/content/schemas/message/text.md index 02e4029e..f50604c8 100644 --- a/content/schemas/message/text.md +++ b/content/schemas/message/text.md @@ -23,42 +23,45 @@ Text Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Text data||Text Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Text data||Text Data|Yes| ### Text Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```text```|```text```|3D object type.|Yes| -|align|string; One of: ```['left', 'center', 'right']```|```'left'```|Multi-line text alignment.|No| -|alphaTest|number|```0.5```|Discard text pixels if alpha is less than this value.|No| -|anchor|string; One of: ```['left', 'right', 'center', 'align']```|```'center'```|Horizontal positioning.|No| -|baseline|string; One of: ```['top', 'center', 'bottom']```|```'center'```|Vertical positioning.|No| -|color|string|```'#000000'```|Text color.|Yes| -|font|string; One of: ```['aileronsemibold', 'dejavu', 'exo2bold', 'exo2semibold', 'kelsonsans', 'monoid', 'mozillavr', 'roboto', 'sourcecodepro']```|```'roboto'```|Font to render text, either the name of one of A-Frame's stock fonts or a URL to a font file.|Yes| -|fontImage|string||Font image texture path to render text. Defaults to the font's name with extension replaced to .png. Don't need to specify if using a stock font. (derived from font name).|No| -|height|number||Height of text block. (derived from text size).|No| -|letterSpacing|number|```0```|Letter spacing in pixels.|No| -|lineHeight|number||Line height in pixels. (derived from font file).|No| -|opacity|number|```1```|Opacity, on a scale from 0 to 1, where 0 means fully transparent and 1 means fully opaque.|No| -|shader|string; One of: ```['portal', 'flat', 'standard', 'sdf', 'msdf', 'ios10hls', 'skyshader', 'gradientshader']```|```'sdf'```|Shader used to render text.|No| -|side|string; One of: ```['front', 'back', 'double']```|```'double'```|Side to render.|Yes| -|tabSize|number|```4```|Tab size in spaces.|No| -|transparent|boolean|```True```|Whether text is transparent.|No| -|value|string||The actual content of the text. Line breaks and tabs are supported with `\n` and `\t`.|Yes| -|whiteSpace|string; One of: ```['normal', 'pre', 'nowrap']```|```'normal'```|How whitespace should be handled.|No| -|width|number|```5```|Width in meters. (derived from geometry if exists).|No| -|wrapCount|number|```40```|Number of characters before wrapping text (more or less).|No| -|wrapPixels|number||Number of pixels before wrapping text. (derived from wrapCount).|No| -|xOffset|number|```0```|X-offset to apply to add padding.|No| -|zOffset|number|```0.001```|Z-offset to apply to avoid Z-fighting if using with a geometry as a background.|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**object_type**|string; Must be: ```text```|```text```|3D object type.|Yes| +|**align**|string; One of: ```['left', 'center', 'right']```|```'left'```|Multi-line text alignment.|No| +|**alphaTest**|number|```0.5```|Discard text pixels if alpha is less than this value.|No| +|**anchor**|string; One of: ```['left', 'right', 'center', 'align']```|```'center'```|Horizontal positioning.|No| +|**baseline**|string; One of: ```['top', 'center', 'bottom']```|```'center'```|Vertical positioning.|No| +|**color**|string|```'#000000'```|Text color.|Yes| +|**font**|string; One of: ```['aileronsemibold', 'dejavu', 'exo2bold', 'exo2semibold', 'kelsonsans', 'monoid', 'mozillavr', 'roboto', 'sourcecodepro']```|```'roboto'```|Font to render text, either the name of one of A-Frame's stock fonts or a URL to a font file.|Yes| +|**fontImage**|string||Font image texture path to render text. Defaults to the font's name with extension replaced to .png. Don't need to specify if using a stock font. (derived from font name).|No| +|**height**|number||Height of text block. (derived from text size).|No| +|**letterSpacing**|number|```0```|Letter spacing in pixels.|No| +|**lineHeight**|number||Line height in pixels. (derived from font file).|No| +|**opacity**|number|```1```|Opacity, on a scale from 0 to 1, where 0 means fully transparent and 1 means fully opaque.|No| +|**shader**|string; One of: ```['portal', 'flat', 'standard', 'sdf', 'msdf', 'ios10hls', 'skyshader', 'gradientshader']```|```'sdf'```|Shader used to render text.|No| +|**side**|string; One of: ```['front', 'back', 'double']```|```'double'```|Side to render.|Yes| +|**tabSize**|number|```4```|Tab size in spaces.|No| +|~~**text**~~|~~string~~||~~DEPRECATED: data.text is deprecated for object_type: text, use data.value instead.~~|~~No~~| +|**transparent**|boolean|```True```|Whether text is transparent.|No| +|**value**|string||The actual content of the text. Line breaks and tabs are supported with `\n` and `\t`.|Yes| +|**whiteSpace**|string; One of: ```['normal', 'pre', 'nowrap']```|```'normal'```|How whitespace should be handled.|No| +|**width**|number|```5```|Width in meters. (derived from geometry if exists).|No| +|**wrapCount**|number|```40```|Number of characters before wrapping text (more or less).|No| +|**wrapPixels**|number||Number of pixels before wrapping text. (derived from wrapCount).|No| +|**xOffset**|number|```0```|X-offset to apply to add padding.|No| +|**zOffset**|number|```0.001```|Z-offset to apply to avoid Z-fighting if using with a geometry as a background.|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| diff --git a/content/schemas/message/textinput.md b/content/schemas/message/textinput.md index ade7db32..e4cc8dc4 100644 --- a/content/schemas/message/textinput.md +++ b/content/schemas/message/textinput.md @@ -19,7 +19,7 @@ Text Input Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|on|string; One of: ```['mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'triggerdown', 'triggerup', 'gripdown', 'gripup', 'menudown', 'menuup', 'systemdown', 'systemup', 'trackpaddown', 'trackpadup']```|```'mousedown'```|A case-sensitive string representing the event type to listen for. See Web Events|Yes| -|title|string|```'Text Input'```|The prompt title.|Yes| -|label|string|```'Input text below (max is 140 characters).'```|Text prompt label|Yes| -|placeholder|string|```'Type here'```|Text input place holder.|Yes| +|**on**|string; One of: ```['mousedown', 'mouseup', 'mouseenter', 'mouseleave', 'triggerdown', 'triggerup', 'gripdown', 'gripup', 'menudown', 'menuup', 'systemdown', 'systemup', 'trackpaddown', 'trackpadup']```|```'mousedown'```|A case-sensitive string representing the event type to listen for. See Web Events|Yes| +|**title**|string|```'Text Input'```|The prompt title.|Yes| +|**label**|string|```'Input text below (max is 140 characters).'```|Text prompt label|Yes| +|**placeholder**|string|```'Type here'```|Text input place holder.|Yes| diff --git a/content/schemas/message/thickline.md b/content/schemas/message/thickline.md index e02a605c..d6203d16 100644 --- a/content/schemas/message/thickline.md +++ b/content/schemas/message/thickline.md @@ -21,24 +21,26 @@ Thickline Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Thickline data||Thickline Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Thickline data||Thickline Data|Yes| ### Thickline Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```thickline```|```thickline```|3D object type.|Yes| -|color|string|```'#000000'```|Line color.|Yes| -|lineWidth|number|```1```|Width of line in px.|Yes| -|lineWidthStyler|string; One of: ```['default', 'grow', 'shrink', 'center-sharp', 'center-smooth', 'sine-wave']```|```'default'```|Allows defining the line width as a function of relative position p along the path of the line. By default it is set to a constant 1. You may also choose one of the preset functions.|Yes| -|path|string|```'-2 -1 0, 0 20 0, 10 -1 10'```|Comma-separated list of x y z coordinates of the line vertices.|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|No| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|No| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**object_type**|string; Must be: ```thickline```|```thickline```|3D object type.|Yes| +|**color**|string|```'#000000'```|Line color.|Yes| +|**lineWidth**|number|```1```|Width of line in px.|Yes| +|**lineWidthStyler**|string; One of: ```['default', 'grow', 'shrink', 'center-sharp', 'center-smooth', 'sine-wave']```|```'default'```|Allows defining the line width as a function of relative position p along the path of the line. By default it is set to a constant 1. You may also choose one of the preset functions.|Yes| +|**path**|string|```'-2 -1 0, 0 20 0, 10 -1 10'```|Comma-separated list of x y z coordinates of the line vertices.|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|No| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|No| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| diff --git a/content/schemas/message/threejs-scene.md b/content/schemas/message/threejs-scene.md index 37320ec8..12591780 100644 --- a/content/schemas/message/threejs-scene.md +++ b/content/schemas/message/threejs-scene.md @@ -23,46 +23,48 @@ Three.js Scene Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Three.js Scene data||Three.js Scene Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Three.js Scene data||Three.js Scene Data|Yes| ### Three.js Scene Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```threejs-scene```|```threejs-scene```|3D object type.|Yes| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|Yes| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```threejs-scene```|```threejs-scene```|3D object type.|Yes| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|Yes| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/torus.md b/content/schemas/message/torus.md index 7a8dfc8b..d70f46a8 100644 --- a/content/schemas/message/torus.md +++ b/content/schemas/message/torus.md @@ -21,57 +21,60 @@ Torus Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Torus data||Torus Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Torus data||Torus Data|Yes| ### Torus Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```torus```|```torus```|3D object type.|Yes| -|arc|number|```360```|Arc|No| -|radius|number|```1```|radius|Yes| -|radiusTubular|number|```0.2```|radius tubular|Yes| -|segmentsRadial|integer|```36```|segments radial|No| -|segmentsTubular|integer|```32```|segments tubular|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```torus```|```torus```|3D object type.|Yes| +|**arc**|number|```360```|Arc|No| +|**radius**|number|```1```|radius|Yes| +|**radiusTubular**|number|```0.2```|radius tubular|Yes| +|**segmentsRadial**|integer|```36```|segments radial|No| +|**segmentsTubular**|integer|```32```|segments tubular|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/torusKnot.md b/content/schemas/message/torusKnot.md index cf21269d..89e70ca1 100644 --- a/content/schemas/message/torusKnot.md +++ b/content/schemas/message/torusKnot.md @@ -21,58 +21,61 @@ Torus Knot Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Torus Knot data||Torus Knot Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Torus Knot data||Torus Knot Data|Yes| ### Torus Knot Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```torusKnot```|```torusKnot```|3D object type.|Yes| -|p|number|```2```|P|No| -|q|number|```3```|Q|No| -|radius|number|```1```|radius|Yes| -|radiusTubular|number|```0.2```|radius tubular|Yes| -|segmentsRadial|integer|```8```|segments radial|No| -|segmentsTubular|integer|```100```|segments tubular|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```torusKnot```|```torusKnot```|3D object type.|Yes| +|**p**|number|```2```|P|No| +|**q**|number|```3```|Q|No| +|**radius**|number|```1```|radius|Yes| +|**radiusTubular**|number|```0.2```|radius tubular|Yes| +|**segmentsRadial**|integer|```8```|segments radial|No| +|**segmentsTubular**|integer|```100```|segments tubular|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/triangle.md b/content/schemas/message/triangle.md index 714bea18..afe69f4a 100644 --- a/content/schemas/message/triangle.md +++ b/content/schemas/message/triangle.md @@ -21,55 +21,58 @@ Triangle Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Triangle data||Triangle Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Triangle data||Triangle Data|Yes| ### Triangle Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```triangle```|```triangle```|3D object type.|Yes| -|vertexA|[vector3](vector3)|```{'x': 0, 'y': 0.5, 'z': 0}```|vertex A|Yes| -|vertexB|[vector3](vector3)|```{'x': -0.5, 'y': -0.5, 'z': 0}```|vertex B|Yes| -|vertexC|[vector3](vector3)|```{'x': 0.5, 'y': -0.5, 'z': 0}```|vertex C|Yes| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```triangle```|```triangle```|3D object type.|Yes| +|**vertexA**|[vector3](vector3)|```{'x': 0, 'y': 0.5, 'z': 0}```|vertex A|Yes| +|**vertexB**|[vector3](vector3)|```{'x': -0.5, 'y': -0.5, 'z': 0}```|vertex B|Yes| +|**vertexC**|[vector3](vector3)|```{'x': 0.5, 'y': -0.5, 'z': 0}```|vertex C|Yes| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)|```{'color': '#7f7f7f'}```|The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| diff --git a/content/schemas/message/urdf-model.md b/content/schemas/message/urdf-model.md index 62400403..27bfa79f 100644 --- a/content/schemas/message/urdf-model.md +++ b/content/schemas/message/urdf-model.md @@ -23,48 +23,50 @@ URDF Model Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|URDF Model data||URDF Model Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|URDF Model data||URDF Model Data|Yes| ### URDF Model Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```urdf-model```|```urdf-model```|3D object type.|Yes| -|url|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| -|urlBase|string||Base path for xacro/urdf package includes. This must be an absolute path with no trailing slash, e.g. '/store/users/username/robot'|Yes| -|joints|string||Set joint values (in degrees) in the form 'JointName1: ValueInDegrees1, JointName2: ValueInDegrees2, ...'. |No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|No| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|No| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|animation|[animation](animation)||Animate and tween values.|No| -|armarker|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| -|click-listener|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| -|box-collision-listener|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| -|collision-listener|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| -|blip|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| -|static-body|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| -|dynamic-body|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| -|goto-landmark|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| -|goto-url|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| -|hide-on-enter-ar|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| -|hide-on-enter-vr|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| -|show-on-enter-ar|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| -|show-on-enter-vr|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| -|impulse|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| -|landmark|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| -|material-extras|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| -|shadow|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| -|sound|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| -|textinput|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| -|remote-render|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| -|video-control|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| -|attribution|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| -|spe-particles|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| -|look-at|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**object_type**|string; Must be: ```urdf-model```|```urdf-model```|3D object type.|Yes| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|Yes| +|**urlBase**|string||Base path for xacro/urdf package includes. This must be an absolute path with no trailing slash, e.g. '/store/users/username/robot'|Yes| +|**joints**|string||Set joint values (in degrees) in the form 'JointName1: ValueInDegrees1, JointName2: ValueInDegrees2, ...'. |No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|No| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|No| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| diff --git a/content/schemas/message/vector3.md b/content/schemas/message/vector3.md index 62e3f1d9..2c97cc97 100644 --- a/content/schemas/message/vector3.md +++ b/content/schemas/message/vector3.md @@ -19,6 +19,6 @@ Vector3 Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|x|number|```0```|x|Yes| -|y|number|```0```|y|Yes| -|z|number|```0```|z|Yes| +|**x**|number|```0```|x|Yes| +|**y**|number|```0```|y|Yes| +|**z**|number|```0```|z|Yes| diff --git a/content/schemas/message/video-control.md b/content/schemas/message/video-control.md index bab38890..5f022791 100644 --- a/content/schemas/message/video-control.md +++ b/content/schemas/message/video-control.md @@ -19,11 +19,11 @@ Video Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|frame_object|string||URL of a thumbnail image, e.g. 'store/users/wiselab/images/conix-face-white.jpg'.|Yes| -|video_object|string||Name of object where to put the video, e.g. 'square_vid6'.|Yes| -|video_path|string||URL of the video file, e.g. 'store/users/wiselab/videos/kungfu.mp4'.|Yes| -|anyone_clicks|boolean|```True```|Responds to clicks from any user.|No| -|video_loop|boolean|```True```|Video automatically loops.|No| -|autoplay|boolean|```False```|Video starts playing automatically.|No| -|volume|number|```1```|Video sound volume.|No| -|cleanup|boolean|```True```|Automatically remove HTML5 video and img assets from DOM on object removal.|No| +|**frame_object**|string||URL of a thumbnail image, e.g. 'store/users/wiselab/images/conix-face-white.jpg'.|Yes| +|**video_object**|string||Name of object where to put the video, e.g. 'square_vid6'.|Yes| +|**video_path**|string||URL of the video file, e.g. 'store/users/wiselab/videos/kungfu.mp4'.|Yes| +|**anyone_clicks**|boolean|```True```|Responds to clicks from any user.|No| +|**video_loop**|boolean|```True```|Video automatically loops.|No| +|**autoplay**|boolean|```False```|Video starts playing automatically.|No| +|**volume**|number|```1```|Video sound volume.|No| +|**cleanup**|boolean|```True```|Automatically remove HTML5 video and img assets from DOM on object removal.|No| diff --git a/content/schemas/message/videosphere.md b/content/schemas/message/videosphere.md index e65d8f53..e58e6074 100644 --- a/content/schemas/message/videosphere.md +++ b/content/schemas/message/videosphere.md @@ -21,33 +21,62 @@ Videosphere Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_id|string||A uuid or otherwise unique identifier for this object.|Yes| -|persist|boolean|```True```|Persist this object in the database.|Yes| -|type|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| -|action|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| -|ttl|integer||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| -|data|Videosphere data||Videosphere Data|Yes| +|**object_id**|string||A uuid or otherwise unique identifier for this object.|Yes| +|**persist**|boolean|```True```|Persist this object in the database.|Yes| +|**type**|string; Must be: ```object```|```'object'```|AFrame 3D Object|Yes| +|**action**|string; One of: ```['create', 'delete', 'update']```|```'create'```|Message action create, update, delete.|Yes| +|**ttl**|number||When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment.|No| +|**private**|boolean|```False```|If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics|No| +|**program_id**|string||The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false.|No| +|**data**|Videosphere data||Videosphere Data|Yes| ### Videosphere Data Attributes |Attribute|Type|Default|Description|Required| | :--- | :--- | :--- | :--- | :--- | -|object_type|string; Must be: ```videosphere```|```videosphere```|3D object type.|Yes| -|autoplay|boolean|```True```|Autoplay|No| -|crossOrigin|string|```'anonymous'```|Cross Origin|No| -|loop|boolean|```True```|Loop|No| -|radius|number|```500```|Radius|Yes| -|segmentsHeight|integer|```32```|Segments Height|No| -|segmentsWidth|integer|```64```|Segments Width|No| -|src|string||URI, relative or full path of an image/video file. e.g. 'store/users/wiselab/images/360falls.mp4'.|No| -|parent|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| -|position|[position](position)||3D object position.|Yes| -|rotation|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| -|scale|[scale](scale)||3D object scale.|No| -|visible|boolean|```True```|Whether object is visible. Property is inherited.|No| -|buffer|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| -|jitsi-video|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| -|material|[material](material)||The material properties of the object's surface.|No| -|multisrc|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| -|screenshareable|boolean|```True```|Whether or not a user can screenshare on an object.|No| -|skipCache|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No| +|**object_type**|string; Must be: ```videosphere```|```videosphere```|3D object type.|Yes| +|**autoplay**|boolean|```True```|Autoplay|No| +|**crossOrigin**|string|```'anonymous'```|Cross Origin|No| +|**loop**|boolean|```True```|Loop|No| +|**radius**|number|```500```|Radius|Yes| +|**segmentsHeight**|integer|```32```|Segments Height|No| +|**segmentsWidth**|integer|```64```|Segments Width|No| +|**src**|string||URI, relative or full path of an image/video file. e.g. 'store/users/wiselab/images/360falls.mp4'.|No| +|**parent**|string||Parent's object_id. Child objects inherit attributes of their parent, for example scale and translation.|No| +|**position**|[position](position)||3D object position.|Yes| +|**rotation**|[rotation](rotation)||3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format.|Yes| +|**scale**|[scale](scale)||3D object scale.|No| +|**visible**|boolean|```True```|Whether object is visible. Property is inherited.|No| +|**animation**|[animation](animation)||Animate and tween values.|No| +|**armarker**|[armarker](armarker)||A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world.|No| +|**click-listener**|[click-listener](click-listener)||Object will listen for mouse events like clicks.|No| +|**box-collision-listener**|[box-collision-listener](box-collision-listener)||Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps.|No| +|**collision-listener**|string||Name of the collision-listener, default can be empty string. Collisions trigger click events.|No| +|**blip**|[blip](blip)||When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh.|No| +|**static-body**|[static-body](static-body)||A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.|No| +|**dynamic-body**|[dynamic-body](dynamic-body)||A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.|No| +|**goto-landmark**|[goto-landmark](goto-landmark)||Teleports user to the landmark with the given name. Requires click-listener.|No| +|**goto-url**|[goto-url](goto-url)||Load new URL when object is clicked. Requires click-listener.|No| +|**hide-on-enter-ar**|boolean; Must be: ```True```|```True```|Hide object when entering AR. Remove component to *not* hide.|No| +|**hide-on-enter-vr**|boolean; Must be: ```True```|```True```|Hide object when entering VR. Remove component to *not* hide.|No| +|**show-on-enter-ar**|boolean; Must be: ```True```|```True```|Show object when entering AR. Hidden otherwise.|No| +|**show-on-enter-vr**|boolean; Must be: ```True```|```True```|Show object when entering VR. Hidden otherwise.|No| +|**impulse**|[impulse](impulse)||Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics.|No| +|**landmark**|[landmark](landmark)||Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists).|No| +|**material-extras**|[material-extras](material-extras)||Define extra material properties, namely texture encoding, whether to render the material's color and render order.|No| +|**shadow**|[shadow](shadow)||The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled.|No| +|**sound**|[sound](sound)||The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component's position.|No| +|**textinput**|[textinput](textinput)||Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener.|No| +|**url**|string||Use File Store paths under 'store/users/username', see CDN and other storage options in the description above.|No| +|**remote-render**|[remote-render](remote-render)||Whether or not an object should be remote rendered [Experimental].|No| +|**video-control**|[video-control](video-control)||Adds a video to an entity and controls its playback.|No| +|**attribution**|[attribution](attribution)||Attribution Component. Saves attribution data in any entity.|No| +|**spe-particles**|[spe-particles](spe-particles)||GPU based particle systems in A-Frame.|No| +|**look-at**|string||The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use '#my-camera' to face the user camera, otherwise can take either a vec3 position or a query selector to another entity.|No| +|**buffer**|boolean|```True```|Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, ...).|No| +|~~**color**~~|~~string~~||~~DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead.~~|~~No~~| +|**jitsi-video**|[jitsi-video](jitsi-video)||Apply a jitsi video source to the geometry.|No| +|**material**|[material](material)||The material properties of the object's surface.|No| +|**multisrc**|[multisrc](multisrc)||Define multiple visual sources applied to an object.|No| +|**screenshareable**|boolean|```True```|Whether or not a user can screenshare on an object.|No| +|**skipCache**|boolean|```False```|Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, ...).|No|