{
  "sourceBase": "23d37c99caa47bd671668469386c53e81441ba4d",
  "sourceSha256": {
    "apps/editor/main.ts": "ef4969791cf8bf895bb571dc20ef2ab52dc0e8ada05aea0e3e4e105fc9c2f6de",
    "apps/editor/style.css": "003d3ff62564378c1fda793dc25c913c17f77843347e1b652d494f968e92c690",
    "apps/editor/presence.ts": "f1801d10c60f01ee6b8471b1a39f8786e01b3a9e3cb5c1c4e292408498b343c8",
    "packages/authoring/presence.ts": "524120390ee2583d4f4a85b25d6ae49ad216d46bbddd98b655093144d2f726b5",
    "services/authoring/presence.ts": "df34ac4b1193be6e8820de76f15272b05e76ee0a5c7a99eded2c3bff1b21d780",
    "services/authoring/http.ts": "7505659876361c626b521c92907217526405d9f7c9664abfbc70476bc092ed6e",
    "services/relay/server.ts": "d3e5e7b381e4d9e084cf287bd2d90a9d191898c4b4e93ee147c1c63566884356",
    "tests/editor-presence.test.ts": "9a6342d883203d031ad16e4360aa0c7b82fc94753c1047eb72aa0432b1d5353f",
    "tests/browser/editor-presence.spec.ts": "e2dd5b3c598f21111447be0397ffadf993c944e0e9345dbc3891abc1e3648850"
  },
  "headless": {
    "passed": 420,
    "failed": 0,
    "earlierRun": "419 passed; one build worker read package.json during its script update. The complete suite passed after the manifest was stable."
  },
  "browser": {
    "combinedRun": [
      {
        "title": "viewport handles move, rotate and scale a draft with snapping and exact save undo redo",
        "tests": [
          {
            "status": "expected",
            "results": [
              "passed"
            ]
          }
        ]
      },
      {
        "title": "cancelled handle gestures preserve earlier drafts and keyboard handles obey gameplay validation",
        "tests": [
          {
            "status": "expected",
            "results": [
              "passed"
            ]
          }
        ]
      },
      {
        "title": "two editors merge independent fields and undo keeps newer work even across a later local save",
        "tests": [
          {
            "status": "expected",
            "results": [
              "passed"
            ]
          }
        ]
      },
      {
        "title": "saved revision notices preserve drafts and heal after missed checks without replacing the open scene",
        "tests": [
          {
            "status": "expected",
            "results": [
              "passed"
            ]
          }
        ]
      },
      {
        "title": "builders see shared selections and unsaved editing without locking objects or changing the saved world",
        "tests": [
          {
            "status": "unexpected",
            "results": [
              "failed"
            ]
          }
        ]
      }
    ],
    "finalPresenceRun": [
      {
        "title": "builders see shared selections and unsaved editing without locking objects or changing the saved world",
        "tests": [
          {
            "status": "expected",
            "results": [
              "passed"
            ]
          }
        ]
      }
    ],
    "initialFailure": "Presence journey counted sessions from preceding tests before the 20-second TTL elapsed. Its initial-count wait now allows that expiry; all four preceding regression journeys passed."
  },
  "validation": [
    "TypeScript and 85-source package boundaries passed",
    "Isolated production client and server builds passed",
    "git diff --check passed"
  ],
  "preview": {
    "presenceStatus": 200,
    "draftPreserved": true,
    "draftFileSha256": "4c9f8eed83a49d072fbf61fdfdef334698dcae8e3374ad15e73896fbbf7c1432",
    "editorReady": true,
    "gardenReady": true
  },
  "screenshots": [
    "editor-presence-selection.png"
  ],
  "remaining": [
    "Remote transform previews",
    "Live room activation",
    "Durable undo",
    "Creator accounts and identity",
    "Final character-art redesign"
  ]
}
