{
  "id": "waymark-family-thomas",
  "name": "Thomas constructs",
  "aliases": [],
  "type": "character",
  "reality": "fictional",
  "loreStatus": "established",
  "summary": "A stubborn construct family shaped like slow knotted loops. Its colors come from the camera scene.",
  "traits": [],
  "style": [],
  "collections": [
    "waymark"
  ],
  "cardArt": {
    "previewSha256": "cec2d0b4cf6bd884ec8222f68594d72fa112fa68d72a6d0d2ede798ae4324e64",
    "id": "catalog-world-models-waymark-family-thomas-v1",
    "url": "/field-guide/assets/portraits/catalog-world-models-waymark-family-thomas.png",
    "previewUrl": "/field-guide/assets/portraits/catalog-world-models-waymark-family-thomas-480.webp",
    "alt": "Thomas constructs source-derived portrait.",
    "caption": "Faithful procedural reconstruction of the named source renderer/equations; this is a reusable source-derived capture, not a direct original-model capture.",
    "status": "approved",
    "version": 1,
    "sourceLabel": "Source-derived Waymark attractor renderer",
    "sourceUrl": "/gamelab/projects/waymark/constructs.js",
    "sha256": "14e68bcaa21155d678ceab123b50b4d2f4ec06bb8a8d966ae265e53bb8d1d4c2",
    "selectedUrl": "/field-guide/assets/portraits/catalog-world-models-waymark-family-thomas-1200.webp",
    "selectedSha256": "8b5dbf3281fa8785b645ff6c0d8a7351902e32d71e9c378f2288d2fc1de2e3a3"
  },
  "variants": [],
  "appearances": [
    {
      "title": "Waymark: Expedition into the Unrendered",
      "url": "/gamelab/waymark.html",
      "collectionId": "waymark"
    }
  ],
  "relationships": [],
  "sources": [
    {
      "id": "public-site-gamelab-waymark-html",
      "title": "Waymark: Expedition into the Unrendered",
      "url": "/gamelab/waymark.html",
      "revision": "sha256:bfad17474fd4aa42ee10241b127393c1c7698d6435854fdb6722678abfc9b8b9"
    },
    {
      "id": "public-site-gamelab-projects-waymark-constructs-js",
      "title": "constructs.js",
      "url": "/gamelab/projects/waymark/constructs.js",
      "revision": "sha256:d78c130ef7ee6c9cec9e8e0d0de30622cc0f9ed8eae0fb522ea027788ba43b28"
    }
  ],
  "history": [],
  "spoilers": [],
  "questions": [],
  "references": [],
  "revision": 1,
  "updated": "2026-10-30"
}
