Add a node as a child to another node.
Add a layer to a layer stack.
Constraints:
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 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 fuchsia.ui.gfx/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 View
s’
coordinate transform applied to their own, in addition to being clipped to
the View
s’ 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 View
s’
coordinate transform applied to their own, in addition to being clipped to
the View
s’ 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.