{
  "release": "4.1 loading and responsive views",
  "status": "passed",
  "runtimeAndCompanionRegression": {
    "tests": 76,
    "passed": 76,
    "failed": 0,
    "command": "npm test"
  },
  "parcelNotifyOriginalUnitSuite": {
    "tests": 13,
    "passed": 13,
    "failed": 0
  },
  "headlessPageWalkthrough": {
    "passed": [
      "home route and equal companion navigation",
      "Threadline lazy launch on the selected map",
      "For The Siege map / perspective selection and full-game launch",
      "Parcel storage confirmation, ambiguity review, resident registration and approval",
      "Email and SMS previews, repeat confirmation, offline collection / reconnection"
    ]
  },
  "standaloneFullGame": {
    "artifact": "companions/for-the-siege/play-in-browser/player.html",
    "default": "Player Journey; normal title screen and Start New Run flow preserved.",
    "directMaps": [
      "Molten Bridge / stage 1-4",
      "Frostbite Crossing / stage 1-5"
    ],
    "perspectives": [
      "2D",
      "2.5D"
    ],
    "result": "Actual exported player HTML/code booted in all six combinations; player mode active, no editor UI, and native Play button advances both map matches."
  },
  "playerWindowVisibility": {
    "scope": "Hosted player character and Inspect \u00b7 Chat rails",
    "method": "Headless execution of the actual exported player HTML/code with the website stylesheet and bootstrap.",
    "configurationsPassed": 6,
    "configurations": "Journey, Molten Bridge and Frostbite Crossing in both 2D and 2.5D.",
    "checks": [
      "Both rails hidden and transparent, with pointer input disabled, during title, title settings and Journey/setup windows",
      "Closing the title onto an existing Journey window keeps both rails hidden",
      "Both rails return after all windows close onto the battlefield",
      "Inspector still closes and reopens normally; chat open state survives window transitions",
      "Native Play button and first game turn still work on both direct maps"
    ],
    "browserVisualReview": "Unverified; the managed preview daemon is unavailable."
  },
  "namedMapRestart": {
    "command": "node --test --test-name-pattern='the actual player build' tests/map-pack.test.mjs",
    "result": "passed",
    "directMapConfigurations": 4,
    "consecutiveRestartsPerConfiguration": 2,
    "checks": [
      "Actual player match-ending path produces a Victory screen with Restart match on both maps in both perspectives",
      "Eight restarts begin combat at turn zero with restored bases and towers, without Journey or encounter selection",
      "Selected map, perspective and current speed survive restarts; subsequent turns advance normally",
      "Full Journey result handler and native defeat handling are preserved"
    ],
    "browserVisualReview": "Unverified; the managed preview daemon is unavailable."
  },
  "cameraAndMatchStart": {
    "command": "node --test --test-concurrency=1 tests/camera-motion.test.mjs tests/layouts.test.mjs tests/ui.test.mjs tests/map-pack.test.mjs",
    "passed": 18,
    "failed": 0,
    "checks": [
      "Slow default orbit, pause, Top view, reduced motion and temporary hold after camera interaction",
      "Runtime layouts and source maps remain framed through 360 degrees at narrow, square and wide aspect ratios",
      "Rendered runtime Rotate control pauses/resumes and preserves its setting across camera views",
      "Character selection starts both direct-map demos in both perspectives while retaining direct player control",
      "Journey match acceptance starts combat; later manual pauses remain paused during character inspection",
      "Repeated win restarts, native defeat handling and both maps' exact replay/rewind checks remain passing"
    ],
    "browserVisualReview": "Unverified; the managed preview daemon is unavailable."
  },
  "arcadeDesignStudy": {
    "entry": "/arcade.html#for-the-siege",
    "scope": "Separate portfolio presentation draft using the existing application and demos.",
    "typefaces": {
      "display": "Press Start 2P",
      "readingAndControls": "Pixelify Sans regular and bold",
      "statusAndData": "VT323"
    },
    "checks": [
      "Four WOFF2 files exactly match the supplied game's embedded fonts",
      "Draft stylesheet parses and its font/image references resolve locally",
      "All six portfolio routes mount in the draft entry",
      "Style system dialog opens/closes and the Current site link retains each route",
      "Threadline and player launches, map/perspective selection and Parcel workflow walkthrough pass under the draft entry"
    ],
    "browserVisualReview": "Unverified; sites-preview status confirms the preview daemon mailbox is unavailable."
  },
  "architectureSpacing": {
    "scope": "Threadline architecture diagram in the current site and arcade draft.",
    "checks": [
      "All 18 panel labels retain their original words",
      "Conservative text-width and baseline bounds fit every wrapped label inside its panel",
      "Connector captions and notes remain within the diagram",
      "Current and arcade route/demo walkthroughs pass"
    ],
    "browserVisualReview": "Unverified; the managed preview daemon is unavailable."
  },
  "playerStartupCover": {
    "command": "node --test --test-name-pattern='the actual player build' tests/map-pack.test.mjs",
    "configurationsPassed": 6,
    "checks": [
      "Inline hiding guard and loading cover precede the player game script",
      "Legacy controls are hidden before game initialization",
      "Cover is removed only after Journey or either direct map is ready, in both perspectives",
      "Existing character-start, match acceptance, win restart and defeat flows pass",
      "A rejected initialization displays an alert on the cover while legacy controls stay hidden"
    ],
    "browserVisualReview": "Unverified; the managed preview daemon is unavailable."
  },
  "navigationComparison": {
    "entry": "/navigation.html",
    "variants": [
      "single",
      "sidebar"
    ],
    "heading": "Observe everything at minimum cost.",
    "checks": [
      "Both structures mount home, all three companion pages, runtime, performance, about and resume",
      "Original stacked navigation is hidden only within the mockup entry",
      "Each structure presents the three projects once in its primary navigation",
      "Runtime and performance select the Threadline branch in the sidebar",
      "Context links target existing page sections",
      "A/B switching preserves the current page node and URL route",
      "Comparison dialog and shared player/tracing/Parcel interactions work"
    ],
    "browserVisualReview": "Unverified; the managed preview daemon is unavailable."
  },
  "parcelCollectionGraphics": {
    "scope": "Compact state-driven collection path in the Parcel Notify concierge register; matching and state-transition rules unchanged.",
    "modelTests": {
      "passed": 2,
      "failed": 0,
      "command": "node --test tests/companions.test.mjs"
    },
    "headlessEntries": [
      "index.html",
      "arcade.html",
      "navigation.html?layout=single",
      "navigation.html?layout=sidebar"
    ],
    "routesPerEntry": 8,
    "checks": [
      "Collection path initially identifies PN-001 at the desk",
      "Mark collected changes handover and record states and tracks the selected parcel ID and apartment",
      "Existing message previews remain in history after collection",
      "Offline collection cancels the queued notice and reconnect creates no later preview",
      "Reset restores the initial path; returning to the register does not replay the handover animation",
      "Shared styles parse; all route/demo walkthroughs and static asset, import, documentation and bundle checks pass"
    ],
    "reducedMotion": "CSS disables the one-time carton animation for both system and site reduced-motion preferences.",
    "browserVisualReview": "Unverified; the managed preview daemon is unavailable."
  },
  "parcelGuidedSequence": {
    "scope": "20-second demonstration of the existing Parcel app followed by a fresh hands-on workspace.",
    "headlessEntries": [
      "index.html",
      "arcade.html",
      "navigation.html?layout=single",
      "navigation.html?layout=sidebar"
    ],
    "routesPerEntry": 8,
    "modelTests": {
      "passed": 2,
      "failed": 0
    },
    "checks": [
      "Watch executes actual storage confirmation, message-preview display and collection transitions in order",
      "Guided controls are disabled; the active workspace is shown without unused chrome",
      "Pause and hidden-tab handling stop progression; resume continues the current step",
      "Try and Skip restore four fresh parcels and focus the first hands-on action",
      "A new preview updates the smiling phone and triggers one two-note Web Audio chime after a deliberate gesture",
      "Mute suppresses tones; unmuting and duplicate confirmation do not replay an existing notice",
      "Offline collection never shows a false notification success",
      "Replay starts clean; leaving the page releases timers and the audio context"
    ],
    "audioVerification": "Web Audio calls checked with a test AudioContext; actual audible playback unverified.",
    "reducedMotion": "CSS disables phone, ding and carton motion for system and site reduced-motion preferences.",
    "browserVisualReview": "Unverified; the managed preview daemon is unavailable."
  },
  "realThreadlineMapChecks": {
    "maps": [
      "Molten Bridge",
      "Frostbite Crossing"
    ],
    "result": "direct map boot, capture of marchMinions, three verified exact statement seeks per map, exact turn rewind and continuation as a branch"
  },
  "sourceAndBundle": "passed: matching source hashes, all entrypoints, local imports, module syntax, source downloads and documentation",
  "model": {
    "functions": 3639,
    "probeSites": 43051,
    "checkpointRoots": 150
  },
  "managedPreview": "Unavailable: preview daemon mailbox is missing. No alternative preview server was started.",
  "browserVisualAndPerformance": "Not part of this automated verification record; no new browser timing, FPS or balance claims.",
  "historicalEvidence": "Earlier supplied browser timing and 480/480 seeks / 30/30 rewinds remain historical evidence.",
  "presentationUpdate": {
    "scope": "Home page, project framing, biography, r\u00e9sum\u00e9, metadata and reviewer journey. Game, recorder, matcher and demo state transitions unchanged.",
    "headlessRoutes": [
      "home",
      "threadline",
      "for-the-siege",
      "parcel-notify",
      "about",
      "resume"
    ],
    "interactionWalkthrough": "passed: selected projects, shared navigation, game launch, Threadline launch, parcel registration, approval, outbox, offline collection and reconnect",
    "staticChecks": "passed: portfolio module syntax and imports, local assets, documentation, downloads and hosting size limits",
    "browserVisualReview": "Unverified; the available browser is not signed in to the private site."
  },
  "functionTracerScope": {
    "core": "Reusable JavaScript function instrumentation and trace recording; For The Siege is the live integrated example.",
    "otherSource": "JavaScript/TypeScript source explorer parses without executing; live tracing other apps requires instrumentation and connection to the recorder/visualiser.",
    "stateReplay": "Application-specific state adapters are required; the bundled checkpoint/replay UI belongs to the game integration.",
    "targetedChecks": "24/24 passed across instrumentation, source analysis (including the checkout app), player launch and both map replay tests."
  },
  "loadingAndResponsiveness": {
    "status": "passed",
    "fullRegression": {
      "passed": 76,
      "failed": 0,
      "command": "npm test"
    },
    "headlessRouteWalkthroughs": 32,
    "entries": [
      "index.html",
      "arcade.html",
      "navigation.html?layout=single",
      "navigation.html?layout=sidebar"
    ],
    "assetBytes": {
      "unit": "uncompressed build bytes; not network timings",
      "mapScreenshots": {
        "before": 2341660,
        "after": 848380
      },
      "playerHtmlShell": {
        "before": 9760153,
        "after": 255670
      },
      "initialCatalogue": {
        "before": 7593606,
        "after": 1103252
      },
      "deferredCompiler": 9112572
    },
    "checks": [
      "Hosted player Journey and both maps in both perspectives, repeated win restart and manual-pause preservation",
      "Self-contained Save Progress output includes media and browser adapter and reopens normally",
      "Catalogue/capture paths do not load TypeScript; probe metadata is build-checked and retryable",
      "Prerendered first content, deferred WebGL, local WOFF2 fonts and responsive image references",
      "Authenticated viewport pause/resume retains an explicit user pause",
      "Narrow lab panels preserve the same iframe and Parcel cards retain all fields and actions"
    ],
    "browserVisualAndTiming": "Unverified; the managed preview daemon is unavailable."
  },
  "structureShowcase": {
    "status": "passed",
    "structures": [
      "System layers",
      "Call tiers",
      "System islands",
      "Gameplay ring"
    ],
    "primaryFunctionsPerView": 29,
    "systemGroups": 7,
    "dataBytes": 12308,
    "scope": "SVG previews generated from the real layout engine and current source-declared call graph; live launch and view selection",
    "focusedTests": {
      "passed": 19,
      "failed": 0,
      "command": "node --test tests/structure-examples.test.mjs tests/ui.test.mjs tests/layouts.test.mjs tests/site-loading.test.mjs"
    },
    "headlessRouteWalkthroughs": 32,
    "checks": [
      "Every featured call edge exists in the current model",
      "All preview positions match computeLayout for their actual function IDs",
      "Direct links select structure, system colours and requested function",
      "Authenticated view messages issue no gameplay commands",
      "Switching structures preserves the embedded iframe and source URL",
      "All four structures and function selection work in current, arcade and both navigation entries",
      "Existing loading, viewport pause, source navigation and capture UI checks remain passing"
    ],
    "visualReview": "Four exact SVG renders inspected; full browser preview unavailable."
  },
  "systemsLabImport": {
    "sourceArchive": "Threadline_Inside_Complete(1).zip",
    "importedSourceFiles": 20,
    "exhibits": 9,
    "regression": {
      "checks": 77,
      "initialPassed": 76,
      "initialFailed": 1,
      "repair": "Exclude the lab stylesheet from the bulk copy and write the local-font transform directly from its source.",
      "affectedChecksRetested": 5,
      "affectedChecksPassed": 5,
      "unresolvedFailures": 0
    },
    "headlessWalkthroughs": {
      "entries": 4,
      "routesPerEntry": 8,
      "passed": 32
    },
    "generatedEngine": {
      "mapInstallAndVision": [
        "Molten Bridge",
        "Frostbite Crossing"
      ],
      "soundRecipes": 63,
      "soundRenders": 252,
      "finiteSamples": 2278946,
      "peakLimit": 0.62,
      "result": "passed"
    },
    "staticAssetAndImportCheck": "passed",
    "browserVisualAndAudibleReview": "Unverified for this import; the managed preview daemon is unavailable."
  },
  "graphDemoSizingAndZoom": {
    "embeddedFrame": "1040px tall; up to 1560px wide on desktop, with a viewport-aware narrow-screen height.",
    "layout": "The graph has more width and height; its function inspector starts compact below 1040px of panel width. Narrow screens open Map & functions first.",
    "camera": "Live graph fitting uses 1.08 padding instead of 1.2, retaining full-orbit framing. Rotate preserves the chosen zoom and pan target; interaction pauses rotation for 450ms.",
    "focusedTests": {
      "passed": 22,
      "failed": 0,
      "files": [
        "camera-motion",
        "layouts",
        "ui",
        "structure-examples",
        "site-loading"
      ]
    },
    "headlessWalkthroughs": {
      "passed": 32,
      "entries": 4,
      "routesPerEntry": 8
    },
    "checks": [
      "Real wheel zoom resumes orbit at the chosen distance and pan target",
      "Rotate resumes without fitting or resetting the camera",
      "All live layouts and source maps fit through 360 degrees at narrow, square and wide aspect ratios",
      "Reduced motion, manual pause, Top view, selection and replay controls retain their behavior"
    ],
    "browserVisualReview": "Unverified; the managed preview daemon remains unavailable."
  },
  "quickExploreSystemsFirst": {
    "projectOrder": [
      "Threadline",
      "For The Siege",
      "Parcel Notify"
    ],
    "closingPages": [
      "About",
      "R\u00e9sum\u00e9"
    ],
    "entryFocus": "Next lands on the Threadline and Siege systems guides, with keyboard focus and fragment navigation.",
    "threadline": [
      "System layers",
      "Call tiers",
      "Live Call tiers trace on Molten Bridge focused on castAbility"
    ],
    "siege": [
      "Ability effects and recipe builder",
      "Screen assembly",
      "Sight and routes",
      "Procedural sound"
    ],
    "existingFunctionality": "Guide buttons select the existing structure tabs, live tracer launcher and systems lab exhibits. Deep inspect retains the full lab.",
    "automatedChecks": {
      "pageWalkthroughs": 32,
      "completeQuickExploreJourneys": 4,
      "showcaseActionsPerJourney": 7,
      "result": "passed"
    },
    "browserVisualReview": "Unverified; the managed preview daemon remains unavailable."
  }
}
