Structs

Add a node as a child to another node.
Add a layer to a layer stack. Constraints:
DEPRECATED Adds the light specified by light_id specified by light_id to the scene identified by scene_id.
Add a node as a part of another node. The implications of being a part rather than a child differ based on the type of the part. However, one implication is constant: removing all of a node’s children (e.g. via DetachChildrenCmd) does not affect its parts. This is similar to the “shadow DOM” in a web browser: the controls of a
An AmbientLight is a Light that is is assumed to be everywhere in the scene, in all directions.
Represents an axis-aligned bounding box.
A buffer mapped to a range of Memory.
A Camera is used to render a Scene from a particular viewpoint. This is achieved by setting a Renderer to use the camera.
Characteristics:
A value that is specified explicitly by value if variable_id is zero, or is the value produced by the resource identified by variable_id, e.g. an animation or expression. In the latter case, the value produced by the resource must be a ColorRgb, and value is ignored.
sRGB color space and nonlinear transfer function.
A value that is specified explicitly by value if variable_id is zero, or is the value produced by the resource identified by variable_id, e.g. an animation or expression. In the latter case, the value produced by the resource must be a ColorRgba, and value is ignored.
A Compositor draws its LayerStack into a framebuffer provided by its attached Display, if any. If no display is attached, nothing is rendered.
Instructs the compositor to create the specified Resource, and to register it in a table so that it can be referenced by subsequent commands.
Detaches all of a node’s children (but not its parts).
Detaches a parentable object from its parent (e.g. a node from a parent node, or a layer from a layer stack). It is illegal to apply this command to a non-parentable object. No-op if the target object currently has no parent.
Detach the light specified by light_id from the scene that it is attached to, if any.
Detach all lights from the scene specified by scene_id.
A DirectionalLight is a Light that is emitted from a point at infinity.
A DisplayCompositor draws its attached LayerStack into an image that is presented on a display.
Provides information about a display.
Characteristics:
Create an external reference to the specified resource, which can then be imported into another Session by passing a handle to token’s peer to ImportResourceCmd; see that comment for more details.
Token that uniquely identifies a root point for a subgraph in the global scene graph. Each ExportToken has exactly one corresponding ImportToken.
A value that is specified explicitly by value if variable_id is zero, or is the value produced by the resource identified by variable_id, e.g. an animation or expression. In the latter case, the value produced by the resource must be a float32, and value is ignored.
An image mapped to a range of a Memory resource.
An image mapped to a range of a Memory resource.
An image that is backed by a BufferCollection registered with Allocator.
ImagePipe2 is a Resource that can be used as a Texture for a Material.
Import a resource that was exported via ExportResourceCmd(). token is a handle to the eventpair peer that was used to export the resource, and spec describes the type of the imported resource, and the commands which can legally be applied to it. Afterward, id can be used to refer to the resource in an Command, similarly (but not identically: see below) to a resource that was created in the session. For example, you can add children to an imported EntityNode via AddChildCmd.
Token that uniquely identifies an attachment point for a subgraph in the global scene graph. Each ImportToken has exactly one corresponding ExportToken.
Delivered when the imported resource with the given ID is no longer bound to its host resource, or if the imported resource can not be bound because the host resource is not available.
A Layer is a 2-dimensional image that is drawn by a Compositor. The contents of each Layer in a Layerstack are independent of each other. A layer is not drawn unless it has a camera, texture, or color.
A LayerStack is a stack of layers that are attached to a Compositor, which draws them in order of increasing Z-order (or rather, presents the illusion of drawing them in that order: it may apply any optimizations that don’t affect the output).
Simple texture-mapped material.
A value that is specified explicitly by value if variable_id is zero, or is the value produced by the resource identified by variable_id, e.g. an animation or expression. In the latter case, the value produced by the resource must be a vec4, and value is ignored.
Memory is a Resource that wraps a client-provided Zircon vmo to register it with Scenic.
A Mesh cannot be rendered until it has been bound to vertex/index buffers; see BindMeshBuffersCmd.
Rendering target metrics associated with a node. See also MetricsEvent.
Provides rendering target metrics information about the specified node.
Characteristics:
Oriented plane described by a normal vector and a distance from the origin along that vector.
A PointLight is a Light that emits light in all directions. By default, the intensity of the light falls off according to the physically based “inverse-square law” (see Wikipedia), although it can be adjusted to other values for artistic effect.
A Stream of incoming requests for PoseBufferProvider
A value that is specified explicitly by value if variable_id is zero, or is the value produced by the resource identified by variable_id, e.g. an animation or expression. In the latter case, the value produced by the resource must be a Quaternion, and value is ignored.
Rectangle centered at (0,0).
Releases the client’s reference to the resource; it is then illegal to use the ID in subsequent Commands. Other references to the resource may exist, so releasing the resource does not result in its immediate destruction; it is only destroyed once the last reference is released. For example, the resource may be required to render an in-progress frame, or it may be referred to by another resource). However, the ID will be immediately unregistered, and may be reused to create a new resource.
Remove all layers from a layer stack. Constraints
Remove a layer from a layer stack. Constraints:
A Renderer renders a Scene via a Camera.
RoundedRectangle centered at (0,0). Legal parameter values must satisfy the constraint that the flat sides of the rectangle have non-negative length. In other words, the following constraints must hold:
Adds the light specified by light_id specified by light_id to the scene identified by scene_id.
Adds the light specified by light_id specified by light_id to the scene identified by scene_id.
Adds the light specified by light_id specified by light_id to the scene identified by scene_id.
A Scene is the root of a scene-graph, and defines the rendering environment (lighting, etc.) for the tree of nodes beneath it.
Sends a hint about a pending size change to the given node and all nodes below. This is generally sent before an animation.
Sets a Resource’s (typically a Node’s) anchor point.
Sets a camera’s 2D clip-space transform.
Sets a renderer’s camera.
Sets the “pose buffer” for the camera identified by camera_id. This operation can be applied to both Cameras and StereoCameras.
Sets a camera’s projection matrix. This operation cannot be applied to a StereoCamera.
Sets a camera’s view matrix. This operation can be applied to both Cameras and StereoCameras.
Sets/clears a node’s clip. DEPRECATED: use SetClipPlanesCmd.
Sets the list of clip planes that apply to a Node and all of its children. Replaces the list set by any previous SetClipPlanesCmd.
Sets a material’s color.
Set whether clipping should be disabled for the specified renderer. For a newly-created renderer, clipping will NOT be disabled (i.e. it will be enabled).
Set the color conversion applied to the compositor’s display. The conversion is applied to to each pixel according to the formula:
Depending on the device, the display might be rotated with respect to what the lower level device controller considers the physical orientation of pixels. The compositors and layers must be in alignment with the underlying physical orientation which means that for certain operations like screenshotting, they cannot provide results with the accurate orientation unless they have information about how the higher-level display is orienting the screen. The only legal values for the rotation are 0, 90, 180, and 270, which are each applied counterclockwise.
Sets which events a resource should deliver to the session listener. This command replaces any prior event mask for the resource.
Sets a node’s hit test behavior.
Sets/clears a label to help developers identify the purpose of the resource when using diagnostic tools.
Set a compositor’s layer stack, replacing the current stack (if any). Constraints:
Sets the color of the Light identified by light_id.
Sets the direction of the DirectionalLight identified by light_id.
Sets/clears a node’s material.
Sets a node’s opacity.
Sets the falloff factor of the PointLight identified by light_id. A value of 1.0 corresponds to the physically-based “inverse-square law” (see Wikipedia). Other values can be used for artistic effect, e.g. a value of 0.0 means that the radiance of a surface is not dependant on its distance from the light.
Sets the position of the PointLight identified by light_id.
Set a layer’s renderer, replacing the current renderer (if any). Constraints:
Sets a parameter that affects how a renderer renders a scene.
Sets a Resource’s (typically a Node’s) rotation.
Sets a Resource’s (typically a Node’s) scale.
Sets a node’s semantic visibility.
Sets/clears a node’s shape.
Sets an object’s size.
Sets a StereoCamera’s projection matrices. This operation can only be applied to a StereoCamera.
Sets/clears a node’s tag value.
Sets/clears a material’s texture.
Sets a Resource’s (typically a Node’s) translation.
Sets the properties for a ViewHolder’s attached View.
Characteristics:
Delivered in response to a size change hint from a parent node (SendSizeChangeHintCmd).
A Stream of incoming requests for SnapshotCallbackDeprecated
A StereoCamera is a Camera that renders the scene in side-by-side stereo.
Describes a typed, client-modifiable value.
A value that is specified explicitly by value if variable_id is zero, or is the value produced by the resource identified by variable_id, e.g. an animation or expression. In the latter case, the value produced by the resource must be a vec2, and value is ignored.
A value that is specified explicitly by value if variable_id is zero, or is the value produced by the resource identified by variable_id, e.g. an animation or expression. In the latter case, the value produced by the resource must be a vec3, and value is ignored.
A value that is specified explicitly by value if variable_id is zero, or is the value produced by the resource identified by variable_id, e.g. an animation or expression. In the latter case, the value produced by the resource must be a vec4, and value is ignored.
Represents the root of a subgraph within a larger scene graph. Nodes can be attached to the View as children, and these Nodes will have the Views’ coordinate transform applied to their own, in addition to being clipped to the Views’ bounding box. See ViewProperties.
Represents the root of a subgraph within a larger scene graph. Nodes can be attached to the View as children, and these Nodes will have the Views’ coordinate transform applied to their own, in addition to being clipped to the Views’ bounding box. See ViewProperties.
Delivered to a View’s Session when the parent ViewHolder for the given View becomes a part of a Scene.
Delivered to a ViewHolder’s Session when its peer View is connected.
Delivered to a View’s Session when the parent ViewHolder for the given View is no longer part of a scene.
Delivered to a ViewHolder’s Session when its peer View is disconnected or destroyed.
Represents an attachment point for a subgraph within a larger scene graph. The ViewHolder can be attached to a Node as a child, and the contents of the linked View will become a child of the Node as well.
Delivered to a View’s Session when its peer ViewHolder is connected.
Delivered to a View’s Session when its peer ViewHolder is disconnected or destroyed.
Represents the properties for a View.
Delivered when the parent ViewHolder for the given View makes a change to the View’s properties.
Represents the state of a View in Scenic.
Delivered to a ViewHolder’s Session when its peer View’s state has changed.

Enums

Commands that are used to modify the state of a Session.
These are all of the types of events which can be reported by a Session. Use SetEventMaskCmd to enable event delivery for a resource.
Describes how nodes interact with hit testings.
Describes an exported resource that is to be imported by an ImportResourceCmd.
Set a mesh’s indices and vertices.
A minimal fidl interface to allow sourcing the contents of a PoseBuffer from another service.
These are all of the types of parameters that can be set to configure a Renderer.
These are all of the types of resources that can be created within a Session. Add new fields only to the bottom of the list.
Represents the shadow algorithm that the Renderer should use when lighting the scene.

Constants

Maximum length for a resource label.
Reports metrics information. This event type is only reported for node resources.

Traits