Back to Simocracy

org.simocracy.sim

An avatar/sim record. One user can have multiple sims.

record · key tid

An avatar/sim record. One user can have multiple sims.

name*

Display name of the sim

string · max 64
spriteKind

Which sprite system this sim uses. Defaults to 'pipoya' if absent.

string
values: pipoya · codexPet
settings

Pipoya sprite appearance settings. Only used when spriteKind = 'pipoya'.

defs#spriteSettings · defs#spriteSettings
image

Rendered avatar PNG thumbnail for quick display

blob · image/png, image/jpeg, image/webp
sprite

Animated sprite sheet PNG (128x128, 4 cols x 4 rows of 32x32 frames). Row order: front, left, right, back. Each row has 4 walk-cycle frames. Only used when spriteKind = 'pipoya'.

blob · ≤ 977KB · image/png
petSheet

Codex pet spritesheet (1536x1872, 8 cols x 9 rows of 192x208 cells). Output of the OpenAI hatch-pet skill. Only used when spriteKind = 'codexPet'.

blob · ≤ 4MB · image/webp, image/png
petManifest

Subset of pet.json from the hatch-pet skill output. Only used when spriteKind = 'codexPet'.

object
createdAt*

Timestamp when the sim was created

datetime
updatedAt

Timestamp when the sim was last updated

datetime
Raw lexicon JSON
{
  "lexicon": 1,
  "id": "org.simocracy.sim",
  "defs": {
    "main": {
      "type": "record",
      "description": "An avatar/sim record. One user can have multiple sims.",
      "key": "tid",
      "record": {
        "type": "object",
        "required": [
          "name",
          "createdAt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 64,
            "description": "Display name of the sim"
          },
          "spriteKind": {
            "type": "string",
            "enum": [
              "pipoya",
              "codexPet"
            ],
            "description": "Which sprite system this sim uses. Defaults to 'pipoya' if absent."
          },
          "settings": {
            "type": "ref",
            "ref": "org.simocracy.defs#spriteSettings",
            "description": "Pipoya sprite appearance settings. Only used when spriteKind = 'pipoya'."
          },
          "image": {
            "type": "blob",
            "description": "Rendered avatar PNG thumbnail for quick display",
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ]
          },
          "sprite": {
            "type": "blob",
            "accept": [
              "image/png"
            ],
            "maxSize": 1000000,
            "description": "Animated sprite sheet PNG (128x128, 4 cols x 4 rows of 32x32 frames). Row order: front, left, right, back. Each row has 4 walk-cycle frames. Only used when spriteKind = 'pipoya'."
          },
          "petSheet": {
            "type": "blob",
            "accept": [
              "image/webp",
              "image/png"
            ],
            "maxSize": 4000000,
            "description": "Codex pet spritesheet (1536x1872, 8 cols x 9 rows of 192x208 cells). Output of the OpenAI hatch-pet skill. Only used when spriteKind = 'codexPet'."
          },
          "petManifest": {
            "type": "object",
            "description": "Subset of pet.json from the hatch-pet skill output. Only used when spriteKind = 'codexPet'.",
            "properties": {
              "id": {
                "type": "string",
                "maxLength": 64
              },
              "displayName": {
                "type": "string",
                "maxLength": 64
              },
              "description": {
                "type": "string",
                "maxLength": 280
              }
            }
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the sim was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the sim was last updated"
          }
        }
      }
    }
  }
}
org.simocracy.sim