com.minomobi.lab.score

minomobi.com

Documentation

A result worth comparing, from a site at minomobi.com. Kept apart from com.minomobi.lab.doc because a leaderboard needs a numeric field with a known sort direction, and burying that inside an opaque `data` blob makes the records uncomparable — which is the one thing a score is for. Written to the PLAYER'S OWN repository: there is no lab-side scoreboard, so a site builds one by reading the repos of players a visitor NAMED (their own, their follows, handles they typed). That constraint is deliberate and matches the factory's rule that a page may show media for a subject the visitor named, and not from a stream nobody chose.

main record

A result worth comparing, from a site at minomobi.com. Kept apart from com.minomobi.lab.doc because a leaderboard needs a numeric field with a known sort direction, and burying that inside an opaque `data` blob makes the records uncomparable — which is the one thing a score is for. Written to the PLAYER'S OWN repository: there is no lab-side scoreboard, so a site builds one by reading the repos of players a visitor NAMED (their own, their follows, handles they typed). That constraint is deliberate and matches the factory's rule that a page may show media for a subject the visitor named, and not from a stream nobody chose.

Record Key any Any valid record key

Properties

createdAt string datetime Required

An RFC 3339 formatted timestamp.

detail string Optional

Short context for the run: 'level 7, 3 lines'.

maxLength: 1000 bytesmaxGraphemes: 100 graphemes
game string Optional

Mode or level within the site, when one site has several scoreboards.

maxLength: 64 bytes
higherIsBetter boolean Optional

Which end of the sort wins. A time-attack board and a points board are the same record with this flipped, and a reader that assumes descending will rank the slowest player first.

Default: true
site string Required

The lab site's slug. The record key must begin with it, so two sites cannot overwrite each other.

maxLength: 32 bytes
unit string Optional

What `value` counts: 'points', 'ms', 'moves', 'lines'. Without it a reader can render a number and not a result.

maxLength: 32 bytes
value integer Required

The score. An integer so that comparison is exact — a time in milliseconds, not seconds as a float.

View raw schema
{
  "key": "any",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "site",
      "value",
      "createdAt"
    ],
    "properties": {
      "game": {
        "type": "string",
        "maxLength": 64,
        "description": "Mode or level within the site, when one site has several scoreboards."
      },
      "site": {
        "type": "string",
        "maxLength": 32,
        "description": "The lab site's slug. The record key must begin with it, so two sites cannot overwrite each other."
      },
      "unit": {
        "type": "string",
        "maxLength": 32,
        "description": "What `value` counts: 'points', 'ms', 'moves', 'lines'. Without it a reader can render a number and not a result."
      },
      "value": {
        "type": "integer",
        "description": "The score. An integer so that comparison is exact — a time in milliseconds, not seconds as a float."
      },
      "detail": {
        "type": "string",
        "maxLength": 1000,
        "description": "Short context for the run: 'level 7, 3 lines'.",
        "maxGraphemes": 100
      },
      "createdAt": {
        "type": "string",
        "format": "datetime"
      },
      "higherIsBetter": {
        "type": "boolean",
        "default": true,
        "description": "Which end of the sort wins. A time-attack board and a points board are the same record with this flipped, and a reader that assumes descending will rank the slowest player first."
      }
    }
  },
  "description": "A result worth comparing, from a site at minomobi.com. Kept apart from com.minomobi.lab.doc because a leaderboard needs a numeric field with a known sort direction, and burying that inside an opaque `data` blob makes the records uncomparable — which is the one thing a score is for. Written to the PLAYER'S OWN repository: there is no lab-side scoreboard, so a site builds one by reading the repos of players a visitor NAMED (their own, their follows, handles they typed). That constraint is deliberate and matches the factory's rule that a page may show media for a subject the visitor named, and not from a stream nobody chose."
}

Lexicon Garden

@