Skip to content

Commit 43b8fa2

Browse files
author
Robert Adams
committed
Rename EntityDesign.md to ItemDesign.md.
Attempt to fix site build problems by simplifying sidebar-links.yml.
1 parent 4a0341f commit 43b8fa2

File tree

3 files changed

+36
-10
lines changed

3 files changed

+36
-10
lines changed

_data/sidebar-links.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
- name: Basil
66
label: Basil
77
hoverText: Basil Architecture
8-
url: {{ "/architecture/Basil/" | prepend: site.baseurl }}
8+
url: https://herbal3d.github.io/architecture/Basil/
99

1010
- name: Ragu
1111
label: Ragu

architecture/Basil/EntityDesign.md architecture/Basil/ItemDesign.md

+33-7
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ A thing that is created and managed within Basil is called an "item".
88
An item can be most anything from a mesh representation to a UI element
99
to a camera view.
1010

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
1314
be positionable, or animatable, or whatever-able.
1415

1516
This is a riff on the [entity/component model] found in many game engines.
@@ -30,19 +31,44 @@ The base properties are:
3031
| _OwnerId | yes | no | Connection/service that created this BItem |
3132
| _State | yes | no | One of "UNINITIALIZED", "LOADING", "FAILED", "READY", "SHUTDOWN" |
3233
| _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 |
3335

3436
# ABLEs
3537

3638
## Displayable
3739

38-
## Positionable
40+
This defines a displayable item. It usually is a MeshSet.
3941

4042
| Property | Gettable | Settable | Desc |
4143
|--------- | -------- | -------- |----- |
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 |
4672

4773
## Trackingable
4874

architecture/Basil/index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ This makes this a generally usable feature that should be considered for Basil.
4545

4646
ADD MORE
4747

48-
Basil's internal data model is described in the [Basil Entity Design] document.
48+
Basil's internal data model is described in the [Basil Item Design] document.
4949

5050
Basil's authentication model and protocol is described in the [Basil Authentication] document.
5151
In general, the authentication/authorization system is opaque to Basil.
@@ -56,7 +56,7 @@ The default coordinate system is [WGS84] which is earth.
5656
For convenience, virtual worlds are mapped to some location on the planet earth.
5757

5858
[X Window System]: https://en.wikipedia.org/wiki/X_Window_System
59-
[Basil Entity Design]: {{ "/architecture/Basil/EntityDesign.html" | prepend: site.baseurl }}
59+
[Basil Item Design]: {{ "/architecture/Basil/ItemDesign.html" | prepend: site.baseurl }}
6060
[Basil Authentication]: {{ "/architecture/Basil/Authentication.html" | prepend: site.baseurl }}
6161
[JWT]: https://jwt.io/
6262
[OAuth2]: https://oauth.net/2/

0 commit comments

Comments
 (0)