{
  "schemaVersion": 1,
  "createdOn": "2026-08-04",
  "reportNumber": "SHWRP-2026-034",
  "version": "1.1",
  "doi": "10.5281/zenodo.21791470",
  "status": "PUBLIC_RELEASE",
  "license": "CC BY 4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "licenseScope": "Author-licensable original analysis, prose, research code and original figures only; third-party content retains its original rights and terms.",
  "publicLicenseGranted": true,
  "fieldFlightExecuted": false,
  "realMavic3MFilesIncluded": false,
  "thirdPartyRawContentIncluded": false,
  "thirdPartyResearchDataIncluded": false,
  "thirdPartyDerivedDataIncluded": true,
  "thirdPartyFontSoftwareIncluded": true,
  "thirdPartyFontLicenseIncluded": true,
  "thirdPartyRedistribution": [
    {
      "path": "assets/fonts/NotoSansTC-Regular.ttf",
      "copyright": "Copyright 2014-2021 Adobe, with Reserved Font Name 'Source'",
      "license": "SIL Open Font License 1.1",
      "licensePath": "assets/fonts/OFL.txt",
      "relicensedUnderCcBy": false
    }
  ],
  "personalDataIncluded": false,
  "precisePrivateFieldLocationsIncluded": false,
  "syntheticMetricsAreFieldAccuracy": false,
  "fileCount": 71,
  "files": [
    {
      "path": "CITATION.cff",
      "bytes": 728,
      "sha256": "512992b725e2a8623a8ecdb69b1ba8694b641f81ce1f58dfec5b68cf41a8e7ed"
    },
    {
      "path": "LICENSE.txt",
      "bytes": 1144,
      "sha256": "cb810831096b1c2c184e26b07ba6432cdb579bb41565952c7ff8e67248476038"
    },
    {
      "path": "README.md",
      "bytes": 4338,
      "sha256": "e06a594ea1c7ccbc8603a17c23b1282227010151ef9b96f7af1b5c8e3ee835c5"
    },
    {
      "path": "RIGHTS-NOTICE.txt",
      "bytes": 1588,
      "sha256": "71134c95cc88e74774a3b75d6b0ed92fc9d5fe473bb77eb32a537f809eec7432"
    },
    {
      "path": "assets/fonts/NotoSansTC-Regular.ttf",
      "bytes": 7149672,
      "sha256": "40452f54ea36b5c1f1ec8bd92dc18d5cd19fafb73b8abf9c48500a00d09ec762"
    },
    {
      "path": "assets/fonts/OFL.txt",
      "bytes": 4387,
      "sha256": "9191ad8cf995456fa85b6b992b9f6c67a973396a20dc48cc227f154b55ece7d8"
    },
    {
      "path": "build_pdf.py",
      "bytes": 18115,
      "sha256": "2acbd54d6865396d18d908d015d0a9726a7edf68b2d88ec7ffa0b0515c68b53b"
    },
    {
      "path": "config/mission.example.json",
      "bytes": 427,
      "sha256": "bb73af36668e6f725e4ef36cefcc7f845aed8be81e9ea369277b540a9e9da860"
    },
    {
      "path": "config/virtual-field.json",
      "bytes": 520,
      "sha256": "953bf9b60f3c399943b07a52ac9558bc1c152e8d58a50d843f9b63650f9aa49c"
    },
    {
      "path": "data-management-plan.md",
      "bytes": 2729,
      "sha256": "f4b163b43f05725f40833085a43f9e6c81150f10c25ed37edc5fa0fb0aed2989"
    },
    {
      "path": "flight-safety-and-consent.md",
      "bytes": 1076,
      "sha256": "ec1742db5109398bb01713eaa8ba7face952e810d11a6f9a1602eb0b7a57a753"
    },
    {
      "path": "m3m_twin/__init__.py",
      "bytes": 404,
      "sha256": "760e5e8f7b6176c9d3d18ef511b4f34df6e4190797c5994361a8d4ff6fd64649"
    },
    {
      "path": "m3m_twin/__main__.py",
      "bytes": 30,
      "sha256": "6d8b7d7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279"
    },
    {
      "path": "m3m_twin/cli.py",
      "bytes": 837,
      "sha256": "c075c2cc73a0418225413ba997231a223fa18c218859495966423f322d78f6f5"
    },
    {
      "path": "m3m_twin/configuration.py",
      "bytes": 4148,
      "sha256": "385f6f31742cd0d80f0c2e02cadb8f07491f05488277572e0cb96c1983ae0e98"
    },
    {
      "path": "m3m_twin/demo.py",
      "bytes": 10685,
      "sha256": "2b5253b12a62171909b9ff33cab9744b3d4d637b2da0e29eb5ed3fd2e836bf4f"
    },
    {
      "path": "m3m_twin/envelope.py",
      "bytes": 4078,
      "sha256": "33638f552c315042339c9fa28cc82db7b328c5a60068c1c2cac0c3c7b5e34a8a"
    },
    {
      "path": "m3m_twin/io.py",
      "bytes": 1414,
      "sha256": "2aa650bc84d6f271442457595242730b1511449d79da5ed6384f143e95bf8c24"
    },
    {
      "path": "m3m_twin/mission.py",
      "bytes": 7317,
      "sha256": "768a6e93be14efa98c1e05541230808103ccac3fdaf3b621ccbfe2446db92648"
    },
    {
      "path": "m3m_twin/simulator.py",
      "bytes": 10346,
      "sha256": "ffd0697119d109220b7f8c4a3e569b7339f7d3ad1aff0f14bf0abe9e15d55bc8"
    },
    {
      "path": "m3m_twin/specs.py",
      "bytes": 3486,
      "sha256": "62471bf885416fb1854bffbadce8c01e2217b91f86c8e34778ad91715eecbba9"
    },
    {
      "path": "m3m_twin/spectral.py",
      "bytes": 4407,
      "sha256": "1b6ec6ac2d91a4970f529dfd4e4abad5b187ff8cca467679628bfca3413ca04b"
    },
    {
      "path": "m3m_twin/srf.py",
      "bytes": 4903,
      "sha256": "53767d4b21ca2ae170799d0c0f703c9e6aaf3d30270a0dd65f6a6f865fa14eec"
    },
    {
      "path": "make_contact_sheets.py",
      "bytes": 1809,
      "sha256": "f6c1eaa273e00f675d92623fa108f0185d6f73e9f09b5c066fcbd8a8590d871d"
    },
    {
      "path": "outputs/demo/capture-manifest.csv",
      "bytes": 87316,
      "sha256": "1e66a1d691916ab9c8dfb91680fb57228ba52a62575cc9251f0449da092c2b13"
    },
    {
      "path": "outputs/demo/capture-qc-summary.json",
      "bytes": 454,
      "sha256": "d14288bbe95f0f3d2f84642fc3d1865f161b0ef4c286673982631feff9da5b5c"
    },
    {
      "path": "outputs/demo/engineering-demo-receipt.json",
      "bytes": 3507,
      "sha256": "94e9b8af7dc27c366568949002c6617af0d1c596818d2bf3cb637f6e30544fcc"
    },
    {
      "path": "outputs/demo/mavic-3m-specification-receipt.json",
      "bytes": 1446,
      "sha256": "2fc45956ac9558d3fe9cd32f849cd46ac71e52b7a7c19fc46087b07b1a69d672"
    },
    {
      "path": "outputs/demo/mission-summary.json",
      "bytes": 3995,
      "sha256": "6dfc01fe41ed7084c7b7b8df07772f244bb4f39099adfaa09feb4e622eda5008"
    },
    {
      "path": "outputs/demo/radiometric-processing-receipt.json",
      "bytes": 653,
      "sha256": "f61a3456924a38217107fff4fe31d8d64849c3dd0d551deadf93651ecab1ca4c"
    },
    {
      "path": "outputs/demo/synthetic-analysis-arrays.npz",
      "bytes": 3815051,
      "sha256": "31933de132a8972d464621cf8b45c8593e5cb6f380dabe19fdfa39956d4a8527"
    },
    {
      "path": "outputs/demo/system-analysis.json",
      "bytes": 2201,
      "sha256": "9340545d90426f21193b046c6c8c405e870b03abf8c20b6a0245ca51b16b87d7"
    },
    {
      "path": "outputs/figures/figure-1-mission-route.png",
      "bytes": 80702,
      "sha256": "b62a45e8f603ce2a07fa971e43dec4865a5b4fc0a0e3aa8373af52a3986a3be2"
    },
    {
      "path": "outputs/figures/figure-2-system-flow.png",
      "bytes": 74394,
      "sha256": "875ad99c658077f81540b1f1a979bf6adfb88548e16e53e3b95a38d804c5837b"
    },
    {
      "path": "outputs/figures/figure-3-analysis-panel.png",
      "bytes": 1821020,
      "sha256": "6e5a18d417699684c23b146a4fbd672e7a05a1c0b13ec1108fb804f6d038c047"
    },
    {
      "path": "outputs/figures/figure-4-qc-coverage.png",
      "bytes": 80906,
      "sha256": "3dea669124dbaff761aa3565d35bcfe69d4b82c298a3d6981beae55a6d52e3df"
    },
    {
      "path": "outputs/figures/figure-5-measured-spectral-response.png",
      "bytes": 140266,
      "sha256": "cc318de4c4f970020108f96b61b97725cbde60972ef3237546be53415321ad0c"
    },
    {
      "path": "outputs/figures/figure-6-mission-feasibility-envelope.png",
      "bytes": 139850,
      "sha256": "58620b6b556e0bb23cb281ab258772ffc56951afff9eaeb31dbdf8468c25c4ab"
    },
    {
      "path": "outputs/focused/focused-analysis-receipt.json",
      "bytes": 5078,
      "sha256": "9832b40a00745a4b027b52967bf0223e59730aacfd7cd6db0ca0a46f855c9089"
    },
    {
      "path": "outputs/focused/m3m-spectral-response-receipt.json",
      "bytes": 2972,
      "sha256": "e677049475220f228e65b080cf8547a70e2f260a3b0b4ba7d54a15f488a1c0e1"
    },
    {
      "path": "outputs/focused/m3m-spectral-response-summary.csv",
      "bytes": 1065,
      "sha256": "bc7c785990577f89642b3881dd135c2301727a608b3af184851af1d57954f116"
    },
    {
      "path": "outputs/focused/mission-feasibility-envelope.csv",
      "bytes": 7091,
      "sha256": "26d9d8f455e8554e1a4bc26c422c17fcaf81292b866707937a17cfccc7c9902e"
    },
    {
      "path": "package_release.py",
      "bytes": 5648,
      "sha256": "cc22d60c25504a72e32d93883fbe2c2fd23537cf437a23d2e9602e26935cb9cb"
    },
    {
      "path": "paper-content.json",
      "bytes": 70603,
      "sha256": "51f87cf6e05aedf3ebfd8c4ba2692d9cec77d0a457fe6a7ced95ce5205b0b6e1"
    },
    {
      "path": "paper-metadata.json",
      "bytes": 3021,
      "sha256": "5731c027672c6fe5ac4a70ccd2e4227ccf760bedda68f097e90f9492dd8e1a25"
    },
    {
      "path": "paper.md",
      "bytes": 49500,
      "sha256": "b4398625edae3fa8a94d043063d45d70848c81b904f647d02c0ab54e0fa18717"
    },
    {
      "path": "paper.pdf",
      "bytes": 2884720,
      "sha256": "4b7bfb07e7ef706441e3625242e82c762cfba7596945de8d03be957bd9a12657"
    },
    {
      "path": "pdf-render-report.json",
      "bytes": 4960,
      "sha256": "58ca301495930f631f932f1f627f116e68eac7e9dd37576bdef435fa7e7ed082"
    },
    {
      "path": "pdf-visual-qa.json",
      "bytes": 1229,
      "sha256": "d78f62568955afb3e0b7923c4ca7bec4a677f5b098bdc1fa2f565c59480835a2"
    },
    {
      "path": "pyproject.toml",
      "bytes": 397,
      "sha256": "c6ddea9feba1f566cca9139cb4c16047a5b7db5ba1fcfc7a83e675c70d6abfac"
    },
    {
      "path": "render_pdf.py",
      "bytes": 3333,
      "sha256": "e3900b298425826868152f7bd1df3b7ceba5a28de6b2f0edc26dc4a4c8a13ee7"
    },
    {
      "path": "reproducibility-check.json",
      "bytes": 1080,
      "sha256": "62688545b376af6f4de22a53efc1b5d7e5cf48a13e9fd8c62f57f75aac513f99"
    },
    {
      "path": "requirements-traceability-v1.1.csv",
      "bytes": 2497,
      "sha256": "69a61981053f1c9688aad26657df4c05b48dcee656d74edcbd422e0e5dd088d5"
    },
    {
      "path": "requirements.txt",
      "bytes": 91,
      "sha256": "cbebb22858e6d8e3ceb1f8479ccdfb1f10d5b1016b9f086f4ffd7bd2718b80bf"
    },
    {
      "path": "run_demo.py",
      "bytes": 140,
      "sha256": "c8234fef4b026380e300b51d81ed93177eadeaddd7b38151a6b54e8827f6d286"
    },
    {
      "path": "run_focused_analysis.py",
      "bytes": 6893,
      "sha256": "13c6c787fb8958d05c3ae4120bd2e9ab0b83595313c318b0d2e66a7a40a79abc"
    },
    {
      "path": "source-registry-v1.1-addendum.csv",
      "bytes": 4700,
      "sha256": "39cadf0eab4e3b6f14441653c0fd48f0990a9f88c894c4923c7a2fdb8f9482b3"
    },
    {
      "path": "source-registry.csv",
      "bytes": 10402,
      "sha256": "1ae12c7d1c9cc77bcd75b1c15f0cec4904719359e71a58da4fe2aa888a674669"
    },
    {
      "path": "tests/test_configuration.py",
      "bytes": 1727,
      "sha256": "e2095372d61b22bfdb1cba6722a8382c331c14a07a23702b14ae493874277804"
    },
    {
      "path": "tests/test_demo.py",
      "bytes": 858,
      "sha256": "a53937ffe845c2299e61db9644ff33ed33a4e77a87e7620e7dea17c734cd529a"
    },
    {
      "path": "tests/test_mission.py",
      "bytes": 1716,
      "sha256": "ffa122076b729ea75d95da871f906bf427b45b0512e942d69a5577c09caed748"
    },
    {
      "path": "tests/test_simulator.py",
      "bytes": 4307,
      "sha256": "162419881c06c4a42ea401024b48cf5a04a2dfd516dc8175beef63a8385f7667"
    },
    {
      "path": "tests/test_specs.py",
      "bytes": 1249,
      "sha256": "be82ed72f608689e279e492c05a28454f4cff6493b9d369e403feeb150b387ae"
    },
    {
      "path": "tests/test_spectral.py",
      "bytes": 2128,
      "sha256": "0ec018995163006420aaa127727c1e98978d7d9a3ebc7f9f371f9e0b9f4803c9"
    },
    {
      "path": "tests_v1_1/test_envelope.py",
      "bytes": 900,
      "sha256": "b0fd24d60fae870bee72e611def2adedb5d199e9a548b3d722136efdfc57db5e"
    },
    {
      "path": "tests_v1_1/test_srf.py",
      "bytes": 624,
      "sha256": "70e21fc85086b247e4a48cc5e6e1e3c5c4f00cffbf391239a00c9531dbbcf326"
    },
    {
      "path": "update_zenodo_request.py",
      "bytes": 4190,
      "sha256": "644205de9eeb776c78369ea705046822cd7acf7eb98976a5f3077960bef37bbe"
    },
    {
      "path": "validate_package.py",
      "bytes": 6267,
      "sha256": "da702d9f79ff7397fb58e818e591597963346367c82aa0d15974f844e62eb25e"
    },
    {
      "path": "validate_study.py",
      "bytes": 17022,
      "sha256": "527687c5b12b938a0722a83d13001ca827ff399dc4839d420c842b00cff68639"
    },
    {
      "path": "validation-report.json",
      "bytes": 2143,
      "sha256": "6ac1a95ed015b847b14654e5b8a96dbb38444d1fba760a30f702d644f7b2f157"
    },
    {
      "path": "verify_reproducibility.py",
      "bytes": 2629,
      "sha256": "58ddd5f2163b75835a2242b358c1b95ff787aed60b3471ed69de373248f0c83c"
    }
  ]
}
