searches the current version of every section · esc to close

27.05 Local Scene Module for Artifact

#todo

interface ArtifactProperties {
	localSceneProfile: LocalSceneProfile // OPTIONAL
	// ...
}
  • localSceneProfile MUST be of type LocalSceneProfile, content data of how the local space is defined for the artifact, see 21.11 Local Space.

To define a local space, one can defined a ground plane by the placed artifact and its status, which stores the Form object. Artifact in this local scene MUST NOT be specified in the Form of the world scene and SHOULD NOT play in the stacking logic of the world scene.

The Artifact that defines the local space MUST specified the localSceneProfile data of type LocalSceneProfile as defined below

interface LocalSceneProfile {
	localScenePlane: Plane //REQUIRED
	localSceneFormTemplate: Form //OPTIONAL
}

where

  • localScenePlane is REQUIRED and MUST be of type Plane, presenting the local ground plane of the local space;
  • localSceneFormTemplate is REQUIRED and MUST be of type ExtForm, presenting the corresponding Form that initial the local space. When localSpaceFormTemplate is not provided, the Form that initial the local space will be the same Form data as the world space with empty layout.

For the localScenePlane data, the origin are the vector shifted from artifact's placement. That is, the origin of the local ground plane are 0+p+o\vec 0 + \vec p + \vec o, where 0\vec 0 is the zero vector, i.e. the origin of the world scene, p\vec p is the placement of the artifact, and o\vec o are the vector specified by origin data.

If the trace system is implemented, then local scene data is RECOMMENDED to store in trace.state, as specified in [link].

If the trace system is not implemented, the local scene data MUST be stored as an additional EmbeddingProperties of that Embedding. In such case there are additional data that EmbeddingProperties object can carry

interface EmbeddingProperties {
	localLayout: Embedding[] // OPTIONAL
	localForm: Partial<Form> // NOT RECOMMENDED
	// ...
	}
  • localLayout is OPTIONAL and will be ignore if artifact does not carry localScenePlane data. The Form data of this local space are therefore the Form data that cooresbond to localSceneFormTemplate with localLayout appended to its layout.
  • localForm is OPTIONAL and will be ingore if artifact does not carry localScenePlane. it overwrites the localSceneFormTemplate by value it contents.

If both trace and localLayout are specified, use trase.state.

Revision history

  1. v0.1.52This updates a list of to-do documents and outlines the shape of the standard. Some important type shapes have been defined on the to-do documents as proposed types. All the to-do documents are marked with the tag #todo.view