diff --git a/family/docs/family-outfit-switch-cut.png b/family/docs/family-outfit-switch-cut.png index e74c7832..176c6803 100644 Binary files a/family/docs/family-outfit-switch-cut.png and b/family/docs/family-outfit-switch-cut.png differ diff --git a/family/docs/family-outfit-switch.json b/family/docs/family-outfit-switch.json index 8d13ee9f..d1f65648 100644 --- a/family/docs/family-outfit-switch.json +++ b/family/docs/family-outfit-switch.json @@ -127,15 +127,16 @@ }, "outfits": { "office": { - "captureRecipeSha256": "3099a0553226a4eb556b78108d3c7b67ce94d3754cf51b11868cc8688b3a6ba6", + "captureRecipeSha256": "5d0e8f43653ad1f8ebc52f4b2d6042b7bb039b5ca379731bb6079f0c9f52935d", "browser": "151.0.7922.34", "sources": { - "accepted-inputs.json": "9b4cd36fd3a95a848012818e88a22a9506dab4a45759788a2731bf011310f491", + "accepted-inputs.json": "fb435049732ebc4acbb4f9e0972349bac141e4fd85e703af1fb19b21fb88ff76", "viewer/assets/player.js": "7be0dface8eb043aca97e88c51741f82090c80def401e62c9b598b2c928097aa", + "scripts/preview-overlaps.json": "d3a47e0ee9ca29221bb6c2db79861311c4522c759ecd5b41483ff033e8c55570", "roa/out/check/build/skeleton.model.json": "b9b61d55614805e468b27f9fb2dbaba65a50a0ce56b32ffef04f8cacd2570632", - "luna/out/check/build/skeleton.model.json": "a1043b7b663439f53d1f6af980be855905c39e0fd822eceb76143015d5d57d1d", + "luna/out/check/build/skeleton.model.json": "843b7f307c18b150f3f510d2d1534291021a62ac867fd5b44fb9494b9c768e63", "jinni/out/check/build/skeleton.model.json": "5475c1a67bddd25f679ade558afbfce5c4762c295fd78d3acf21d8b1274390eb", - "naru/out/check/build/skeleton.model.json": "7ae9cf3378b882f24a19ce5c44638d4adc0b61e9aa27b4a425c3a445482f8813", + "naru/out/check/build/skeleton.model.json": "32ab4288ac18c7b74fcc5f88fed16bb7b1e30dbe7936b268fe800a08326d2724", "nova/out/check/build/skeleton.model.json": "0846163f16e7270caeb2005d4f63c4dff1627f4cbab7200e6e363f39ad877b41", "roa/out/check/build/skeleton.png": "84cbd1b50458090896ad1cc55537df3565e3c1296b47996572efc77a9d8eb6e0", "luna/out/check/build/skeleton.png": "429373a34a9392c073ad1836f618d1076525e39fdf8011d40269aa3a40ea6182", @@ -143,30 +144,31 @@ "naru/out/check/build/skeleton.png": "671c9fb591e68279a37adc1ab2ea3f093a116804942d5955b6e0c37191755f14", "nova/out/check/build/skeleton.png": "134523763d7fead761d9a80195c23ddc0ebc6286878fdd0204db9a445d00ef0e" }, - "frame000Sha256": "b170e5da7f25fb537a89ca7a03bf1ec4f82e5b4677bae6a73ca771a670ce033b", - "segmentBytes": 238670, - "segmentSha256": "3df9f8839687bb4cb5c58cd016c3fb6ab09e4453acfdb7f182cee37b4a68183c" + "frame000Sha256": "0555e28f0dcb06f554ff541ffb2ea64cf6a03b16d48f5f5a7b40a06b9715591a", + "segmentBytes": 227183, + "segmentSha256": "5067344406496bd3991c72f548a554fc757a4a901c04c3fa79fe415cd9787912" }, "uniform": { - "captureRecipeSha256": "38c1819efc30ef959566737962172645842b79a1763a41a15fb1a6aeca44d2bb", + "captureRecipeSha256": "8bd1fc50fca8c3e09bc9cfb859d7bbb613027355cc4b617e2c2f71dada178363", "browser": "151.0.7922.34", "sources": { - "accepted-inputs.json": "9b4cd36fd3a95a848012818e88a22a9506dab4a45759788a2731bf011310f491", + "accepted-inputs.json": "fb435049732ebc4acbb4f9e0972349bac141e4fd85e703af1fb19b21fb88ff76", "viewer/assets/player.js": "7be0dface8eb043aca97e88c51741f82090c80def401e62c9b598b2c928097aa", - "outfits/uniform/roa/out/check/build/skeleton.model.json": "7116a9411870ef7d2f36dc5c570ac75e8e831ced307d81119a20415659344855", - "outfits/uniform/luna/out/check/build/skeleton.model.json": "22a2e76785986ff21f3fd0f57a1dccda89ba440fcad04db5226bbcb965d80c48", - "outfits/uniform/jinni/out/check/build/skeleton.model.json": "63208b95692eaa9a577b933bf49ec37a0647ffbc275319bfafd9f141c2044028", - "outfits/uniform/naru/out/check/build/skeleton.model.json": "0468c10170eefc942531826e3fe29e683c2c7c7b6154a32c97f24c1c2fdc4033", - "outfits/uniform/nova/out/check/build/skeleton.model.json": "fcbcce97bcaaf16ee1b9d7532536ea4c97bed2398ffafe1d77873b233a297130", + "scripts/preview-overlaps.json": "d3a47e0ee9ca29221bb6c2db79861311c4522c759ecd5b41483ff033e8c55570", + "outfits/uniform/roa/out/check/build/skeleton.model.json": "6443f08ae56a7a22488289668153eae14033892ad5239e659692aa98bd0166f9", + "outfits/uniform/luna/out/check/build/skeleton.model.json": "0a0094acc4ad5630b7b90300063e8405978f56d74d98a7e3495560bb89628c31", + "outfits/uniform/jinni/out/check/build/skeleton.model.json": "2b04c1c3d97ed26e321f62797dca645d73e4e9b42547ff75b4dc7e7c3b5bd666", + "outfits/uniform/naru/out/check/build/skeleton.model.json": "605247c4d23d152cf1cb49c436534b8ca00a7199b9c963566aea0fa618e9a671", + "outfits/uniform/nova/out/check/build/skeleton.model.json": "cb88dc2fc4730cea2781be409b787006ac9b856b4ed6488ac263bc517a239a80", "outfits/uniform/roa/out/check/build/skeleton.png": "9361754ba95f20e830b8c2bb84162d0433e0a6f66417163c62b51519eb9f48d5", "outfits/uniform/luna/out/check/build/skeleton.png": "29bf72a60324bf77cfa374e9fd900f21eaaba43c5558b13e76c61274bd70bce2", "outfits/uniform/jinni/out/check/build/skeleton.png": "17c0f7be9f0e57c66c45daa6c978ed90da09af373822a4851681ce85577623e9", "outfits/uniform/naru/out/check/build/skeleton.png": "8c38af3ebaa2cd198a00e0d38463384aa1b0b2a1e5413af4f61d5be9d162704f", "outfits/uniform/nova/out/check/build/skeleton.png": "988146bd7ceecd7dbe83589b108d62db5311222b5ab69c5a12a477daf9d53252" }, - "frame000Sha256": "f6851dac0fa7d0f1cda7a1b064453a4452f9c5392486d6d00ec93e7ba9caf1c0", - "segmentBytes": 277585, - "segmentSha256": "6fcb5750292a8352e82ad0b40acddda84a15622b0c9addcfd03312d6947c8cbf" + "frame000Sha256": "34c927cee78103e3033f98b0db7cdf694e4c13c36652c5f087196813f4e5982c", + "segmentBytes": 268438, + "segmentSha256": "4c844846e6b2714437af28dd20be0613df2d80225d2d3dbc7bd08fbf20a1657c" } }, "cutFrame": { @@ -177,70 +179,70 @@ "clothingSlots": "per character, union of both outfits", "clothingBoxes": { "roa": [ - 44, + 171, 211, - 340, + 468, 991 ], "luna": [ - 253, + 345, 271, - 497, + 589, 989 ], "jinni": [ - 483, + 468, 264, - 740, + 725, 988 ], "naru": [ - 727, + 637, 285, - 949, + 858, 991 ], "nova": [ - 905, + 797, 251, - 1131, + 1023, 989 ] }, "threshold0": { - "differingPixels": 547248, - "outsideClothingBoxes": 28201, - "outsideClothingAlpha": 37177 + "differingPixels": 463832, + "outsideClothingBoxes": 1968, + "outsideClothingAlpha": 3619 }, "threshold8": { - "differingPixels": 469238, - "outsideClothingBoxes": 2361, - "outsideClothingAlpha": 4843 + "differingPixels": 419285, + "outsideClothingBoxes": 432, + "outsideClothingAlpha": 811 }, "sharedSlotsOnly": { - "differingPixels": 68880, + "differingPixels": 15354, "bbox": [ - 83, - 102, - 1137, - 407 + 218, + 104, + 1014, + 395 ] }, "sharedSlotsWithoutHair": { - "differingPixels": 16175, + "differingPixels": 16161, "bbox": [ - 109, + 236, 118, - 1060, + 951, 340 ] }, "sideBySide": "family-outfit-switch-cut.png", - "sideBySideSha256": "2ed3e1698e6dffe2944bb5fac65654207e99ecb4b81315bccc6f9be007726e03" + "sideBySideSha256": "78607600c5aed78610f51ae95900409e9274018a3d82762c1fc97e71e97a4840" }, "probe": { "duration": 10, - "size": 753333, + "size": 721212, "codec_name": "h264", "width": 960, "height": 832, @@ -248,6 +250,6 @@ "r_frame_rate": "24/1", "nb_read_frames": "240" }, - "bytes": 753333, - "sha256": "91e03213b41c107c7b41495453c9fa889a139f28db5a7f9f0dc5832e70d3ec69" + "bytes": 721212, + "sha256": "e4aa12502f7c5975387bcdb727f609c7828280efd6513f8999be2e153348e5f7" } diff --git a/family/docs/family-outfit-switch.mp4 b/family/docs/family-outfit-switch.mp4 index 183caa76..af8935c2 100644 Binary files a/family/docs/family-outfit-switch.mp4 and b/family/docs/family-outfit-switch.mp4 differ diff --git a/family/docs/family-preview-homewear.json b/family/docs/family-preview-homewear.json index 7a043c77..6be419ac 100644 --- a/family/docs/family-preview-homewear.json +++ b/family/docs/family-preview-homewear.json @@ -6,38 +6,55 @@ "height": 832, "duration": 3.3333333333333335, "frames": 67, + "scene": { + "left": 319, + "top": 1000, + "scale": 0.42 + }, "lineup": [ [ "roa", 0, 0, - 3 + 10 ], [ "luna", - 435, + 352, 0.06, - 2 + 30 ], [ "jinni", - 995, + 657, 0.45, - 4 + 40 ], [ "naru", - 1540, + 1022, 0.85, - 3 + 50 ], [ "nova", - 1915, + 1355, 1.25, - 2 + 60 ] ], + "layers": [ + { + "key": "roa", + "z": 35, + "clip": "M316.7 -1788.1L304.8 -1795.2L273.8 -1795.2L269.0 -1792.9L261.9 -1797.6L216.7 -1795.2L204.8 -1802.4L176.2 -1800.0L176.2 -1785.7L183.3 -1776.2L183.3 -1771.4L173.8 -1754.8L171.4 -1731.0L164.3 -1723.8L161.9 -1697.6L126.2 -1685.7L116.7 -1676.2L109.5 -1659.5L107.1 -1633.3L102.4 -1619.0L102.4 -1514.3L111.9 -1514.3L119.0 -1533.3L119.0 -1552.4L133.3 -1564.3L133.3 -1576.2L147.6 -1581.0L157.1 -1590.5L161.9 -1590.5L166.7 -1595.2L173.8 -1619.0L176.2 -1645.2L185.7 -1657.1L204.8 -1659.5L223.8 -1650.0L242.9 -1650.0L254.8 -1645.2L269.0 -1645.2L283.3 -1640.5L304.8 -1640.5L335.7 -1671.4L338.1 -1678.6L354.8 -1700.0L359.5 -1714.3L359.5 -1726.2L342.9 -1757.1Z" + }, + { + "key": "luna", + "z": 45, + "clip": "M117.0 -1692.9L109.9 -1685.7L109.9 -1673.8L107.5 -1671.4L107.5 -1650.0L102.8 -1633.3L102.8 -1607.1L100.4 -1604.8L100.4 -1578.6L98.0 -1576.2L98.0 -1476.2L95.6 -1473.8L90.9 -1407.1L88.5 -1404.8L90.9 -1304.8L88.5 -1302.4L86.1 -1252.4L83.7 -1250.0L83.7 -1231.0L81.3 -1228.6L81.3 -1211.9L79.0 -1209.5L79.0 -1169.0L83.7 -1159.5L107.5 -1159.5L109.9 -1157.1L145.6 -1154.8L150.4 -1157.1L150.4 -1176.2L152.8 -1178.6L152.8 -1188.1L157.5 -1200.0L157.5 -1214.3L162.3 -1228.6L162.3 -1252.4L164.7 -1254.8L167.0 -1302.4L169.4 -1304.8L167.0 -1476.2L164.7 -1478.6L162.3 -1540.5L157.5 -1557.1L155.1 -1592.9L143.2 -1638.1L145.6 -1640.5L145.6 -1661.9L143.2 -1669.0L131.3 -1683.3L131.3 -1688.1L126.6 -1692.9Z" + } + ], "capture": { "width": 1200, "height": 1040, @@ -200,11 +217,12 @@ }, "blink": "viewer smooth curve, deterministic staggered schedule", "quality": 80, - "captureRecipeSha256": "07884d78cc0afa8b87b6672ddd378eacc5603fda7b317e03e61d7a0787f8b575", + "captureRecipeSha256": "f318aa9422c682cf6f020ef48861f59a618a80eb70574960942ec154862ba53b", "browser": "151.0.7922.34", "sources": { - "accepted-inputs.json": "89aa3714b3f4a0442b729c3f1643bd07c8e24dbf9565c21150f88daf47da623c", + "accepted-inputs.json": "fb435049732ebc4acbb4f9e0972349bac141e4fd85e703af1fb19b21fb88ff76", "viewer/assets/player.js": "7be0dface8eb043aca97e88c51741f82090c80def401e62c9b598b2c928097aa", + "scripts/preview-overlaps.json": "d3a47e0ee9ca29221bb6c2db79861311c4522c759ecd5b41483ff033e8c55570", "outfits/homewear/roa/out/check/build/skeleton.model.json": "6fb2053f79208eca98e1dbd31215594aef786c95fb7251006f5e0db340f546a3", "outfits/homewear/luna/out/check/build/skeleton.model.json": "37b8abc29f34e7943b3e659569061ab1c742512f8232041e59a892bf385050f3", "outfits/homewear/jinni/out/check/build/skeleton.model.json": "19efa8802250cecedc44d76819695053a255594096642874240071035478f22b", @@ -216,7 +234,7 @@ "outfits/homewear/naru/out/check/build/skeleton.png": "0dac06bf1b410640e70f2f4db8486c7cf3f2cd05545e8395b11b0a8937005289", "outfits/homewear/nova/out/check/build/skeleton.png": "10e3bb90f494a7f97c6c5e04236867ac41856867a92a07ce5877088764c4b78c" }, - "framesSHA256": "ce716f790b90a4b9dcc78c64e5070dad47dabf112f343b78c26859e1b0d1212a", + "framesSHA256": "14076b17afa41d5b90957bd366fb81f964631fd976aa0b5d83ce87ec90a50778", "frameOrder": [ "frame-000.png", "frame-001.png", @@ -321,107 +339,107 @@ "frame-100.png" ], "frameSHA256": { - "frame-000.png": "9627cfee1fa9edecd4eded496166e7406b0970e133be18d659b92195239c14d9", - "frame-001.png": "77907fa66f42fcebd7afd2398e9ba79d9219c4e7dc8052d0c032b8052f8313b9", - "frame-002.png": "f485e507cf654b0e4f4b3d0deaef39e2d39647f12e79aa7ae92d60305b621eb0", - "frame-003.png": "330d69613cc3c09f4a8f03aa7a0fa56a62d4bd6a4df0ccba397727f3c73ac3e4", - "frame-004.png": "5aabeb0dd0ecaabd1eeb2c868988dc306f862b2091f253a1b085c1416958e54b", - "frame-005.png": "6e3442e05d7e593cc1158dac30947a5c4499aeeae02b6c5f16147b6c69311f60", - "frame-006.png": "f438a20b3c1c4bd660bb0a70a67b99b0221723047ca85f9817a78c491a3106f6", - "frame-007.png": "a799f7dc5fc7171117a6e721c0ac34a9c47b320572d2b960e54bf7ffd40070ce", - "frame-008.png": "bdf1d91fab62572a42f915c2a7007472eb4c725b3bf04a4c755530569af7b9fd", - "frame-009.png": "f0ee388edc9d519133be6b399f3e10ad7d3f95263a835e03723c241fb1735ebd", - "frame-010.png": "d1fc8cee67e5cd2342e77673caff5bba533f984a43860a23d29e2c31614d53c6", - "frame-011.png": "f2156959a1dbf92d13f8b987696c9a2d9e33f5bd29ea990af565218b53631594", - "frame-012.png": "103970f582cee2bcbbf9593ba2c06c54ae709719dfa3ab213b11526db0f734fb", - "frame-013.png": "709e8e4158c36088aaed8b7ee497d8ba89863be53621a94c3336548f1e985ea3", - "frame-014.png": "2b7b04a6bd6575515138826fa5136eae7fa8434c6d74cb5b742071698128bdb2", - "frame-015.png": "908c74a089c2cc9e49cd84c9d9795bf522ee3870671a4572baf591abb5dcf98b", - "frame-016.png": "057039751d175eb8998cd55cb57f74e23947e402916f7ace2bd9f5814b4a75c4", - "frame-017.png": "c1107c07b7b5bc12cc6b2e27452f3a0fe9a8c05773d0dd777114baf4b2a1700e", - "frame-018.png": "441342c8f375b27fc38d6574ada83c0a10723c7f9549eacf5780e546490694cc", - "frame-019.png": "163760143af3348e6f002c3afee02673ae5471ade1534dd9a257e09e5cdc5db7", - "frame-020.png": "6c224c287bff2ffe5ba9ceaa7c408f65e6e6f079de26e2eec9c406359a5ade74", - "frame-021.png": "e9303d72b50eb2ae3bc418a44de8a7ab336f65fa39f477a8fe6c8e5798c2cc7c", - "frame-022.png": "81acc40fdb0fa13639ff157e2d6aaa104c9812f1f86a5a14dddd8f462f8cdc4b", - "frame-023.png": "7ae55019cc35babd9daf5d746708c40230d971763c0cc259dca27b367444b708", - "frame-024.png": "f49ba3b2fd42881fcbc49072b4695b79f42b881781d2f62d3bc7fa602740d6eb", - "frame-025.png": "53e3067555685947093fe0081400c3ffb15ce455d18942d9f169e4058a89e290", - "frame-026.png": "99ac6b5327d9dc16b46c5a5854bc4bf1fb53eb579f185ab55b05512ab2eae961", - "frame-027.png": "04164a6c6afc6c420516ba611a0f629dc5458fca1888fa0e36103028191fe9f2", - "frame-028.png": "499e408c9e5ac16c9395faccefe8351e627f927e3267af8cc592dc4a164277df", - "frame-029.png": "3ca071a7accc299ed5d13fe26a17e80b2e27d881238c2f605a7701911fb3b289", - "frame-030.png": "ad381f6197f3a446829390eaae0694651dc8f494c19f22301f702c23cc1a9558", - "frame-031.png": "443167a790a6627f453b8fca62c9988a939df8201cc62130234b7a6e7efcf4ee", - "frame-032.png": "a5db99916177c71cabb14d6ffe2bd89833f3ea39cf8648bccad34bb5b735cf97", - "frame-033.png": "90483a69f4f113c81410b70569b6245a34251489c9d2f8f830c9910e73ca3bc8", - "frame-034.png": "b83a71dd08bccaf63304e3ca53dea10f46f232faa20dbbe977317404e673773b", - "frame-035.png": "1ceadee62673c901ca582bcb3b66f41fa50a4c85cb1832711278c2ff1208cd5f", - "frame-036.png": "54fdbcc0b41dcd4dc3bb4ba415cc009ffc9b5bf223810f82c5b6d3a14e2ef74b", - "frame-037.png": "7d505535243608a3f94f1e879d55e2a56ec9e5958e721849ac9553be74f7e196", - "frame-038.png": "ca00579fa002d24259470556a9f15e666de2219e6ac290cd289c5b93846205ec", - "frame-039.png": "b8cbd3b1f075a1f96434e554b06009ef02cdf2ff92ef937a30d392bf5014f957", - "frame-040.png": "d51db8f7bc91694a2a3a5f327da370f7124d1f35b7184381b14c5cb54b72fb38", - "frame-041.png": "6ac7c677bdabd4815648c7b25de853ef5c4349a3ab0e5be7fb15d0736a56549c", - "frame-042.png": "a12882aff53045a3af339959ae8796f358857dd64def9d009fc7e69b7f7587c0", - "frame-043.png": "f6085059efe3a857509f5e2ccb6d37fb3f88e5f6788db613a921ff9c86dd0f16", - "frame-044.png": "ed4c0bac90cec9948e09469d5655c647cfc7cd4a81008265b1a365341ba07715", - "frame-045.png": "e81009b4ae0e9a785449580c22f9dae810cce2f2b13ef2aaedc6733709fbd1cd", - "frame-046.png": "6923026d859fc865171a82a320c584f20f7ba60f5f157e18a1e0787ea6049e5d", - "frame-047.png": "de0a50dc862a1fe5ee1e7c790202230214870a773158edecd12ebcb4be8f0c94", - "frame-048.png": "0cf8c217a0079bc7dc1c2b9379fc619830af3bdaff2281b6ff22cbedfd4c93c5", - "frame-049.png": "ec5ab34eb82bea50fbd8bcfeac1d0cff2d6693df9b46b36be56f5f9184af7011", - "frame-050.png": "74f0554e277b7b7c2ddac789c645d1e93c1fb11c6bd87f264900715d4d03b57c", - "frame-051.png": "6477d635e43636f82bf190f8b705367c995d762e256bf34671924ff2e8c80228", - "frame-052.png": "c8604ee10bbfd35e6fad5fbea4cca2bd1368c0fcf66ed8cfeb0d6219501fc515", - "frame-053.png": "28d57e0b8cd69c2790e35442e04b090b73fbeea9151e9259e41accaae61eb068", - "frame-054.png": "082b367e2d6fbd45ae0200d630a73edc11e374be707e20bea2c8cdb5227f4c2d", - "frame-055.png": "ba0473ac91ae51330f4e93f67a96bb447b0d8a4ff2518fac789f6fbba1d534fa", - "frame-056.png": "e861bb056e7bf905f982cb4256e7417e1d649c0264716038855940d0eb947ad9", - "frame-057.png": "081830d76278c7ced60a2070fd416220cf57ae28aff16166eb051a899ce87d69", - "frame-058.png": "b143c5a9f9ecbebcbfd0f5f4bcf71af3869cc4df8d1841c4ff9ea839c0f713fd", - "frame-059.png": "4d99b51a1e12b7a33e0f8fbf37c9b8b8829e15c56e35cf5944eabb2fc01bc19d", - "frame-060.png": "7e42de2de0512ea2475ae97e1800adc8fefb9c077720ba50e99338c33e9482e3", - "frame-061.png": "f99392f239f3c97efcf6da02bf92a7b0d3204b250cc90ec502ae51c7cde30670", - "frame-062.png": "0ef4db99cac2f4c141e6c45c69990b372b10d84b98283cc70a6f03f83f509526", - "frame-063.png": "3f5123fc4b6eb992c0b2c1e126bd4bf40d49c024db019bc59fdf3a0b376bed9c", - "frame-064.png": "d32d5539e2e215ad8bf2b659712c2878ea7b79a1134dba5eb57e399426ffd037", - "frame-065.png": "befa33bc9fd0c9a6b424de13aac8ec9d172cdde58c1d00cb872d153d1764785b", - "frame-066.png": "374054fd1a9528fa68c42bdf4780737815a9a01bd0209c8b975b5dd6607549cb", - "frame-067.png": "b9e482d23fe575295897412383dee7d83917742d4ebd72550475030ff5fabdc2", - "frame-068.png": "db3031937d3a5477a27a742f8c43bbe3725f66380b6762e6e6bb1ffbb3e9c055", - "frame-069.png": "70d0ab763373865a0251341b8e6d27aee60b3bdaee5d3080956bad2155dd5451", - "frame-070.png": "1268010a13daaebda8a677c3a0aa12427ed2ede0bad63ed676d1b2790e4eb0b7", - "frame-071.png": "09086de89d47d8ed5bfcce033d54ab9c239067243c3875eb1b425d9a1e5a7164", - "frame-072.png": "0f3c5293dcde4ebc4b115109e98f45f43ae38b8eb0bd373afec0aa033666db35", - "frame-073.png": "896f4fa5f5ac40ffc0dd6ef4e984f5ba59cda7d08a6e9ac631f3d28bb31669b6", - "frame-074.png": "8ef518336b8670625b092829f1c3a6389dca4dd37e4992dc431471d8ef8e3966", - "frame-075.png": "2d762ff8dc694953755236a38aa5439077551d77df2dd27fa1853df58215c9f9", - "frame-076.png": "7029406630eee8fa8dd47e57e9283bdfed6e300ddd9b66a7ffdbd3c275993c3d", - "frame-077.png": "e91f353122905ed69c9844dd2216b16ebc9cf97e73520bd991e31f0cb6deb0f6", - "frame-078.png": "da0692acbc70956d9a09ac6caf0984da1726c6f4df131843455f2a0c3cc1c643", - "frame-079.png": "7d4d94d5db085dc2689b610dd3c00d81e56767690c7615625a4bba5ad8e0c065", - "frame-080.png": "584dd62db1b701616778bbd7b6e46cb2945eeb496cab050225cfe3dc1177b8bd", - "frame-081.png": "429b50e924504c421b27601dea0f3f3f9449d2581c30c63eadb31c374c15eac8", - "frame-082.png": "836872713890c69414a351bb6947f6fdb44bf8c7d8ba476da2b3a53af6f16794", - "frame-083.png": "f0a6618a7b83f2a4813893597ca25ddf5b724f86929e9f43676e0e4efca3f411", - "frame-084.png": "f701d6f4b27ea03a7c8e68834ef1b6455d700222fcf9c8f652b8e545933913be", - "frame-085.png": "d7e566637c6190928ccd36e371860889eb09547ee251fdea11778b710105f7f7", - "frame-086.png": "d071596eca6bc7bd02c1dfa7302f1f5b7f08c76fc7930c2bfb71dd382ed8de44", - "frame-087.png": "609a6d09fc63f19ad7e19fa5c9f1e4c50075b4e20bdb283be3da4c5ae53af093", - "frame-088.png": "c48134db3e24209b637271e0d227cec1506076ecd6275dcbdfc30fbd032c06c2", - "frame-089.png": "73a14c0e975de24ad3823091e843854ccdd8ab7004576956b1eafa0facd69346", - "frame-090.png": "aadb7d0800bf65dc1332980e7fb0f85caaf44c5ded9867a3d6d1204346492341", - "frame-091.png": "f5b3e19532dc2a6d859d83103fa87bc5dbb23c58e724d43367c1d5c9bb052d6b", - "frame-092.png": "50a1fa8f884276c0216ad38333e657fbff52bcb9b8f98baaa421ed9a40033993", - "frame-093.png": "5b462c1f453c083150d345d986084a6b30416c76033dfb0f0628728edfd19c4a", - "frame-094.png": "275e483e0b4fb8d4184f1d99385c257a6fdf23a14211e289b0c57a79ec395f99", - "frame-095.png": "14c0cae25de6c876c6bbdcd539cfefb292b35c3a9359e61f3e0802021a3ffdf4", - "frame-096.png": "04d9f011ba1bf711a742e9281dbb1214cf208a8634241d7f08807b63d37c1f95", - "frame-097.png": "0b9ce24f8fb102002a1bccb5588ef6570284bbd79e7443f25f345c3cba8dc80a", - "frame-098.png": "e260e6a5dc3f4ab158cb4cdee12d93bc4b8ee61916a0d4c1b1e144511afa1836", - "frame-099.png": "87a77e0f963c350aeb3b2f05057041558eb214a24b42cf6ef2785552af490b02", - "frame-100.png": "ff33f6039107bb2a25e154f89f21de373b66988270a3395d84fc38bf9011fd0e" + "frame-000.png": "e34ca0eeef32002654a2c86fabdfa97e5dbeff41bf2901f73bbac479083f9c25", + "frame-001.png": "e8561bc924461b53f6b753954e9eb0c38be43a9b4520ddd1ef7d5d5b4e5034ca", + "frame-002.png": "f2fb142437e81b6a40a2138ffd971dea75ff19136f3ef4292f5ab763885bfd03", + "frame-003.png": "3b1d152f6503ba1b0ba97631fd8e7f04172de4713a7e03c97226b487be974a69", + "frame-004.png": "71aa9997d735f79fe2316e5e34f6cbf90c9aec31a8208c6ff4941c91ee707999", + "frame-005.png": "5e3c1fc9c7b92137b772b537e70a600e4a664495a431099829502eece990ed78", + "frame-006.png": "8b56c99876761b52054c600a519c8430a2fe7b95fee2bee0ffc369fcb368792c", + "frame-007.png": "7fb2e867d7dfe58a480a5b0b5216d1f65cf9677a552dbe6587e6c847fc4e4eee", + "frame-008.png": "5daf2c519027fc6afbe214a20fe78420a6076ff3e366cc15cc90883364cfd9bd", + "frame-009.png": "0ba12dc8e8a4322e28f60c24d3f101e2675463b696f167132f16afd74d7d82af", + "frame-010.png": "de58cb0b4dbf3801ff0ef800516e9f79e1af3b57ddccfbac2c07879af81029d0", + "frame-011.png": "7cd68a100a25ef92689adbbbd2a10bbd6ba8e90ac66cc124ab9275458cf74f63", + "frame-012.png": "5a4751fa41aedb28fd0ea2ca21ce65ad3b77b0749b13cfb0e48bfb1a9723c45c", + "frame-013.png": "9e0c9af90e0b580be98cb557ddf6260336c2b8d4c2cc669438f0a03860874ef6", + "frame-014.png": "86bc733f7b7b11287a12e50bff9ca61902003f2f9984870cb41723d30f199ee0", + "frame-015.png": "99bbcf75f698e37f3a619f31528cb5c6f87533cdc8d6ef71e6b0218fab1f71e8", + "frame-016.png": "da0d9f4b4398414d3de8dd0c3c44e36e6a8f15e88b2447f2337f45ea799ae6c5", + "frame-017.png": "63a8f3a43b97dee5035ac085075236cf91e51d2eb9b8f637537d8d43193db9a6", + "frame-018.png": "bc6950e4d85b9d6677b6d114817be4b9b07a90b09bc9214528f4af7115a54bef", + "frame-019.png": "2455ffcdfc3ccc718858ef4dfd013acb0ad62bb5ba27088154bf51e314a34a36", + "frame-020.png": "9870f0a31d5840ec4492ec717f0f75ec57b6c6e25a168e9edeca44b78931205a", + "frame-021.png": "6a28a8010d03deaa6d0ae690770961286f1f0ad6535629109d583a08d6ce0e03", + "frame-022.png": "eb94f69c16c24930e0f517069921abc3787a9fc6326cb26ca69c7c1b0d81b6cd", + "frame-023.png": "5f64cc51aa525d6248b3fc36d026e41843bbaf0a9196dad81f293856912255fd", + "frame-024.png": "e5001ab766ae50222b658c693b47033dfde7cfeabf1e72f6b8b59ea5544ecb67", + "frame-025.png": "7a0465542fa60ba5b0a2278dd85e2cd76606c2d7acb4f74d9726bec87001cbe5", + "frame-026.png": "3a75047bd4d7d640c4093c26dbb8fe29f8eadb401e18f8dfcc857af55084527a", + "frame-027.png": "ae8106735e672f72a968d46e9d95ad8e93ddf33d839a291ce79c0ca6a19d4441", + "frame-028.png": "65740e94c2d9684f4e5cb364a02cbcd2343befac029a98d52108856b666254d1", + "frame-029.png": "c6f7b354cbb2669795ae539292a8c00f9c5932a048c9a48695cc6872aa9da233", + "frame-030.png": "0bae3cd6fca7cf9094abd7153530a93f6ded1b9c8c5bb8cc2c9300d2126bc3c8", + "frame-031.png": "c22e24d1d30fc042384cd364c5b68c961447f6e6a119e4acab33a67d0265f0da", + "frame-032.png": "6c0822c8ec747e620b9f88e5bf66f0994f075415b0ee9ccd3555eeb714c33303", + "frame-033.png": "f80052bdf65e5dca2964794180480a20c8c0d602622179a490ff4d3e2ccd7674", + "frame-034.png": "3e246be7b92794ea8718b57cc7992f518c8f13c31253672d1dcc1b871aa84109", + "frame-035.png": "4e94228c78b71ce8b56b4db0db69285e3dd7882f24180572ee4040f4916ab0af", + "frame-036.png": "348ebcc844bf2112700d36580f6b7c689f1298fb32cf80ea27126a00b1e7194e", + "frame-037.png": "7b1a924004adaff1a0cada63edb9f956f8d67fc34789ce9408e1cc156ecc9be8", + "frame-038.png": "0e400d47c4c5775d13da519ff0a94bf3b9d4b8fdd8172bbc2e9ffd064e23980c", + "frame-039.png": "2f7caf684e5cf359662bf036da163ac7404d716bdb0e7a12c552e6781910567f", + "frame-040.png": "eab484d80f60a8750d72411c54cb931b9e4cfe03e298e1951c0f1e99c36321e4", + "frame-041.png": "6f4e4a868d6bd34bf38c9219594eb45b1b80ea86bcad299e5127888439f49edc", + "frame-042.png": "a4ca3a904cd513844a7b923195a2a0ea08626b4dbbb5e5885be30f153cadfbea", + "frame-043.png": "00b0d5a8069a66d158146ff379f733e8a58e359f0bc6842a6a4cecae248acfcc", + "frame-044.png": "52686c78896d881697318203142f8817e12177b6fc1cd5d3bb92e5dabfd10caa", + "frame-045.png": "974c472a628d4df09909451aca24a4366e36f7edded9612bc86339c93adacb66", + "frame-046.png": "fdff2cf9649bd0d1285702ef95111f46190e5ec6d42f5e094e1f182c654e327d", + "frame-047.png": "c30d695d0eea41ed1e8c818ea3ed0f7094f52b220ce759651ce6f2b125f71688", + "frame-048.png": "51bce2817f547e3ff4236cef96ee81cc23e422a1b3bdb9ca083a0268500f5adf", + "frame-049.png": "8e10e305fc15782356f7fb41df1d183091cc590cc8fe09bdb766dcb7308eec92", + "frame-050.png": "980c8ba87cbd5e36c3b681eca7da1e5dc2e95cca7814b068d84630dba7901365", + "frame-051.png": "bdb77325e11611bc680b6aa0bc320ae0cfd8bdb8c82f8968df8ffa060d89bc93", + "frame-052.png": "c961a08be8b4739127ee089580a1ef6e0a143df2088577f4efcf045f278c3adb", + "frame-053.png": "63e356ddeb82f668406abdc19715e4fb67922d9cb1650bf11e6dfc20f7a7a650", + "frame-054.png": "813f4ea6e01c5504eca795e86d15ff7312ef7820aacc8d4f8e860083c86e0946", + "frame-055.png": "59dfad8670b35e8f7ed939386c08dd6905bf08695b77edaa76c472fd2e0d5bab", + "frame-056.png": "78340f32b06709be897e05f0b87b50ed3912ada315735c8ba562d2ab332c4422", + "frame-057.png": "4dae8cfde2401b821caaccd3dc4287c6f633d0b738828665b874f086abb13ad9", + "frame-058.png": "bfb1ff4294977c2a8f9dc34e2c9863f29f3c3acfab83b7ab3c0d2045e0690d40", + "frame-059.png": "6f1480a686fd944317599ea28206e7f0dc1b256d9ea4748f3ebbeab00f8d1a72", + "frame-060.png": "144f4e952251b6e489aaec5026d522738f198b0566baef46e8304d59aa6fc79e", + "frame-061.png": "9b28bbc2ddb2acbc4c96538929ffeaadcdcba9a2ae06b0393e182222c3f18c00", + "frame-062.png": "63479d5db8d1b22e46c1860e97319db5631f5ccf700ba7f63f71c9042cab8275", + "frame-063.png": "afea85d3176869257b8c1ce62abb44837b2a44ccf51e0170687ec2a54c311490", + "frame-064.png": "9d281c162773bbeb58cb5d7b6f3418fe7009e49925fc1ce8735de795208ce9d7", + "frame-065.png": "3ea94983bcf255847106bed13d1fa3efa5ad9afca65d539e2db2cf289e0d8f89", + "frame-066.png": "d0e458ba26014af4fb1fd4d9c5c3e5dba6c19c0d637f83438597d0c35fac9cfa", + "frame-067.png": "9f3a6d21dc01cfb58c1dd26226c3a9e44218c51f1328fda95f2c61e89f14f253", + "frame-068.png": "545242749d562235589ec261fd3423f9f17f2efcc56f48d9f09c1fb905372187", + "frame-069.png": "1690935817859501452d7a406cf8665f0989532e69f6ebd1365d10a1fca68b1c", + "frame-070.png": "3ba1d77ac0617f369a9fcaaea9a8aabbe765b5ad4ed0a27b406a09d4ed4a04ac", + "frame-071.png": "aa3868f36ac18417a989a69b8d12e0aac2a81719411704727f1cdcd7039676fa", + "frame-072.png": "e5b25ae042dccc48c6c17bd1ca23b05bbe34e493cc563f3f18d8649fce71faf5", + "frame-073.png": "31f0d9187653fb8f5a4478d15a382f36ec44029c00cd7ff5eeed7a6378174967", + "frame-074.png": "7ee6a399b5763666d39079a0d8fd04b4d6a62778c0f0a9b48d3ac68d80436a19", + "frame-075.png": "e988002c69a3f68a860762199a3e58f8b0c7ac0fe91de5eb80f0e63e735b6d0c", + "frame-076.png": "30f4e96b1c129f958959959e913c693be25bbe66d49154f54bb71b7bdd935010", + "frame-077.png": "1f9915cc5a8e2ac5aad5cf348f93547a96c5d8b079557d55ffd23661996c70b5", + "frame-078.png": "bf2ccd59cf00dbe18dc625583f2206a4f3e54461929873a3c3a84416e59be7ab", + "frame-079.png": "00b5f8021e454601c2e80dd4a0fb64399ea8d6b02a58e4a65cb60f9bb651946f", + "frame-080.png": "e8e40d5b0ad9bf74710bb3c67d71122345404f93151db5fa0d18b8477b5a4856", + "frame-081.png": "02dbbedc787c90318e6000350c79812ef9a660e9bb701e4724157c8fd53dfbd1", + "frame-082.png": "29b1f0c2413e3bcda89ac8b78b0dd3ecb27a0164e391db9f0b7cc4f68fab2763", + "frame-083.png": "4d4f6ca6c4a3a85024749f8cfff4c11f7f960defa46c456bd42ee8089afdea7d", + "frame-084.png": "088064acbe34742f8ae38dfac27cc7c230a9892f4287de3dffc0b7f8c4e38cae", + "frame-085.png": "d60f0d6ff0df3fe752aa77642c29a9b20d349fd7cc20a293b88ca463c1e39ba5", + "frame-086.png": "f4ed62d62944317f4f30d3c3cd43ed87cb6e00f3122161ea707a0c4c192bf781", + "frame-087.png": "e78f849495ae1faae11ff860757cf08239b7fa192d120e422326e61fbf57374b", + "frame-088.png": "bb340cc51dde34542726e8b2f99f2ca6844e766bbb91dd4fa2a1c57fc706a426", + "frame-089.png": "a8c4edce4421d4a20b21d2c4031b5385f04f25d5a305f86bd85d40401031f9bb", + "frame-090.png": "cc4cb7b92ee0a86a8bf7935aeaf93b1c2ebec1e41dd80c0cf382c42b1e326545", + "frame-091.png": "cb7f23beaa17108014fe983b0df2e970744a54fd7285886ed8d4a2a820d28e2f", + "frame-092.png": "ec4b7847c1a506565acc8abc99216f4a5afb1d8fc3258c29bd248f76ac23785b", + "frame-093.png": "faf96b06a42f9ce198f195e14729c367a06ff2395e06053e802da2d7e98b6152", + "frame-094.png": "8974ed89586e96fec2b3b5d477f974b15d0edaa845c3b050e9b02cb2b4e54938", + "frame-095.png": "d6fc1f44f81666d17477f8b76d24e16b0a1ac4641a44249ab30b055618379993", + "frame-096.png": "255b3d8f8851a28ec9d05ca6a38eef6e30dddf1f01a347cdb3e7425c293405d0", + "frame-097.png": "4cae33045f236b98a40b8412a03cf66989516d4428c26cbd9fee50064b1f7bd3", + "frame-098.png": "02b4fba76d93f729e7bc97c32bce4dec86fee251d881df8e3027b5278df9cf87", + "frame-099.png": "551ffddc91debdf396b35215375290a26a45c2340b29c1c1fffa4fa31e36c0a4", + "frame-100.png": "f2e95a265edb0821126a13acc695ff4d0a6afe700b28617e1a62bfdbd6e5c489" }, "encoder": { "Pillow": "12.2.0", @@ -433,9 +451,9 @@ "verification": { "visibleEndpointDifferingPixels": 3, "foregroundPremultipliedRGBA": { - "adjacentMAEMin": 1.3310881644495538, - "adjacentMAEMax": 2.54390439946196, - "lastToFirstMAE": 1.6419533637050583 + "adjacentMAEMin": 1.1949184767210552, + "adjacentMAEMax": 2.5578094394805335, + "lastToFirstMAE": 1.6033733890993862 }, "nonstatic": true, "PASS": true, @@ -1180,6 +1198,6 @@ ] } ], - "bytes": 7142300, - "sha256": "ee61a2055e2e9847187924ee694d209ef063980e291a097e2e4cb68be55bea06" + "bytes": 5418678, + "sha256": "2a5a7ded82b96c71e7ca618107b2ea5974fa0ee59ed0264a7ddbde2ad46b892f" } diff --git a/family/docs/family-preview-homewear.webp b/family/docs/family-preview-homewear.webp index cc97aa2c..6c8e31f7 100644 Binary files a/family/docs/family-preview-homewear.webp and b/family/docs/family-preview-homewear.webp differ diff --git a/family/docs/family-preview-swimwear.json b/family/docs/family-preview-swimwear.json index b38c36db..dbf1747e 100644 --- a/family/docs/family-preview-swimwear.json +++ b/family/docs/family-preview-swimwear.json @@ -6,38 +6,55 @@ "height": 832, "duration": 3.3333333333333335, "frames": 67, + "scene": { + "left": 319, + "top": 1000, + "scale": 0.42 + }, "lineup": [ [ "roa", 0, 0, - 3 + 10 ], [ "luna", - 435, + 352, 0.06, - 2 + 30 ], [ "jinni", - 995, + 657, 0.45, - 4 + 40 ], [ "naru", - 1540, + 1022, 0.85, - 3 + 50 ], [ "nova", - 1915, + 1355, 1.25, - 2 + 60 ] ], + "layers": [ + { + "key": "roa", + "z": 35, + "clip": "M178.6 -1792.9L178.6 -1781.0L183.3 -1776.2L183.3 -1771.4L173.8 -1754.8L171.4 -1731.0L164.3 -1723.8L161.9 -1697.6L133.3 -1685.7L121.4 -1671.4L114.3 -1654.8L114.3 -1642.9L111.9 -1640.5L111.9 -1559.5L114.3 -1554.8L123.8 -1552.4L126.2 -1509.5L131.0 -1492.9L138.1 -1481.0L159.5 -1469.0L190.5 -1466.7L211.9 -1450.0L238.1 -1438.1L259.5 -1421.4L276.2 -1421.4L285.7 -1440.5L295.2 -1490.5L300.0 -1497.6L314.3 -1545.2L311.9 -1647.6L314.3 -1650.0L319.0 -1683.3L345.2 -1709.5L345.2 -1735.7L307.1 -1773.8L283.3 -1783.3L276.2 -1790.5L250.0 -1792.9L235.7 -1788.1L219.0 -1795.2Z" + }, + { + "key": "luna", + "z": 45, + "clip": "M119.4 -1685.7L109.9 -1652.4L107.5 -1595.2L102.8 -1588.1L95.6 -1559.5L88.5 -1547.6L86.1 -1535.7L62.3 -1495.2L62.3 -1476.2L67.0 -1464.3L74.2 -1457.1L93.2 -1447.6L112.3 -1447.6L114.7 -1445.2L119.4 -1361.9L126.6 -1335.7L126.6 -1323.8L133.7 -1302.4L131.3 -1271.4L140.9 -1271.4L143.2 -1292.9L150.4 -1319.0L150.4 -1481.0L148.0 -1483.3L148.0 -1538.1L145.6 -1540.5L145.6 -1583.3L143.2 -1585.7L143.2 -1623.8L140.9 -1626.2L145.6 -1640.5L145.6 -1661.9L131.3 -1685.7Z" + } + ], "capture": { "width": 1200, "height": 1040, @@ -200,11 +217,12 @@ }, "blink": "viewer smooth curve, deterministic staggered schedule", "quality": 80, - "captureRecipeSha256": "8c83ffd024e0e18967ad33f4444cb97a92d28893bcd338054956d48947d5ad01", + "captureRecipeSha256": "ab4eb25f053eaf1e29471c6619751d8ef27d70b02cc05e3bd514e2f95c168856", "browser": "151.0.7922.34", "sources": { - "accepted-inputs.json": "89aa3714b3f4a0442b729c3f1643bd07c8e24dbf9565c21150f88daf47da623c", + "accepted-inputs.json": "fb435049732ebc4acbb4f9e0972349bac141e4fd85e703af1fb19b21fb88ff76", "viewer/assets/player.js": "7be0dface8eb043aca97e88c51741f82090c80def401e62c9b598b2c928097aa", + "scripts/preview-overlaps.json": "d3a47e0ee9ca29221bb6c2db79861311c4522c759ecd5b41483ff033e8c55570", "outfits/swimwear/roa/out/check/build/skeleton.model.json": "eb0f54b57bed9ac9684d63b1b3254a644aed98b889a79a149a232f1ff65cc03a", "outfits/swimwear/luna/out/check/build/skeleton.model.json": "62d444cad2fdfb88d1eaa254807ea307c82157ff70ead0d13c05c89a19a24b8e", "outfits/swimwear/jinni/out/check/build/skeleton.model.json": "9690b754adc20aa53b3fcc52ee98c28b7e1d60d1af661866a8ef96be64de44a2", @@ -216,7 +234,7 @@ "outfits/swimwear/naru/out/check/build/skeleton.png": "f35429135742319b5f422a4e974654c9b1b30574806b0cfc7048ca2413cdd0c4", "outfits/swimwear/nova/out/check/build/skeleton.png": "bf2f929df213e50406d3d012837acedfe2b2c6fed0a08fdae04f92acb75d43f7" }, - "framesSHA256": "d0f507a362a2ca2bbdc4d92c2c04098a7501adc0a017b092d9af1f4233621e86", + "framesSHA256": "46fc18cc55c7f23e0ab6e1837ff3ea44b37199e4eaf74a8e7db5c52abe5b5727", "frameOrder": [ "frame-000.png", "frame-001.png", @@ -321,107 +339,107 @@ "frame-100.png" ], "frameSHA256": { - "frame-000.png": "d569db8e1c10daecb231022324aa14074319ebe398de2dfe31c5dfdd9b0836a3", - "frame-001.png": "ddbb9cb50fc143d7553e0d3c78a4552b3781c7571d5b84082cc2cde30f55a358", - "frame-002.png": "f38cc8f57d26d7692f5864aeb56586e2d44c9786c68e5f3f209c71532e35e1f6", - "frame-003.png": "ba2b75914278f90008f23a79a316c2937ae8ca8bf28c9e38292adda5ad60de26", - "frame-004.png": "07d861e3b4a4183570f5a7577bec7617071e693e452cd68a78c580a0e464d80a", - "frame-005.png": "411b8c798b8b75d3618dc9fa36472d1e627d8ab7c99f86250919e968a67a2a61", - "frame-006.png": "ff6ce1ff107a571f5157855b8b8ee6d06e4c03ff63f1fe6ba228293a57e91d8e", - "frame-007.png": "abb23fdc63f25d7c41a1c243ba1ebdf98cc9c7d0bfd0559c95b0230bbf8d2e6b", - "frame-008.png": "b28f919e89b1918ef333a92f1e760ab5034bbae539ffe222faf2da7dae210782", - "frame-009.png": "742bf26036f0777d5d0c4ac76ee8449e94d01cf8ac9475e8ddb1c93e89691ee3", - "frame-010.png": "7750a036d3f9d86500538ce9772b864d90e51e37ce9f23001c10b34508097028", - "frame-011.png": "478a4140520c27408dfff182db6a860d4e5a4d0cb08b58335b7b2c411e85c882", - "frame-012.png": "acafe07e59b44ccc9b83a668f2af7f35cf96ec4b4498774e437240f21e9b1159", - "frame-013.png": "d549fc8b8f151d1e3b77d51cf2ef718de8b19daca6c292a4ef0ab60749984cf8", - "frame-014.png": "cf1c564f15291d3ab2e783c8191ab8debc4ec939fe012d58ab84b3bf8c3b2f0f", - "frame-015.png": "d2761f262a8d34f212934c8fc916a5a09d40987edaa55e75b43418017e25a586", - "frame-016.png": "ee2aed075e1986880ffcc12e3d4cfbcf58e653be93590300691a9e933b251d26", - "frame-017.png": "3f6dc04ab52df23ce702a2b9a806cfe40803d148e4f669b2202ba101b8506d0d", - "frame-018.png": "c4d7b9a666e5bb7342dd6c0438c84da15a60484d61642c63dc40ed2c8dc6efe3", - "frame-019.png": "c4bf0e78e4ebf5bfcd22c68e67dc7de3020ce39d241de1a68e3036fb01cd7c4f", - "frame-020.png": "0f0e7bdc1deb3af1c776175651be8233295ef5292bf16259b01131b7bb401118", - "frame-021.png": "3ed5ebdc8bf4a563df154e795e2704a947cb16a6dadcfe37550d57f0b7086d55", - "frame-022.png": "f6667329359478356560398eacf03441617ea658a22b7204d3d6345c79e70997", - "frame-023.png": "65b8b7f8b0359f91b6f51ecf35d80599ad46bb2ff8d0eff0a7c4f1109bc72585", - "frame-024.png": "cc24bc92ed03bf78514ddb92b5876dffe84557f7e89ce25c31977b7de450faf5", - "frame-025.png": "c0f7a691dce580f3931627170726a95fafb716aa0c4a5378d1ddd413471a99c8", - "frame-026.png": "fceff37a31b347d81e40fb79c1b9ae591c3d39d90db624f7138fcf92c206298a", - "frame-027.png": "1c7814cfa7f714b4db0c3cc1478e6800c969aa8b5ce41eef867b61e8fa8c5c7a", - "frame-028.png": "97523a6007758e52b624668fbdb9b946031982d3b4f3cdf492a764c78cfda503", - "frame-029.png": "0a2093a1684d43beeee687e0189e770adc55cb9e804d5872d2030280175e2171", - "frame-030.png": "4a9caa36280c99399b2bd214461141cf41bd2402a1db167f432421e5eda10bc6", - "frame-031.png": "b59e463a4a6627dd3be27bf5d55d7853e61f2769e44b92472a624c0301b28bbf", - "frame-032.png": "c9e79de78919868a0b69661935d215d14f4f69b7e78d2c6d123f31483abc2238", - "frame-033.png": "29081a347d7050377d7ef4c0f4347e8a1faa3b8e5787a8d8890e10db6ee8683c", - "frame-034.png": "ac5210ef3adfde6125cb09d12bbed96ff1e21e628eb91e279e512dcfb7b7af12", - "frame-035.png": "ad26bb76f392c8b034506287a5fd901a162735016dec222963d36498fb46b8ea", - "frame-036.png": "48e51eba2578c5855efc8a02e4270a1c4879c67d964b89c252ded3b48a51e679", - "frame-037.png": "9daa476d792195dcd928ff767cb64644512feb481401ae50354525bf204f9026", - "frame-038.png": "f316ac6b667a8dc20472ffaff18132b60d77d3cb4dd26941f6799cfd22aa58a5", - "frame-039.png": "ebad7742bf674e373da196faa2dca87f82140ee66ec5d913b969f932b4adb0fd", - "frame-040.png": "39bfa092c00265925191f5f052e30b6b2716b63994d9284f4bb7abf40194aa42", - "frame-041.png": "13ba363565b36725976f9f88344fa572cd6fc92880dccb8fe64868eee7fecfde", - "frame-042.png": "84e00fe0795710ef48b4fc961e7aa9a053dade018686e4052b95d24c9bd1dc02", - "frame-043.png": "1603d4a53963f85f09ac20e6a3f5b3bc8f1365e6f16b83cd8ffb6787719b8bfd", - "frame-044.png": "5b0310c69e290013c592064ce8231ee9991e8441ce672e8ec6af8c32505ba1a0", - "frame-045.png": "e2bc58f92b32b0551ea4f6b4e329425a20e5d1df7b7afae5c08dc1b61577f399", - "frame-046.png": "5748045b38c891de95079bd36831e2ac00aa3809fc82cc1d7ccb7362ab4c8450", - "frame-047.png": "bd7ba0ece5f36c221a13b83f1e091fb14c1db435291acd1a2626bdd50b582ac4", - "frame-048.png": "980bc783404ed512ac920b8d4e697096cdcd98a75fa8defa12aa3db4e78dfc08", - "frame-049.png": "e6b21b2ef766b68a353af4ea30c2be4b82f9272ec6c3c2ae8e1b2a552975f6a7", - "frame-050.png": "16659287df3458355084f86ad10bedb874d6ba364e4afed52ae28a5205a167a0", - "frame-051.png": "b456310ca8619c860c39b9b13476139acfca6ad437057ee2bfa8666e51b10659", - "frame-052.png": "bcfd62cb7929ee5f6b41be8f744e19ea9da42d88c70836905c8e8d69db461a6a", - "frame-053.png": "0f5124dfc49a5fcba1c3a378b248eff41d641208dc1d88455ce743c95e4f0ed0", - "frame-054.png": "6209bc3904f227a0836c876bbbcfacb8d32d7ff186d1e4e41fecaea336dad311", - "frame-055.png": "47a7809edf11ad5e14165586c9ba80bc98b185e7cfe025ae875e34fd3e67f98f", - "frame-056.png": "02ee515b2ae5ca652af00aa0954029dd5ea22db4fb9868fcc3cd91842a556f9a", - "frame-057.png": "4cfe37d657606f2b67925575c747aa84a6a1bf5fb5c597e0fe85cffe8c3b528b", - "frame-058.png": "16f00c685d0747af9e026686c5e7294748e9d2c19e86ad794040ad9eea51387f", - "frame-059.png": "c17171869ef34314044e168be81c2ee852c23f0831562b04f0c30cb37ae231f5", - "frame-060.png": "b53dd8951ee1cd02c10ad078cabe7e91cb48da4ca20be4e6bc6f20bf48d2905d", - "frame-061.png": "3a4f953604258ccb993b32bd0f9d2f38fbb3441b8141cccbd7c1730a998dd304", - "frame-062.png": "8457d28b0125ce70ee5c670d3966999ba61737590d10e9f9f401c8c09ed33170", - "frame-063.png": "b1476729bca8c82966de3bba1815b859b454b8f729e87d9e54e37b1d06c54f79", - "frame-064.png": "f4dace87094c10d1c6f03db12373c51b4d139301ff88ce33368a4e61beea83b7", - "frame-065.png": "6ea5860757dade07f321b79c4d9fe2c8cebac2566fc427cfa0f2aa6c8e354595", - "frame-066.png": "0504473bea065d0442ff013a7443d15fa4ac6bc82e7b2f60831aab243b24d087", - "frame-067.png": "a7741dbf385eb2cf11b8fe8392e1b21bf83b2ef867fc63d3d623a50bff2944ab", - "frame-068.png": "24a2d144b6ecddece2ea5facbcbbc066e1804e5ef832f55e49b6f90e344a4e95", - "frame-069.png": "02d4b438b209432d06d260ecaa968fe02ae0c62e769a5b0aa34f32082338cd53", - "frame-070.png": "0ca818924ab4f405575f6d7b0d0283343c2d5f916bbd42282ec7593028a8326f", - "frame-071.png": "108da5aaca698edc3d21e531eb8cbd910a5f2ca282b608ee3ddae7eb22ef4bbb", - "frame-072.png": "bc3952538a72025e646f0edc3fd4422dace2341b10f7f2d3ff2bf83f0e2b144e", - "frame-073.png": "4e10b9c7f1e1a53c33f739c6e186e33a1170732740936bbfeb1072d465b8e49e", - "frame-074.png": "a32c1d53dd9f77ce3f82f7dd572e577bbec05e77e0c8d50df267a0782a694ab8", - "frame-075.png": "4cd120bd95f22a9f4766369d3764aae6f4a0288259ae413b48921039e275a36e", - "frame-076.png": "caa3047d8072d4a1b9f5f30b80eb8d5a0e03fa01d63926d47ed846ef64f355c9", - "frame-077.png": "d97f3e8e0e7cf196e30c3c210831164c908c7f7fb4f3fcb9666e47848aa0c876", - "frame-078.png": "53ac38b46bf7fa1bb09045cfde7a49bfe87396519ef1507ca512f49df2118500", - "frame-079.png": "5cc132b607bc981f51198467e83ee4244d95a715567d87c845531fe416a1a530", - "frame-080.png": "d7c5dd1bfee5a520750dc8512deabae8fb93f7208a7cf2c2306d9bb97b4c3be7", - "frame-081.png": "37c6ed48247cb291ac1b299fc1e01db35d92facb368ce2fdfd95b5644fb87aa4", - "frame-082.png": "1eaae783453ad2d37a1dcb245329f5b68c86b8b6d1735ebea181b336cf5f8fed", - "frame-083.png": "eefff8aac480d7ddb0d32e22bc2c0d4e3137a6777738d321ab472890b2333684", - "frame-084.png": "bcb40767581e52508c3ead2704f9c38a6512f4a062f02b9fa9a5f4e9c414150c", - "frame-085.png": "6f4bb59cac5c608764f1e37be198c3da116bcbdce629cf1a240ad8b3acda4951", - "frame-086.png": "b1c92c02d962a5e09b965a5228bb89705f79b8f5567f842e90519f7e8f2a6255", - "frame-087.png": "02f094bd269a13f0305940d9d45e1f4ef0e9fa3f208785299f40508f9b0482e8", - "frame-088.png": "cf497720d0ebfe8229bd791695db70ca9cdca61070a44ae764b3c5e5cd1cfce2", - "frame-089.png": "e68ba09a0ca39a37d892dbc561250e01a3a877c3b8759eaeb1ab1a30ecc65007", - "frame-090.png": "7c757cf6a7e21004e139c028bdfc66b8f7dc7bb4afc1309ea8b497435a516353", - "frame-091.png": "731614e5b59e145757802c9a88ba9c113c34183e07d829df937d37f71fc1731e", - "frame-092.png": "24064754ca3dcf1af314173e0e754dd5de664673f0d7bd8af7f206db533c8e8f", - "frame-093.png": "200f4ada877254858acf351397bed262600a06d605fa85aa3469f8d7587e60be", - "frame-094.png": "eb304d92efb97df05f56aaab6d53a46c72ad8b26e9c5584231ccf568ed624939", - "frame-095.png": "0b5ffc006f9162cf695e92e1a53e6b79a2f53a366baaa6c813279ad58eb4edaa", - "frame-096.png": "ecda648e20c45543d8535734a52258333671cb2015f76483dbbf37a5d43d1e75", - "frame-097.png": "fca6f006519bd17ae6c883a08de8dd7dac65fb644a86097ec1b10172937e5ea5", - "frame-098.png": "d84dd04ca8db32ad3b9d027628e3cfb0729d4a1f7642ab1ceae5d0c4a2ebd1fd", - "frame-099.png": "455f3f57cc758c58f8816db7c15a8abafe3ce807bc3e09a1c64bef195f7e1608", - "frame-100.png": "94df43aafa80d8d4fd49d10386060978b0c6e4190b1493d13a5fe0da215db2eb" + "frame-000.png": "149c4041bed9ff5935428f6ab4093d3c25bf56b34dbfc8d81efb695aced2e093", + "frame-001.png": "2f97f9f6d6adf4d17c008ec73d3cdc4ed31a7aafe11020545c665c1710294a26", + "frame-002.png": "6cfb2761b477a3c3e95b152afb951484606580e173be4c72fbfffbfd02905004", + "frame-003.png": "e9529a1a43642e308f2bdaccd051e6f8fba6984aebdaf9279470cb7a4d19bc0c", + "frame-004.png": "150b93d770dbeee259c85da4058983c2d50f2900a38b3a1179105c9941672dd8", + "frame-005.png": "2c76116ee58f2e3d498d234337e556daaf55d83023fa47b67b2b54ead4930f66", + "frame-006.png": "041df751485f0d81f138c654c30b2d178f8058e30d75ceb00a04009564d8f6e8", + "frame-007.png": "c9b789a404462cf8a5690b3bee86507f447a019ce6ae636ee4969fa539844f82", + "frame-008.png": "1a38ce35de261407cd55c195d691166a3cde259ffe98c9fde38ce5b2d5b5ceb8", + "frame-009.png": "d16ba9174b6501d54e147088bf46e08b6ca26f08487bde92f0e9c08a9cffad5a", + "frame-010.png": "84f1a0dc77d1412a558923753d4c3e46d01a13ad0cf09c4d839ca70575c7dc84", + "frame-011.png": "db23a326cd4947e2eb1942dc7f0befdfc43578f713b8077befd860c9648e708b", + "frame-012.png": "40b89cbce6f37a5e3810e3b7fef5a20aa866be31ef983dcc99871fd96a84ef48", + "frame-013.png": "6913b347cd739ecaa871d516a572af3b125adec149cc4b020358341e440d1edb", + "frame-014.png": "0a14c8a2c72b1ed71583bf3bc1fa629e9cd9d493ad311d22caff1ccc3bae551f", + "frame-015.png": "0c106dc570c19cc5a865bee0ab8aa966bb9bc1e7645f8827322bdd1f6aef9a7d", + "frame-016.png": "c171c8353d511235594c7c93ea1d00c589bb179759316d612626d7c4b8acf0d7", + "frame-017.png": "208b3a27529ae338cf8839b9492960723b05bbaba1ca5d2bf9998e69edc49e79", + "frame-018.png": "c287c4ea2d213ae2495e737fd461817ae585a27a8891a9792cb569707459227d", + "frame-019.png": "1b820c70fb0897032e0ce03668702e5aecbaaf377bd75c143c043394bedf2621", + "frame-020.png": "2cff65631e07eaf9b28bb4bc7506228c24899198813f8ab427c95d728c372565", + "frame-021.png": "be7610705389f3407455ab634e72f54c7471920628dc9367601814fd89e02d18", + "frame-022.png": "25a1d6e04db5a27159250650e76b1eb609a91203d2d531aebb25a820e2bd1e9f", + "frame-023.png": "54f85317e505b99654c544c161a377791f44fd3c6829f2c51623d1bc67d86a9d", + "frame-024.png": "cc66267a3086495fe334b290d4f37eb6dd1528b36f45e42709a1dd41189a7a90", + "frame-025.png": "0506468199ebf50fac18914f4edeab09fcc8839535e73bf2893fc19146f0ae47", + "frame-026.png": "e150150d630affc0fd49ee538a009f3431f8afe0a4fc9b831c1ea580922b3912", + "frame-027.png": "a42ccfb3fcd29ed658f552cd026801a8125b693dd9657cce90eeb1f02429d3dd", + "frame-028.png": "024ca8869714d55180033d4ebd826e38ebbe0f777206af7ae3851e5d5354ef1b", + "frame-029.png": "6d3d20676eba7a1c9284e48e8ce469766dc9b4770d38e2db0a1612196ede9cb7", + "frame-030.png": "1bb935fe4ffc01adf60409e3746087f494c2e2b6c7f87a8247bc502827381e72", + "frame-031.png": "b9a34f31c71538b06fc358e0e1638463cb2405a75245bdfceb24eab0c07308be", + "frame-032.png": "f4b691512a571a97756f6414e61e14fceb8ae205a8d1f3fa088916cbb2d7a930", + "frame-033.png": "e6aa1c3b0ebc626f49c69bb5ca369e2d067ed928c90d6673ba059f5431fe5bf5", + "frame-034.png": "fcb6dc30345b789535c3ef584997ddf7e122adefce96984fd604ae51ca5cfaf7", + "frame-035.png": "bb9df182d2345960f831f9449e8814062df5486463aa8e45cd5bc06d22a629e4", + "frame-036.png": "8dddb4affc4fa1ae4127cbe24d74bebc37bcf229503dc6cb7f8c10ff89d41c8e", + "frame-037.png": "28914a281729455a7714e1b5e3062745ca1c148d62d5651ea3e6f8e5025ed063", + "frame-038.png": "614eadf9ad2f91afa8b027ed1480abf441b285f142fee15366e3b180f7c501e0", + "frame-039.png": "9eb7e32715be2bb2b5e22567af4317358ea7f6604f06b29fae4449cec78a6f74", + "frame-040.png": "93bf0c99cb5e9f746fe7dfc6ea7bb5eadc0e61527c8c629aa1d377799cfeb7a4", + "frame-041.png": "a7a3d5eb3db68d9eb164481d5abcf88299360bdbd657d1fae06f2591c9fdf7fe", + "frame-042.png": "f1f4894f98ad9934b55359c431101b3bc086c1faa75ca364cb8bde41d1ee51ce", + "frame-043.png": "8be8fd648a7e734a6aadf6b6c238352dde5a8cd6e6abdb85a6402b13ccd3923f", + "frame-044.png": "c63c3f5809d517c44a842ce838e4bd8c1b7d79f900bc5689e113940a8b68ef90", + "frame-045.png": "13dc97b01b19195ea98a8544b3fb92882e9d71977e2b733d627231f58a966e04", + "frame-046.png": "ef3c1332a9a7004820c5f72d743b3d93a6c37fda045bfb188f6e5fbb09a91841", + "frame-047.png": "351cd9d3df2519aece0c40c012e99f10f0f622936a7c659079806525037c5cde", + "frame-048.png": "2dc5a3ce208dc84471b119ca3a6d2d60d8e3fdbffe0a68931f6fc2e3f4c5112b", + "frame-049.png": "bca1afe0aa93352f922fe7b1b660a486c8939c2882db82108a430024f4d0b99c", + "frame-050.png": "a26b925f7ccb079aad001a49d85cac53b10d798c9ad5fd6ff6a808c961675af7", + "frame-051.png": "322fff1fe31fd28734f5a08af8909b3ca1dad58b65bd23e5e9b919c7ff4e2590", + "frame-052.png": "0294dcac38e134191fcf5b69f76b20b1232d2889b11ee47702166b02ebcd431d", + "frame-053.png": "9eb0cf050ebbb18d95fde3d93624a37469aa01976bbb791ae31e1215d17bc893", + "frame-054.png": "846c3effecbfc5d551730fa305efcbe3848d503d60503d7001af159df60bbb2c", + "frame-055.png": "9ae8a772fa4c5806e0f77e0a405032cfbbaa1e148134b55daff43869579bc9a6", + "frame-056.png": "cbc40ae96870d86918a4b428b3de5df6850040748d318eef01da3a84cc77c904", + "frame-057.png": "fd5804376380403ac27b5844d37e72cd6186ce64d37ae1097ad8333178a1f375", + "frame-058.png": "3d2015551907a11be2574dd4e3a01bdf9ec96420080a294bb1c252d15790faee", + "frame-059.png": "1f7475e905a926184d2df8a46a9aa9640af963d51e72ba2f5e0212f3e0cb7c6d", + "frame-060.png": "4002d3905d1fd082b6093b9b552b35e73f75f2190100f902390f24d0ab389b05", + "frame-061.png": "77ae8d45d9f05ca4d3a40b5086cea1639daad9f22d5e93e2e5ff32fda16720e6", + "frame-062.png": "40da65845990dc2e4fae8c30bb11b3782e693182bd13bb16942819e4e78f676e", + "frame-063.png": "132a10496e247df5cce4e42dfb15f5c3a444d6d20b34bbbffdbb81e35428babd", + "frame-064.png": "1899dc354a31121683d2af6d0937595acd7ffc3e5e386cb36f1d6ff110a7a40c", + "frame-065.png": "20411fedc67a33e7835f0b256a5e385501e8f282d3beda389453c3e0983afd75", + "frame-066.png": "f1b74b6d0e3d65c4f983f8e9619a1f1818d59a5df616a3418e9de56117bd4597", + "frame-067.png": "76031c30a15ce7a695e5114317d7cb0c0f25c1cf6c3c3256596cb10510464d38", + "frame-068.png": "e1a0b121a96fc9cc446be3c2860c7f7f680b7e48a8d4d001ebea47e949490867", + "frame-069.png": "e6c37ec1677649ae6dc385d94e0ba2ccb6b1e35418686fa0c84c25250c85cfed", + "frame-070.png": "4d21cdf67a9180a58b7e7be38370022317ae800325622f292e31c999302187b7", + "frame-071.png": "d0062fb58bbe395580d8f2c91c3df24bf119e8607d0b92bf242cb24ef8b882a4", + "frame-072.png": "8ae0ab8b4e69f0e3ee56097584590cb437b637c581a6ca0beca9982dd4e720c0", + "frame-073.png": "b7dc83dff3468214df5f3e3d1dddf96105f3ea5708a6455c34195cb4ff47cfbe", + "frame-074.png": "d1d0d9fade4f5c60466212390bd3a31b0c7b2e5063be764aeb1d70bc9f785f29", + "frame-075.png": "d12177a832d0dbebed1dc03023d4eb11c567c6204c957c84de0497c429c81993", + "frame-076.png": "909c9c0acb277f3191aeb7e4b9350af8be69c4763ee22714a94f48230f408cad", + "frame-077.png": "544571e6c7d432dc1f707761e41981a1c7f1d6886d8cacd154b16a1b3a921759", + "frame-078.png": "438aa647af0a364e693275f6600b36a1ef87688e659af6b22b141b5d9ec598a5", + "frame-079.png": "9ac3a34cb91add23ad02b5e815a8fa16a1048301819b341bb3504819a0d573ee", + "frame-080.png": "497743a3066ec0aa13c74908c06be814bfee7361c4ae97be5a925907a004c2f8", + "frame-081.png": "a63f1868fd8af0f7529e0c21484bd08730fd01b8817823794726a7da969dff8f", + "frame-082.png": "7ae1f94bd5b66cffd3c411ac0bdf4f2844e53ea217cb2d620ac2c2a09ea717bd", + "frame-083.png": "233033c104ec7fdce0bc73869fbfb00a28cf0003bff85f044d2b8d52d5ab90d8", + "frame-084.png": "9506806884691d48c62c395c7ecaa59aa767dbd8350c7c7fb73413439b15cdc8", + "frame-085.png": "fd47818380982333ffd570d4768ea50be98afc5c3ca38b0501c5fbf13e7f6ef0", + "frame-086.png": "c518fa7387e716a27335c06bd584223f3b1c5a3c2e775af606a262d9e2d17f90", + "frame-087.png": "fcd0c4d9265927b3f72286c76ddbaf2b052a830b2d8af14dbf77c1a0dced53a7", + "frame-088.png": "49490b4792ba68cd8c25e87c198f2954612f50e542c70adeeec358f908b8251c", + "frame-089.png": "023615f955d4cb0c8691b294b202ea0951142da2fb8662fcb8deadd5d7a9ba87", + "frame-090.png": "a50e7fbabf5bfdcfddb39e52ba06adb8fea200cc3c3060060f5dcf79cc61c573", + "frame-091.png": "af8e04c74172a6f3131834ba97cd3097534800d96bf4433ebc7691b08eec8b86", + "frame-092.png": "0e9da02547f9f2218b58a92c241031d5f48feb88632360b485e676a4e8b14b3e", + "frame-093.png": "8c1e25ea0d743a9900d0270c55d866323587fa6f60d59ef306c62283d30530e1", + "frame-094.png": "8f34bab197207cdc00d54d0c7ab12809db7e4c78f12170f3973cd5c4612999ce", + "frame-095.png": "7bd544d04237106fb867d21038b16ca71b11b7616acb64c42933b0fe6ba191d8", + "frame-096.png": "d4ba8ce6a62eb3d53ec26721a02fbc2c527a3078f570a49839a78ca33284ddbd", + "frame-097.png": "db1ca6fa965b112438b7995d83860c8d922092b92a802293fe1b99256508ca24", + "frame-098.png": "b0f8acc256e384881ea93956b8eb5d640d336a782e5287c184a6e58f96c95df5", + "frame-099.png": "7cf54a1d80ae8d01a4da9240795e40db6a0c9e7b3aef200dc0456f1320e312c8", + "frame-100.png": "7696e38ce314c9ad40018a58b4a931ae9894d72605aedfaf0e131f38371ebfa4" }, "encoder": { "Pillow": "12.2.0", @@ -431,11 +449,11 @@ "alphaQuality": 100 }, "verification": { - "visibleEndpointDifferingPixels": 2, + "visibleEndpointDifferingPixels": 3, "foregroundPremultipliedRGBA": { - "adjacentMAEMin": 1.3070031510044915, - "adjacentMAEMax": 2.6351661836505573, - "lastToFirstMAE": 2.419367917466912 + "adjacentMAEMin": 1.3030080247221254, + "adjacentMAEMax": 2.5749225186500335, + "lastToFirstMAE": 1.6553426257592276 }, "nonstatic": true, "PASS": true, @@ -1180,6 +1198,6 @@ ] } ], - "bytes": 7390994, - "sha256": "6e08a19deefac0d27d7d0b3e6e75384269f185ed0cc2c9928ae9dd441e18929f" + "bytes": 6135856, + "sha256": "e89392c81ea54f2f88bcd529c51a45befe28a5c94604fc0e21a73ed531e61661" } diff --git a/family/docs/family-preview-swimwear.webp b/family/docs/family-preview-swimwear.webp index d715d470..4b60a292 100644 Binary files a/family/docs/family-preview-swimwear.webp and b/family/docs/family-preview-swimwear.webp differ diff --git a/family/docs/family-preview-uniform.json b/family/docs/family-preview-uniform.json index 4e04f139..0e4a9b8f 100644 --- a/family/docs/family-preview-uniform.json +++ b/family/docs/family-preview-uniform.json @@ -6,38 +6,55 @@ "height": 832, "duration": 3.3333333333333335, "frames": 67, + "scene": { + "left": 319, + "top": 1000, + "scale": 0.42 + }, "lineup": [ [ "roa", 0, 0, - 3 + 10 ], [ "luna", - 435, + 352, 0.06, - 2 + 30 ], [ "jinni", - 995, + 657, 0.45, - 4 + 40 ], [ "naru", - 1540, + 1022, 0.85, - 3 + 50 ], [ "nova", - 1915, + 1355, 1.25, - 2 + 60 ] ], + "layers": [ + { + "key": "roa", + "z": 35, + "clip": "M314.3 -1785.7L309.5 -1788.1L281.0 -1788.1L266.7 -1795.2L233.3 -1792.9L219.0 -1800.0L204.8 -1800.0L178.6 -1792.9L178.6 -1781.0L183.3 -1776.2L183.3 -1771.4L173.8 -1754.8L171.4 -1731.0L164.3 -1723.8L161.9 -1695.2L159.5 -1692.9L147.6 -1692.9L135.7 -1685.7L126.2 -1685.7L123.8 -1681.0L114.3 -1678.6L107.1 -1669.0L107.1 -1657.1L102.4 -1642.9L102.4 -1552.4L116.7 -1552.4L123.8 -1557.1L128.6 -1552.4L140.5 -1552.4L147.6 -1564.3L147.6 -1576.2L152.4 -1581.0L161.9 -1581.0L166.7 -1585.7L171.4 -1602.4L173.8 -1638.1L176.2 -1647.6L183.3 -1657.1L223.8 -1652.4L240.5 -1645.2L304.8 -1645.2L328.6 -1661.9L354.8 -1704.8L357.1 -1726.2L345.2 -1750.0Z" + }, + { + "key": "luna", + "z": 45, + "clip": "M100.4 -1664.3L90.9 -1657.1L86.1 -1645.2L86.1 -1552.4L88.5 -1550.0L88.5 -1531.0L90.9 -1528.6L90.9 -1502.4L93.2 -1500.0L98.0 -1445.2L100.4 -1442.9L100.4 -1428.6L102.8 -1426.2L107.5 -1388.1L109.9 -1385.7L117.0 -1328.6L143.2 -1252.4L143.2 -1245.2L152.8 -1245.2L152.8 -1252.4L157.5 -1259.5L157.5 -1273.8L162.3 -1283.3L162.3 -1300.0L167.0 -1311.9L169.4 -1342.9L171.8 -1345.2L169.4 -1466.7L167.0 -1469.0L167.0 -1500.0L164.7 -1502.4L164.7 -1535.7L162.3 -1538.1L162.3 -1569.0L159.9 -1571.4L157.5 -1614.3L155.1 -1616.7L155.1 -1628.6L150.4 -1638.1L150.4 -1647.6L145.6 -1657.1L126.6 -1664.3Z" + } + ], "capture": { "width": 1200, "height": 1040, @@ -200,11 +217,12 @@ }, "blink": "viewer smooth curve, deterministic staggered schedule", "quality": 80, - "captureRecipeSha256": "39925d4c3e411286aeb116e5792d1f0cc76c3cea3dd955037681ebdbd2a85d19", + "captureRecipeSha256": "ee7495b553df710083de2a22e859fa014259cb9bea430bf52bd96b3fe6416c45", "browser": "151.0.7922.34", "sources": { - "accepted-inputs.json": "89aa3714b3f4a0442b729c3f1643bd07c8e24dbf9565c21150f88daf47da623c", + "accepted-inputs.json": "fb435049732ebc4acbb4f9e0972349bac141e4fd85e703af1fb19b21fb88ff76", "viewer/assets/player.js": "7be0dface8eb043aca97e88c51741f82090c80def401e62c9b598b2c928097aa", + "scripts/preview-overlaps.json": "d3a47e0ee9ca29221bb6c2db79861311c4522c759ecd5b41483ff033e8c55570", "outfits/uniform/roa/out/check/build/skeleton.model.json": "6443f08ae56a7a22488289668153eae14033892ad5239e659692aa98bd0166f9", "outfits/uniform/luna/out/check/build/skeleton.model.json": "0a0094acc4ad5630b7b90300063e8405978f56d74d98a7e3495560bb89628c31", "outfits/uniform/jinni/out/check/build/skeleton.model.json": "2b04c1c3d97ed26e321f62797dca645d73e4e9b42547ff75b4dc7e7c3b5bd666", @@ -216,7 +234,7 @@ "outfits/uniform/naru/out/check/build/skeleton.png": "8c38af3ebaa2cd198a00e0d38463384aa1b0b2a1e5413af4f61d5be9d162704f", "outfits/uniform/nova/out/check/build/skeleton.png": "988146bd7ceecd7dbe83589b108d62db5311222b5ab69c5a12a477daf9d53252" }, - "framesSHA256": "15f2d71f5092e2577feb30c6b557b85f9a04e92522e45ebb24ae74058b3d2e4c", + "framesSHA256": "cb9d37670e30087a4a487c3eb86c461fc374d2c3470a51eff6fc532f80b6e486", "frameOrder": [ "frame-000.png", "frame-001.png", @@ -321,107 +339,107 @@ "frame-100.png" ], "frameSHA256": { - "frame-000.png": "0e8fe8f0e02fafeed3030969e618d80ce561a09265af6b201048936b7dee41b1", - "frame-001.png": "1037610f760a34192b26ba01c547807f5e6dcab16c553ca4d933acfa15d9de6e", - "frame-002.png": "22d4836c1f42c545afccf6af00c34019f6acda3433f0d4387253b00c581f9a6b", - "frame-003.png": "b3998ac6fa2a5425d0bf9685003890e431a60395ee2e5b539bb78820be2dc55c", - "frame-004.png": "3a3c459108632e921c600db761aa866056fb608381618a644cdac94bd0d1d434", - "frame-005.png": "77dfd2e45c2c220b3894da4d9b3bde22eccef3d8ee0975ddabc7ebcd1f1bc227", - "frame-006.png": "4d26c0552b9a404a7a6ff67650ed33c8c8bdd14e90a70f7bdd557b14d6aa9069", - "frame-007.png": "bf5d86b6a302633fdaba2ac61e61b663309b034ad7eeaefbbcc7241efe3f8ea3", - "frame-008.png": "0ec5f7c7c239e9fcb51959bd049d9b70a2aaf716dd18cd0e9a23ea6186373bec", - "frame-009.png": "16e223525fa156b502d8e50bac9e5cb9293b049947b98aa25c83b3daa9ea8115", - "frame-010.png": "d4e500f2be6a80bbb4e3d1c78355ed80e1dfc9c01f3ab12d0b6cbcfa01d04cb3", - "frame-011.png": "e78a5e2875ca2a516b8cfd68de95775486479916690a4d6a42a6646272aff9d2", - "frame-012.png": "56df3cd76de6b88f186fe14d60aca525be310f6d1fffa771a137d8f325f88932", - "frame-013.png": "60151e385a7512deb8c1af80a3851c4882c35bef2a5f153e47d1834dc6af7e65", - "frame-014.png": "9f03f2adfb0d6adaaf3e34375efb64e0af3d7aa7d43056e4063bfa11205c4cc6", - "frame-015.png": "4dbf0d3967fd0640657b31b1b39d6caefd415fc68e5a0424cc235721cd8b1589", - "frame-016.png": "9733c14333c44321bce5cb5435cf95bcc5316bfa9bcb1325aa058bcc355651e2", - "frame-017.png": "a0836f82593563d6547645a4300e6275e8e1224979389a887dbf22cb58e609e3", - "frame-018.png": "5a328e9b7f71401c9fd80b00bea8ecbafd57221a00a2cfc5055619dd5b09bd51", - "frame-019.png": "3e05c24a3ba290f58246d13901fd4c83fb81afeb635f266db46c22840627f63a", - "frame-020.png": "89fb4656e28e5c676cf0e2b1d7b139e277e950d7386cc04900ec26a1e9920673", - "frame-021.png": "99f70bb0255d5ed8eba6109e28b2420a58ea594d399173a3ce279f5b53f11e0b", - "frame-022.png": "7c68d61b01efcbc97ea6ec2882b3d6e25b66014dd626e4dfa6de20323bb203bd", - "frame-023.png": "6c6ba28286f80b199d8573d4de9585d82223e267a8e56e9ed03be18d0bed6d6f", - "frame-024.png": "7f6e4dcb89b14b7776893c7cf698612c7b2c7cd7dd5380663e556ee4a42c5578", - "frame-025.png": "c2c40741d629ec98dd5e16c84e9df998a175dd90b6db7d54e1b845df1185906d", - "frame-026.png": "f818df6435d14e1fe3f8a15c4ad4960ed952ad606a5a935ecbcbcf5620bc098b", - "frame-027.png": "88f47e9e50830465e3bd7e12eca694c85cb6a19db85a9339f83108c83abc24cd", - "frame-028.png": "4b15a32522b07d97ea30139c2bf71d2ae02055d8bc23aa9c67ee49c31c988781", - "frame-029.png": "483c7c21cb9513e48f3c4fdfa0a9963441d990c2b2e1fb62c909c5cbb4095cba", - "frame-030.png": "72d0fbea228cd9ab9e496ffca60649f116345da95302c02cb7c1125a94d8a2b7", - "frame-031.png": "432c51a87215495b4e6a7daaa86e25e64e85835ea2f5236d2a589bffbfb283c6", - "frame-032.png": "5b7225e295f0ab20e855cff94e11df93ecd60cc3e79448cf4ac6bed310a14382", - "frame-033.png": "99278536071139f0cb52aad1e19afa5d10031dbddc35e5044070507a5db72737", - "frame-034.png": "3765ff9ed7def5d5068fa8d2a5d3966051fd218d073593c2fdfe4efd520b6e38", - "frame-035.png": "0b60e6af7bfac3602ff89b6ae1685545267998febdc843c235551f27d53da494", - "frame-036.png": "bc9a674e913b1fcd9fd518d2d03e4b6b24fdfb50554aedf82549c107c7ae1bd2", - "frame-037.png": "3690070c03e904522e85897f42c65aa31cff8c38a635bfc718c0e056958c1fd1", - "frame-038.png": "da154928966f7f0c889ecb81464ab2857c7886aaf6523b7e24537ad4dba561aa", - "frame-039.png": "66ef707dad12a9d140895b02421ed02037c28e2c90026311f7d6c4d30cf797e4", - "frame-040.png": "faf2d053689759795286862a77ab1afc40711abfbbc744d18a3259d392d64426", - "frame-041.png": "957be5f9832d112b05d7e0dfdcdc5f8eb7fa3fff37bbdc70ed98a1172fe0f414", - "frame-042.png": "e5dc5a6acb87dd3ac545b5ae1f0406dab33e4e417f4f271d5488f74b4a85e5e4", - "frame-043.png": "c67b786cc9b11ca895d13f895a99556b9575f80cead4e88362e31f616602eb8d", - "frame-044.png": "3ff2480aa5f0283635eddbf62295b795ce584409f490c8932d8e359224bbbfba", - "frame-045.png": "d84b41f63323609824e452a80896e050d1f1682cef4374250d28ff38bec51a72", - "frame-046.png": "5261f027f0dd6e6b676760a9b8a367f68102c1aaa1fdffab169cbe498b0d7ec0", - "frame-047.png": "cc329c4a27b44ae3f031d8fe48a4777b2108bf89e14520513f096f53ab78ac00", - "frame-048.png": "b3130ed4e3af4530c938caa98538c186fd544756fcdf5ba3503f85b28bf697c6", - "frame-049.png": "4e4cf90b4574f46c998afb8339e0fc7b11c6d8f25f0dccc79db9d462efad914b", - "frame-050.png": "8a81e53cdbfa9cf2f93951cfed38ac7de3693a2e0aff1db0d48a6e07cf9b41b0", - "frame-051.png": "68a97c346a40ce2ba9e3eb29839a23d6427aedfe00a6e51a571095ba0b38b283", - "frame-052.png": "97cb066638f161a4fbd15aab672cef86136ac52a1df373f4803f4035d9b6ef17", - "frame-053.png": "a8c4db63915e36d526886340103224aa15f82ae2cc9c195568f2b59d8b0b8496", - "frame-054.png": "d75cd9a516da944d1f2292184f709989744e6a63d8b723c3d5d15fae51a8bbbf", - "frame-055.png": "f015028d47627742c3d87dc0a1caef6328dc78a347a188b552237cc1304f7e34", - "frame-056.png": "9db9e4c6cd288cdee82b67c46265f2f529b0b110a98cdfe4eaf2fc0e808092d8", - "frame-057.png": "4eed660378a301244db1f17f05f61625c0eb556fef88b3ab3dc86d499ad356fe", - "frame-058.png": "5e1c812fd3022b1f47a58d43cbfba4a33e576132dada5573d1adb3b043d3c046", - "frame-059.png": "c0950c81cd72e397a0b79a296d03f5e088a9832eb7f2390f58116a07b67355ef", - "frame-060.png": "ced6c15d46883b7e57e61ce4438a1ac867a20689a89d7762ed3ed26baa469526", - "frame-061.png": "7208e7f40f4bd95c2c9095286a0ecbc732ef3b308d9f7c40ea246b40e4f08c12", - "frame-062.png": "6f1ad8631e7363057e1fdb17ac7a6275a645461b31d6eb7bec1e25340fbc11a0", - "frame-063.png": "187e82ecf61412486f78ea5d445e4d39a57920f50cea1a4412d3ccc585051374", - "frame-064.png": "2b3350149365dcf714f1409cbcfc574c350aa47ade347747c23b034307f0f86e", - "frame-065.png": "d6423ba2fdde734c9412da1773acd0f5abd56836c310c98bd23b28787f0361ad", - "frame-066.png": "9142851b7746d3564c20e0ae33491eff8975e427de2f01d49232d7d9f44640ba", - "frame-067.png": "7f6ea6d7c945d25c5798efc30c741ea08981e107b7b1360811518676ec8ed81b", - "frame-068.png": "1c18f7cf08f5e1e6e5718b5bae901049b858abdffaeeb18580c0bfd29ba1073b", - "frame-069.png": "fa4b3ceee5494b2d8a9601e6bfb1505555d44a8a549a9e7c264bf0a57254a722", - "frame-070.png": "64aa6885141d1a29dddf7829b2dc83e4455b5514bbf93c3c55a33422cf63fcf7", - "frame-071.png": "02f26faa8b070d9c18b20fab5668058ce04e78691f612f4879432ad51534394a", - "frame-072.png": "6f619ea0d461ce6ed92abb0bd7ab253f71742657973f23a27dce69ce5278baaa", - "frame-073.png": "c831650c11cf9bca1a7f412deb2fbdb502549a7aa0b4471dbf0415c53645c64d", - "frame-074.png": "631dc5c50faa3235b5a0922ee9193646069cbdae224f74073886d790fe10fd5d", - "frame-075.png": "aec7aadba2a8348d001c09846baecfe91f0dbc1cb4e6cf781194b92e2f04cede", - "frame-076.png": "d6550204f7dc5bb4b79a77344b09a85aee7a5d25ea6fc4894eff17cda654da9e", - "frame-077.png": "9b1be971e4f4d35476140d316ac416262cf8196bfcb7522c75e60b31f4949d8c", - "frame-078.png": "19bf76ad7ffbceec87396f42048adc148bba24a12c61860a227cd5f8553978d7", - "frame-079.png": "84a0d7d0b6a21cf6bd95502b773f4c48caa77a93cf1c8f66f81d2d932db08e4b", - "frame-080.png": "0ddd3881bfd922694ca83632f9c02a5862a2c29f249a55a8cf2be8f7688bc5c6", - "frame-081.png": "78d0720c8c888a8723de7c719454fd376b1714f97aba2d161f686ce68e552fda", - "frame-082.png": "d91a1f4ce62b8a74f732b3c5172b9815cf2ac9e2e28464f9ef9c26f5269efbdc", - "frame-083.png": "8d9fd61e2b04bf8df1b22ef1aa0c04a38f7241cdbbc042c43c8d3f848b12a92b", - "frame-084.png": "69981c167ce0e5e434040d7cc1331e42111bdef58ece56232b4604b1b3896beb", - "frame-085.png": "5a5d22d70a4f6e59d6e959a63f9f3ae098ec9cbf8abc8c2f6e418a69112a41dc", - "frame-086.png": "83166daa934d925df972db6869381def122ea14231fb3f379cd1a621e91604b1", - "frame-087.png": "8714365a397cfd3113a421dc17b537e820868f43a1af7069c24696d79ee9dfd4", - "frame-088.png": "d20b87e4cfdda71c9a892db5dce05127530bd76c84447b2b14784f6230285d0f", - "frame-089.png": "ef24c024745f93e95d3c00169b8a7929399cb45d380e1c824d65d1522fc364d0", - "frame-090.png": "06a63b1983f603baf99e473b608c43d0d8374b9bad9a2cd46c7a434852b854e1", - "frame-091.png": "eeecd75ff40f8029880a698ca640d93958af4d63f643d5f387e840197bed85c8", - "frame-092.png": "73fb1a2f0564e7511b517dd9fecfd4af3cc40293c090c513cf221fe9506f2661", - "frame-093.png": "b848801b8187953f6245345c6dccc65bac2f4da283c269197e7cd7bf14c4989d", - "frame-094.png": "de73e005f7d8eb4e6a4d2bb433f8019106a5292027b20ee78c60ac940b598074", - "frame-095.png": "23e3b53e07a765be899ef0b9c747e1365bc403f029347d4daa5b832c4dbdea70", - "frame-096.png": "13645873badade359a6046de4961f78990d472fc147f8049a65c3b3926f7538f", - "frame-097.png": "3ac98987f2e3fa772f0f880c790f565b11889bcb146525cc8e8e53bb0d9237f8", - "frame-098.png": "a31879706a2a00136f1c2c1eb80a03b7104716915a14931e49802316bd186c87", - "frame-099.png": "5933eaae36196036a845bcb5ce5a730af86e911213ea4aa4d1f68e934a8989b6", - "frame-100.png": "a41869ca32828730075b7213d97b72969b0255b93d605575c719f4b416d6a3ad" + "frame-000.png": "34c927cee78103e3033f98b0db7cdf694e4c13c36652c5f087196813f4e5982c", + "frame-001.png": "31730b02ee6e69662600d9284d814793af62362c760367d5526decf4b05d0267", + "frame-002.png": "f6ad5a705cf86f17d195139fbc80ed7d0eebaafced6d26c2859f737e6c0a59fc", + "frame-003.png": "aa4920fb998ed08943b770c29a9a4f1b167bb71e24b4912549d0eb1ed220cc58", + "frame-004.png": "7bb5c00d5b9a99ef50e9cf2aed3fa69c25f04d8260dc84095d17ec707cf1fa43", + "frame-005.png": "6bf8c299db751a9512e9dffa1caff7050e88fc097a82f3ee28ea7c2ec89c81e4", + "frame-006.png": "767ff822627e31c09456aad01a460fea6a05f6a5b0b961857af2a6d6e632b911", + "frame-007.png": "f39703359fffa3257faa80a9e12a8233a4ff993b07a8c7757d8bf507d16c83a7", + "frame-008.png": "0d6700ee5c67cb7e4978262ececa69877ba05b52997dd2962d73d515737fd9fc", + "frame-009.png": "752964f6f37d46595d1be440b6b4aa38de5f33c6f2833e2f5214ad3c4aef373b", + "frame-010.png": "03ea7a4d6ede9b9d752f30b625b27ca0905cca5c7df3bbcfab239a447eca1b75", + "frame-011.png": "a61663f2b651464f28c024b146b1050044fb7f29d3343e10724755861a72fef6", + "frame-012.png": "7bbcca8703ec1cd393ce1148053f0b321c151b8f3ea0f5871552caa3c6fefaae", + "frame-013.png": "65b3109185b0da1315e1d87b7576e6463abe7c323d0a9c7df2bf68e6731731ef", + "frame-014.png": "6af8abfd5a4ebffec9b884266dddc6c374a650bedd75c566466d22dc4a09304c", + "frame-015.png": "f4114c4a2f31a5382c36f1042b7e149f0eeed7b78c9200033884318962787443", + "frame-016.png": "f3db01ba665e4673f433fd4398f0a1586dda80a0392cde05e3330cc3b13dd1ac", + "frame-017.png": "0d3e2121e876f2a41ef98bcfbabf46c7923aa6ee4516171eda2b729879991b51", + "frame-018.png": "17e150eed979a401787ee627a7d84255c9d4bbfe6a07efded0081f95f89ae18b", + "frame-019.png": "216fa551e193a877864a86ffe839aa1e6b3d2d3aff54f9a3a54254296717d5d7", + "frame-020.png": "92402bcbbbcba16e44286160c1dfa16beed1592e6a3057538ccc0c5b48c2c8ea", + "frame-021.png": "427ffe5fcf3c18522bda61fe6fc83204c3b801b07fa6419be6889e44497a2457", + "frame-022.png": "96b5c51c3df73ad0b547b3cb01136ae2e6808ba53ab87cc9ed96585105dd2468", + "frame-023.png": "a44e853dd724db34d156fc19a932b51a02c123a54790313a8c43ad520e83c97c", + "frame-024.png": "8286039423908672ed508b7f0b150cf268e0cf19735b16fbb8980e28edb2b2f8", + "frame-025.png": "193940ce40ec8e76006326e3216af43e80c4ae4e79dc3757b4f514d833175405", + "frame-026.png": "2f00f379bc28ad0cc2efb5c4e33200f463f6fa191163228cc394dfd1b1edcc68", + "frame-027.png": "051e3b5942e31f207ddc9d582892f87e1f6f73658cd78ec4398c269ccab63642", + "frame-028.png": "6eb0ce88b343457e8b516f9b46b138370726e38b71fc9c5a0bbf2bf37a905c1a", + "frame-029.png": "f20fff0a90cfcf9cb72fd4361dd8ccf3637298de07fae83e1dd6e0e85771bd29", + "frame-030.png": "e362b21607ca050a0a7e0714ad2af466284920e1983e1571e0815a650411994d", + "frame-031.png": "9d3e348d80d999b589dd41d85359409c975c57ae3ffcf3cc97508e0b598627c3", + "frame-032.png": "4a2893cf2690b8b1e1e1efc2570e9208f6e20138c2cf945df0f0c0050ec04031", + "frame-033.png": "1f7e4f4c0445a67a0afa7c8c6b004baaa9c891549836c7f70e48b9e013e6a2a4", + "frame-034.png": "f8c0b8b14ba9da3475b355a7d6469625e3cd42d515786ad38c1ba4e05635053a", + "frame-035.png": "2d3eb4123db461fd31a5f75682378775eac8cef87eaec9bd56fd6ab011942e4a", + "frame-036.png": "bcbcf3c6529b55c71c14fbd45cef50949e8c3a732e28afbb4446f9f59911ea87", + "frame-037.png": "32242559087f5c3bbede013c2d798efe88f9b12b2403b3ed7414aea8338af3a2", + "frame-038.png": "3c6182bc4d9704fb04590722eb4ae843d14fd0b8079385673016ffad2deb02b2", + "frame-039.png": "2075153316f6fec4db9cf16ae4af6d23c4ef1585c449d426d410c0970ca1d085", + "frame-040.png": "d9e42464f280f7a262c67b32ff851dfac28f7b126cd36bcb6fe7bf35dcd7e96a", + "frame-041.png": "82efbc63364e00c949a6f5c58e3182e6da6469511c84070fab90831482ed9b3a", + "frame-042.png": "3d543a658b80799ab0a6064f4332718c4646f733382265a5dc07b9098cee01f9", + "frame-043.png": "0091a855c9ad8b1800b422a6a72ad38f72a969d3a5897c3928ac6585f264cccf", + "frame-044.png": "e2e2496668791d6fd28274f51760e16ab17ac5537d48b91081c6327ba9dd68c7", + "frame-045.png": "f1fe1108c5819c53d143462834bf935dbab9a7146e6309ea75e2fc105aaa7267", + "frame-046.png": "98804b40e4f29e894b2d6891798412c91371584d95bb14690d3380e35b8fefee", + "frame-047.png": "b66d654b8ff7c1c72fb1f034ac4003851db65f2d3cb4550a4331742d1f47069a", + "frame-048.png": "2dcd6c8fd0ab3973600451511052849a364d7ce29c5cd6e451ac75e19f2551e7", + "frame-049.png": "93d4dcb0d8f066d2475093c143b596f2365934491061f49313c1cb19cbf2affb", + "frame-050.png": "2c6e14177a09e6441a1c1a3b0eaf97f1aa7ac1e05e3aea1a59b0704ac9e6882c", + "frame-051.png": "a73e7d434aecccfd08897e35bd62d63380f121afb2c83fe5037aa7df019557fb", + "frame-052.png": "bd421876fc86ecb35df987c7c7bc21c9aa1903923f004029ddc369b02e49ee93", + "frame-053.png": "480de68434aeca7f874dd95114885414021c38865dac7c28bbaf977dc7cfd5a8", + "frame-054.png": "8b59855ac08dd3321c34957ffd34cdd0cf7ca7a227e9c851dbe9cdffbec8094a", + "frame-055.png": "78517c6ba5f14283c5a17c5648aa3f1d0c2b64d5b7b4e3887ce73d66ebf0e85b", + "frame-056.png": "36d9ad256ff4cc0db5088c1a324e580764f3d0be8645e1c8a0b600ded5ecb691", + "frame-057.png": "e863313bce0159393d67a641cc76f16365e390c870aed3a3446e9601d414a9d1", + "frame-058.png": "557005dfca36d297577ff68dba0ca5a29881331e9098e9f59b8a2c06ae09b6f8", + "frame-059.png": "2cf4162e96a635af6318c9883cde75b5eaec881ac7c6c9a1f6dd5314af29bf03", + "frame-060.png": "346480ace6362066895fbaa6a2898ad3d8073b5455af908777e40ac18afed068", + "frame-061.png": "6d2978b7de4388be752ec714c61f5aa264418cdbc30620c8c24051d503e731ae", + "frame-062.png": "e03e95eba6fadad2ac82b9efd2012ae127acaf87a13dcc384586b6c1864002ce", + "frame-063.png": "35358794032e432dc9bb4aa14dfcee6d7b92e1d4cef07452efe57f47e4bcd3fc", + "frame-064.png": "f5627e7611b6d37bf42fe31611c11aa8bbabdd49a572eef8b4ac14d1510fc522", + "frame-065.png": "9b817ed3190c8530dbc5cb379555ad6b548429332c6778e6db6701692cc73266", + "frame-066.png": "2967d937cb42eed6933e49464e77d5e5ec1fc39d0883df08f03aa5b87bfd087e", + "frame-067.png": "fda6ff83d0a76bf24784a25e3006e1e17daedc3e016e33a1e4100e5f98f60a5c", + "frame-068.png": "0bc5e8939f0b362535e988b92904d20bb7ed43d2060abdc54947119fefa01466", + "frame-069.png": "f518541ea8ba3d18125c0c39efcb231284f9978f99bd2c7d138e882ba2ce88f3", + "frame-070.png": "86f234b55d8f685bb6e7f3880805b4fe407f226363400713b8abea7ce6b66d42", + "frame-071.png": "722bdb724ef02c28455f129ff534f29ba84f7a951ab733dd97f842e97b952ddb", + "frame-072.png": "dd54703e6f5ec4fee06392f83fc4d7ad567281436e59d85f1bbf4c00a7e5df11", + "frame-073.png": "ed34a424491b00adc9f400d059f359160bb169946b7e54535310a4d6ca8124ae", + "frame-074.png": "0dddeb8f2725ba9673bf4807aebda3810067eb7d1f73a777c7a6077ccc4e8ffe", + "frame-075.png": "300aa49a000bcf1d6f8ce99de47a8479c3a28e66dc1ab79b63e51ef6fd247bc3", + "frame-076.png": "db88a5e53015910b531e9e5f590e6a652a00abd2291d9dafb2a625c00efd7db9", + "frame-077.png": "164ac4d5bd9d4770b112c35c500c4dc360cfe7a57869035ff84fb713963c3128", + "frame-078.png": "b17d94715cb51e9d79e0f9d4b94b1497d6e694f6e71fceed6ab9e59eccd46ae8", + "frame-079.png": "f8474d4ce9b3c54cf3042650e101912b9a34431eccebd2f38ec39a8fcf958c19", + "frame-080.png": "072eee2f28e4ac326bf3e687a7f3b2036774fd85cbcbdd24749467c162b0dac0", + "frame-081.png": "5ef352e07e0ea303d4df719c50baf360abd858e888ff0656a6b56ca849368eae", + "frame-082.png": "858004492e4b8ea725af3ee14dce248faa813528541af1077dac9d4939c77923", + "frame-083.png": "9dc2285ff99025ce65874f7e6b13a3d713f57c381807290c0b399c382f2c54ff", + "frame-084.png": "9b0724c3dcacbb2d3075a9a15c4de550913e3395f5220269874347b4c412cc1a", + "frame-085.png": "3cdb7e1e295af26f2abb0219fb68d59a1d853b8e392e33171afe6d206fd0d7cf", + "frame-086.png": "40902fc3937c3ef3fb04cb4a083627d096570c28ac9c43a15dd54c08f1ee79fb", + "frame-087.png": "fd78c172718f40682a89f872440e64151d4cf9c8f7d3b8c54ce9075d8656b644", + "frame-088.png": "caa093b79ac88858e014183853d122179b454343a2b8c935e8001ab6a8b59395", + "frame-089.png": "553d46c6d195732d1094c4a55bb9bcc8f36a305ac6d09f16158ea990374b06db", + "frame-090.png": "e9c30610901b208bbee2528d82344f292b480c1270268ac44f8ccd62c9d3d082", + "frame-091.png": "e971fb58ea4270fd535bfb8ef281960a0a7f8d62a3969b1d5b1c1491a3406274", + "frame-092.png": "b7c78fe38628967369c2129ee2cfac0cf8e5ede34ff1a6339e5f86a300d433c3", + "frame-093.png": "3ecd734fb3790221a86f913a91d95c77995147476d0c28512debddd6ae111f4c", + "frame-094.png": "8d282f589bacf3b2236f924061035349e13e07c59d5e8382464331488719906f", + "frame-095.png": "c9b2c386590245d42760f61ef266fd840cf4f282bee2137f21db8d90a39cd9db", + "frame-096.png": "7a11b40acf1967fc72d827f7805607c702baae3fdc2edc8c62ff024f88c41a21", + "frame-097.png": "fdd79bc8caaf3aafc7200f09e67b771f88cfd7a7d4201476b1182ca256d84447", + "frame-098.png": "97e1aeaf7d257c01b5c51163e6c4d2e8a8045f8dba70c8fed927f3cf2e76eea3", + "frame-099.png": "a06fe94fb6135f8e1f668ad864b23becfb1dcee18fdf323faed8c873e4801be7", + "frame-100.png": "ae707dd9b9513ed7475a1466d412862887af0cbf3da80ce4e71d93be8d06d989" }, "encoder": { "Pillow": "12.2.0", @@ -431,11 +449,11 @@ "alphaQuality": 100 }, "verification": { - "visibleEndpointDifferingPixels": 14, + "visibleEndpointDifferingPixels": 15, "foregroundPremultipliedRGBA": { - "adjacentMAEMin": 1.2913838799687662, - "adjacentMAEMax": 2.6156375555381466, - "lastToFirstMAE": 2.4393675399378822 + "adjacentMAEMin": 1.2741040942694781, + "adjacentMAEMax": 2.6379617768500743, + "lastToFirstMAE": 1.5954220967121269 }, "nonstatic": true, "PASS": true, @@ -1180,6 +1198,6 @@ ] } ], - "bytes": 6679726, - "sha256": "bd4daef03f5e32fd371589de58c75b587972693157f6f680092e4c1fff17718c" + "bytes": 5604366, + "sha256": "6f506f29d1644c3e1fb8e6d8ffcdb774343117abfaa5b76e28c974050d4daf65" } diff --git a/family/docs/family-preview-uniform.webp b/family/docs/family-preview-uniform.webp index 84629c71..1c3a1eb4 100644 Binary files a/family/docs/family-preview-uniform.webp and b/family/docs/family-preview-uniform.webp differ diff --git a/family/docs/family-preview.json b/family/docs/family-preview.json index cd06db27..bd4d0397 100644 --- a/family/docs/family-preview.json +++ b/family/docs/family-preview.json @@ -6,38 +6,55 @@ "height": 832, "duration": 3.3333333333333335, "frames": 67, + "scene": { + "left": 319, + "top": 1000, + "scale": 0.42 + }, "lineup": [ [ "roa", 0, 0, - 3 + 10 ], [ "luna", - 435, + 352, 0.06, - 2 + 30 ], [ "jinni", - 995, + 657, 0.45, - 4 + 40 ], [ "naru", - 1540, + 1022, 0.85, - 3 + 50 ], [ "nova", - 1915, + 1355, 1.25, - 2 + 60 ] ], + "layers": [ + { + "key": "roa", + "z": 35, + "clip": "M319.0 -1771.4L311.9 -1773.8L309.5 -1778.6L266.7 -1778.6L261.9 -1785.7L233.3 -1785.7L226.2 -1781.0L216.7 -1781.0L209.5 -1790.5L195.2 -1795.2L178.6 -1792.9L178.6 -1781.0L183.3 -1776.2L183.3 -1771.4L173.8 -1754.8L171.4 -1731.0L164.3 -1723.8L164.3 -1719.0L157.1 -1716.7L152.4 -1702.4L131.0 -1697.6L116.7 -1685.7L107.1 -1659.5L107.1 -1645.2L102.4 -1635.7L102.4 -1623.8L100.0 -1621.4L100.0 -1592.9L97.6 -1590.5L97.6 -1566.7L102.4 -1561.9L102.4 -1557.1L116.7 -1557.1L121.4 -1564.3L126.2 -1559.5L126.2 -1552.4L140.5 -1552.4L145.2 -1557.1L145.2 -1578.6L147.6 -1581.0L164.3 -1581.0L171.4 -1604.8L173.8 -1647.6L181.0 -1664.3L209.5 -1664.3L211.9 -1661.9L238.1 -1659.5L254.8 -1650.0L278.6 -1652.4L281.0 -1654.8L285.7 -1652.4L309.5 -1652.4L321.4 -1659.5L333.3 -1671.4L345.2 -1690.5L350.0 -1702.4L350.0 -1723.8L345.2 -1735.7L340.5 -1738.1L340.5 -1742.9Z" + }, + { + "key": "luna", + "z": 45, + "clip": "M112.3 -1669.0L105.1 -1664.3L105.1 -1652.4L109.9 -1642.9L105.1 -1633.3L105.1 -1619.0L100.4 -1602.4L98.0 -1538.1L95.6 -1535.7L95.6 -1519.0L93.2 -1516.7L83.7 -1426.2L74.2 -1385.7L74.2 -1364.3L81.3 -1345.2L98.0 -1323.8L98.0 -1278.6L102.8 -1269.0L119.4 -1257.1L148.0 -1254.8L150.4 -1278.6L155.1 -1290.5L155.1 -1302.4L167.0 -1350.0L167.0 -1414.3L169.4 -1416.7L169.4 -1433.3L167.0 -1435.7L167.0 -1531.0L162.3 -1547.6L159.9 -1583.3L155.1 -1588.1L152.8 -1635.7L145.6 -1657.1L145.6 -1666.7L138.5 -1669.0ZM143.2 -1226.2L143.2 -1216.7L157.5 -1214.3L157.5 -1223.8Z" + } + ], "capture": { "width": 1200, "height": 1040, @@ -200,15 +217,16 @@ }, "blink": "viewer smooth curve, deterministic staggered schedule", "quality": 80, - "captureRecipeSha256": "4608117c6b4ac64cb2e27fc60698cd4936b3eba60a4147ad3368303dcb8ad975", + "captureRecipeSha256": "c56bdd5f2316af414692a7998ae463ac9430fda95b986197ae8c20daba83c45d", "browser": "151.0.7922.34", "sources": { - "accepted-inputs.json": "89aa3714b3f4a0442b729c3f1643bd07c8e24dbf9565c21150f88daf47da623c", + "accepted-inputs.json": "fb435049732ebc4acbb4f9e0972349bac141e4fd85e703af1fb19b21fb88ff76", "viewer/assets/player.js": "7be0dface8eb043aca97e88c51741f82090c80def401e62c9b598b2c928097aa", + "scripts/preview-overlaps.json": "d3a47e0ee9ca29221bb6c2db79861311c4522c759ecd5b41483ff033e8c55570", "roa/out/check/build/skeleton.model.json": "b9b61d55614805e468b27f9fb2dbaba65a50a0ce56b32ffef04f8cacd2570632", - "luna/out/check/build/skeleton.model.json": "a1043b7b663439f53d1f6af980be855905c39e0fd822eceb76143015d5d57d1d", + "luna/out/check/build/skeleton.model.json": "843b7f307c18b150f3f510d2d1534291021a62ac867fd5b44fb9494b9c768e63", "jinni/out/check/build/skeleton.model.json": "5475c1a67bddd25f679ade558afbfce5c4762c295fd78d3acf21d8b1274390eb", - "naru/out/check/build/skeleton.model.json": "7ae9cf3378b882f24a19ce5c44638d4adc0b61e9aa27b4a425c3a445482f8813", + "naru/out/check/build/skeleton.model.json": "32ab4288ac18c7b74fcc5f88fed16bb7b1e30dbe7936b268fe800a08326d2724", "nova/out/check/build/skeleton.model.json": "0846163f16e7270caeb2005d4f63c4dff1627f4cbab7200e6e363f39ad877b41", "roa/out/check/build/skeleton.png": "84cbd1b50458090896ad1cc55537df3565e3c1296b47996572efc77a9d8eb6e0", "luna/out/check/build/skeleton.png": "429373a34a9392c073ad1836f618d1076525e39fdf8011d40269aa3a40ea6182", @@ -216,7 +234,7 @@ "naru/out/check/build/skeleton.png": "671c9fb591e68279a37adc1ab2ea3f093a116804942d5955b6e0c37191755f14", "nova/out/check/build/skeleton.png": "134523763d7fead761d9a80195c23ddc0ebc6286878fdd0204db9a445d00ef0e" }, - "framesSHA256": "df7aca47ade475e5242ac327880a4c95b90ae5beff653198ce8b167892b39c4a", + "framesSHA256": "3b490ed7afc0b60e4b19ab8428dc2d9148b205aa8413a905e290b3058d7b70e2", "frameOrder": [ "frame-000.png", "frame-001.png", @@ -321,107 +339,107 @@ "frame-100.png" ], "frameSHA256": { - "frame-000.png": "f8d8653ddff35e91ed2fb3ea6a276dd3735cec02b9504aea2c21643c6d3e7102", - "frame-001.png": "c786228225785ac29e50e99937959a594ed358010226e318e44d2e9042a06179", - "frame-002.png": "2c45575f2be8ca46173a96e12df089fafe52fdf83e743615747c358cd175066c", - "frame-003.png": "5b47752034536a32ce780e1862eef75ae8e18c1ab01b16403b142860d4a515cc", - "frame-004.png": "1d1a202df8caf13639d8921b0ab131be0ae209dbda0fb79a0e1b07987f485cc0", - "frame-005.png": "a9032d6aa58c7eb0ecf8a04840413fadd5728508a16fce45ac2cbccdd6c609f1", - "frame-006.png": "5df507d083c0ea33b75b0c703038555f23cdd4be41337e0de76e0fda07da0db6", - "frame-007.png": "b5c69d3119bd21e07cc6e035e0ceef47476f892d1ba2e2c68b28005dfcbadad2", - "frame-008.png": "800cc8b091fed566b0a0ec6ea66a282d7e2680af4786ed74312a590ba9b4bf61", - "frame-009.png": "c4f69603d5b1aa43a657a1422c84e4ff200642d8e2db819450525c9900e751d6", - "frame-010.png": "a26a9e848b964490a2390e6b26b9d9b7f5b10b1ab409e0e8fe4a697ed8989188", - "frame-011.png": "187b992f3a1be4c75988d75c2b92b2f330597bcdee126fc7d8ee5f3a5aa0a036", - "frame-012.png": "023782223434c5ab0ca72e115a34fcd1f76d8f15d5c75d507fe97b801915609d", - "frame-013.png": "db62d349ca5301ce2ed9d5f6ae86cb5f8cdf0e1baa424601ab731d7d78ec3215", - "frame-014.png": "d3e8a5da4f8b7d2045a62da1603709b77bf2c301bde7a56eda81c9022b273a4f", - "frame-015.png": "1f1fcefadbd06c6999e31a01696c75d7cc938acf1e5b01fea47da2434f64ebe1", - "frame-016.png": "ecdc0b235bb08bb6429d7a55ef132fc4f372b1c49ca7633a14a96587dc42e510", - "frame-017.png": "bd6cc73565f17ce0a1814df6bdd8f673202368b96bb75fa02dda9595481f6b40", - "frame-018.png": "3c5a688e2adb9082817a52b757f4c25de5e504c87a82306662e7f05cace61085", - "frame-019.png": "78a56b81d52a39fb5627955c403efcdb9d9fb8f349ed584e1cd5d83a8bfb5d94", - "frame-020.png": "77aae58eb61191e875f736122d950478c91b9b919f14f9eb6a1b6380eb5f528f", - "frame-021.png": "81d71610c2cca38cafe9f306e3c10b5cf1f99fa3730a01d917c8bacbea4f53b0", - "frame-022.png": "8dc074b501fecbc15c3ddee8b9b0b63892b03415c2c2ebb16d12c3f6d35f179b", - "frame-023.png": "6506763580fd35b9df58d2173b1e41a147acd7094e151dd62ae44adff07c3cab", - "frame-024.png": "d9b0fe575615b13293f7e116d9186f5e1e8729dd5de9f63d3bd36f93cb2a7bb4", - "frame-025.png": "d6175aa3b1c1d02e36aabc2065f402320324887737f87413d5fd79e2ff285bfe", - "frame-026.png": "887dd9bec3fcfdc2a08fe0ba088daccaf88f046536f7a8188ea4dd209f41a356", - "frame-027.png": "0f4dc0ffd1d988df5fe9c5e4ff2452f8c4328d431efdbfeb3ac35c57e7017208", - "frame-028.png": "0723ae675270707bfb94d4da4f5a370d2ea0271ca524feb59d9acc812eb5ad81", - "frame-029.png": "90043133b2fce9b24f5b08d21c335cfcfe62b9f34e4584d22b18533add2859b2", - "frame-030.png": "f02e6093ada5dcfb1b813f855d734f2c0427e1bd0ba3214fc808d2ba670a255f", - "frame-031.png": "3d28124e3f51e713ba1dc2c6479049d1c99bf9f6a5a2ccb473b481f78cfb1a7a", - "frame-032.png": "7d54a2b4ddaa64b1b6d16042678fa97fd12c91146ce067880ec7a9edc6b0dd6b", - "frame-033.png": "a4e322f4180bc427a4a2c4c2eeb041105f8bd6ab369b0c25abb88a983f2d089b", - "frame-034.png": "bb8826c71a535eb82ea5aa1c084c1905ae72e3b793e875d79fe4bf09f13254ee", - "frame-035.png": "28acbdb2619bfaa85771a174be6b592be35f86ffb432e84c0f1ce272f910cefe", - "frame-036.png": "32fad08fbcc138742d1ab3a88727059b994506d8ceb9fcb4ae310a9ddfa3e105", - "frame-037.png": "f15d9a5142196727a7b2d908da014710aa018a9056ac7787662a1e210a313738", - "frame-038.png": "bdb4261268108e4b9a160cb4aaf0e4812ead71b34c9ff3273783e1629a41fed3", - "frame-039.png": "40d4f2c89ead0f5a418cf3c05e64581765aa4935aa0a6ba634e4815c87ddcb34", - "frame-040.png": "da0598480096c8be62151ac7e75d86017a27d8158abcb4116d8edf2a59801e7c", - "frame-041.png": "6190e8fcfa84c22c98cd1617966a03fe99ac21c2d3f1d1bb8161314f41e890ed", - "frame-042.png": "e95e47816c7c1849ef96430d1d7d8b79828238e99f862f0cc6e94c01976f198d", - "frame-043.png": "23c3537d3c2cc4f8096a52cc2103a5d615d2f7130720b421f8ac0bbf68fae669", - "frame-044.png": "a1dcd70678d8f28e716a0fdacff2fec472ebba778908c32859eedada11e050e6", - "frame-045.png": "00c715e65c5ed7e05fb865c467666e9504a47cf1550340e404022ebbaa6f1d8e", - "frame-046.png": "898220a09259dd3a2889e1b027c105b9a1ebac54bcfc2bd438927c4b4cad2960", - "frame-047.png": "8a85e405af00e2931605ece043f9dfb9b9a08cf9b9f9b4cb26d5a8fbaf905ef2", - "frame-048.png": "4079e3900a46fdf4c3f1297b4f1f12c0765261f9e22d2f290ed29af1e993d60c", - "frame-049.png": "6f776bf0d21e1606745f553e7290f327fdc6f2da687b6b6233dbabd540196bac", - "frame-050.png": "551622143215846ef5daff4cd1d0ea63a1d09e7c50731262ec486f32f4e4dc2c", - "frame-051.png": "d55badc25e2723a56616e1b0a0bcffa0278dd2a4bc1b0f1b073dfdfaf5516760", - "frame-052.png": "675c3a27bef3352ea006c5d9d7095410bbe61c07bf0be3925b881472f964a2e3", - "frame-053.png": "35fdc3164f55cbe54606c4ba143686160547afcc650ca80f523a0aeeffca0332", - "frame-054.png": "182e35ecdb41f1f9cdf73134a34da9a046113530f88b4476438191e76f1a34c7", - "frame-055.png": "840401bb67bbf92767194c44f686c1f25628fc12c55cdf42d9a753836af874dc", - "frame-056.png": "a82ea08f545183eb2d9ea098ba48f61268cc4e29de43797dfed5aa5d89a2ded7", - "frame-057.png": "723d37a1d6528e0ea3d592cbe9e112e8207ab02e9afa492be430fbe60bac62eb", - "frame-058.png": "f82bc34179b74161c00c15593bcb5da3c7b35f3daabe4b1de0370f7664614ba0", - "frame-059.png": "32b71a1e4138af297f77aa94ebffc105007146296cfccb6983f83cfc71a23b89", - "frame-060.png": "8feff558d484ee7e2fcd9819ffef9c66bf8524906c0c26e6999c0b5631836e3d", - "frame-061.png": "c2b2b6a8e42140c45e78a69760011b3fc0c9a533a5795f18e50fda11ee38161c", - "frame-062.png": "39c2122af51d94618e8b11fc3cc48c191015a56938daf37ba72036bf122dd088", - "frame-063.png": "98c38e55005b5c433d91b557ee347340d8abf2ef9799be4a22e5aa27a80dacc0", - "frame-064.png": "faeea542b1cc5949f623f5a5f398e2010a55d58600c701247021f6589d57ab46", - "frame-065.png": "37b15a0c6422692c558f6a28627f6c8da2a1195a41e3abe7a4fe0916c5d8dcd8", - "frame-066.png": "e7dd52ac09c77f93e283fa8d204da065db375195cf7a01ce7237e9d46ba3486c", - "frame-067.png": "4990c09269dae8b6cac06fa1d826a536f6feb7cd1091c579355362ddd73be1c9", - "frame-068.png": "267bbe591b1727e852a36afbfbd22f1280fe38c7f540f77039d57a4e29f9fddd", - "frame-069.png": "471eee2ffbb581b5106b152bedcd31236d394915cb1ae6d98797a1bc2da592f0", - "frame-070.png": "d57d3af1b3731999cd166af24d95818d629c1c4ed4f20c1bb556a1d71ca40611", - "frame-071.png": "e27b6fb6f11e46a83173171babaf18045838faf40848327a1c68825c60acfa94", - "frame-072.png": "00f0f59273fb5e8896d79448dd3103d99c76b4d64a7ae91044b647cae353ca85", - "frame-073.png": "9ce1e0b13f7bb281e52d97bdb0e0f5aa77eab5551cd10231b0c3fa6ed5f86cf9", - "frame-074.png": "dce038967b51f35b9b1eb6d17405bad3a5b3191fb02f9d32f464cf4df4aa46d3", - "frame-075.png": "af536a08bf928e3cd298678eb422a4df708d01c0cd53b4a120089e3c9a2d6574", - "frame-076.png": "13c23b65499f197ccf5b0d56be2605123302fd95807f6d326ed7246cdf20bd33", - "frame-077.png": "8c7e371e7daf013168b860ff56206c86e700f18f18b0f87c1ca4651b7cb91069", - "frame-078.png": "104258b9e33ca097769c42c46de9c629c91bf312b2c009fa069b2ef452cc38e1", - "frame-079.png": "c024a60bed5a477b6e48447cda02c3f753276dd2e5386bfc490ea8b04a4af31f", - "frame-080.png": "48f6e3ffcce0ce427a130500ca8e2ad57e3436880b549abbcc4100bf8db24aea", - "frame-081.png": "f59f9db5bf949246c135533dfe723b5e6690d9d8ffdb7543d1f5d43cecf1f7eb", - "frame-082.png": "38ae0bc47c043e1c3f6a2b06a4b9dca92fd2ead5b38dae78fb2251e58beb5e9d", - "frame-083.png": "54875e4093e62fe687a72c92fa583fc6ac7c96b2c45d950f0010efade6a2007e", - "frame-084.png": "fb4c1fa86675c3695e5c5a84b973c3f64d2a479fd62b1f494b43e5cceccecdb6", - "frame-085.png": "76a1d7763c37b33b2dd7da6af4d2bb9eadb7999726a0968b4654da974ed152fd", - "frame-086.png": "0b9e0b9a1091424f42ee72836ed25b89dc9e87ba2e211afc73249d89a0d43721", - "frame-087.png": "cfbbcf1952a6f539d22b3ed03c78a476cb19d0e31944950ffa1af427c59490e9", - "frame-088.png": "e0498903987b8934b1f71c4fc3949e37e0d70d2903bd6df19d7a67763a61da92", - "frame-089.png": "bdbbec9222c56a210c3dce3946c8e25475cfa6ff4d464d25d5f7e32775e9d94a", - "frame-090.png": "3b51fe5c41c51cff13e7cf0b1ed82aab8a84ad2914604c4f60bd03fb9c2f6fb4", - "frame-091.png": "b5927bea26d0626f5719a8653852b5a2a36ee5108a82f76bdf32b5183ef99a98", - "frame-092.png": "052710dea0f620db8ffd1089c7da78805d4c08ca27abe314ea8b7f52a4571c95", - "frame-093.png": "a12b87d523291ffdcc793298cea3a8e81af61313569398d2f4d1ccd4b3dddabc", - "frame-094.png": "91f3e15f22ebad5d9bce8960265e693298db2ee797d7c287824372bdd0d3a65d", - "frame-095.png": "bf6b2e419564e7f2db95725c19437420cc9b50c7f554183a2935e3e074de3c9e", - "frame-096.png": "c6ee81ab69b793bfa51a02cf1c5413be62f14a6b80be021a06731a38c1924e51", - "frame-097.png": "ed16727776359ea2f80c0a6ef7c91723c68b6be97596a184ceb12eb69cfd5319", - "frame-098.png": "b44336943ab9af709be77574f2df52f71d655d890faa359c5c26db82877de913", - "frame-099.png": "b12f6df306f0b6254720d78193948e684878e06d8b5ceb7673e82732a5459196", - "frame-100.png": "8d90a108898be4768a6d0f5d618530723be053548f40b586640bcbbf36179686" + "frame-000.png": "0555e28f0dcb06f554ff541ffb2ea64cf6a03b16d48f5f5a7b40a06b9715591a", + "frame-001.png": "b49b8a9eeb201b8490e57a39f284933f17a74056185ffb5775b64c0d8cf03b4d", + "frame-002.png": "95ef92eafee8d32472e94d442d5881488adb0abb43ad30e181c230a153338e02", + "frame-003.png": "6328ab7a269bb246a59d4fa916668bab3e9d2074322da33335642ed9fecc002f", + "frame-004.png": "d71a0da9c8fd9cc09be6de1d94115943ca2ed3a3be8b81300c155705fd91272a", + "frame-005.png": "c1fee93c469a95a07df386f6e559c2aa4440319e48b705bd1716f2347606bfff", + "frame-006.png": "e34663de11584d2c6bd4bf9c4691c0b9e53390e5c664395e6162ec1fb0f81d79", + "frame-007.png": "ce5adc146e1d376c967eedf4ac9d94fd1339a235a5a451a69f1b25fb61852ffa", + "frame-008.png": "3865940ecc71bd059acbc1e7fa5a4caa01cb62d3596dbe7ec8dd7a16c6fbcab8", + "frame-009.png": "86a13c23d9428f21db53250ea235a8c9a63a7506f8bb11eb8ec4c4c08589f20f", + "frame-010.png": "98fef85a64b349a22040260978ae65cd6355ae2e56423f249d57b657c6768f7f", + "frame-011.png": "c58b06f9465b8850e4303af098f1381da376805a5c8c2bf38345725d8e7dd7da", + "frame-012.png": "17873d058c29027a4ae4699700ef4e8adce48eb5208eea032a5a6c5ac7205275", + "frame-013.png": "8ef75abef2f11a94bec7b2877daa12e116930aa17366946f700c84ba63be8fec", + "frame-014.png": "1d08480e31710ef3a29bc9888e6790d4e16271752d9a1480b7f3f160867182f7", + "frame-015.png": "ba19002a22ea303795c44506318c0d5a2f6aca3b74c336c121c0dacbac61447d", + "frame-016.png": "a1e53ee5b38d34488ba1b937b07c06a059f0477fccd5976144bafb300bf82590", + "frame-017.png": "8939b4d539fd8db794928b184461504a649876d85269c49b6c91c3b1ca942368", + "frame-018.png": "01f4ee584d0c40fbd95b6dffd71fc265ddbead34421800ccd3b4260520f54323", + "frame-019.png": "037b47ac095bd6382d9243da96a152b38275034d0441e4e493a46b59fa0de177", + "frame-020.png": "aad2070dc98874d70b2b0123d363c3db28b0c36d31d642f52adf689641303c55", + "frame-021.png": "06df335428e00ddc7d736b1bf3539ef4ff0014c6689f76f12d01446f2e509153", + "frame-022.png": "f16dd7bad1d2914516a8214b911db60af94a9127b36918476b25c223bf6661cb", + "frame-023.png": "ea724b6737e80f9a2d75e5544470b440c7c3943512027c5e8575392d24fba07b", + "frame-024.png": "cf6fe0d853426bc9a1e773b8660b399df43a32de6e3cb2c9c6ace36c0326da71", + "frame-025.png": "bbaa00d9c974417b6f576ddb453d3b860622f84d79913f12a61cc5aafff2a95c", + "frame-026.png": "634ae27c5a3787c3d2688f0d320b8fdeb919e5dafebf002a659a60f92f7890d0", + "frame-027.png": "8d761082b8976245b38694edc56edcbf59ab053201650e8674894895ab3e9d33", + "frame-028.png": "c43bdfa85d78a71646313ea9ce1df2c35c367cafddbee8aa7228345dd7842854", + "frame-029.png": "eeb5467aa5a04f081e8f3bca37b1812061076e01dc4260cac259584b20381598", + "frame-030.png": "396aa4623207c7eeb4865a1a017b1c58626ca098fcdd1638c9dbeeb4177fa84a", + "frame-031.png": "9f794660b8ae78f941821a58867559ccff17aa225eadd9889e1913ed40767308", + "frame-032.png": "7280fede8c2cdfb89ecd2941dc91d8f8e5fcbcfbd57cd3dac97b4e4e304f093d", + "frame-033.png": "aa98d902f3ecce5cc8e2899224fd6f94ff9a674e1e893a7a9f61b53edefd7f0a", + "frame-034.png": "c3ac705877b42725ac998e413a71529887f781418100bd2846a5e4981780f6c0", + "frame-035.png": "822b8ef36b19fd17bd8fc8d61d62da752e37f2bda1b4f2761160ad00b10c46dd", + "frame-036.png": "5560ed161075de60e75e698870882e1dcd1e9bc20f7a5e8d298b0b95c460c0b8", + "frame-037.png": "66c8ddb82c75a2f1fe8559c083e5041191f20653c93893218c57bfb72f75edc2", + "frame-038.png": "d24f9ce3f7101e006d57e15dbd1c1818050dea6858b5fd3daf23c922670bcc4e", + "frame-039.png": "8e78d69320211642cb4070bccb6f0a5d6ab073b276d64ecb384dd7817cbd36a9", + "frame-040.png": "768044ffaf96ab56b3f8cd11b663549d57840cd2db2ca390b7fd869e82c324d5", + "frame-041.png": "552a4307eef7e62a435a44dce37656c2a2574ddad6ebb99074bb3f19c69cdb80", + "frame-042.png": "c57deb979e856865a61a5dc1a050ba800a59ede33084d865215e7ed0b3f1c0aa", + "frame-043.png": "06d9451bc97014b448a83b60f811141dc7506f847be0e467a16a37eb83ce5084", + "frame-044.png": "32460e67e70b5f3d07adcddf4cd3d1eb7b6262d57a273715148f981865ecc277", + "frame-045.png": "ff9bcaf4b454a2901813faf851d75a27d8a50ddb124ae997eea69cc8cba44b01", + "frame-046.png": "93811fe34f3bd3f4916c2281f1bf6035122b695edb0c465c4e1ed95f9f43936c", + "frame-047.png": "df52f92bc306bc85f6e5bc063235b5f5e98f952b11a52c83fa42ac45a9015f54", + "frame-048.png": "2940f3e70318e3f1471332fbb176b77f5ad1289ddcfd37667453c9dbdbbeb6fd", + "frame-049.png": "fe7740812b2dc002aa20f5bb6111dd09c8a109e9914b43cf976588d3bb613a8f", + "frame-050.png": "abfbe00601eb6e67effbf16c9f934bf4dbfa869034f4653f543876901e051ca4", + "frame-051.png": "2d8d66f095ba228a12491b532be7861a25e6ca408b83637a83f3f1119dbbcc36", + "frame-052.png": "d35c36db98d16c681df4159e92bd51a4b0ea1364125dcb466f28db642d6d8d82", + "frame-053.png": "36df2567fba32854a70dca44edd14ba305ebf70395a678e4262cdfc700316d9a", + "frame-054.png": "607facc3db2987936ca7cb5df1bba40aeee7177e878216e8b435a692b90de7d7", + "frame-055.png": "670bcb176bdd302c683ba295249cc52406a768a525fbc1d5f3b7136e81f7dab8", + "frame-056.png": "e4ee86ea1f869698e282463ede2b7bcfd2a480f05087e6722fb8c85b6a5fc19b", + "frame-057.png": "5dcc58e669241addca66a9b0f565e6874b20b9f9f602e2aaf7bd6b4d504e2ebc", + "frame-058.png": "159ffda869ec15c494b76bcb59c537ab529d2fc33eced7caa85015b1c9a79dd4", + "frame-059.png": "c9e5670f15aab0a98ddbd6cd38efc9be9d7015397902ba9040a8889fd1d343db", + "frame-060.png": "6ff3867e377a938deb965195d62019d9b29c8cf1247651183afbd3bf7656c975", + "frame-061.png": "09ac42ea20241f70cdade0d080c26dda56c2f6d7ca63be019d959f8bc9fcb3c1", + "frame-062.png": "399b827ea63b77be91716aba3d49b302b9a8e6a5207c9a0aaa5cedba68c02ee2", + "frame-063.png": "22f3e2a3a2eeb06e5465b093502d02f7bc18b73f1fb0bdb52b860e49cb620479", + "frame-064.png": "6162c0b9560bdc932fbc5b4d234f03078df014b58bd79955b18b291113492436", + "frame-065.png": "34ae218ce5773922a8075c1c24030bdb7335b3e9733679e2f561f676a38168b9", + "frame-066.png": "6fcf85c12bd15570830089f4c2edbd161bb3b448b4515ad53ac4b07447057092", + "frame-067.png": "935d108c7144f43981e91915bb858b79a6d586093ab710da4437e48494c66c4e", + "frame-068.png": "b324c555915e7adcc7e256bcf977bd22f23826d42884efaed1110bdd0057fb10", + "frame-069.png": "262592434252755ac38b8c8ff633f9728acb9f48c7012b8619f29629ec1a8e46", + "frame-070.png": "18727d549c3a4226771da5db0a8ef2e3efb5926a6c5232f168bfe6fa3dadfe05", + "frame-071.png": "90e492997c320b651197a69b67a03f27eb578ab406d410fba635d15a3c2a2247", + "frame-072.png": "4cdf9b87b863670e33e481c5f61c3a592f92459259b992bbfdbbac44cca79ec5", + "frame-073.png": "9d6acc4a572e0219d2a56a272075ed5b198f32fd48be464c6628ddf2c71ea4f6", + "frame-074.png": "d103904fe9d4c4cd0a7f606ef0ca7684db92c8b10197d6fd41df4884ea1fe052", + "frame-075.png": "b13ecdbfa216ef868069fedebcac864970f6880fe6e276757cbe6a1768ebb0ef", + "frame-076.png": "110ca8e067de9d6e02bd5ca31f4c5543d6c30ae052e854dabb20a6b0c08251aa", + "frame-077.png": "b1d5f5f8044781515b2ebc6d5f03b532ed0c2baf0e28cfef0bcf297db5654b74", + "frame-078.png": "788979bc9b49076b1d2a94d74f3b3a557b0aec91561a9e0d0026e67db7ebb2a9", + "frame-079.png": "de665ac349a750d31985fc83973ecadd40ef84abfd23c137aebfd3d49ca529db", + "frame-080.png": "11afe4aca6dccc24796cfcf5c79c9b8913e1ed1a117f40bb63bd9f977b323cfa", + "frame-081.png": "d223fc7de1a57efdb32105ec725ec09e3dde45350c54ffce8e489f61707d8e4d", + "frame-082.png": "40a086cf01c343990c42fafe0b9b62f390a2b5da708cf0ce6aeecf37df9715dc", + "frame-083.png": "e227ef7f79c3d299b51817c293578e3f7a42f8c338ebdd7097983d97fc64c400", + "frame-084.png": "c3bd25925f4f11b42fb12d55cbafd4487a344c5ab7deefc6d7e20779ff8bc695", + "frame-085.png": "2c9a3ed720cbf9f3b5993e280a2e4443206f2436add81285bfc6063332eafc50", + "frame-086.png": "c5c56f054073ab3f651081ff9bba226cdf84f47536e7a117f6f4df0dcb90201f", + "frame-087.png": "b71b500b0ab514189605675124f5d90cdabad542ad0d1545c2e73776be66248e", + "frame-088.png": "ad135cfc787ee02606d764e30a2b0d1c07dee2c0084f93a8121ff92ccd19a222", + "frame-089.png": "62c568123a7334ef674a6ccffb1f6fb2c4936e49521a834b864d281e9dfe71ef", + "frame-090.png": "df79b31af877b3d2ab308e19202e2d412b1f6e7f94e3646be841bf6007177a19", + "frame-091.png": "a3d5b5196e366141c1532328c8f83398defcb3e4b701915628009b9755c1f039", + "frame-092.png": "bd9dd6983a313a231fc5a3f5c6d700a760850bfa930ba34954049bb96cec259e", + "frame-093.png": "dd3c3ef70b122c747e17f297cdd10cfb8841b4e42ff2c16e499985d930d7a5d7", + "frame-094.png": "1fe173347c82dbd994af89d05df54f86d3e187f7e0d34087ec1e68dd0945b9fe", + "frame-095.png": "2faeb3873367782a3760ff53bb76033a95e1849119023d884b548aa1ad453385", + "frame-096.png": "eb1c46128a438dca4fa494f3d5f590dd0cd12875f440c9388f0ebbe0caa2ef3a", + "frame-097.png": "b290b108fc8196010da4f71be21c995690af748a2fe25fb9528995f2c1f0c7e7", + "frame-098.png": "36d103efafc4f478fd2784778e90462411082ff640f00c44470ebf69118065c7", + "frame-099.png": "b319b15696ad711ad18d884ee2e707caff265409f780cf5bfd20964a0e1d2934", + "frame-100.png": "2806abfec4f38ffd247289433fe6fe00d4ac37608b46052f945edc73ac53047c" }, "encoder": { "Pillow": "12.2.0", @@ -431,11 +449,11 @@ "alphaQuality": 100 }, "verification": { - "visibleEndpointDifferingPixels": 2, + "visibleEndpointDifferingPixels": 3, "foregroundPremultipliedRGBA": { - "adjacentMAEMin": 1.3988740461307556, - "adjacentMAEMax": 2.402532072631643, - "lastToFirstMAE": 1.4894957319000948 + "adjacentMAEMin": 1.3887766437971532, + "adjacentMAEMax": 2.309560521937336, + "lastToFirstMAE": 1.4550257763258565 }, "nonstatic": true, "PASS": true, @@ -1180,6 +1198,6 @@ ] } ], - "bytes": 7402158, - "sha256": "955667b4b854289f9c1660af85e508bdf8790698cde10087082ba05182c3c8c4" + "bytes": 6269306, + "sha256": "95ffa2cf68f4aec7a5788dcc17f206a4b211e77dd734eb4eb3acc98f21bd5162" } diff --git a/family/docs/family-preview.webp b/family/docs/family-preview.webp index fb4b1e6f..0d7b2a0e 100644 Binary files a/family/docs/family-preview.webp and b/family/docs/family-preview.webp differ diff --git a/family/scripts/measure-preview-overlaps.py b/family/scripts/measure-preview-overlaps.py new file mode 100644 index 00000000..a13e9abf --- /dev/null +++ b/family/scripts/measure-preview-overlaps.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python3 +"""Measure the clip paths that let the README preview draw one character at two depths. + +Two places in the lineup are not one depth order. Roa stands behind Luna with her arm over +Luna's shoulder, so Roa is drawn again above Luna inside the path around that arm. Jinni stands +in front of Luna with her arm behind Luna's, so Luna is drawn again above Jinni inside the path +around that arm. Each path is the arm's overlap with the other character, unioned over every +captured frame of the loop and grown by GROW capture pixels, read from renders of each character +alone at its lineup place (render-readme-preview.mjs --isolate). Where an outfit paints the arm +into its own slot, the arm is that slot; where it does not, a row window separates it. + +Usage: measure-preview-overlaps.py --work [--out family/scripts/preview-overlaps.json] +PLAYWRIGHT_MODULE and PYTHON pass through to the renderer. +""" +import argparse, json, subprocess, sys +from pathlib import Path +import cv2 +import numpy as np +from PIL import Image + +FAMILY = Path(__file__).resolve().parent.parent +RENDER = FAMILY / 'scripts' / 'render-readme-preview.mjs' +OUTFITS = ['office', 'homewear', 'swimwear', 'uniform'] +ALPHA = 8 # a pixel belongs to a character above this alpha (0..255) +GROW = 2 # capture pixels the union is grown by, so a path edge never lands on the overlap's own edge + +# The arm's slots per outfit. Office Roa paints the arm into `topwear`; there the overlap splits +# into a shoulder part and a hip part with a measured gap between them (capture rows 346 and 456), +# and ROWS keeps the shoulder part. +ARM = { + 'roa': {'office': None, 'homewear': ['sleeves'], 'swimwear': ['sleeves'], 'uniform': ['sleeves']}, + 'jinni': {'office': ['handwear_r'], 'homewear': ['sleeves'], 'swimwear': ['sleeves'], 'uniform': ['sleeves']}, +} +ROWS = {('roa', 'office'): 400} +PAIRS = [ + # name, character whose arm it is, the other character, which one is drawn again, its z + ('roa-arm-over-luna', 'roa', 'luna', 'roa', 35), + ('jinni-arm-behind-luna', 'jinni', 'luna', 'luna', 45), +] + + +def isolate(work, outfit, key, slots): + name = key + ('' if slots is None else '-' + '-'.join(slots)) + evidence = work / outfit / name + if not evidence.exists(): + spec = key if slots is None else key + ':' + ','.join(slots) + subprocess.run(['node', str(RENDER), '--outfit', outfit, '--isolate', spec, '--evidence', str(evidence)], + check=True, stdout=subprocess.DEVNULL) + metadata = json.loads((evidence / 'isolate.json').read_text()) + frames = sorted(evidence.glob('frame-*.png')) + if len(frames) != metadata['frames'] + 1 or [f.name for f in frames] != sorted(metadata['frameSHA256']): + sys.exit(f'OVERLAP_FRAMES_INCOMPLETE {evidence}: {len(frames)} frames') + masks = np.stack([np.array(Image.open(f))[..., 3] > ALPHA for f in frames]) + return masks, metadata + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--work', required=True) + parser.add_argument('--out', default=str(FAMILY / 'scripts' / 'preview-overlaps.json')) + args = parser.parse_args() + work = Path(args.work).resolve() + result = {'schema': 'family-preview-overlaps/1', 'generatedBy': 'family/scripts/measure-preview-overlaps.py', + 'alpha': ALPHA, 'grow': GROW, 'outfits': {}} + for outfit in OUTFITS: + layers = [] + for name, armKey, otherKey, drawn, z in PAIRS: + arm, meta = isolate(work, outfit, armKey, ARM[armKey][outfit]) + other, otherMeta = isolate(work, outfit, otherKey, None) + whole, _ = isolate(work, outfit, armKey, None) + # An isolated render's lineup holds its one character, at its place in the full lineup. + scene, lineup = meta['scene'], {key: offset for m in (meta, otherMeta) for key, offset, *_ in m['lineup']} + region = (arm & other).any(axis=0) + if (armKey, outfit) in ROWS: region[ROWS[(armKey, outfit)]:] = False + if not region.any(): sys.exit(f'OVERLAP_EMPTY {outfit} {name}') + grown = cv2.dilate(region.astype(np.uint8), np.ones((2 * GROW + 1, 2 * GROW + 1), np.uint8)) > 0 + contours, _ = cv2.findContours(grown.astype(np.uint8), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) + offset = lineup[drawn] + path = '' + for contour in sorted(contours, key=lambda c: tuple(c[0][0])): + points = cv2.approxPolyDP(contour, 0.75, True)[:, 0, :] + path += 'M' + 'L'.join(f'{(x - scene["left"]) / scene["scale"] - offset:.1f} {(y - scene["top"]) / scene["scale"]:.1f}' + for x, y in points) + 'Z' + # What else the second drawing changes: the rest of the arm's character inside the path, + # where it overlaps the other character, in the frame where that is largest. + rest = (whole & ~arm & other & grown).reshape(len(whole), -1).sum(axis=1) + ys, xs = np.nonzero(grown) + layers.append({'name': name, 'key': drawn, 'z': z, 'clip': path, 'measured': { + 'frames': int(len(arm)), 'armSlots': ARM[armKey][outfit], 'rowsBelow': ROWS.get((armKey, outfit)), + 'overlapPixels': int(region.sum()), 'pathBox': [int(xs.min()), int(ys.min()), int(xs.max()) + 1, int(ys.max()) + 1], + 'restPixelsMax': int(rest.max()), 'restPixelsMaxFrame': int(rest.argmax())}}) + print(outfit, name, layers[-1]['measured']) + result['outfits'][outfit] = layers + Path(args.out).write_text(json.dumps(result, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/family/scripts/preview-overlaps.json b/family/scripts/preview-overlaps.json new file mode 100644 index 00000000..c970e077 --- /dev/null +++ b/family/scripts/preview-overlaps.json @@ -0,0 +1,190 @@ +{ + "schema": "family-preview-overlaps/1", + "generatedBy": "family/scripts/measure-preview-overlaps.py", + "alpha": 8, + "grow": 2, + "outfits": { + "office": [ + { + "name": "roa-arm-over-luna", + "key": "roa", + "z": 35, + "clip": "M319.0 -1771.4L311.9 -1773.8L309.5 -1778.6L266.7 -1778.6L261.9 -1785.7L233.3 -1785.7L226.2 -1781.0L216.7 -1781.0L209.5 -1790.5L195.2 -1795.2L178.6 -1792.9L178.6 -1781.0L183.3 -1776.2L183.3 -1771.4L173.8 -1754.8L171.4 -1731.0L164.3 -1723.8L164.3 -1719.0L157.1 -1716.7L152.4 -1702.4L131.0 -1697.6L116.7 -1685.7L107.1 -1659.5L107.1 -1645.2L102.4 -1635.7L102.4 -1623.8L100.0 -1621.4L100.0 -1592.9L97.6 -1590.5L97.6 -1566.7L102.4 -1561.9L102.4 -1557.1L116.7 -1557.1L121.4 -1564.3L126.2 -1559.5L126.2 -1552.4L140.5 -1552.4L145.2 -1557.1L145.2 -1578.6L147.6 -1581.0L164.3 -1581.0L171.4 -1604.8L173.8 -1647.6L181.0 -1664.3L209.5 -1664.3L211.9 -1661.9L238.1 -1659.5L254.8 -1650.0L278.6 -1652.4L281.0 -1654.8L285.7 -1652.4L309.5 -1652.4L321.4 -1659.5L333.3 -1671.4L345.2 -1690.5L350.0 -1702.4L350.0 -1723.8L345.2 -1735.7L340.5 -1738.1L340.5 -1742.9Z", + "measured": { + "frames": 101, + "armSlots": null, + "rowsBelow": 400, + "overlapPixels": 4438, + "pathBox": [ + 360, + 246, + 467, + 349 + ], + "restPixelsMax": 0, + "restPixelsMaxFrame": 0 + } + }, + { + "name": "jinni-arm-behind-luna", + "key": "luna", + "z": 45, + "clip": "M112.3 -1669.0L105.1 -1664.3L105.1 -1652.4L109.9 -1642.9L105.1 -1633.3L105.1 -1619.0L100.4 -1602.4L98.0 -1538.1L95.6 -1535.7L95.6 -1519.0L93.2 -1516.7L83.7 -1426.2L74.2 -1385.7L74.2 -1364.3L81.3 -1345.2L98.0 -1323.8L98.0 -1278.6L102.8 -1269.0L119.4 -1257.1L148.0 -1254.8L150.4 -1278.6L155.1 -1290.5L155.1 -1302.4L167.0 -1350.0L167.0 -1414.3L169.4 -1416.7L169.4 -1433.3L167.0 -1435.7L167.0 -1531.0L162.3 -1547.6L159.9 -1583.3L155.1 -1588.1L152.8 -1635.7L145.6 -1657.1L145.6 -1666.7L138.5 -1669.0ZM143.2 -1226.2L143.2 -1216.7L157.5 -1214.3L157.5 -1223.8Z", + "measured": { + "frames": 101, + "armSlots": [ + "handwear_r" + ], + "rowsBelow": null, + "overlapPixels": 4270, + "pathBox": [ + 498, + 299, + 539, + 491 + ], + "restPixelsMax": 43, + "restPixelsMaxFrame": 46 + } + } + ], + "homewear": [ + { + "name": "roa-arm-over-luna", + "key": "roa", + "z": 35, + "clip": "M316.7 -1788.1L304.8 -1795.2L273.8 -1795.2L269.0 -1792.9L261.9 -1797.6L216.7 -1795.2L204.8 -1802.4L176.2 -1800.0L176.2 -1785.7L183.3 -1776.2L183.3 -1771.4L173.8 -1754.8L171.4 -1731.0L164.3 -1723.8L161.9 -1697.6L126.2 -1685.7L116.7 -1676.2L109.5 -1659.5L107.1 -1633.3L102.4 -1619.0L102.4 -1514.3L111.9 -1514.3L119.0 -1533.3L119.0 -1552.4L133.3 -1564.3L133.3 -1576.2L147.6 -1581.0L157.1 -1590.5L161.9 -1590.5L166.7 -1595.2L173.8 -1619.0L176.2 -1645.2L185.7 -1657.1L204.8 -1659.5L223.8 -1650.0L242.9 -1650.0L254.8 -1645.2L269.0 -1645.2L283.3 -1640.5L304.8 -1640.5L335.7 -1671.4L338.1 -1678.6L354.8 -1700.0L359.5 -1714.3L359.5 -1726.2L342.9 -1757.1Z", + "measured": { + "frames": 101, + "armSlots": [ + "sleeves" + ], + "rowsBelow": null, + "overlapPixels": 5072, + "pathBox": [ + 362, + 243, + 471, + 365 + ], + "restPixelsMax": 174, + "restPixelsMaxFrame": 18 + } + }, + { + "name": "jinni-arm-behind-luna", + "key": "luna", + "z": 45, + "clip": "M117.0 -1692.9L109.9 -1685.7L109.9 -1673.8L107.5 -1671.4L107.5 -1650.0L102.8 -1633.3L102.8 -1607.1L100.4 -1604.8L100.4 -1578.6L98.0 -1576.2L98.0 -1476.2L95.6 -1473.8L90.9 -1407.1L88.5 -1404.8L90.9 -1304.8L88.5 -1302.4L86.1 -1252.4L83.7 -1250.0L83.7 -1231.0L81.3 -1228.6L81.3 -1211.9L79.0 -1209.5L79.0 -1169.0L83.7 -1159.5L107.5 -1159.5L109.9 -1157.1L145.6 -1154.8L150.4 -1157.1L150.4 -1176.2L152.8 -1178.6L152.8 -1188.1L157.5 -1200.0L157.5 -1214.3L162.3 -1228.6L162.3 -1252.4L164.7 -1254.8L167.0 -1302.4L169.4 -1304.8L167.0 -1476.2L164.7 -1478.6L162.3 -1540.5L157.5 -1557.1L155.1 -1592.9L143.2 -1638.1L145.6 -1640.5L145.6 -1661.9L143.2 -1669.0L131.3 -1683.3L131.3 -1688.1L126.6 -1692.9Z", + "measured": { + "frames": 101, + "armSlots": [ + "sleeves" + ], + "rowsBelow": null, + "overlapPixels": 5507, + "pathBox": [ + 500, + 289, + 539, + 516 + ], + "restPixelsMax": 50, + "restPixelsMaxFrame": 17 + } + } + ], + "swimwear": [ + { + "name": "roa-arm-over-luna", + "key": "roa", + "z": 35, + "clip": "M178.6 -1792.9L178.6 -1781.0L183.3 -1776.2L183.3 -1771.4L173.8 -1754.8L171.4 -1731.0L164.3 -1723.8L161.9 -1697.6L133.3 -1685.7L121.4 -1671.4L114.3 -1654.8L114.3 -1642.9L111.9 -1640.5L111.9 -1559.5L114.3 -1554.8L123.8 -1552.4L126.2 -1509.5L131.0 -1492.9L138.1 -1481.0L159.5 -1469.0L190.5 -1466.7L211.9 -1450.0L238.1 -1438.1L259.5 -1421.4L276.2 -1421.4L285.7 -1440.5L295.2 -1490.5L300.0 -1497.6L314.3 -1545.2L311.9 -1647.6L314.3 -1650.0L319.0 -1683.3L345.2 -1709.5L345.2 -1735.7L307.1 -1773.8L283.3 -1783.3L276.2 -1790.5L250.0 -1792.9L235.7 -1788.1L219.0 -1795.2Z", + "measured": { + "frames": 101, + "armSlots": [ + "sleeves" + ], + "rowsBelow": null, + "overlapPixels": 9862, + "pathBox": [ + 366, + 246, + 465, + 404 + ], + "restPixelsMax": 258, + "restPixelsMaxFrame": 24 + } + }, + { + "name": "jinni-arm-behind-luna", + "key": "luna", + "z": 45, + "clip": "M119.4 -1685.7L109.9 -1652.4L107.5 -1595.2L102.8 -1588.1L95.6 -1559.5L88.5 -1547.6L86.1 -1535.7L62.3 -1495.2L62.3 -1476.2L67.0 -1464.3L74.2 -1457.1L93.2 -1447.6L112.3 -1447.6L114.7 -1445.2L119.4 -1361.9L126.6 -1335.7L126.6 -1323.8L133.7 -1302.4L131.3 -1271.4L140.9 -1271.4L143.2 -1292.9L150.4 -1319.0L150.4 -1481.0L148.0 -1483.3L148.0 -1538.1L145.6 -1540.5L145.6 -1583.3L143.2 -1585.7L143.2 -1623.8L140.9 -1626.2L145.6 -1640.5L145.6 -1661.9L131.3 -1685.7Z", + "measured": { + "frames": 101, + "armSlots": [ + "sleeves" + ], + "rowsBelow": null, + "overlapPixels": 2375, + "pathBox": [ + 493, + 292, + 531, + 467 + ], + "restPixelsMax": 16, + "restPixelsMaxFrame": 3 + } + } + ], + "uniform": [ + { + "name": "roa-arm-over-luna", + "key": "roa", + "z": 35, + "clip": "M314.3 -1785.7L309.5 -1788.1L281.0 -1788.1L266.7 -1795.2L233.3 -1792.9L219.0 -1800.0L204.8 -1800.0L178.6 -1792.9L178.6 -1781.0L183.3 -1776.2L183.3 -1771.4L173.8 -1754.8L171.4 -1731.0L164.3 -1723.8L161.9 -1695.2L159.5 -1692.9L147.6 -1692.9L135.7 -1685.7L126.2 -1685.7L123.8 -1681.0L114.3 -1678.6L107.1 -1669.0L107.1 -1657.1L102.4 -1642.9L102.4 -1552.4L116.7 -1552.4L123.8 -1557.1L128.6 -1552.4L140.5 -1552.4L147.6 -1564.3L147.6 -1576.2L152.4 -1581.0L161.9 -1581.0L166.7 -1585.7L171.4 -1602.4L173.8 -1638.1L176.2 -1647.6L183.3 -1657.1L223.8 -1652.4L240.5 -1645.2L304.8 -1645.2L328.6 -1661.9L354.8 -1704.8L357.1 -1726.2L345.2 -1750.0Z", + "measured": { + "frames": 101, + "armSlots": [ + "sleeves" + ], + "rowsBelow": null, + "overlapPixels": 5022, + "pathBox": [ + 362, + 244, + 470, + 349 + ], + "restPixelsMax": 16, + "restPixelsMaxFrame": 11 + } + }, + { + "name": "jinni-arm-behind-luna", + "key": "luna", + "z": 45, + "clip": "M100.4 -1664.3L90.9 -1657.1L86.1 -1645.2L86.1 -1552.4L88.5 -1550.0L88.5 -1531.0L90.9 -1528.6L90.9 -1502.4L93.2 -1500.0L98.0 -1445.2L100.4 -1442.9L100.4 -1428.6L102.8 -1426.2L107.5 -1388.1L109.9 -1385.7L117.0 -1328.6L143.2 -1252.4L143.2 -1245.2L152.8 -1245.2L152.8 -1252.4L157.5 -1259.5L157.5 -1273.8L162.3 -1283.3L162.3 -1300.0L167.0 -1311.9L169.4 -1342.9L171.8 -1345.2L169.4 -1466.7L167.0 -1469.0L167.0 -1500.0L164.7 -1502.4L164.7 -1535.7L162.3 -1538.1L162.3 -1569.0L159.9 -1571.4L157.5 -1614.3L155.1 -1616.7L155.1 -1628.6L150.4 -1638.1L150.4 -1647.6L145.6 -1657.1L126.6 -1664.3Z", + "measured": { + "frames": 101, + "armSlots": [ + "sleeves" + ], + "rowsBelow": null, + "overlapPixels": 3812, + "pathBox": [ + 503, + 301, + 540, + 478 + ], + "restPixelsMax": 576, + "restPixelsMaxFrame": 58 + } + } + ] + } +} diff --git a/family/scripts/render-readme-preview.mjs b/family/scripts/render-readme-preview.mjs index 7ab88005..fa30068f 100644 --- a/family/scripts/render-readme-preview.mjs +++ b/family/scripts/render-readme-preview.mjs @@ -22,6 +22,9 @@ const help = `Usage: node family/scripts/render-readme-preview.mjs [options] --mp4 optional ffmpeg H.264 over --background #rrggbb --crf 0..51 (default23) --cut-layers extra split-slot capture for render-outfit-switch.mjs + --isolate [:,...] one lineup character alone at its place, optionally only those + slots: frames and isolate.json in , no preview; read by + measure-preview-overlaps.py --preflight bounded8x8 PNG→WebP reader probe; NOT loop acceptance --help show help without importing Playwright or rendering PLAYWRIGHT_MODULE selects an explicit Playwright module; PYTHON selects Python. @@ -29,7 +32,7 @@ Renderer gives no closure verdict; preview-loop.py checks encoded wrap MAE≤max and reports first versus one-period endpoint visible difference. Bulk frames are temporary receipts.`; export function parsePreviewArgs(args) { - const values = new Set(['--outfit','--out','--evidence','--width','--quality','--mp4','--background','--crf']); + const values = new Set(['--outfit','--out','--evidence','--width','--quality','--mp4','--background','--crf','--isolate']); const flags = new Set(['--reuse-frames','--cut-layers','--preflight','--help']); const seen = new Set(), parsed = {}; for (let i = 0; i < args.length; i++) { @@ -41,6 +44,7 @@ export function parsePreviewArgs(args) { } if (parsed['--help'] && args.length !== 1) throw Error('PREVIEW_HELP_ALONE'); if (parsed['--preflight'] && (parsed['--reuse-frames'] || parsed['--mp4'] || parsed['--cut-layers'])) throw Error('PREVIEW_PREFLIGHT_MODE_REFUSED'); + if (parsed['--isolate'] && (parsed['--preflight'] || parsed['--mp4'] || parsed['--cut-layers'] || parsed['--out'] || parsed['--reuse-frames'])) throw Error('PREVIEW_ISOLATE_MODE_REFUSED'); return parsed; } @@ -48,6 +52,7 @@ export async function renderPreview(args = process.argv.slice(2)) { const parsed = parsePreviewArgs(args); if (parsed['--help']) { console.log(help); return; } const preflight = Boolean(parsed['--preflight']); +const [isolateKey, isolateSlots] = parsed['--isolate'] === undefined ? [null, null] : [parsed['--isolate'].split(':')[0], parsed['--isolate'].split(':')[1]?.split(',') ?? null]; function option(name, fallback) { const i = args.indexOf(name); return i < 0 ? fallback : args[i + 1]; } const evidence = path.resolve(option('--evidence', `.lane-evidence/family-preview-${option('--outfit', 'office')}`)); @@ -55,7 +60,8 @@ const mp4 = option('--mp4', null) === null ? null : path.resolve(option('--mp4') const outfit = option('--outfit', 'office'); const defaultName = `family-preview${outfit === 'office' ? '' : '-'+outfit}.webp`; const publishedDocs = path.join(family, 'docs'); -const output = mp4 !== null && option('--out', null) === null ? null : path.resolve(option('--out', path.join(preflight ? evidence : publishedDocs, defaultName))); +// An isolated render is a measurement, not a preview: its frames and isolate.json are the output. +const output = isolateKey || (mp4 !== null && option('--out', null) === null) ? null : path.resolve(option('--out', path.join(preflight ? evidence : publishedDocs, defaultName))); if (!OUTFITS.includes(outfit)) throw new Error(`outfit must be one of ${OUTFITS.join(', ')}; got ${outfit}`); if (output !== null && !output.endsWith('.webp')) throw Error('PREVIEW_WEBP_EXTENSION_REQUIRED'); if (preflight && output !== null && (output === publishedDocs || output.startsWith(publishedDocs + path.sep))) throw Error('PREFLIGHT_OUT_IS_PUBLISHED'); @@ -75,7 +81,15 @@ const quality = Number(option('--quality', '80')); if (![800,960,1200].includes(requestedWidth) || !Number.isFinite(quality) || quality < 1 || quality > 100) throw new Error('width must be 800, 960 or 1200; quality must be 1..100'); const outputWidth = preflight ? 8 : requestedWidth; const outputHeight = preflight ? 8 : Math.round(height * outputWidth / width); -const lineup = [['roa', 0, 0, 3], ['luna', 435, .06, 2], ['jinni', 995, .45, 4], ['naru', 1540, .85, 3], ['nova', 1915, 1.25, 2]]; +// [key, offset, phase, z], in scene pixels; the scene is drawn at `scene.scale` from `scene.left`, `scene.top`. +const scene = { left: 319, top: 1000, scale: .42 }; +const lineup = [['roa', 0, 0, 10], ['luna', 352, .06, 30], ['jinni', 657, .45, 40], ['naru', 1022, .85, 50], ['nova', 1355, 1.25, 60]]; +// A character in two depths at once is drawn twice from one pose: each layer is another instance +// of a lineup character at another z, clipped to a path in that character's root pixels. The +// paths are measured per outfit by measure-preview-overlaps.py, which says what each one holds. +const overlapsFile = 'scripts/preview-overlaps.json'; +const layers = isolateKey ? [] : JSON.parse(await fs.readFile(path.join(family, overlapsFile), 'utf8')).outfits[outfit].map(({ key, z, clip }) => ({ key, z, clip })); +if (isolateKey) { const entry = lineup.find(([key]) => key === isolateKey); if (!entry) throw new Error(`--isolate names no lineup character: ${isolateKey}`); lineup.splice(0, lineup.length, entry); } const modelRoot = outfit === 'office' ? "'/'+key" : `'/outfits/${outfit}/'+key`; const modelPath = key => outfitAssets(key, outfit).modelUrl.slice(1); for (const [key] of lineup) if (modelPath(key) !== (outfit === 'office' ? key : `outfits/${outfit}/${key}`) + '/out/check/build/skeleton.model.json') throw new Error(`viewer outfit path for ${key} changed`); @@ -95,7 +109,7 @@ await fs.mkdir(evidence, { recursive: true }); for (const target of [output, mp4]) if (target !== null) await fs.mkdir(path.dirname(target), { recursive: true }); const sha = async filename => createHash('sha256').update(await fs.readFile(filename)).digest('hex'); const sources={}; -for(const relative of ['accepted-inputs.json','viewer/assets/player.js',...lineup.map(([key])=>modelPath(key))]) sources[relative]=await sha(path.join(family,relative)); +for(const relative of ['accepted-inputs.json','viewer/assets/player.js',...(isolateKey ? [] : [overlapsFile]),...lineup.map(([key])=>modelPath(key))]) sources[relative]=await sha(path.join(family,relative)); for(const [key] of lineup) { const relative=modelPath(key); const model=JSON.parse(await fs.readFile(path.join(family,relative),'utf8')); @@ -106,10 +120,10 @@ for(const [key] of lineup) { } } const captureInputs = path.join(evidence,'capture-inputs.json'); -const settings = { width, height, duration, frames, lineup }; +const settings = { width, height, duration, frames, scene, lineup, layers, ...(isolateKey ? { isolate: { key: isolateKey, slots: isolateSlots } } : {}) }; const html = `