on master help sign in
dome
5b72813drbeefsupreme
arvo/clay/data-types.md+35−16
@@ -288,7 +288,7 @@ that was at the head on date `p`, `%tas` refers to the commit labeled
288all can be reduced down to a `%ud`, only numbered commits may be
288all can be reduced down to a `%ud`, only numbered commits may be
289referenced with a `++case:clay`.
289referenced with a `++case:clay`.
290
290
291−#### `++dome:clay`, desk data
291+#### `$dome`, desk data
292
292
293```hoon
293```hoon
294 ++ dome :: project state
294 ++ dome :: project state
@@ -300,34 +300,53 @@ referenced with a `++case:clay`.
300 == ::
300 == ::
301```
301```
302
302
303−This is the data that is actually stored in a desk.
303+```hoon
304++$ dome
305+ $: ank=ankh :: state
306+ let=aeon :: top id
307+ hit=(map aeon tako) :: versions by id
308+ lab=(map @tas aeon) :: labels
309+ mim=(map path mime) :: mime cache
310+ fod=ford-cache :: ford cache
311+ fer=(unit reef-cache) :: reef cache
312+ == ::
313+```
304
314
305−`ang` is unused and should be removed.
315+A `dome` is the state of a `desk` and associated data.
306
316
307`ank` is the current state of the desk. Thus, it is the state of the
317`ank` is the current state of the desk. Thus, it is the state of the
308−filesystem at revison `let`. The head of a desk is always a numbered
318+filesystem at revison `let`. The head of a `desk` is always a numbered
309commit.
319commit.
310
320
311`let` is the number of the most recently numbered commit. This is also
321`let` is the number of the most recently numbered commit. This is also
312the total number of numbered commits.
322the total number of numbered commits.
313
323
314−`hit` is a map of numerical ids to hashes of commits. These hashes are
324+`hit` is a map of numerical ids to commit hashes. These hashes are mapped into
315−mapped into their associated commits in `hut:rang:clay`. In general, the keys
325+their associated commits in `hut.rang` in the `raft` of Clay. In general, the
316−of this map are exactly the numbers from 1 to `let`, with no gaps. Of
326+keys of this map are exactly the numbers from 1 to `let`, with no gaps. Of
317−course, when there are no numbered commits, `let` is 0, so `hit` is
327+course, when there are no numbered commits, `let` is 0, so `hit` is null.
318−null. Additionally, each of the commits is an ancestor of every commit
328+Additionally, each of the commits is an ancestor of every commit numbered
319−numbered greater than this one. Thus, each is a descendant of every
329+greater than this one. Thus, each is a descendant of every commit numbered less
320−commit numbered less than this one. Since it is true that the date in
330+than this one. Since it is true that the date in each commit (`t:yaki`) is no
321−each commit (`t:yaki`) is no earlier than that of each of its parents,
331+earlier than that of each of its parents, the numbered commits are totally
322−the numbered commits are totally ordered in the same way by both
323−pedigree and date. Of course, not every commit is numbered. If that
332+ordered in the same way by both pedigree and date. Of course, not every commit
324−sounds too complicated to you, don't worry about it. It basically
333+is numbered. If that sounds too complicated to you, don't worry about it. It
325−behaves exactly as you would expect.
334+basically behaves exactly as you would expect.
326
335
327`lab` is a map of textual labels to numbered commits. Note that labels
336`lab` is a map of textual labels to numbered commits. Note that labels
328can only be applied to numbered commits. Labels must be unique across a
337can only be applied to numbered commits. Labels must be unique across a
329desk.
338desk.
330
339
340+`mim` is a cache of the content in the directories that are mounted to Unix.
341+Often, we convert to/from mime without anything really having changed; this lets
342+us short-circuit that in some cases. Whenever you `%give` an `%ergo` `gift`, you
343+must update this.
344+
345+`fod` is the Ford cache, which keeps files, `mark`s, `cast`s, and `tube`s
346+currently being used by Ford handy.
347+
348+`fer` is the system file cache, which consists of `vase`s for `hoon.hoon`,
349+`arvo.hoon`, `lull.hoon`, and `zuse.hoon`.
331
350
332#### `++cash`, ankh hash
351#### `++cash`, ankh hash
333
352