Children
A trait's definition can indicate if it has child things, and, if so, how those things behave and what traits the children themselves implement.
For example, the scene trait allows a thing to save the values of the properties in its state section and associating them with a scene-id. The scene itself is represented as a child thing that can be manipulated independently.
Each child thing can be identified by a combination of the trait identifier and a child-id.
For example, if I used f/scen?save
to create a scene with a scene-id
(child-id) of evening
, the resulting child would be identified by
the tuple (scen
, evening
).
The exact mechanism for how you reference children is implementation
specific, but in SMCP for example, it would be referenced as
f/scen/evening/
, relative to the parent.
The nesting of child things is allowed.