Skip to content
Pax Abyssi

Template · infobox schema

Template:Infobox/station_archetype

Infobox schema for station archetype pages: the fields, their groups, labels and units, as a JSON Schema.

This page holds the JSON Schema for infobox: type: station_archetype, used by station archetype pages (the field list follows SCIENCE_CORPUS 3.4 L). Every page whose frontmatter names this type is validated against it on save: a schema error blocks a save by a new account or an API client and warns a trusted editor.

Values are flexible so that writers can record what the sources allow. A field may be plain text or a number, a quantity object {value, unit, min, max, error, source, note}, or a by-status mapping {observed, model, sim} when the measured, inferred and generated values differ. Fields not listed here are allowed and shown under "Other" in the infobox. The x-pax block carries display metadata: the groups in order, each group's default provenance tag, and the label and unit for every field.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://paxabyssi.com/wiki/Template:Infobox/station_archetype",
  "title": "Station archetype",
  "description": "Infobox for station archetype pages. Fields follow SCIENCE_CORPUS 3.4 L.",
  "type": "object",
  "required": [
    "type",
    "name"
  ],
  "properties": {
    "type": {
      "const": "station_archetype"
    },
    "image": {
      "$ref": "#/$defs/fileTitle",
      "description": "Lead image, a File: title."
    },
    "caption": {
      "type": "string"
    },
    "image_caption": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "services": {
      "$ref": "#/$defs/field"
    },
    "size_tiers": {
      "$ref": "#/$defs/field"
    },
    "placement_rules": {
      "$ref": "#/$defs/field"
    },
    "faction_variants": {
      "$ref": "#/$defs/field"
    },
    "sim_source": {
      "$ref": "#/$defs/field"
    },
    "physics_engine": {
      "$ref": "#/$defs/field"
    },
    "science_doc": {
      "$ref": "#/$defs/field"
    },
    "rendered_example": {
      "$ref": "#/$defs/field"
    },
    "last_verified": {
      "$ref": "#/$defs/field"
    }
  },
  "additionalProperties": true,
  "$defs": {
    "quantity": {
      "type": "object",
      "description": "A number or range with its unit and provenance.",
      "properties": {
        "value": {
          "type": [
            "number",
            "string",
            "null"
          ]
        },
        "unit": {
          "type": "string"
        },
        "min": {
          "type": [
            "number",
            "string"
          ]
        },
        "max": {
          "type": [
            "number",
            "string"
          ]
        },
        "error": {
          "type": [
            "number",
            "string"
          ]
        },
        "uncertainty": {
          "type": [
            "number",
            "string"
          ]
        },
        "source": {
          "type": "string",
          "description": "observed | model | sim | catalogue | fiction, or a citation."
        },
        "note": {
          "type": "string"
        },
        "as_of": {
          "type": [
            "string",
            "number"
          ]
        }
      },
      "additionalProperties": true
    },
    "byStatus": {
      "type": "object",
      "description": "The same quantity as measured (observed), inferred (model) and generated (sim).",
      "properties": {
        "observed": {
          "$ref": "#/$defs/cell"
        },
        "model": {
          "$ref": "#/$defs/cell"
        },
        "sim": {
          "$ref": "#/$defs/cell"
        },
        "note": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "cell": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array"
        },
        {
          "$ref": "#/$defs/quantity"
        }
      ]
    },
    "field": {
      "anyOf": [
        {
          "$ref": "#/$defs/cell"
        },
        {
          "$ref": "#/$defs/byStatus"
        },
        {
          "type": "object"
        }
      ]
    },
    "fileTitle": {
      "type": "string",
      "pattern": "^File:"
    },
    "status": {
      "description": "One or more of observed, model, sim, speculative, fiction; or a sentence saying which parts carry which label.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    }
  },
  "x-pax": {
    "label": "Station archetype",
    "image_field": "image",
    "caption_field": "caption",
    "groups": [
      {
        "index": "01",
        "title": "Identity",
        "fields": [
          "name",
          "code",
          "services",
          "size_tiers",
          "placement_rules",
          "faction_variants"
        ],
        "provenance": "fiction"
      },
      {
        "index": "02",
        "title": "Sim",
        "fields": [
          "sim_source",
          "physics_engine",
          "science_doc",
          "rendered_example",
          "last_verified"
        ],
        "provenance": "sim"
      }
    ],
    "fields": {
      "name": {
        "label": "Name"
      },
      "code": {
        "label": "Code"
      },
      "services": {
        "label": "Services"
      },
      "size_tiers": {
        "label": "Size tiers"
      },
      "placement_rules": {
        "label": "Placement rules"
      },
      "faction_variants": {
        "label": "Faction variants"
      },
      "sim_source": {
        "label": "Sim source"
      },
      "physics_engine": {
        "label": "Physics engine"
      },
      "science_doc": {
        "label": "Science document"
      },
      "rendered_example": {
        "label": "Rendered example"
      },
      "last_verified": {
        "label": "Last verified"
      }
    }
  }
}
Fields11 fields
Fields
GroupFieldLabelUnit
01 IdentitynameName
codeCode
servicesServices
size_tiersSize tiers
placement_rulesPlacement rules
faction_variantsFaction variants
02 Simsim_sourceSim source
physics_enginePhysics engine
science_docScience document
rendered_exampleRendered example
last_verifiedLast verified