{
  "bundleVersion": "1.0.0",
  "scope": [
    "017",
    "018",
    "019",
    "020",
    "021",
    "022",
    "024",
    "025",
    "026",
    "027",
    "028",
    "029"
  ],
  "excluded": [
    "023"
  ],
  "sourceFiles": [
    {
      "path": "js/bone-normalizer.js",
      "sha256": "7514b3cc1bcb37ffeda764ee9f9f6160b337f71d84dd6f886d58d5c975b49c96",
      "size": 3811
    },
    {
      "path": "js/bone-lifecycle.js",
      "sha256": "c364b84800fb6492d3b5dd5b9a85b520b845673847d552cef28837034bdde1f0",
      "size": 1634
    },
    {
      "path": "js/bone-factory.js",
      "sha256": "c56147929d43a71b841eeaaed1fef69fb71f086cf6cde7a087a4952e375ea9ef",
      "size": 884
    },
    {
      "path": "js/bone-cloner.js",
      "sha256": "3bb6c06d061b84ee617aec2487ded8a3123912cb5c6f05e446dce906d3fdfaee",
      "size": 973
    },
    {
      "path": "js/bone-updater.js",
      "sha256": "54e5b4a4d472816c4ec5f6162db06bd543d82c8699959d7fffd1a6c01c788c4d",
      "size": 1910
    },
    {
      "path": "js/bone-serializer.js",
      "sha256": "cd18f43f17be60dfd4f9f4c91e2a8936dfc0ffa647d25a3fa7c1885d57432d24",
      "size": 1237
    },
    {
      "path": "js/bone-deserializer.js",
      "sha256": "ca6f4db6cccad1a340ded9905c7c81a1fec563a4b0b10e31e77295c6bebc26b6",
      "size": 1551
    },
    {
      "path": "js/bone-core.js",
      "sha256": "74f11c3f09a077cd8e02159a7037d114f7539ce03403f4b1da8a917a0c0512aa",
      "size": 1238
    },
    {
      "path": "js/bone-joint-endpoint.js",
      "sha256": "f54f2897f99683af7a293e20779290f7504a18c276388af80199e1ea25dc4e34",
      "size": 1913
    },
    {
      "path": "js/bone-joint-field-resolver.js",
      "sha256": "0b7b3adfbe1062267e09be3d3a3f081b3a2a104f8b10b254f3cf8b4344beab79",
      "size": 1963
    },
    {
      "path": "js/bone-joint-compatibility.js",
      "sha256": "77ae444a1679294645504f2501b94bfc53d7e3eb3f13db4b0f5e71da2bab24cc",
      "size": 3136
    },
    {
      "path": "js/bone-joint-state.js",
      "sha256": "bcaac6864a7e9c6c78a1fc79020d3ec569f480804ba92e9ebfafe93c421a4d48",
      "size": 1869
    },
    {
      "path": "js/bone-joint-line.js",
      "sha256": "89ffe4647ed0a1e52c7861f4035711df9fcb249df8dbb49270ad0fe0d186e2c2",
      "size": 41766
    },
    {
      "path": "js/bone-joint-renderer.js",
      "sha256": "b49c051c356357d4f2a445173db154bedf4624dacf2a105354c55de267493b28",
      "size": 24722
    },
    {
      "path": "js/bone-joint.js",
      "sha256": "7697c3372e7211b772bad14473ed0a971ad48dbbe67144817b9d7cbcec55a921",
      "size": 11289
    },
    {
      "path": "js/bone-animation.js",
      "sha256": "678ebfe1d59150cf0f6abd49c62c8df7a0fb253dc8f9b50fea9233d3bba3d3d9",
      "size": 25253
    },
    {
      "path": "js/bone-hover-border-effect.js",
      "sha256": "132b5e999734b3a57f8594d2a443fa21f9091c6e662f6845deaab3f65c3db777",
      "size": 7122
    },
    {
      "path": "js/bone-ui-registry.js",
      "sha256": "244cbfa8b681547e1a6ec5222faeb626e4730a1ffdae93496f5db4726168c275",
      "size": 13573
    },
    {
      "path": "js/bone-emoji-registry.js",
      "sha256": "8ee3d029b84941acc8a776b99f54fbd2931f5e1fca359ce4a27a135bb04f39c8",
      "size": 149953
    },
    {
      "path": "js/bone-label-ui-registry.js",
      "sha256": "7ac044c194f5714a83aeb06d43c86519d97c48cf62320abca7aa0b36c049ef60",
      "size": 1283
    },
    {
      "path": "js/bone-label.js",
      "sha256": "2b11a56836916abbdf9e8b0bd9c98905c35c41473389ab656d0d095fa41a15c3",
      "size": 50008
    },
    {
      "path": "js/bone-label-html-class.js",
      "sha256": "ce57a59f3ca14a63c95450fb8c824b5128b4d9a10b33fb01fab9e8fd6d8f24f5",
      "size": 2824
    },
    {
      "path": "js/bone-text.js",
      "sha256": "f6bd5deb78140e64b60d2feab43d74338ca75c4b87c7cf79af0669a064eea311",
      "size": 19217
    },
    {
      "path": "js/bone-text-html-class.js",
      "sha256": "8154e6e63b16aaffb63b8010a57ab0f3f5d234467dfba7c19c30127c46a16ab6",
      "size": 6237
    },
    {
      "path": "js/bone-icon-metadata.js",
      "sha256": "c5f8aa447c19846491e9c3de9d3c092d3768cb7c27d268c69bea37aa33b18720",
      "size": 24295
    },
    {
      "path": "js/bone-icon.js",
      "sha256": "dd9a578be5e795dddf7bc1ef5cb48e81a6d2b9dc5475dcb8b4eb4e5c5bc66114",
      "size": 18332
    },
    {
      "path": "js/bone-icon-html-class.js",
      "sha256": "34001bcc86a99e11c686d1c2fb86b87f4335a18a59a699f5005075613c9c5640",
      "size": 8120
    },
    {
      "path": "js/bone-image.js",
      "sha256": "00d5ff88801f52c9a7f4ccc988783b6f66ca7953e98e16d1d5c546417fb1d4dc",
      "size": 176559
    },
    {
      "path": "js/bone-image-html-class.js",
      "sha256": "034f4c34fc107d3fdff632cf3fa87d5b39fdf6256f0971f2522da93ff4750d48",
      "size": 7428
    },
    {
      "path": "js/bone-shape.js",
      "sha256": "ce98a914e49a620a10f6973db7009837f95621d8942823637ff1b8695aef4cfc",
      "size": 73802
    },
    {
      "path": "js/bone-shape-html-class.js",
      "sha256": "6b067ecdd6e90577e358dc9333aadabe9ef38bde2804f5fd5aac9c1359137934",
      "size": 4799
    },
    {
      "path": "js/bone-hover-border-effect-html-class.js",
      "sha256": "e294216ce6d97a03a98938a546cb0bc776931d73419c840c24068eb9020a60ad",
      "size": 4008
    },
    {
      "path": "js/bone-calendar.js",
      "sha256": "5fb72daa97cfc5165694e6c1271dfa929ba3b537d31d88b65b131e9ac853ca8f",
      "size": 47489
    },
    {
      "path": "js/bone-calendar-functional-class.js",
      "sha256": "b0f86ae126d8baf6e366a943344b02cef2b4da31f1ab9d8daf9c9e595da19ea2",
      "size": 7337
    },
    {
      "path": "js/bone-datepicker.js",
      "sha256": "027c8af378433ea78f5bf86ac8a7d113371c9471236e95a26bbf09f849a0a605",
      "size": 24853
    },
    {
      "path": "js/bone-datepicker-functional-class.js",
      "sha256": "18c52e2a9682a7afaea1b31900f0001e5b183bae6b2da61a3a692ffe6dc87b6f",
      "size": 7837
    },
    {
      "path": "js/bone-timepicker.js",
      "sha256": "f6a41abee4efb555f2d77d986c7620693595d628a4eb45762267550d522583fe",
      "size": 28387
    },
    {
      "path": "js/bone-timepicker-functional-class.js",
      "sha256": "7ed6fc7b190c00c79ca5f798d4b574e870e0b459ecb29a002de8088e1505e007",
      "size": 6398
    },
    {
      "path": "js/bone-textbox.js",
      "sha256": "7ee8d09a575da57ce8441bebdd8add098cc5e2183e9ce32c7b97701581ce5cb2",
      "size": 53581
    },
    {
      "path": "js/bone-textbox-functional-class.js",
      "sha256": "79781a7f7eacf86e6a8f70f46c79d629d595fe7112cd04bf7ab3e886b7bd5a91",
      "size": 7753
    },
    {
      "path": "js/bone-textarea.js",
      "sha256": "38019ae3fec0eb518b7493940a8f9da1bddfb3062c4675fc5e4be5ea5612ba16",
      "size": 55655
    },
    {
      "path": "js/bone-textarea-functional-class.js",
      "sha256": "df2ba82e7d7540fc8733b097ec63773378b690dc52b35cd7dbd29edda69c284a",
      "size": 8024
    },
    {
      "path": "js/bone-numberbox.js",
      "sha256": "83e2a984c1ce97d880c1985fc1719ff1ff4a1d7dd83f66591add0e0a63404662",
      "size": 81419
    },
    {
      "path": "js/bone-numberbox-functional-class.js",
      "sha256": "e5c792f780a90870758344c1e79cf3cc936e6194459db58f835c315098361827",
      "size": 9657
    },
    {
      "path": "css/bone-core.css",
      "sha256": "804ed8d59184bdec8cc391fe78722bbd2127052c6914fb0b34c1040bcd26a8ca",
      "size": 1498
    },
    {
      "path": "css/bone-joint.css",
      "sha256": "00b18b4aea6fdfb22958b916ec849957ce49f94f78b195ee6f9a1a488f09a65c",
      "size": 24403
    },
    {
      "path": "css/bone-animation.css",
      "sha256": "7d7ca5b3de9151291ed0d8d196668589bf6034382e52c13d31b1ed49d51bb4ae",
      "size": 12207
    },
    {
      "path": "css/bone-hover-border-effect.css",
      "sha256": "0dfb19b9a9b42aa2fbadfc50423a5006d1c602945c53648626aca2e5fa6d2dfd",
      "size": 3976
    },
    {
      "path": "css/bone-text.css",
      "sha256": "a5bf81601cbca13080d650e25eee8f12edfa127dcf16b8a049b1161ef6338434",
      "size": 21627
    },
    {
      "path": "css/bone-icon.css",
      "sha256": "45ce8669025ef41af19a1971d3182191f01975ba393208c5f00809642d17a9ea",
      "size": 27616
    },
    {
      "path": "css/bone-image.css",
      "sha256": "ae45b36313f19c74a4f1fc60d3f76006bd6ffed6c5a59f3a6833db2e002f48f4",
      "size": 44267
    },
    {
      "path": "css/bone-label.css",
      "sha256": "fb27fe8d4045e558aed577fc8a2fa15fa8550d0cf997f540856bf061ca372306",
      "size": 65660
    },
    {
      "path": "css/bone-shape.css",
      "sha256": "6948680f33b7c6b1eb3a8c4342ea24fbc12e2349d70c5f7bd77df62b585ee04e",
      "size": 28951
    },
    {
      "path": "css/bone-calendar.css",
      "sha256": "7017c8405d9ab91019a11af69c6789bc5dbb3c623f224146311c5effec99981d",
      "size": 8923
    },
    {
      "path": "css/bone-datepicker.css",
      "sha256": "229d50179e6be1808d39b3fbd4eb4dac957d1e54924eb22c226bd2593ab2a6dc",
      "size": 2057
    },
    {
      "path": "css/bone-timepicker.css",
      "sha256": "a60b7417644373b665afdbaf1f5b4f928c562d447d1c56764134de509483e700",
      "size": 3716
    },
    {
      "path": "css/bone-textbox.css",
      "sha256": "cc8c80aefcee8f0740dfa00d0cf4073cdbd79ccd5e7bd47ed9b6b3db2f8bfd05",
      "size": 37107
    },
    {
      "path": "css/bone-textarea.css",
      "sha256": "1e2f02cc380b5d839284794c78ed85e3e64497665bbf9065b3504afed617b63d",
      "size": 44364
    },
    {
      "path": "css/bone-numberbox.css",
      "sha256": "37994839229cb3edd53cbb6bbb4eba58b7275beb09452315ad158b703935f0d1",
      "size": 26698
    }
  ],
  "sourceArchive": {
    "name": "boneflow (2).zip",
    "sha256": "017df1a12573ea04a9f6f0c6a9e2b76675c11f746e11e07ffa7f098cb82392e6",
    "note": "User-uploaded all-in-one source used for this test bundle."
  },
  "sourceFilesNote": "sourceFiles hashes/sizes are the original files from the uploaded all-in-one before bundle-only compatibility transforms.",
  "embeddedAssets": [
    {
      "source": "data/fontawesome-icons.json",
      "purpose": "#018 Icon catalog",
      "embeddedIn": "boneflow.js",
      "runtimeExternalFetchRequired": false
    },
    {
      "source": "data/bone-shapes.json",
      "purpose": "#021 Shape registry",
      "embeddedIn": "boneflow.js",
      "runtimeExternalFetchRequired": false
    },
    {
      "source": "vendor/fontawesome/webfonts/fa-solid-900.woff2",
      "purpose": "Font Awesome solid webfont",
      "embeddedIn": "boneflow.css",
      "encoding": "data URI",
      "runtimeExternalFetchRequired": false
    }
  ],
  "bundlePatches": [
    {
      "target": "js/bone-text-html-class.js",
      "scope": "bundle copy only; uploaded source is not modified",
      "reason": "#021 Shape SVG uses class bf-text on SVG <text>. #017 HTML Functional Class must not mount non-HTML namespace elements when all runtimes are bundled together.",
      "change": "mount() returns null when element.namespaceURI exists and is not http://www.w3.org/1999/xhtml."
    },
    {
      "target": "boneflow.js bootstrap",
      "scope": "bundle-only common layer",
      "reason": "Standalone two-file execution",
      "change": "Embedded asset map and fetch shim satisfy fontawesome-icons.json and bone-shapes.json by filename; unknown URLs delegate to the native fetch implementation."
    },
    {
      "target": "boneflow.css",
      "scope": "bundle-only common layer",
      "reason": "Standalone two-file execution",
      "change": "Font Awesome fa-solid-900.woff2 source URL is replaced with an embedded data URI."
    },
    {
      "target": "boneflow.js registry layer",
      "scope": "new common layer adopted for standalone test",
      "reason": "Separate stable registries from dynamic application data",
      "change": "Adds BoneFlow.holidays, BoneFlow.emoji and BoneFlow.data. Sample-specific business values are not embedded in boneflow.js."
    }
  ],
  "registries": {
    "BoneFlow.holidays": {
      "builtIn": "JP 2026/2027",
      "extension": "load/register/registerMany; custom date overrides built-in entry",
      "source": "Cabinet Office of Japan, National Holidays"
    },
    "BoneFlow.emoji": {
      "builtIn": "BoneEmojiRegistry base catalog",
      "extension": "load/register/registerMany; custom emoji overrides same emoji key"
    },
    "BoneFlow.data": {
      "builtInSampleData": false,
      "runtimeSources": [
        "JavaScript object",
        "JSON via load()",
        "async provider()",
        "application-controlled updates/subscriptions"
      ]
    }
  }
}
