full diff

games.cavu.subscribeSession

pardy.at +19 −7
From
bafyreig2c2okzpvrqikokz53s5j4xisdeytv5mlteq4cifwdddabay27fm indexed 2026-10-07 02:02 UTC View this version
To
bafyreibi4c4pdwku7amp2dr4icazd4fm6lpclg6gozgnrvcsfcnf63swdq indexed 2026-10-21 19:21 UTC View this version

Compatibility

breaking 8 breaking changes, 8 non-breaking changes.

Breaking changes (8)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "games.cavu.subscribeSession#world", src: "games.cavu.subscribeSession#world", tgt: "games.cavu.subscribeSession#world.ack", kind: "prop", name: Some("ack") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "games.cavu.subscribeSession#world", src: "games.cavu.subscribeSession#world", tgt: "games.cavu.subscribeSession#world.del", kind: "prop", name: Some("del") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "games.cavu.subscribeSession#world", src: "games.cavu.subscribeSession#world", tgt: "games.cavu.subscribeSession#world.set", kind: "prop", name: Some("set") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.cavu.subscribeSession#snapshot", src: "games.cavu.subscribeSession#snapshot", tgt: "games.cavu.subscribeSession#snapshot.ack", kind: "prop", name: Some("ack") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.cavu.subscribeSession#snapshot", src: "games.cavu.subscribeSession#snapshot", tgt: "games.cavu.subscribeSession#snapshot.view", kind: "prop", name: Some("view") }
  • RemovedVertex RemovedVertex { vertex_id: "games.cavu.subscribeSession#snapshot" }
  • RemovedVertex RemovedVertex { vertex_id: "games.cavu.subscribeSession#snapshot.ack" }
  • RemovedVertex RemovedVertex { vertex_id: "games.cavu.subscribeSession#snapshot.view" }
Non-breaking changes (8)
  • AddedVertex AddedVertex { vertex_id: "games.cavu.subscribeSession#world" }
  • AddedVertex AddedVertex { vertex_id: "games.cavu.subscribeSession#world.ack" }
  • AddedVertex AddedVertex { vertex_id: "games.cavu.subscribeSession#world.del" }
  • AddedVertex AddedVertex { vertex_id: "games.cavu.subscribeSession#world.del:items" }
  • AddedVertex AddedVertex { vertex_id: "games.cavu.subscribeSession#world.reset" }
  • AddedVertex AddedVertex { vertex_id: "games.cavu.subscribeSession#world.set" }
  • AddedEdge AddedEdge { src: "games.cavu.subscribeSession#world", tgt: "games.cavu.subscribeSession#world.reset", kind: "prop", name: Some("reset") }
  • AddedEdge AddedEdge { src: "games.cavu.subscribeSession#world.del", tgt: "games.cavu.subscribeSession#world.del:items", kind: "items", name: None }

Migration guidance

Removed

  • RemovedVertex { vertex_id: "games.cavu.subscribeSession#snapshot" }
  • RemovedVertex { vertex_id: "games.cavu.subscribeSession#snapshot.ack" }
  • RemovedVertex { vertex_id: "games.cavu.subscribeSession#snapshot.view" }

Added

  • AddedVertex { vertex_id: "games.cavu.subscribeSession#world" }
  • AddedVertex { vertex_id: "games.cavu.subscribeSession#world.ack" }
  • AddedVertex { vertex_id: "games.cavu.subscribeSession#world.del" }
  • AddedVertex { vertex_id: "games.cavu.subscribeSession#world.del:items" }
  • AddedVertex { vertex_id: "games.cavu.subscribeSession#world.reset" }
  • AddedVertex { vertex_id: "games.cavu.subscribeSession#world.set" }

Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "games.cavu.subscribeSession#world", src: "games.cavu.subscribeSession#world", tgt: "games.cavu.subscribeSession#world.ack", kind: "prop", name: Some("ack") }
  • Breaking: RequiredEdgeAdded { vertex_id: "games.cavu.subscribeSession#world", src: "games.cavu.subscribeSession#world", tgt: "games.cavu.subscribeSession#world.del", kind: "prop", name: Some("del") }
  • Breaking: RequiredEdgeAdded { vertex_id: "games.cavu.subscribeSession#world", src: "games.cavu.subscribeSession#world", tgt: "games.cavu.subscribeSession#world.set", kind: "prop", name: Some("set") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.cavu.subscribeSession#snapshot", src: "games.cavu.subscribeSession#snapshot", tgt: "games.cavu.subscribeSession#snapshot.ack", kind: "prop", name: Some("ack") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.cavu.subscribeSession#snapshot", src: "games.cavu.subscribeSession#snapshot", tgt: "games.cavu.subscribeSession#snapshot.view", kind: "prop", name: Some("view") }
  • Non-breaking: AddedEdge { src: "games.cavu.subscribeSession#world", tgt: "games.cavu.subscribeSession#world.reset", kind: "prop", name: Some("reset") }
  • Non-breaking: AddedEdge { src: "games.cavu.subscribeSession#world.del", tgt: "games.cavu.subscribeSession#world.del:items", kind: "items", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "Bidirectional game session. Server->client messages are below; client->server frames are games.cavu.clientFrame.",
66 "errors": [
77 {
88 "name": "UnknownGame"
99 },
1010 {
1111 "name": "InvalidJoin"
1212 },
1313 {
1414 "name": "RoomInitFailed"
1515 },
1616 {
1717 "name": "ReduceFailed"
1818 },
1919 {
2020 "name": "InvalidFrame"
2121 },
2222 {
2323 "name": "UnknownFrame"
2424 }
2525 ],
2626 "message": {
2727 "schema": {
2828 "refs": [
29 "#snapshot"
29 "#world"
3030 ],
3131 "type": "union"
3232 }
3333 },
3434 "parameters": {
3535 "properties": {},
3636 "type": "params"
3737 },
3838 "type": "subscription"
3939 },
40 "snapshot": {
41 "description": "This viewer's projection of the room state: project(state, viewer). Sent on join and whenever it changes. Never contains other players' secrets.",
40 "world": {
41 "description": "This viewer's projections of the entities that changed since its last #world frame. The first frame on a connection is a reset (every entity it can see). Never contains other players' secrets.",
4242 "properties": {
4343 "ack": {
44 "description": "Highest intent seq from this viewer that the state reflects.",
44 "description": "Highest intent seq from this viewer that the world reflects.",
4545 "minimum": 0,
4646 "type": "integer"
4747 },
48 "view": {
49 "description": "Typed by the game: games.cavu.<game>.defs#view.",
48 "del": {
49 "description": "Entities gone, or no longer visible to this viewer.",
50 "items": {
51 "type": "string"
52 },
53 "type": "array"
54 },
55 "reset": {
56 "description": "Replace the whole mirror with `set` (the connection's first frame).",
57 "type": "boolean"
58 },
59 "set": {
60 "description": "Map of entity id to its projection: { id, kind, parent?, children, ...fields } (typed by the game).",
5061 "type": "unknown"
5162 }
5263 },
5364 "required": [
5465 "ack",
55 "view"
66 "set",
67 "del"
5668 ],
5769 "type": "object"
5870 }
5971 },
6072 "id": "games.cavu.subscribeSession",
6173 "lexicon": 1
6274}

Compare other versions