Better split state.

This commit is contained in:
Fang 2017-03-23 23:10:28 +01:00
parent 8c2d8327b8
commit 8602a6c5ff
3 changed files with 23 additions and 7 deletions

View File

@ -9,27 +9,32 @@
::::
::
=> |% :: data structures
++ house :: full state
$: shells/(map bone shell) :: interaction state
++ chattel :: full state
$: tales/(map knot tale) :: conversations
folks/(map ship human) :: human identities
nik/(map (set partner) char) :: bound station glyphs
nak/(jug char (set partner)) :: station glyph lookup
shells/(map bone shell) :: interaction state
== ::
++ tale :: user-facing story
$: count/@ud :: (lent grams)
grams/(list telegram) :: all history
locals/atlas :: local presence
shape/config :: configuration
== ::
::TODO ++rental, state from the guardian we want to keep around
++ shell :: console session
$: her/ship :: client identity
man/knot :: mailbox
count/@ud :: messages shown
say/sole-share :: console state
active/{$~ u/(set partner)} :: active targets
$passive-deprecated :: passive targets
active/(unit (set partner)) :: active targets
owners/register :: presence mirror
harbor/(map knot (pair posture cord)) :: stations mirror
system/cabal :: config mirror
settings/(set knot) :: frontend settings
== ::
--
|_ {hid/bowl house}
|_ {hid/bowl chattel}
++ sh :: per console
::x shell core, responsible for doing things with console sessions,
::x like parsing input, acting based on input, showing output, keeping

View File

@ -23,14 +23,18 @@
=> |% :: data structures
++ house ::
$: stories/(map knot story) :: conversations
::TODO rename to readers?
general/(set bone) :: meta-subscribe
outbox/(pair @ud (map @ud thought)) :: urbit outbox
log/(map knot @ud) :: logged to clay
folks/(map ship human) :: human identities
nik/(map (set partner) char) :: bound station glyphs
nak/(jug char (set partner)) :: station glyph lookup
== ::
++ story :: wire content
$: count/@ud :: (lent grams)
grams/(list telegram) :: all history
locals/(map ship (pair @da status)) :: local presence
locals/atlas :: local presence
remotes/(map partner atlas) :: remote presence
mirrors/(map station config) :: remote config
sequence/(map partner @ud) :: partners heard

View File

@ -9,6 +9,12 @@
$% {$design (pair knot (unit config))} :: configure+destroy
{$publish (list thought)} :: originate
{$review (list thought)} :: deliver
{$update update} :: change shared state
== ::
++ update ::x these may need work
$% {$status (pair (set knot) status) :: our status update
{$human (map ship human)} :: new identity
{$bind (pair char (set partner))} :: bind a glyph
== ::
++ cabal :: metaconfiguration
$: loc/config :: local config
@ -52,6 +58,7 @@
{$group register} :: presence
{$house shelf} :: station set
{$glyph (jug char (set partner))} :: relevant binding
{$names (map ship human)} :: new identities
== ::
++ speech :: narrative action
$% {$lan p/knot q/@t} :: local announce