@@ -8,8 +8,9 @@ A thing that is created and managed within Basil is called an "item".
8
8
An item can be most anything from a mesh representation to a UI element
9
9
to a camera view.
10
10
11
- Items have a "type" which is their base functionality.
12
- To this base functionality is added `able`s. That is, a mesh item can
11
+ Items are just identified containers that can be anything : meshes,
12
+ animations, cameras.
13
+ To the container, functionality is added as "able"`s. That is, a mesh item can
13
14
be positionable, or animatable, or whatever-able.
14
15
15
16
This is a riff on the [entity/component model] found in many game engines.
@@ -30,19 +31,44 @@ The base properties are:
30
31
| _OwnerId | yes | no | Connection/service that created this BItem |
31
32
| _State | yes | no | One of "UNINITIALIZED", "LOADING", "FAILED", "READY", "SHUTDOWN" |
32
33
| _Layer | yes | no | String name of group this BItem belongs to |
34
+ | _Unique | yes | no | A unique item key supplied by the creator or generated if not |
33
35
34
36
# ABLEs
35
37
36
38
# # Displayable
37
39
38
- # # Positionable
40
+ This defines a displayable item. It usually is a MeshSet.
39
41
40
42
| Property | Gettable | Settable | Desc |
41
43
|--------- | -------- | -------- |----- |
42
- | _Position | yes | yes | One of ?? |
43
- | _Rotation | yes | yes | Unique string identifier for this BItem |
44
- | _PosCoordSystem | yes | yes | Connection/service that created this BItem |
45
- | _RotCoordSystem | yes | yes | One of "UNINITIALIZED", "LOADING", "FAILED", "READY", "SHUTDOWN" |
44
+ | DType | yes | no | One of ?? |
45
+ | AABB | yes | no | axis aligned bounding box as "x,y,z,x,y,z" |
46
+
47
+ Other properties depend on the value of "_DisplayableType" :
48
+
49
+ # ## MeshSet
50
+
51
+ | URL | yes | no | URL needed for loader |
52
+ | LoaderType | yes | no | One of "GLTF", ?? |
53
+ | AssetAuth | yes | yes | token to use for fetching the asset |
54
+
55
+ # # Instanceable
56
+
57
+ This ability represents an instance of a displayable in the 3d space.
58
+ Often, there is a Displayable and Instanceable on a single item --
59
+ the case where there is a single instance of the displayable asset
60
+ in the 3d space. There could be a single Displayable item with
61
+ many Instancable items that reference that displayable.
62
+ In this latter case, there will not be Displayable properties
63
+ in this item but, instead, a "DisplayableRef" property will be present.
64
+
65
+ | Property | Gettable | Settable | Desc |
66
+ |--------- | -------- | -------- |----- |
67
+ | Pos | yes | yes | Position as "x,y,z" |
68
+ | Rot | yes | yes | Rotation as "x,y,z,w" |
69
+ | PosCoord | yes | yes | Coordinate system code for "Position" |
70
+ | RotCoord | yes | yes | Coordinate system code for "Rotation" |
71
+ | DisplayRef | yes | no | ID of item with Displayability if not present here |
46
72
47
73
# # Trackingable
48
74
0 commit comments