{
  "format": "cosom-alundra-preservation-v1",
  "version": "0.1.1",
  "date": "2026-10-30",
  "saveInterface": {
    "version": "0.1.1",
    "selectionRequiredEachPageSession": true,
    "choices": [
      "open-existing-raw-card",
      "create-new-raw-card"
    ],
    "rawCardBytes": 131072,
    "acceptedExtensions": [
      ".srm",
      ".mcd",
      ".mcr",
      ".mc",
      ".bin"
    ],
    "directFile": {
      "explicitSaveRequired": true,
      "sameSelectedFile": true,
      "fullByteBaselineChecks": true,
      "exclusiveWritableStreamRequired": true,
      "awaitedCloseAndExactReadback": true,
      "originOperationLockWhenAvailable": true,
      "externalEditorCompareAndSwapGuaranteed": false
    },
    "downloadMode": {
      "explicitAcknowledgementRequired": true,
      "downloadIsRequestOnly": true,
      "originalFileAutomaticallyUpdated": false
    },
    "legacyBrowserCard": {
      "namespace": "alundra-us-v1",
      "exactRecordOnly": true,
      "readOnlyRecoveryDownload": true,
      "automaticallySelected": false,
      "automaticMigration": false
    },
    "changePrompt": {
      "genericFormattedCardStabilityHeuristic": true,
      "nativeSaveCompletionEvent": false,
      "minimumStableSamples": 2,
      "minimumStableMilliseconds": 1200
    },
    "snapshots": {
      "existingFormat": "cosom-alundra-original-state-v1",
      "editionBound": true,
      "separateFromRawCards": true,
      "sharedBusyGuards": true,
      "uncertainRestoreRequiresRestart": true,
      "publicImportFlowVerified": false
    },
    "verification": {
      "fileSessionAndChooserIsolatedFixtureChecksPassed": true,
      "realBrowserPickersVerified": false,
      "genuineCardFileSaveReloadVerified": false,
      "liveGameplayTestsRun": false,
      "completeCampaignVerified": false
    },
    "assistance": {
      "hp": false,
      "mp": false,
      "invincible": false
    }
  },
  "source": {
    "format": "cosom-alundra-source-v1",
    "recordedDate": "2026-10-30",
    "disc": {
      "format": "CloneCD IMG/CCD/SUB",
      "sectorBytes": 2352,
      "sectors": 255225,
      "volume": "PLAYSTATION",
      "serial": "SLUS-00553",
      "originalsModified": false
    },
    "sources": [
      {
        "name": "ERC-ALN.CCD",
        "bytes": 772,
        "sha256": "362878eb681f33f489335531cf137ea1c1664b39da5d27fec4523f68cc3e2539"
      },
      {
        "name": "ERC-ALN.IMG",
        "bytes": 600289200,
        "sha256": "76400ef143bc3177d00a94893f0151727a7b6a8782b5856555b9019e4862203c"
      },
      {
        "name": "ERC-ALN.SUB",
        "bytes": 24501600,
        "sha256": "8b2b5a7c60cb3a0fb8518f7847e819c65a771369de538c490b0bafa9fcfb1046"
      },
      {
        "name": "read this first.txt",
        "bytes": 49,
        "sha256": "5026dd36a064c274a587285e4714f6032defd34d28ad7065e3ec75aa62dac26e"
      }
    ],
    "rawSignatureCounts": {
      "70424156": 124,
      "70514553": 52,
      "56414770": 0,
      "52494646": 0,
      "10000000": 11234
    },
    "notes": [
      "Original IMG, CCD and SUB retained byte-for-byte.",
      "No original BIN/CUE was supplied; generated loading CUE is a derivative.",
      "2048-byte ISO files are extracted from Mode 2 sectors; raw XA/video sectors remain available in IMG.",
      "Signature counts are discovery hints, not verified asset counts."
    ]
  },
  "artSummary": {
    "sourceReferences": 365023,
    "spriteRecords": 2658,
    "nativeFrames": 374154,
    "quadReferences": 934772,
    "deformedQuads": 7441,
    "uniqueImageSets": 77545,
    "mirroredQuadCrops": 59253,
    "transitionOrEmptyFrames": 90726,
    "transparentFrames": 13244,
    "inventoryPortraitReferences": 1,
    "effectRecords": 165,
    "mapsProcessed": 484,
    "mapTilePlacements": 1498379,
    "renderedMaps": 483,
    "renderedBackgroundFrames": 194,
    "unrenderedBackgroundCells": 7800,
    "dialoguePortraitReferences": 331,
    "completeMapInventory": true,
    "fullRun": true,
    "uniqueGalleryImages": 13032,
    "uniquePngFiles": 12800,
    "categories": {
      "background-sheets": 95,
      "backgrounds": 34,
      "characters": 1997,
      "effect-sheets": 46,
      "effects": 2910,
      "enemies": 4033,
      "hero": 1022,
      "illustrations": 20,
      "items": 114,
      "maps": 295,
      "objects": 1109,
      "portraits": 24,
      "sprite-sheets": 333,
      "tile-sheets": 300,
      "tim-images": 30,
      "ui": 436,
      "unknown": 234
    },
    "mapsExpected": 484,
    "errors": 0
  },
  "artLimits": [
    "This is extracted original artwork, not a rebuilt game or a claim of complete visual coverage.",
    "Frames use native quad geometry and reverse native image-list order. Identical decoded pixels share a PNG; native frame IDs and anchors remain in provenance downloads.",
    "Sprite atlases retain zero-word transparency and bit15/STP alpha code128. Assembled frames make STP pixels opaque when semi-transparency is disabled; enabled STP uses PNG alpha128. Additive/subtractive PS1 blending, lighting and runtime effects cannot be represented exactly by a standalone transparent PNG.",
    "Static maps show decoded ground/wall tiles in exported renderer order with the initial tile-animation frame. They omit gameplay actors, animated changes, full-screen overlays and runtime camera effects. Parallax layers are separate static texture/layout views; wave, scripted and moving-cell behavior is not reproduced.",
    "Map143 contains one native tile986 reference beyond its six decoded texture pages; the upstream static tile decoder leaves that reference blank. Its source cell1898 is recorded rather than presented as a verified complete scene.",
    "Names come from the upstream EntityNames.csv research table; some are transliterations or European names rather than confirmed American dialogue names. Enemy entries can be multipart bosses and associated projectiles, not complete assembled creatures.",
    "FONT3 texture cells using WIND.CL palette8 are palette previews: upstream proves that palette for cursor/number uses, not every glyph. HUD cells are independently decoded from WIND.TX with each referenced WIND.CL palette; full palette variants are retained.",
    "The upstream editor memory-card icon exporter uses explicitly French offsets; those previews are rejected. The three actual icon frames and palette were relocated by unique full-byte-pattern matches in the supplied USA executable. Icon recovery does not establish player save persistence.",
    "Raw texture/atlas sheets and UI fragments are labeled separately from assembled animation frames. No automated inference turns an unidentified fragment into finished character artwork."
  ],
  "audioSummary": {
    "music": 45,
    "sfx": 1019,
    "xa": 13,
    "samples": 674
  },
  "audioNotes": [
    "Source IMG/CCD/SUB remain untouched. Derivatives and provenance are separate.",
    "Music consists of recovered sequences rendered by a pinned C# software SPU mixer. Native-style loops verify source sequence markers and rendered cycle boundaries, not hardware sample accuracy.",
    "BGM 19 has 18 documented omitted voice-layer instances caused by a native out-of-bounds pitch index; the renderer refuses those voices rather than inventing the original runtime-memory pitch.",
    "Music AAC previews are for normal playback; native-style WebAudio loops must decode loopUrl (lossless WAV) and use loopStartSample/loopEndSample at sampleRate.",
    "Individual SFX components do not reproduce all original multi-tone mixing, envelopes or reverb. Separate sequence renders include their modeled runtime context.",
    "XA streams are source-channel labeled until listening review identifies scenes or voices.",
    "Movie XA is included. ARAN_END has two malformed parameters recovered from valid redundant header copies in a derivative only; original source bytes remain unchanged.",
    "Unassembled bank samples remain separate from named SFX and music; neutral reference pitch is explicit.",
    "Sampled full-scale values are reported without pretending boost can reverse existing source clipping.",
    "No complete soundtrack perceptual/hardware comparison or complete voice identification is claimed.",
    "BGM slot 44 (debug label Warp) is retained raw: its score requests programs 7/8/9, while the native paired VAB only populates programs 0..5. No alternate bank is invented; original runtime context remains unresolved.",
    "Thirteen additional SFX records (15 tone components) were recovered from their actual native VAB groups 34/37/50, omitted by the map lookup. Three further records request a nonexistent program in group 50 and remain unresolved without guessed replacements."
  ],
  "movies": 4,
  "route": {
    "checkpoints": 830,
    "chapters": 52,
    "manual": true
  },
  "validation": {
    "phase": "initial-release-with-incomplete-player-validation",
    "date": "2026-10-30",
    "browserGameplayPassed": false,
    "nativeCardSaveReloadPassed": false,
    "originalNativeSaveWritePassed": true,
    "cardCoreExportAndIdbfsFlushPassed": true,
    "cardBytesSurvivedBrowserReload": true,
    "originalNativeLoadPassed": false,
    "snapshotControlledNativeMarkersRestored": true,
    "snapshotUiNativeRestorePassed": false,
    "physicalControllerVerified": false,
    "assistance": {
      "hp": false,
      "mp": false,
      "invincible": false
    },
    "remainingPlayerChecksDeferredForInitialRelease": true,
    "coverage": [
      "Local native play progressed through the prologue to Inoa and completed an original diary write.",
      "Raw-card export and browser storage flush succeeded; identical card bytes were retained after one browser reload.",
      "Original CONTINUE/record load has not been completed; retained card bytes do not prove restored game progress.",
      "Earlier controlled snapshot restoration recovered two observed native markers; the revised public snapshot import flow remains unverified.",
      "All three assistance options remain unavailable pending their individual exact-disc gameplay checks.",
      "A complete campaign, every hazard, and physical controller operation remain unverified."
    ]
  },
  "extractionTool": {
    "repository": "https://github.com/xcasadio/alundra-datas-analyser",
    "commit": "d6879724ea9f178addd2c1b2c1543e0fbed0c34a",
    "license": "MIT",
    "regionalHarness": "USA closing TIMs recovered by independent structural scan; original files were not modified."
  },
  "regionalArtwork": {
    "suppliedEditions": [
      "USA SLUS-00553"
    ],
    "hybridProvided": false,
    "note": "No Japanese disc supplied; no assumed regional face/sprite replacement."
  },
  "publication": "Not established by local build; see deployment HTTPS evidence."
}
