games.cavu.clientFrame

chris.pardy.family

Documentation

Frames a client sends up the games.cavu.subscribeSession socket (DAG-CBOR event-stream framing: header {op:1, t:'#join'|'#intent'|'#ping'} + body).

main object

Frames a client sends up the games.cavu.subscribeSession socket (DAG-CBOR event-stream framing: header {op:1, t:'#join'|'#intent'|'#ping'} + body).

Properties

View raw schema
{
  "description": "Frames a client sends up the games.cavu.subscribeSession socket (DAG-CBOR event-stream framing: header {op:1, t:'#join'|'#intent'|'#ping'} + body).",
  "properties": {
    "frame": {
      "refs": [
        "#join",
        "#intent",
        "#ping"
      ],
      "type": "union"
    }
  },
  "required": [
    "frame"
  ],
  "type": "object"
}
intent object

A game intent. The host stamps `viewer` and `serverTime` before the game's reduce() sees it; any client-sent values for those are overwritten.

Properties

intent unknown Required

Typed by the game: games.cavu.<game>.defs#intent.

seq integer Required

Client sequence number; echoed back as `ack` in snapshots so the client can drop confirmed predictions.

minimum: 1
View raw schema
{
  "description": "A game intent. The host stamps `viewer` and `serverTime` before the game's reduce() sees it; any client-sent values for those are overwritten.",
  "properties": {
    "intent": {
      "description": "Typed by the game: games.cavu.<game>.defs#intent.",
      "type": "unknown"
    },
    "seq": {
      "description": "Client sequence number; echoed back as `ack` in snapshots so the client can drop confirmed predictions.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "seq",
    "intent"
  ],
  "type": "object"
}
join object

Enter a game room. Rooms are chosen by the server for games that declare them (e.g. one room per UTC day).

Properties

game string Required

Pack id, e.g. 'haiku-day'.

maxLength: 64 bytes
room string Optional

No description available.

maxLength: 128 bytes
viewer string Required

Guest id. Superseded by the authenticated DID once atproto OAuth lands.

maxLength: 256 bytes
View raw schema
{
  "description": "Enter a game room. Rooms are chosen by the server for games that declare them (e.g. one room per UTC day).",
  "properties": {
    "game": {
      "description": "Pack id, e.g. 'haiku-day'.",
      "maxLength": 64,
      "type": "string"
    },
    "room": {
      "maxLength": 128,
      "type": "string"
    },
    "viewer": {
      "description": "Guest id. Superseded by the authenticated DID once atproto OAuth lands.",
      "maxLength": 256,
      "type": "string"
    }
  },
  "required": [
    "game",
    "viewer"
  ],
  "type": "object"
}
ping object

No description available.

This object has no properties defined.

View raw schema
{
  "properties": {},
  "type": "object"
}

Lexicon Garden

@