An avatar is not one thing. The figure a person walks about in is several distinct things that happen to meet in one place, and each has a different owner and a different home. Some are content a world describes; some are content the person owns and carries from world to world; some are not content at all. This page says what an avatar is made of, and where each piece lives.
The pieces
| Piece | Whose | In downloadable content? | Where it is described | |
|---|---|---|---|---|
| a | The being in the world, a part that acts, driven by a visitor | the world | yes | Visitors: beings |
| b | The person's profile: their dimensions and look (height, build, skin, hair, colors), as a portable description in this language | the person | in the language, but in no world's content: the person carries it | Fitted and grown; A villager; below |
| c | The world's avatars: the bodies it gives its visitors, which profile fields it applies to them and within what ranges, and gear given while there | the world | yes | below |
| d | Its camera, the eye it sees through | the browser's built-in rule | no; content names only other cameras | Cameras: the visitor's own camera |
| e | Its connection to a person at a moment: possession, a session | the browser and the world's server | no | Outside the content |
| f | Registration of the person, and "this is my avatar", independent of any world | an identity or registration service | no | Outside the content |
| g | The person's own settings: input mappings, their policy on what a world may do to their avatar | the person, applied by the browser | no | Outside the content; Visitors: input mapping |
Pieces e, f and g are not downloadable content. The language does not design them; it says only that they live outside the content and what the content sees of them, which is never more than a being and the actions it performs.
Three layers, kept apart
Seen from the person, the pieces fall into three layers:
- Identity: who the person is (f, with e and g hung from it). Never in content.
- The person's profile: their dimensions and look, which they own and carry from world to world (b), together with their key mapping and settings (g).
- The world's avatars: the bodies this world gives its visitors, with the profile applied to them (c), each shown through a being (a).
The world owns the body: which avatars exist, how they are built and drawn, what they can do, and the scale they live at. The person's profile travels with the person and is applied to whatever avatar the world gives. Both hold at once: the world keeps control over its objects and how they are drawn, and the person is still recognisably themselves, with their own controls, in every world.
The person's profile: a portable description
The person's dimensions and look are described in this same language, as a part description: a recipe from the humanbody package's measures and sliders, plus colors, an outfit and hair. So a profile is portable as a description, not a mesh: a few hundred bytes, read by whichever world the person enters. It is the same kind of thing as a villager's person (Fitted and grown):
part myProfile: person(sex: female, // illustration: a person's own profile
build: (height: 1.68 m, muscle: 0.3),
outfit: shirtAndTrousers)
The profile also names the person (their identity, piece f) and carries their key mapping and settings (piece g), which the browser applies whatever avatar they wear. A world never holds a profile as its own. It receives it as the visitor arrives, to apply to its avatar.
The world's avatars
A world states:
- the avatars it gives: one design, or a choice of several (a cast), each a design like any other part (a person of the world's own, a fish, a ship);
- which profile fields it applies, and within what ranges: a human world may apply height, build, skin, hair and colors, holding height to its doors and ceilings; a mouse world may take only the colors. A field outside the range is brought to its nearest end: a person 2.1 m tall in a world that allows 1.5 m to 2 m arrives 2 m tall;
- what it gives a visitor while they are there: a lantern in the hand, armor, a mount. These are the world's parts, attached to the being (Fitted and grown: attachment), and they stay behind on leaving, unless the world grants something to carry (Portals: crossing into another world).
part island // illustration: spelling not chosen
worldAvatars(cast: [people.islander],
appliesProfile: [height, build, skin, hair, clothColors],
heightRange: 1.5 m ..= 2 m)
part ocean
worldAvatars(cast: [fish], appliesProfile: [colors])
Others see a visitor as the world's avatar with that visitor's profile applied.
Later, a world may allow more (a direction, not yet designed): a person may bring their own avatar, or more of their look, into a world that grants it, for example worldAvatars(..., allowsOwnAvatar: true). It is an option a world grants, never one a person takes.
What the person controls
- The person's policy limits what a world may do with their profile and avatar: which fields they share, whether they accept a body unlike their own, and so on.
- A world states its avatars before entry (a fish, a body that takes only colors), so the person can decline before arriving.
- The browser keeps the person's reserved actions (leave, portal home, mute, block) whatever the world does (Visitors: three tiers).
The policy is one of the person's settings (piece g), kept outside the content (Outside the content). The content sees only the result: an avatar it may present, or a visitor who did not come.
In the world, an avatar is a being
Inside a world, the avatar is a being driven by its visitor. Rules range over beings without naming people: nearest(visitors), on(action(hail, by: v), ...) (Visitors). The being's eye is the visitor's camera, which follows it by a built-in rule (Cameras). Which person drives it, and since when, is possession, outside the content.
How it connects
- Visitors and their actions: beings, possession, input mapping.
- Fitted and grown and A villager: a person as a recipe.
- Cameras and views: the visitor's own camera.
- Outside the content: possession, registration, the person's settings.
- Portals: what arrives in another world.
Open questions
- Identity against presentation: which of a person's fields a world may change. The layers above answer this in part; the line between the fields still has to be drawn (Fitted and grown).
- How a world states the bodies it supports: by skeleton, by package, by sizes; and what "fits" means for a body that is not a person.
- What content may read of a visitor's avatar. The looking-glass copies the opener's person into a puppet; under this proposal that reads the person's own description, which the world was given only to present (The looking-glass). A visitor's
v.whogives a figure of their height and colors, enough for the puppet; reading more of their look stays open (Visitors). - A person's say over what is done to their avatar (a design question): whether a pose laid over their avatar, or a hold on their controls, is within their avatar policy. (Which body a visitor arrives in is answered above, working hypothesis 20 Oct: the world's avatar, with the person's profile applied.)
- A recipe's version: the same person description builds a different body when the package changes, so a portable avatar depends on the browser's vocabulary (Fitted and grown).
- How a person's policy meets a world's statement before entry, and what the browser shows when they conflict.
- Gear granted to carry: how a world marks a gift as the visitor's to keep, and where a kept gift lives once the visitor has left (Outside the content).
← Visitors and their actions | Contents | Construction pipelines →