Artifact System
Defining objects in space
The artifact system defines Artifacts,
which are digital assets that are presented as items in the virtual space.
Artifact: Digital Asset
An Artifact is a piece of data with the following data
where
contentis required, and it stores the content that is relevant to load into the space, for example, a model or shader. The type of thecontent, or how to use and load thecontent, is specified intypeandloader.typeis required, and it describes the type of theArtifact.loaderis recommended, and it specifies how the content should be loaded. In some cases, one can usually infer the loader from thetype, but we encourage developers to specify it explicitly.metadatais recommended, and it stores the readable information of theArtifact.
type and loader
The type in general describes what the artifact is. Some examples are
The loader is used to specify how to load the content. For example,
a model type artifact can use GLTFLoader to load its content in three.js.
The practical use of type and loader is to specify how the content is to be used,
therefore, usually type can infer loader if the implementation has a dictionary or convention.
model type artifact will use GLTFLoader by default,
i.e., it expects a glTF content.metadata
metadata stores an object that contains information that is useful.
Substandard of Artifact
Artifact is very flexible, and the metadata usually depends on how you are going to use it.
Here we list some typical substandards for Artifact that are relevant for many use cases.
Exterior Space metadata
This section defines the Artifact substandard for Exterior Space.
Artifacts used in Exterior Space must follow this substandard,
and invalid metadata will fall back to a sculptures category Artifact with all other fields set to default values.
For more details on how each field is processed in Exterior Space, please refer to the Artist Guide.
Subspace artifact
Most different kinds (infoKind) of artifacts in Exterior Space are
differentiated by interaction behavior — for example, artifacts that allow node addition like a visitor book,
those that act as an artboard, or those that launch mini-games like TRPGs.
These will be discussed further when we introduce the trace system and interaction system.
Here we highlight a particular kind of artifact known as the subspace artifact.
A subspace artifact uses the trace system to store a Form or ExtForm object — hence the name.
Such artifacts are typically used to present objects like bookshelves, wine cabinets, or framed picture collages.
Todo
Technical details to be added...