home
The person's home folder, /zero/home/<username>: their own files, carried from world to world in the editor. It is the content of the account's home world, an ordinary private world the account owns, mounted in every world the person opens in their own editor sessions. A write under the folder is saved to the home world as it is made, with no commit or push. World content cannot depend on it: a world script that requires a home module is refused, and a world file that references a home path is refused at push, naming the file. The person's own execute and a home module requiring another in the same folder work.
Read and write the folder with vfs like any other path; home.status()
says whether it is mounted and, when it is not, why. guides { path: "core/home" } covers what to keep there and the rule that keeps it out
of worlds.
require("@builtin::modules.api.engine.home") -- home (also available as global 'home')
The home namespace: 6 functions.
globals/home/folder
home.folder() -> (string?, string?)
The home folder mounted in this session, /zero/home/<username>,
or nil and the reason no home folder is mounted.
Returns (string?, string?) the folder, or nil and why there is none.
local folder, why = home.folder()
globals/home/status
home.status() -> Status
Where the home folder stands in this session. state is
"mounted" (with folder, the path to read and write, owner, the
account it belongs to, world, the guid of the home world that holds it,
files, how many files the home world held when it was mounted, and
from, "launch" or "zeromind", saying where that world was named),
"mounting" while a world load is mounting it, or "unmounted" with
reason saying why no home folder is mounted.
Returns Status — The home folder's status.
local s = home.status(); if s.state == "mounted" then vfs.write(s.folder .. "/notes.md", "hi") end
modules/home/folder
folder(): (string?, string?)
The home folder mounted in this session, /zero/home/<username>,
or nil and the reason no home folder is mounted.
local folder, why = home.folder()
modules/home/status
status(): Status
Where the home folder stands in this session. state is
"mounted" (with folder, the path to read and write, owner, the
account it belongs to, world, the guid of the home world that holds it,
files, how many files the home world held when it was mounted, and
from, "launch" or "zeromind", saying where that world was named),
"mounting" while a world load is mounting it, or "unmounted" with
reason saying why no home folder is mounted.
local s = home.status(); if s.state == "mounted" then vfs.write(s.folder .. "/notes.md", "hi") end
typed/builtin//modules/api/engine/home/home/folder
home.folder() -> (string?, string?)
The home folder mounted in this session, /zero/home/<username>,
or nil and the reason no home folder is mounted.
Returns (string?, string?) the folder, or nil and why there is none.
local folder, why = home.folder()
typed/builtin//modules/api/engine/home/home/status
home.status() -> Status
Where the home folder stands in this session. state is
"mounted" (with folder, the path to read and write, owner, the
account it belongs to, world, the guid of the home world that holds it,
files, how many files the home world held when it was mounted, and
from, "launch" or "zeromind", saying where that world was named),
"mounting" while a world load is mounting it, or "unmounted" with
reason saying why no home folder is mounted.
Returns Status — The home folder's status.
local s = home.status(); if s.state == "mounted" then vfs.write(s.folder .. "/notes.md", "hi") end