diff --git a/docs/prototype/generation/phase6_battle_scale_04/BATCH_CONTRACT.md b/docs/prototype/generation/phase6_battle_scale_04/BATCH_CONTRACT.md new file mode 100644 index 00000000..03ee02e6 --- /dev/null +++ b/docs/prototype/generation/phase6_battle_scale_04/BATCH_CONTRACT.md @@ -0,0 +1,61 @@ +# Phase 6 Battle-Scale Motion Proof 04 + +Date: 2026-08-12 +Stage: `BATTLE_SCALE_CANDIDATE_READY` +Motion authority: `../phase6_motion_proof_03/` +Style authority: `../phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png` + +## Purpose + +Test the accepted transparent motion assets in the actual landscape battle +density before generating more Professions, enemies or bosses. This is a +non-runtime production proof, not gameplay implementation. + +## Three-Second Read + +1. A ten-member Company is moving as one ordered horizontal force. +2. A materially busy enemy group is contesting the same ground. +3. One large Tempest Seraph boss remains distinct behind ordinary enemies. + +## Layer And Scale Contract + +- Canvas: opaque `2048x1152` landscape. +- Background: one empty soft-painted aether-ruin battlefield generated through + API Mart GPT-Image-2. No people, creatures, UI, text, VFX or embedded action. +- Allies: exactly ten accepted Recruit sprites, right-facing, each `130-155px` + alpha-content height (`11.3-13.5%` of canvas height). +- Ordinary enemies: at least twelve accepted Riftblade sprites, left-facing, + each `120-145px` alpha-content height, with controlled depth overlap. +- Boss: one accepted Tempest Seraph, left-facing, `280-315px` alpha-content + height. +- UI proof layer: compact top force meters and bottom ten-slot rail only. It is + deterministic placeholder chrome and contains no generated copy. +- VFX: none. Body motion, scale, overlap and silhouette must pass before + detached telegraph/impact effects are introduced. + +The background, actor sources, UI proof layer and future VFX remain separate. +No generated full-screen screenshot is sliced into actor sprites. + +## Motion Proof + +Produce 16 frames at 8 FPS. Allies and ordinary enemies use phase-offset +accepted cycles. The boss performs its accepted telegraph followed by attack. +Output one full-size opening frame, one five-state contact sheet and one H.264 +MP4. Deterministic audit records source hashes, actor counts, content heights, +canvas boundaries and output hashes. + +## Acceptance + +- ten allies, at least twelve ordinary enemies and one boss are present in + every frame; +- ordinary actors stay inside their required play-height ranges and the boss + remains inside its required range; +- no actor alpha content is cropped by the canvas or HUD safe bands; +- ally/enemy facing and collision direction read without labels; +- front silhouettes remain separable under overlap at `1280x720` review size; +- animation has no identity pop, anchor jump or state-reset seam introduced by + composition; +- background does not contain baked people, creatures, UI, text or VFX. + +This proof can reach `processed` and `agent_visual_reviewed` only. Human visual, +engine runtime, touch, audio, device and release gates remain open. diff --git a/docs/prototype/generation/phase6_battle_scale_04/VISUAL_REVIEW.md b/docs/prototype/generation/phase6_battle_scale_04/VISUAL_REVIEW.md new file mode 100644 index 00000000..3b9096d5 --- /dev/null +++ b/docs/prototype/generation/phase6_battle_scale_04/VISUAL_REVIEW.md @@ -0,0 +1,53 @@ +# Phase 6 Battle-Scale Motion Proof 04 Visual Review + +Date: 2026-08-12 +Evidence level: `processed` and `agent_visual_reviewed` +Human state: `OPEN` + +## Result + +The bounded battle-scale pipeline is viable. The opening frame and 2-second +motion proof show exactly ten allied actors, twelve ordinary enemies and one +boss on the approved landscape camera. Ordinary actors occupy `130-155px` or +`120-145px` of the `1152px` canvas; the boss occupies `302px`. The Company, +enemy group and boss remain separable after downscaling to `1280x720`. + +## Focal Review + +| Field | Observation | +|---|---| +| Intended read | ordered Company, contested ground, large boss | +| Actual focal order | horizontal collision line, pale large boss, force meters and roster rail | +| Identity | Japanese 2D thin-line actors over a soft painted daylight aether ruin | +| State feedback | allies and enemies animate accepted phase-offset states; boss telegraphs then attacks | +| Play-size issues | actor scale passes; repeated Aegis identity proves density but not Profession variety | +| Evidence | processed composition, deterministic audit, agent visual review | +| Verdict | `PASS` for scale/motion pipeline; content diversity remains open | + +The background task `task_01KZSD6PE31P8512H61T0Q1Z0V` cost USD 0.014. It +contains no visible person, creature, interface, copy, attack or detached VFX. +Its open ground lane keeps the actor layer editable and readable. + +## Verification + +- `16` opaque `2048x1152` frames at `8 FPS`, plus opening PNG, five-frame + contact sheet and H.264 MP4. +- Audit proves `10` allies, `12` ordinary enemies and `1` boss in every frame, + contracted content heights and no actor outside the battle safe region. +- A fresh independent output directory reproduced the audit, opening, contact + sheet and all 16 frame PNGs byte-for-byte. +- MP4 probe reports `2048x1152`, `8/1 FPS`, `16` frames and `2.0s` duration. +- No detached VFX are present, so body motion and silhouette readability are + not being rescued by particles or screen effects. + +## Honest Limits + +This proof intentionally repeats the one accepted Aegis Recruit and one +accepted Riftblade enemy. It validates scale, facing, density, overlap, +animation-source routing and boss distinction. It does not validate the future +42-Profession silhouette library, 100-enemy diversity, hit timing, gameplay +state, engine performance, UI localization, touch, audio or device behavior. + +The next bounded visual task is a separate VFX language proof over this scale, +followed by compatible small-asset sheets. Bulk final content remains frozen +until those proofs and Owner visual review pass. diff --git a/docs/prototype/generation/phase6_battle_scale_04/inventory.sha256 b/docs/prototype/generation/phase6_battle_scale_04/inventory.sha256 new file mode 100644 index 00000000..8a51eaeb --- /dev/null +++ b/docs/prototype/generation/phase6_battle_scale_04/inventory.sha256 @@ -0,0 +1,27 @@ +8ae54ba0ddb391bc819bd457fcfd658cb2ac118644b44bcb00b1266f98655ec8 ./BATCH_CONTRACT.md +5583909d73a52a93758fdc044c344213b8484ff7c3d243b2e1471e0fd1d91a82 ./VISUAL_REVIEW.md +17d24ea469d19b5988a6742d6ace8459db53cd3158551cfae191650475fffc6e ./outputs/01_empty_battlefield.dry-run.json +d8c1d2fb7fb466ef1abf8f9809ed9db276359d4905d260771ebd70be39fc3512 ./outputs/01_empty_battlefield.png +43c80d6bb29afccdbd9271d960226557c9c8189ac4b9ea0219c78fbb525907c4 ./outputs/01_empty_battlefield.report.json +746a5ea44d91d1d335fc6939b57edc16e23847fb326b6b7bb018760136fee107 ./outputs/battle-scale-proof-01/audit.json +ff11c9b9b9fac89b089dda114b2d37e11f513bdcd179d8e60b41714039710e49 ./outputs/battle-scale-proof-01/battle-scale-contact.png +eb93b7b8b2ef8300bf6675e5e1aacd2ea9189151352f402c1c4b2b326774fc2c ./outputs/battle-scale-proof-01/battle-scale-motion.mp4 +cc4970f79e87e54db07f0debe75d69648b8d04f2cb0b50b982636a4845fa1888 ./outputs/battle-scale-proof-01/battle-scale-opening.png +cc4970f79e87e54db07f0debe75d69648b8d04f2cb0b50b982636a4845fa1888 ./outputs/battle-scale-proof-01/frames/frame-000.png +24ae9b38d5b1d1b87a03a16fc23b6f501378dae7253f0e9d4dd131ced90b055f ./outputs/battle-scale-proof-01/frames/frame-001.png +99ca3cfd414d5c348019c918125c8ed8c34ceb35fcfe1cb8cbdfa870f74b7919 ./outputs/battle-scale-proof-01/frames/frame-002.png +0b7a4a56132f82247ded1f21b4631a57c27fad031ba71d132a35c07aa23b6147 ./outputs/battle-scale-proof-01/frames/frame-003.png +2e5eb303ed51f97e5bbdd22ef6cbd5f490476b42a4a80d6917fb8ad710571f02 ./outputs/battle-scale-proof-01/frames/frame-004.png +b855a8ac0fc8467d34874acc0ecbd043a90813bccf4d13067c272dbddba41f8a ./outputs/battle-scale-proof-01/frames/frame-005.png +af3d0289c5c38855d022f1b92d3bd2eef22e9278a5bc6600776e7051624fceb6 ./outputs/battle-scale-proof-01/frames/frame-006.png +785ec63e77b222b1bc6f781c1b7b84e6c52932e0425b8ed8b81e4271d78da959 ./outputs/battle-scale-proof-01/frames/frame-007.png +eba64078d27757d1ee2fd20338e42d7e4b835a5e33f48439c6c57e0cb14e5ffe ./outputs/battle-scale-proof-01/frames/frame-008.png +66acba2fc490c27c498e76bd9cdad3c3585a6afede0d3fb9b2d3902e47bfd4f0 ./outputs/battle-scale-proof-01/frames/frame-009.png +d9618bab3cc559555f85780fa7b63454c7192b3dd7c23e6f4d349471f2cef58a ./outputs/battle-scale-proof-01/frames/frame-010.png +05fb1331cab2b610cc1ddb524c5c49e8a680ceb669bb1bf767b8cc10ec192bee ./outputs/battle-scale-proof-01/frames/frame-011.png +c2909d94c595bdabfe24b526e1e69d5e7746e74786ebeb3ceea7a4e39561fde9 ./outputs/battle-scale-proof-01/frames/frame-012.png +737f7fbf2ecc4840a5791ee71cc101b9a574543a2e9c5eed63c218f4b29b1daf ./outputs/battle-scale-proof-01/frames/frame-013.png +0b2f33a00e7e03848283e04716a6e91ee64865a0938e017f9985e3f6d9186509 ./outputs/battle-scale-proof-01/frames/frame-014.png +8165bdd777e7007d8892ccda8aff29e0fcec93b2d36eb9363365086822808381 ./outputs/battle-scale-proof-01/frames/frame-015.png +523bbf54ecfd0a10e68f06581a5c24e2f179a65770056a6de6b6925924fc1afe ./outputs/battle-scale-proof-01/video.sha256 +07a0e4e3a60963558111ce63c6d69c16790651b2896d3fb4cee94861181e1fa4 ./prompts/01_empty_battlefield.txt diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.dry-run.json b/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.dry-run.json new file mode 100644 index 00000000..2960918a --- /dev/null +++ b/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.dry-run.json @@ -0,0 +1,12 @@ +{ + "mode": "dry-run", + "model": "gpt-image-2", + "size": "16:9", + "resolution": "2k", + "output": "docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.png", + "local_references": [ + "docs/prototype/generation/phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png" + ], + "remote_reference_count": 0, + "prompt_chars": 1699 +} diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.png new file mode 100644 index 00000000..e59c8fca Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.report.json b/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.report.json new file mode 100644 index 00000000..268d5c09 --- /dev/null +++ b/docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.report.json @@ -0,0 +1,17 @@ +{ + "mode": "execute", + "model": "gpt-image-2", + "size": "16:9", + "resolution": "2k", + "output": "docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.png", + "local_references": [ + "docs/prototype/generation/phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png" + ], + "remote_reference_count": 0, + "prompt_chars": 1699, + "task_id": "task_01KZSD6PE31P8512H61T0Q1Z0V", + "status": "completed", + "bytes": 3644787, + "cost": 0.014, + "credits_cost": 0.14 +} diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/audit.json b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/audit.json new file mode 100644 index 00000000..66053762 --- /dev/null +++ b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/audit.json @@ -0,0 +1,6758 @@ +{ + "version": 1, + "kind": "aetherbound-battle-scale-motion-proof", + "canvas": [ + 2048, + 1152 + ], + "fps": 8, + "frames": 16, + "duration_seconds": 2.0, + "background": { + "path": "docs/prototype/generation/phase6_battle_scale_04/outputs/01_empty_battlefield.png", + "sha256": "d8c1d2fb7fb466ef1abf8f9809ed9db276359d4905d260771ebd70be39fc3512" + }, + "counts_per_frame": { + "allies": 10, + "ordinary_enemies": 12, + "bosses": 1 + }, + "height_contract": { + "allies": [ + 130, + 155 + ], + "ordinary_enemies": [ + 120, + 145 + ], + "boss": [ + 280, + 315 + ] + }, + "frame_reports": [ + { + "frame": 0, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-2.png", + "source_sha256": "ae3292dee152f608f8267a261bcfe9f92c0e2d258cde88357a3b7d877591e9f7", + "source_alpha_bbox": [ + 51, + 24, + 210, + 232 + ], + "content_rect": [ + 1165, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-5.png", + "source_sha256": "529db5da4c14ebf4e7e1c8ad6e110e01e0f8688c2381de1485528604aa906f09", + "source_alpha_bbox": [ + 37, + 32, + 221, + 232 + ], + "content_rect": [ + 1300, + 625, + 1419, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-0.png", + "source_sha256": "db12c546a406c2a7084fb781507765056c59b6bc101acf6539387c55a0767934", + "source_alpha_bbox": [ + 42, + 24, + 198, + 232 + ], + "content_rect": [ + 1458, + 630, + 1551, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-5.png", + "source_sha256": "654eaf1c33e2a05febbaa5df0ddb41dcb67202adc3a614a074a0de6daaf877ea", + "source_alpha_bbox": [ + 47, + 24, + 222, + 232 + ], + "content_rect": [ + 1590, + 615, + 1707, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1107, + 667, + 1229, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-0.png", + "source_sha256": "c679208c7d7744d8c26be8364449377021c22fc586afc8ebdceae0c1a9e34c69", + "source_alpha_bbox": [ + 41, + 24, + 200, + 232 + ], + "content_rect": [ + 1264, + 672, + 1359, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-1.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1404, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-4.png", + "source_sha256": "315802401dfe8d37a3772c3c7de2ed5854ed8a6a1655a0c052bbd07c7e93c215", + "source_alpha_bbox": [ + 37, + 24, + 220, + 232 + ], + "content_rect": [ + 1541, + 662, + 1659, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1071, + 714, + 1169, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-3.png", + "source_sha256": "e5eb2d28e07fb1177d129dc86654bcc79562eca9011dd89fc59cba1408b1aec6", + "source_alpha_bbox": [ + 29, + 26, + 213, + 232 + ], + "content_rect": [ + 1202, + 699, + 1326, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-0.png", + "source_sha256": "0c35e0e9f3fb3fcdd8433fec9b54bef40564a0ed9b15d6feb895e6b5baac0dbf", + "source_alpha_bbox": [ + 47, + 24, + 208, + 232 + ], + "content_rect": [ + 1356, + 704, + 1460, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-1.png", + "source_sha256": "e96dcc742cb16f98e4b08ae39822de0e00f0e66863084cf0afeff466eefc8221", + "source_alpha_bbox": [ + 37, + 51, + 221, + 232 + ], + "content_rect": [ + 1486, + 709, + 1617, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/telegraph/frames/frame-0.png", + "source_sha256": "0a01142ded7edc83e700edaa06ab193ddb5feb3bd0745f310661c6b7bc24de6d", + "source_alpha_bbox": [ + 61, + 36, + 314, + 348 + ], + "content_rect": [ + 1736, + 540, + 1981, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-2.png", + "source_sha256": "91b3bd25e6d2647e160653236c4ddeb11a92b6372b124a58436181b675a7e9e0", + "source_alpha_bbox": [ + 58, + 24, + 209, + 232 + ], + "content_rect": [ + 154, + 702, + 257, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-0.png", + "source_sha256": "8b4154ad9b311d9b51a2c68fe0a88b8d9bbfd1c866b7fc927fdec2a5e8c5be78", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 346, + 708, + 441, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-2.png", + "source_sha256": "91b3bd25e6d2647e160653236c4ddeb11a92b6372b124a58436181b675a7e9e0", + "source_alpha_bbox": [ + 58, + 24, + 209, + 232 + ], + "content_rect": [ + 528, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-2.png", + "source_sha256": "b0f3fa9e499e22a2fee3ab4faaad45c162961f2df9c4f9f97dadbcf91fbcad3f", + "source_alpha_bbox": [ + 60, + 24, + 223, + 232 + ], + "content_rect": [ + 714, + 702, + 825, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-0.png", + "source_sha256": "8b4154ad9b311d9b51a2c68fe0a88b8d9bbfd1c866b7fc927fdec2a5e8c5be78", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 910, + 708, + 1005, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-0.png", + "source_sha256": "fbf58045e3046305be9ad6305e12c6381dec6b019865f13756f666040ce2d48a", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 64, + 718, + 160, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-4.png", + "source_sha256": "166243f926e4e1dd56a04cd2db44c3e9888a03d97093a82a63c36064f704f692", + "source_alpha_bbox": [ + 34, + 50, + 226, + 232 + ], + "content_rect": [ + 222, + 706, + 378, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-0.png", + "source_sha256": "751ad880e9c78dafe35a942fb9fe731d02fbb16aec95f387465ed52bacfd58b2", + "source_alpha_bbox": [ + 53, + 24, + 198, + 232 + ], + "content_rect": [ + 438, + 712, + 537, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-0.png", + "source_sha256": "fbf58045e3046305be9ad6305e12c6381dec6b019865f13756f666040ce2d48a", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 628, + 718, + 724, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-4.png", + "source_sha256": "166243f926e4e1dd56a04cd2db44c3e9888a03d97093a82a63c36064f704f692", + "source_alpha_bbox": [ + 34, + 50, + 226, + 232 + ], + "content_rect": [ + 786, + 706, + 942, + 854 + ], + "content_height": 148 + } + ], + "sha256": "cc4970f79e87e54db07f0debe75d69648b8d04f2cb0b50b982636a4845fa1888" + }, + { + "frame": 1, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-3.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1166, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1309, + 625, + 1411, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-1.png", + "source_sha256": "0f7ced5832d819991ca686ddbf58bbbfd805ebca43c9e538d46428fea485ddca", + "source_alpha_bbox": [ + 42, + 24, + 206, + 232 + ], + "content_rect": [ + 1455, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-0.png", + "source_sha256": "0c35e0e9f3fb3fcdd8433fec9b54bef40564a0ed9b15d6feb895e6b5baac0dbf", + "source_alpha_bbox": [ + 47, + 24, + 208, + 232 + ], + "content_rect": [ + 1594, + 615, + 1702, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1088, + 667, + 1248, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-1.png", + "source_sha256": "e96dcc742cb16f98e4b08ae39822de0e00f0e66863084cf0afeff466eefc8221", + "source_alpha_bbox": [ + 37, + 51, + 221, + 232 + ], + "content_rect": [ + 1249, + 672, + 1375, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-2.png", + "source_sha256": "ae3292dee152f608f8267a261bcfe9f92c0e2d258cde88357a3b7d877591e9f7", + "source_alpha_bbox": [ + 51, + 24, + 210, + 232 + ], + "content_rect": [ + 1403, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-5.png", + "source_sha256": "529db5da4c14ebf4e7e1c8ad6e110e01e0f8688c2381de1485528604aa906f09", + "source_alpha_bbox": [ + 37, + 32, + 221, + 232 + ], + "content_rect": [ + 1538, + 662, + 1661, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1059, + 714, + 1181, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-4.png", + "source_sha256": "c32a0ef3fefcfccfcca946aca19555f1edebb04dc3168d2d96c2c491ae0064a5", + "source_alpha_bbox": [ + 44, + 24, + 206, + 232 + ], + "content_rect": [ + 1210, + 699, + 1318, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1345, + 704, + 1471, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-2.png", + "source_sha256": "08a63f58c5278be758375f84e9da138b944bdeeec146b6ca7786de5576d53f30", + "source_alpha_bbox": [ + 40, + 24, + 224, + 232 + ], + "content_rect": [ + 1495, + 709, + 1609, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/telegraph/frames/frame-1.png", + "source_sha256": "6ce6be6f745442fb8d7904d7fc8cb7e54116c9c46c75da3bf5807399c25111c1", + "source_alpha_bbox": [ + 77, + 36, + 301, + 348 + ], + "content_rect": [ + 1750, + 540, + 1967, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-3.png", + "source_sha256": "d4dc97c3b741cf2ceecca2c444a1ebf9dc1a822b967589f4c43bf23318b0adda", + "source_alpha_bbox": [ + 58, + 24, + 207, + 232 + ], + "content_rect": [ + 155, + 702, + 257, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-1.png", + "source_sha256": "1171faa3fa1997f2893c322204ffb52d55e65c2645ed32736472f0cfbfbad53d", + "source_alpha_bbox": [ + 58, + 24, + 196, + 232 + ], + "content_rect": [ + 349, + 708, + 439, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-3.png", + "source_sha256": "d4dc97c3b741cf2ceecca2c444a1ebf9dc1a822b967589f4c43bf23318b0adda", + "source_alpha_bbox": [ + 58, + 24, + 207, + 232 + ], + "content_rect": [ + 529, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-3.png", + "source_sha256": "428ae71db9f3c22f60d88b53c29cc028cc7076f80d511997c628df9e71eaa08d", + "source_alpha_bbox": [ + 51, + 24, + 199, + 232 + ], + "content_rect": [ + 720, + 702, + 821, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-1.png", + "source_sha256": "1171faa3fa1997f2893c322204ffb52d55e65c2645ed32736472f0cfbfbad53d", + "source_alpha_bbox": [ + 58, + 24, + 196, + 232 + ], + "content_rect": [ + 913, + 708, + 1003, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-1.png", + "source_sha256": "ab5957610be3a1e317e0c06dc9fd74461db745b62e07d0b43739b0cb0fe25b9e", + "source_alpha_bbox": [ + 46, + 24, + 192, + 232 + ], + "content_rect": [ + 64, + 718, + 159, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-5.png", + "source_sha256": "38818691bed19c30017527efcebb51504291b6a2506cbdda7fc79bf60df20b4c", + "source_alpha_bbox": [ + 53, + 24, + 200, + 232 + ], + "content_rect": [ + 248, + 706, + 353, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-1.png", + "source_sha256": "eb07bddab7bf20d4513c5195dd135483693c4902e025e3c374fa7b3e141e0f72", + "source_alpha_bbox": [ + 67, + 24, + 206, + 232 + ], + "content_rect": [ + 440, + 712, + 535, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-1.png", + "source_sha256": "ab5957610be3a1e317e0c06dc9fd74461db745b62e07d0b43739b0cb0fe25b9e", + "source_alpha_bbox": [ + 46, + 24, + 192, + 232 + ], + "content_rect": [ + 628, + 718, + 723, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-5.png", + "source_sha256": "38818691bed19c30017527efcebb51504291b6a2506cbdda7fc79bf60df20b4c", + "source_alpha_bbox": [ + 53, + 24, + 200, + 232 + ], + "content_rect": [ + 812, + 706, + 917, + 854 + ], + "content_height": 148 + } + ], + "sha256": "24ae9b38d5b1d1b87a03a16fc23b6f501378dae7253f0e9d4dd131ced90b055f" + }, + { + "frame": 2, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-4.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1165, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1296, + 625, + 1423, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-2.png", + "source_sha256": "3993c4333764233cb6080ee6b018c153fdb9a522cd2befe9a48a02bbefa9d6d4", + "source_alpha_bbox": [ + 21, + 24, + 187, + 232 + ], + "content_rect": [ + 1454, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1582, + 615, + 1713, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-3.png", + "source_sha256": "bf679aa2a6ee524087ed2ee26160cc4cda74a19832663b1107aad80993c3ed43", + "source_alpha_bbox": [ + 9, + 92, + 193, + 232 + ], + "content_rect": [ + 1083, + 667, + 1253, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-2.png", + "source_sha256": "08a63f58c5278be758375f84e9da138b944bdeeec146b6ca7786de5576d53f30", + "source_alpha_bbox": [ + 40, + 24, + 224, + 232 + ], + "content_rect": [ + 1257, + 672, + 1367, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-3.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1404, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1547, + 662, + 1653, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-2.png", + "source_sha256": "49c254ff46c129ac0d0af6bd1fffcccb41b9c97504ff4d7dee42f45ed9b41467", + "source_alpha_bbox": [ + 40, + 24, + 218, + 232 + ], + "content_rect": [ + 1067, + 714, + 1173, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-5.png", + "source_sha256": "392b40ffd8e8a3eb127d34fea19e0bf4d0c85b80d52834f46cfe7231d1a7b5a9", + "source_alpha_bbox": [ + 52, + 24, + 216, + 232 + ], + "content_rect": [ + 1209, + 699, + 1319, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1324, + 704, + 1491, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-3.png", + "source_sha256": "2683c5cf3d27699b084c8528d86b3d2ac775d30029c78834b45b30bd620da693", + "source_alpha_bbox": [ + 40, + 24, + 200, + 232 + ], + "content_rect": [ + 1502, + 709, + 1601, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/telegraph/frames/frame-2.png", + "source_sha256": "0df149493f09fe67c7b6ff9c4ada1932d6dd8b644c64acbeda0f530481814195", + "source_alpha_bbox": [ + 123, + 36, + 279, + 348 + ], + "content_rect": [ + 1782, + 540, + 1933, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-4.png", + "source_sha256": "a33a1c1068a5d26956309b80583bba341c773d152941370da34eb91cb185c343", + "source_alpha_bbox": [ + 43, + 24, + 200, + 232 + ], + "content_rect": [ + 152, + 702, + 259, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-2.png", + "source_sha256": "411187fa79fb8c3febb84e4b98cf773bd9c934f8e0d727427c7d06e1abc5bfc0", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 348, + 708, + 439, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-4.png", + "source_sha256": "a33a1c1068a5d26956309b80583bba341c773d152941370da34eb91cb185c343", + "source_alpha_bbox": [ + 43, + 24, + 200, + 232 + ], + "content_rect": [ + 526, + 696, + 638, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-0.png", + "source_sha256": "1ebfa7425223606d3f0042fd742f3e982fb21004fa0cfd7d5b698916ec5d37da", + "source_alpha_bbox": [ + 51, + 24, + 199, + 232 + ], + "content_rect": [ + 720, + 702, + 821, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-2.png", + "source_sha256": "411187fa79fb8c3febb84e4b98cf773bd9c934f8e0d727427c7d06e1abc5bfc0", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 912, + 708, + 1003, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-2.png", + "source_sha256": "1742d94e056a3399b52b4155ae1562bde5570bb9d80ae108511cb5438935d21f", + "source_alpha_bbox": [ + 59, + 24, + 195, + 232 + ], + "content_rect": [ + 68, + 718, + 157, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-0.png", + "source_sha256": "01690dce426e3517c04a03259b3205aab6092bbdc30a2b493cd0a2754261dc3b", + "source_alpha_bbox": [ + 50, + 24, + 200, + 232 + ], + "content_rect": [ + 246, + 706, + 353, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-2.png", + "source_sha256": "05d3fe3da6903153691f20db3ca8cc9039df8d05a285f8b4cdfb4233201b6357", + "source_alpha_bbox": [ + 68, + 24, + 210, + 232 + ], + "content_rect": [ + 440, + 712, + 537, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-2.png", + "source_sha256": "1742d94e056a3399b52b4155ae1562bde5570bb9d80ae108511cb5438935d21f", + "source_alpha_bbox": [ + 59, + 24, + 195, + 232 + ], + "content_rect": [ + 632, + 718, + 721, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-0.png", + "source_sha256": "01690dce426e3517c04a03259b3205aab6092bbdc30a2b493cd0a2754261dc3b", + "source_alpha_bbox": [ + 50, + 24, + 200, + 232 + ], + "content_rect": [ + 810, + 706, + 917, + 854 + ], + "content_height": 148 + } + ], + "sha256": "99ca3cfd414d5c348019c918125c8ed8c34ceb35fcfe1cb8cbdfa870f74b7919" + }, + { + "frame": 3, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-5.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1166, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-2.png", + "source_sha256": "49c254ff46c129ac0d0af6bd1fffcccb41b9c97504ff4d7dee42f45ed9b41467", + "source_alpha_bbox": [ + 40, + 24, + 218, + 232 + ], + "content_rect": [ + 1305, + 625, + 1415, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-3.png", + "source_sha256": "e5eb2d28e07fb1177d129dc86654bcc79562eca9011dd89fc59cba1408b1aec6", + "source_alpha_bbox": [ + 29, + 26, + 213, + 232 + ], + "content_rect": [ + 1448, + 630, + 1559, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1562, + 615, + 1735, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-4.png", + "source_sha256": "13eb4dd4504cfc1dfe2a518e5c93209e4df61bfa10ea24501e6871d608a6565d", + "source_alpha_bbox": [ + 63, + 50, + 247, + 232 + ], + "content_rect": [ + 1103, + 667, + 1233, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-3.png", + "source_sha256": "2683c5cf3d27699b084c8528d86b3d2ac775d30029c78834b45b30bd620da693", + "source_alpha_bbox": [ + 40, + 24, + 200, + 232 + ], + "content_rect": [ + 1264, + 672, + 1359, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-4.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1403, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1534, + 662, + 1666, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-3.png", + "source_sha256": "58d3379ad97ac15f1d3599daab42042e170dec579e21268d59f7c0eec15df3af", + "source_alpha_bbox": [ + 58, + 24, + 204, + 232 + ], + "content_rect": [ + 1076, + 714, + 1163, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-6.png", + "source_sha256": "51d57d28bba42de37ae64739d974a2b483b73f4d7b405a2436b66d4c671c741c", + "source_alpha_bbox": [ + 52, + 24, + 207, + 232 + ], + "content_rect": [ + 1212, + 699, + 1316, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-3.png", + "source_sha256": "bf679aa2a6ee524087ed2ee26160cc4cda74a19832663b1107aad80993c3ed43", + "source_alpha_bbox": [ + 9, + 92, + 193, + 232 + ], + "content_rect": [ + 1320, + 704, + 1496, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-0.png", + "source_sha256": "c679208c7d7744d8c26be8364449377021c22fc586afc8ebdceae0c1a9e34c69", + "source_alpha_bbox": [ + 41, + 24, + 200, + 232 + ], + "content_rect": [ + 1502, + 709, + 1601, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/telegraph/frames/frame-3.png", + "source_sha256": "e14aebb8dfc9a3c4d6281b23a6bfebb210359912199d76931f0deabdb21e7402", + "source_alpha_bbox": [ + 112, + 36, + 277, + 348 + ], + "content_rect": [ + 1778, + 540, + 1938, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-5.png", + "source_sha256": "050393815f7489cd32d3d03345349816f6b4c5ece5b0e09c45831be5165503ca", + "source_alpha_bbox": [ + 57, + 24, + 208, + 232 + ], + "content_rect": [ + 154, + 702, + 257, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-3.png", + "source_sha256": "3ccb23b607b08be80f64298e586ea138c8c0aade2a9206b452450ad62a0f66b2", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 346, + 708, + 441, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-5.png", + "source_sha256": "050393815f7489cd32d3d03345349816f6b4c5ece5b0e09c45831be5165503ca", + "source_alpha_bbox": [ + 57, + 24, + 208, + 232 + ], + "content_rect": [ + 528, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-1.png", + "source_sha256": "789161d2180077c5fb2b7a8a690150b15486d5e0e53b04b610422500da6f27aa", + "source_alpha_bbox": [ + 40, + 24, + 187, + 232 + ], + "content_rect": [ + 720, + 702, + 820, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-3.png", + "source_sha256": "3ccb23b607b08be80f64298e586ea138c8c0aade2a9206b452450ad62a0f66b2", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 910, + 708, + 1005, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-3.png", + "source_sha256": "6193b3127be71296fca7add2f7b603ebf224004a3b9f36b3c35ba34de8683f6f", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 64, + 718, + 160, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-1.png", + "source_sha256": "b570ae04e020b6f3fb6d49f66744986aa0fff032a6a1f1e974b37eeef0e6506c", + "source_alpha_bbox": [ + 41, + 24, + 212, + 232 + ], + "content_rect": [ + 239, + 706, + 361, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-3.png", + "source_sha256": "725a3cda04c20bdec7741f359ea455661d98d4724bcdf1aff08e453e0ade33b2", + "source_alpha_bbox": [ + 67, + 24, + 224, + 232 + ], + "content_rect": [ + 434, + 712, + 541, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-3.png", + "source_sha256": "6193b3127be71296fca7add2f7b603ebf224004a3b9f36b3c35ba34de8683f6f", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 628, + 718, + 724, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-1.png", + "source_sha256": "b570ae04e020b6f3fb6d49f66744986aa0fff032a6a1f1e974b37eeef0e6506c", + "source_alpha_bbox": [ + 41, + 24, + 212, + 232 + ], + "content_rect": [ + 803, + 706, + 925, + 854 + ], + "content_height": 148 + } + ], + "sha256": "0b7a4a56132f82247ded1f21b4631a57c27fad031ba71d132a35c07aa23b6147" + }, + { + "frame": 4, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-0.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1165, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-3.png", + "source_sha256": "58d3379ad97ac15f1d3599daab42042e170dec579e21268d59f7c0eec15df3af", + "source_alpha_bbox": [ + 58, + 24, + 204, + 232 + ], + "content_rect": [ + 1314, + 625, + 1405, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-4.png", + "source_sha256": "c32a0ef3fefcfccfcca946aca19555f1edebb04dc3168d2d96c2c491ae0064a5", + "source_alpha_bbox": [ + 44, + 24, + 206, + 232 + ], + "content_rect": [ + 1456, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-3.png", + "source_sha256": "bf679aa2a6ee524087ed2ee26160cc4cda74a19832663b1107aad80993c3ed43", + "source_alpha_bbox": [ + 9, + 92, + 193, + 232 + ], + "content_rect": [ + 1556, + 615, + 1739, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-5.png", + "source_sha256": "654eaf1c33e2a05febbaa5df0ddb41dcb67202adc3a614a074a0de6daaf877ea", + "source_alpha_bbox": [ + 47, + 24, + 222, + 232 + ], + "content_rect": [ + 1114, + 667, + 1223, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-0.png", + "source_sha256": "c679208c7d7744d8c26be8364449377021c22fc586afc8ebdceae0c1a9e34c69", + "source_alpha_bbox": [ + 41, + 24, + 200, + 232 + ], + "content_rect": [ + 1264, + 672, + 1359, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-5.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1404, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-2.png", + "source_sha256": "49c254ff46c129ac0d0af6bd1fffcccb41b9c97504ff4d7dee42f45ed9b41467", + "source_alpha_bbox": [ + 40, + 24, + 218, + 232 + ], + "content_rect": [ + 1542, + 662, + 1657, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-4.png", + "source_sha256": "315802401dfe8d37a3772c3c7de2ed5854ed8a6a1655a0c052bbd07c7e93c215", + "source_alpha_bbox": [ + 37, + 24, + 220, + 232 + ], + "content_rect": [ + 1066, + 714, + 1175, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-7.png", + "source_sha256": "7a7c94a8664458d9fbde01d3cfc1ce9edd5c80a6d651133c1948816d7141c7dc", + "source_alpha_bbox": [ + 43, + 24, + 209, + 232 + ], + "content_rect": [ + 1208, + 699, + 1319, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-4.png", + "source_sha256": "13eb4dd4504cfc1dfe2a518e5c93209e4df61bfa10ea24501e6871d608a6565d", + "source_alpha_bbox": [ + 63, + 50, + 247, + 232 + ], + "content_rect": [ + 1340, + 704, + 1475, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-1.png", + "source_sha256": "e96dcc742cb16f98e4b08ae39822de0e00f0e66863084cf0afeff466eefc8221", + "source_alpha_bbox": [ + 37, + 51, + 221, + 232 + ], + "content_rect": [ + 1486, + 709, + 1617, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/telegraph/frames/frame-4.png", + "source_sha256": "a6381b90b51885b7660885affb766d2271f0792bbc1627bdd89bd2ff66bf4890", + "source_alpha_bbox": [ + 112, + 36, + 276, + 348 + ], + "content_rect": [ + 1778, + 540, + 1937, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-6.png", + "source_sha256": "9f911e373fa97140a3f398e3ce795ba929c0134c382d094f773e8ee87d8c7182", + "source_alpha_bbox": [ + 69, + 24, + 212, + 232 + ], + "content_rect": [ + 157, + 702, + 255, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-4.png", + "source_sha256": "a3bb8880d6f324e21d4fbb1b1786dce10027cd46d24232ae8cc1d0a9aa702b77", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 348, + 708, + 439, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-6.png", + "source_sha256": "9f911e373fa97140a3f398e3ce795ba929c0134c382d094f773e8ee87d8c7182", + "source_alpha_bbox": [ + 69, + 24, + 212, + 232 + ], + "content_rect": [ + 531, + 696, + 633, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-2.png", + "source_sha256": "b0f3fa9e499e22a2fee3ab4faaad45c162961f2df9c4f9f97dadbcf91fbcad3f", + "source_alpha_bbox": [ + 60, + 24, + 223, + 232 + ], + "content_rect": [ + 714, + 702, + 825, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-4.png", + "source_sha256": "a3bb8880d6f324e21d4fbb1b1786dce10027cd46d24232ae8cc1d0a9aa702b77", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 912, + 708, + 1003, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-0.png", + "source_sha256": "fbf58045e3046305be9ad6305e12c6381dec6b019865f13756f666040ce2d48a", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 64, + 718, + 160, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-2.png", + "source_sha256": "8fd5a8962a3d76d31cf995601670d33b357f53728c66ae02b7ee03604c5aec3e", + "source_alpha_bbox": [ + 44, + 24, + 222, + 232 + ], + "content_rect": [ + 236, + 706, + 363, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-4.png", + "source_sha256": "23f823171c9e9f92b2c43824ddd559c945a3e10dc8d7b35546c7a3d134204438", + "source_alpha_bbox": [ + 61, + 24, + 220, + 232 + ], + "content_rect": [ + 434, + 712, + 543, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-0.png", + "source_sha256": "fbf58045e3046305be9ad6305e12c6381dec6b019865f13756f666040ce2d48a", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 628, + 718, + 724, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-2.png", + "source_sha256": "8fd5a8962a3d76d31cf995601670d33b357f53728c66ae02b7ee03604c5aec3e", + "source_alpha_bbox": [ + 44, + 24, + 222, + 232 + ], + "content_rect": [ + 800, + 706, + 927, + 854 + ], + "content_height": 148 + } + ], + "sha256": "2e5eb303ed51f97e5bbdd22ef6cbd5f490476b42a4a80d6917fb8ad710571f02" + }, + { + "frame": 5, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-1.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1166, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-4.png", + "source_sha256": "315802401dfe8d37a3772c3c7de2ed5854ed8a6a1655a0c052bbd07c7e93c215", + "source_alpha_bbox": [ + 37, + 24, + 220, + 232 + ], + "content_rect": [ + 1304, + 625, + 1417, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-5.png", + "source_sha256": "392b40ffd8e8a3eb127d34fea19e0bf4d0c85b80d52834f46cfe7231d1a7b5a9", + "source_alpha_bbox": [ + 52, + 24, + 216, + 232 + ], + "content_rect": [ + 1455, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-4.png", + "source_sha256": "13eb4dd4504cfc1dfe2a518e5c93209e4df61bfa10ea24501e6871d608a6565d", + "source_alpha_bbox": [ + 63, + 50, + 247, + 232 + ], + "content_rect": [ + 1578, + 615, + 1719, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-0.png", + "source_sha256": "0c35e0e9f3fb3fcdd8433fec9b54bef40564a0ed9b15d6feb895e6b5baac0dbf", + "source_alpha_bbox": [ + 47, + 24, + 208, + 232 + ], + "content_rect": [ + 1118, + 667, + 1218, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-1.png", + "source_sha256": "e96dcc742cb16f98e4b08ae39822de0e00f0e66863084cf0afeff466eefc8221", + "source_alpha_bbox": [ + 37, + 51, + 221, + 232 + ], + "content_rect": [ + 1249, + 672, + 1375, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-0.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1403, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-3.png", + "source_sha256": "58d3379ad97ac15f1d3599daab42042e170dec579e21268d59f7c0eec15df3af", + "source_alpha_bbox": [ + 58, + 24, + 204, + 232 + ], + "content_rect": [ + 1553, + 662, + 1647, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-5.png", + "source_sha256": "529db5da4c14ebf4e7e1c8ad6e110e01e0f8688c2381de1485528604aa906f09", + "source_alpha_bbox": [ + 37, + 32, + 221, + 232 + ], + "content_rect": [ + 1063, + 714, + 1177, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-0.png", + "source_sha256": "db12c546a406c2a7084fb781507765056c59b6bc101acf6539387c55a0767934", + "source_alpha_bbox": [ + 42, + 24, + 198, + 232 + ], + "content_rect": [ + 1212, + 699, + 1316, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-5.png", + "source_sha256": "654eaf1c33e2a05febbaa5df0ddb41dcb67202adc3a614a074a0de6daaf877ea", + "source_alpha_bbox": [ + 47, + 24, + 222, + 232 + ], + "content_rect": [ + 1352, + 704, + 1465, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-2.png", + "source_sha256": "08a63f58c5278be758375f84e9da138b944bdeeec146b6ca7786de5576d53f30", + "source_alpha_bbox": [ + 40, + 24, + 224, + 232 + ], + "content_rect": [ + 1495, + 709, + 1609, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/telegraph/frames/frame-5.png", + "source_sha256": "f51c80bcee35409e2c6572d23e8b9ec2985d3ebacd77e82c3fa4b27f08520f22", + "source_alpha_bbox": [ + 120, + 36, + 278, + 348 + ], + "content_rect": [ + 1782, + 540, + 1935, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-7.png", + "source_sha256": "11e668f459783dda6c3ffd7d9d070c02e2ff903c1d03af4cbafec3a62603ba5f", + "source_alpha_bbox": [ + 52, + 24, + 200, + 232 + ], + "content_rect": [ + 156, + 702, + 257, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-5.png", + "source_sha256": "e05b9aab9f2e1e0ca0fb56b61bd339c4422eb590afdce73e3ed95c955d555ded", + "source_alpha_bbox": [ + 57, + 24, + 197, + 232 + ], + "content_rect": [ + 348, + 708, + 440, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-7.png", + "source_sha256": "11e668f459783dda6c3ffd7d9d070c02e2ff903c1d03af4cbafec3a62603ba5f", + "source_alpha_bbox": [ + 52, + 24, + 200, + 232 + ], + "content_rect": [ + 530, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-3.png", + "source_sha256": "428ae71db9f3c22f60d88b53c29cc028cc7076f80d511997c628df9e71eaa08d", + "source_alpha_bbox": [ + 51, + 24, + 199, + 232 + ], + "content_rect": [ + 720, + 702, + 821, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-5.png", + "source_sha256": "e05b9aab9f2e1e0ca0fb56b61bd339c4422eb590afdce73e3ed95c955d555ded", + "source_alpha_bbox": [ + 57, + 24, + 197, + 232 + ], + "content_rect": [ + 912, + 708, + 1004, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-1.png", + "source_sha256": "ab5957610be3a1e317e0c06dc9fd74461db745b62e07d0b43739b0cb0fe25b9e", + "source_alpha_bbox": [ + 46, + 24, + 192, + 232 + ], + "content_rect": [ + 64, + 718, + 159, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-3.png", + "source_sha256": "3da7ef4279685ac5daae8538973ebdf4708a7252cb2531f9c738fc6b73b50bf5", + "source_alpha_bbox": [ + 61, + 66, + 253, + 232 + ], + "content_rect": [ + 214, + 706, + 385, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-5.png", + "source_sha256": "6a34c0dff419423e530269fad3601d47d3d757e00be68b6b3569b64cfc3f37b8", + "source_alpha_bbox": [ + 58, + 24, + 239, + 232 + ], + "content_rect": [ + 426, + 712, + 550, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-1.png", + "source_sha256": "ab5957610be3a1e317e0c06dc9fd74461db745b62e07d0b43739b0cb0fe25b9e", + "source_alpha_bbox": [ + 46, + 24, + 192, + 232 + ], + "content_rect": [ + 628, + 718, + 723, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-3.png", + "source_sha256": "3da7ef4279685ac5daae8538973ebdf4708a7252cb2531f9c738fc6b73b50bf5", + "source_alpha_bbox": [ + 61, + 66, + 253, + 232 + ], + "content_rect": [ + 778, + 706, + 949, + 854 + ], + "content_height": 148 + } + ], + "sha256": "b855a8ac0fc8467d34874acc0ecbd043a90813bccf4d13067c272dbddba41f8a" + }, + { + "frame": 6, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-2.png", + "source_sha256": "ae3292dee152f608f8267a261bcfe9f92c0e2d258cde88357a3b7d877591e9f7", + "source_alpha_bbox": [ + 51, + 24, + 210, + 232 + ], + "content_rect": [ + 1165, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-5.png", + "source_sha256": "529db5da4c14ebf4e7e1c8ad6e110e01e0f8688c2381de1485528604aa906f09", + "source_alpha_bbox": [ + 37, + 32, + 221, + 232 + ], + "content_rect": [ + 1300, + 625, + 1419, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-6.png", + "source_sha256": "51d57d28bba42de37ae64739d974a2b483b73f4d7b405a2436b66d4c671c741c", + "source_alpha_bbox": [ + 52, + 24, + 207, + 232 + ], + "content_rect": [ + 1458, + 630, + 1550, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-5.png", + "source_sha256": "654eaf1c33e2a05febbaa5df0ddb41dcb67202adc3a614a074a0de6daaf877ea", + "source_alpha_bbox": [ + 47, + 24, + 222, + 232 + ], + "content_rect": [ + 1590, + 615, + 1707, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1107, + 667, + 1229, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-2.png", + "source_sha256": "08a63f58c5278be758375f84e9da138b944bdeeec146b6ca7786de5576d53f30", + "source_alpha_bbox": [ + 40, + 24, + 224, + 232 + ], + "content_rect": [ + 1257, + 672, + 1367, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-1.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1404, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-4.png", + "source_sha256": "315802401dfe8d37a3772c3c7de2ed5854ed8a6a1655a0c052bbd07c7e93c215", + "source_alpha_bbox": [ + 37, + 24, + 220, + 232 + ], + "content_rect": [ + 1541, + 662, + 1659, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1071, + 714, + 1169, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-1.png", + "source_sha256": "0f7ced5832d819991ca686ddbf58bbbfd805ebca43c9e538d46428fea485ddca", + "source_alpha_bbox": [ + 42, + 24, + 206, + 232 + ], + "content_rect": [ + 1209, + 699, + 1319, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-0.png", + "source_sha256": "0c35e0e9f3fb3fcdd8433fec9b54bef40564a0ed9b15d6feb895e6b5baac0dbf", + "source_alpha_bbox": [ + 47, + 24, + 208, + 232 + ], + "content_rect": [ + 1356, + 704, + 1460, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-3.png", + "source_sha256": "2683c5cf3d27699b084c8528d86b3d2ac775d30029c78834b45b30bd620da693", + "source_alpha_bbox": [ + 40, + 24, + 200, + 232 + ], + "content_rect": [ + 1502, + 709, + 1601, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/telegraph/frames/frame-6.png", + "source_sha256": "43fc16831400352912f5f51bca677c7971ca9fe7c28f89c05a0385058e7bc37f", + "source_alpha_bbox": [ + 112, + 36, + 286, + 348 + ], + "content_rect": [ + 1774, + 540, + 1942, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-0.png", + "source_sha256": "843529741b006201c24cc7bcedee8545da82f384564772043ab7d2b4b17be8e8", + "source_alpha_bbox": [ + 51, + 24, + 198, + 232 + ], + "content_rect": [ + 156, + 702, + 256, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-0.png", + "source_sha256": "8b4154ad9b311d9b51a2c68fe0a88b8d9bbfd1c866b7fc927fdec2a5e8c5be78", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 346, + 708, + 441, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-0.png", + "source_sha256": "843529741b006201c24cc7bcedee8545da82f384564772043ab7d2b4b17be8e8", + "source_alpha_bbox": [ + 51, + 24, + 198, + 232 + ], + "content_rect": [ + 530, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-0.png", + "source_sha256": "1ebfa7425223606d3f0042fd742f3e982fb21004fa0cfd7d5b698916ec5d37da", + "source_alpha_bbox": [ + 51, + 24, + 199, + 232 + ], + "content_rect": [ + 720, + 702, + 821, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-0.png", + "source_sha256": "8b4154ad9b311d9b51a2c68fe0a88b8d9bbfd1c866b7fc927fdec2a5e8c5be78", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 910, + 708, + 1005, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-2.png", + "source_sha256": "1742d94e056a3399b52b4155ae1562bde5570bb9d80ae108511cb5438935d21f", + "source_alpha_bbox": [ + 59, + 24, + 195, + 232 + ], + "content_rect": [ + 68, + 718, + 157, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-4.png", + "source_sha256": "166243f926e4e1dd56a04cd2db44c3e9888a03d97093a82a63c36064f704f692", + "source_alpha_bbox": [ + 34, + 50, + 226, + 232 + ], + "content_rect": [ + 222, + 706, + 378, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-6.png", + "source_sha256": "0092f018d5e2ff5709949c7c89c8657945a66158ab7fcc3cc7a654427167a57c", + "source_alpha_bbox": [ + 51, + 24, + 221, + 232 + ], + "content_rect": [ + 430, + 712, + 546, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-2.png", + "source_sha256": "1742d94e056a3399b52b4155ae1562bde5570bb9d80ae108511cb5438935d21f", + "source_alpha_bbox": [ + 59, + 24, + 195, + 232 + ], + "content_rect": [ + 632, + 718, + 721, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-4.png", + "source_sha256": "166243f926e4e1dd56a04cd2db44c3e9888a03d97093a82a63c36064f704f692", + "source_alpha_bbox": [ + 34, + 50, + 226, + 232 + ], + "content_rect": [ + 786, + 706, + 942, + 854 + ], + "content_height": 148 + } + ], + "sha256": "af3d0289c5c38855d022f1b92d3bd2eef22e9278a5bc6600776e7051624fceb6" + }, + { + "frame": 7, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-3.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1166, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1309, + 625, + 1411, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-7.png", + "source_sha256": "7a7c94a8664458d9fbde01d3cfc1ce9edd5c80a6d651133c1948816d7141c7dc", + "source_alpha_bbox": [ + 43, + 24, + 209, + 232 + ], + "content_rect": [ + 1454, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-0.png", + "source_sha256": "0c35e0e9f3fb3fcdd8433fec9b54bef40564a0ed9b15d6feb895e6b5baac0dbf", + "source_alpha_bbox": [ + 47, + 24, + 208, + 232 + ], + "content_rect": [ + 1594, + 615, + 1702, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1088, + 667, + 1248, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-3.png", + "source_sha256": "2683c5cf3d27699b084c8528d86b3d2ac775d30029c78834b45b30bd620da693", + "source_alpha_bbox": [ + 40, + 24, + 200, + 232 + ], + "content_rect": [ + 1264, + 672, + 1359, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-2.png", + "source_sha256": "ae3292dee152f608f8267a261bcfe9f92c0e2d258cde88357a3b7d877591e9f7", + "source_alpha_bbox": [ + 51, + 24, + 210, + 232 + ], + "content_rect": [ + 1403, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-5.png", + "source_sha256": "529db5da4c14ebf4e7e1c8ad6e110e01e0f8688c2381de1485528604aa906f09", + "source_alpha_bbox": [ + 37, + 32, + 221, + 232 + ], + "content_rect": [ + 1538, + 662, + 1661, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1059, + 714, + 1181, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-2.png", + "source_sha256": "3993c4333764233cb6080ee6b018c153fdb9a522cd2befe9a48a02bbefa9d6d4", + "source_alpha_bbox": [ + 21, + 24, + 187, + 232 + ], + "content_rect": [ + 1208, + 699, + 1319, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1345, + 704, + 1471, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-0.png", + "source_sha256": "c679208c7d7744d8c26be8364449377021c22fc586afc8ebdceae0c1a9e34c69", + "source_alpha_bbox": [ + 41, + 24, + 200, + 232 + ], + "content_rect": [ + 1502, + 709, + 1601, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/telegraph/frames/frame-7.png", + "source_sha256": "f51c80bcee35409e2c6572d23e8b9ec2985d3ebacd77e82c3fa4b27f08520f22", + "source_alpha_bbox": [ + 120, + 36, + 278, + 348 + ], + "content_rect": [ + 1782, + 540, + 1935, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-1.png", + "source_sha256": "cfb822896b3ef93afc154241cb30030202f93d8b750a8c46b9d2c807bcdd5324", + "source_alpha_bbox": [ + 52, + 24, + 211, + 232 + ], + "content_rect": [ + 152, + 702, + 261, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-1.png", + "source_sha256": "1171faa3fa1997f2893c322204ffb52d55e65c2645ed32736472f0cfbfbad53d", + "source_alpha_bbox": [ + 58, + 24, + 196, + 232 + ], + "content_rect": [ + 349, + 708, + 439, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-1.png", + "source_sha256": "cfb822896b3ef93afc154241cb30030202f93d8b750a8c46b9d2c807bcdd5324", + "source_alpha_bbox": [ + 52, + 24, + 211, + 232 + ], + "content_rect": [ + 526, + 696, + 639, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-1.png", + "source_sha256": "789161d2180077c5fb2b7a8a690150b15486d5e0e53b04b610422500da6f27aa", + "source_alpha_bbox": [ + 40, + 24, + 187, + 232 + ], + "content_rect": [ + 720, + 702, + 820, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-1.png", + "source_sha256": "1171faa3fa1997f2893c322204ffb52d55e65c2645ed32736472f0cfbfbad53d", + "source_alpha_bbox": [ + 58, + 24, + 196, + 232 + ], + "content_rect": [ + 913, + 708, + 1003, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-3.png", + "source_sha256": "6193b3127be71296fca7add2f7b603ebf224004a3b9f36b3c35ba34de8683f6f", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 64, + 718, + 160, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-5.png", + "source_sha256": "38818691bed19c30017527efcebb51504291b6a2506cbdda7fc79bf60df20b4c", + "source_alpha_bbox": [ + 53, + 24, + 200, + 232 + ], + "content_rect": [ + 248, + 706, + 353, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-7.png", + "source_sha256": "a64c790f1a9712740904dfb890df9b8479bace01570d161af4c3bf1395f121b1", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 438, + 712, + 538, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-3.png", + "source_sha256": "6193b3127be71296fca7add2f7b603ebf224004a3b9f36b3c35ba34de8683f6f", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 628, + 718, + 724, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-5.png", + "source_sha256": "38818691bed19c30017527efcebb51504291b6a2506cbdda7fc79bf60df20b4c", + "source_alpha_bbox": [ + 53, + 24, + 200, + 232 + ], + "content_rect": [ + 812, + 706, + 917, + 854 + ], + "content_height": 148 + } + ], + "sha256": "785ec63e77b222b1bc6f781c1b7b84e6c52932e0425b8ed8b81e4271d78da959" + }, + { + "frame": 8, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-4.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1165, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1296, + 625, + 1423, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-0.png", + "source_sha256": "db12c546a406c2a7084fb781507765056c59b6bc101acf6539387c55a0767934", + "source_alpha_bbox": [ + 42, + 24, + 198, + 232 + ], + "content_rect": [ + 1458, + 630, + 1551, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1582, + 615, + 1713, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-3.png", + "source_sha256": "bf679aa2a6ee524087ed2ee26160cc4cda74a19832663b1107aad80993c3ed43", + "source_alpha_bbox": [ + 9, + 92, + 193, + 232 + ], + "content_rect": [ + 1083, + 667, + 1253, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-0.png", + "source_sha256": "c679208c7d7744d8c26be8364449377021c22fc586afc8ebdceae0c1a9e34c69", + "source_alpha_bbox": [ + 41, + 24, + 200, + 232 + ], + "content_rect": [ + 1264, + 672, + 1359, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-3.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1404, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1547, + 662, + 1653, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-2.png", + "source_sha256": "49c254ff46c129ac0d0af6bd1fffcccb41b9c97504ff4d7dee42f45ed9b41467", + "source_alpha_bbox": [ + 40, + 24, + 218, + 232 + ], + "content_rect": [ + 1067, + 714, + 1173, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-3.png", + "source_sha256": "e5eb2d28e07fb1177d129dc86654bcc79562eca9011dd89fc59cba1408b1aec6", + "source_alpha_bbox": [ + 29, + 26, + 213, + 232 + ], + "content_rect": [ + 1202, + 699, + 1326, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1324, + 704, + 1491, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-1.png", + "source_sha256": "e96dcc742cb16f98e4b08ae39822de0e00f0e66863084cf0afeff466eefc8221", + "source_alpha_bbox": [ + 37, + 51, + 221, + 232 + ], + "content_rect": [ + 1486, + 709, + 1617, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/attack/frames/frame-0.png", + "source_sha256": "959fc6a195086d2805d5a23f218e992258875f4fb818d38fbecb329bc807bf22", + "source_alpha_bbox": [ + 120, + 36, + 278, + 348 + ], + "content_rect": [ + 1782, + 540, + 1935, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-2.png", + "source_sha256": "91b3bd25e6d2647e160653236c4ddeb11a92b6372b124a58436181b675a7e9e0", + "source_alpha_bbox": [ + 58, + 24, + 209, + 232 + ], + "content_rect": [ + 154, + 702, + 257, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-2.png", + "source_sha256": "411187fa79fb8c3febb84e4b98cf773bd9c934f8e0d727427c7d06e1abc5bfc0", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 348, + 708, + 439, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-2.png", + "source_sha256": "91b3bd25e6d2647e160653236c4ddeb11a92b6372b124a58436181b675a7e9e0", + "source_alpha_bbox": [ + 58, + 24, + 209, + 232 + ], + "content_rect": [ + 528, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-2.png", + "source_sha256": "b0f3fa9e499e22a2fee3ab4faaad45c162961f2df9c4f9f97dadbcf91fbcad3f", + "source_alpha_bbox": [ + 60, + 24, + 223, + 232 + ], + "content_rect": [ + 714, + 702, + 825, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-2.png", + "source_sha256": "411187fa79fb8c3febb84e4b98cf773bd9c934f8e0d727427c7d06e1abc5bfc0", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 912, + 708, + 1003, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-0.png", + "source_sha256": "fbf58045e3046305be9ad6305e12c6381dec6b019865f13756f666040ce2d48a", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 64, + 718, + 160, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-0.png", + "source_sha256": "01690dce426e3517c04a03259b3205aab6092bbdc30a2b493cd0a2754261dc3b", + "source_alpha_bbox": [ + 50, + 24, + 200, + 232 + ], + "content_rect": [ + 246, + 706, + 353, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-0.png", + "source_sha256": "751ad880e9c78dafe35a942fb9fe731d02fbb16aec95f387465ed52bacfd58b2", + "source_alpha_bbox": [ + 53, + 24, + 198, + 232 + ], + "content_rect": [ + 438, + 712, + 537, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-0.png", + "source_sha256": "fbf58045e3046305be9ad6305e12c6381dec6b019865f13756f666040ce2d48a", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 628, + 718, + 724, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-0.png", + "source_sha256": "01690dce426e3517c04a03259b3205aab6092bbdc30a2b493cd0a2754261dc3b", + "source_alpha_bbox": [ + 50, + 24, + 200, + 232 + ], + "content_rect": [ + 810, + 706, + 917, + 854 + ], + "content_height": 148 + } + ], + "sha256": "eba64078d27757d1ee2fd20338e42d7e4b835a5e33f48439c6c57e0cb14e5ffe" + }, + { + "frame": 9, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-5.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1166, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-2.png", + "source_sha256": "49c254ff46c129ac0d0af6bd1fffcccb41b9c97504ff4d7dee42f45ed9b41467", + "source_alpha_bbox": [ + 40, + 24, + 218, + 232 + ], + "content_rect": [ + 1305, + 625, + 1415, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-1.png", + "source_sha256": "0f7ced5832d819991ca686ddbf58bbbfd805ebca43c9e538d46428fea485ddca", + "source_alpha_bbox": [ + 42, + 24, + 206, + 232 + ], + "content_rect": [ + 1455, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1562, + 615, + 1735, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-4.png", + "source_sha256": "13eb4dd4504cfc1dfe2a518e5c93209e4df61bfa10ea24501e6871d608a6565d", + "source_alpha_bbox": [ + 63, + 50, + 247, + 232 + ], + "content_rect": [ + 1103, + 667, + 1233, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-1.png", + "source_sha256": "e96dcc742cb16f98e4b08ae39822de0e00f0e66863084cf0afeff466eefc8221", + "source_alpha_bbox": [ + 37, + 51, + 221, + 232 + ], + "content_rect": [ + 1249, + 672, + 1375, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-4.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1403, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1534, + 662, + 1666, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-3.png", + "source_sha256": "58d3379ad97ac15f1d3599daab42042e170dec579e21268d59f7c0eec15df3af", + "source_alpha_bbox": [ + 58, + 24, + 204, + 232 + ], + "content_rect": [ + 1076, + 714, + 1163, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-4.png", + "source_sha256": "c32a0ef3fefcfccfcca946aca19555f1edebb04dc3168d2d96c2c491ae0064a5", + "source_alpha_bbox": [ + 44, + 24, + 206, + 232 + ], + "content_rect": [ + 1210, + 699, + 1318, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-3.png", + "source_sha256": "bf679aa2a6ee524087ed2ee26160cc4cda74a19832663b1107aad80993c3ed43", + "source_alpha_bbox": [ + 9, + 92, + 193, + 232 + ], + "content_rect": [ + 1320, + 704, + 1496, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-2.png", + "source_sha256": "08a63f58c5278be758375f84e9da138b944bdeeec146b6ca7786de5576d53f30", + "source_alpha_bbox": [ + 40, + 24, + 224, + 232 + ], + "content_rect": [ + 1495, + 709, + 1609, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/attack/frames/frame-1.png", + "source_sha256": "0e5b44e8559c05d40ac399899b7c1e81594bc813a702a148e70cd74af6f82efd", + "source_alpha_bbox": [ + 11, + 119, + 299, + 348 + ], + "content_rect": [ + 1668, + 540, + 2048, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-3.png", + "source_sha256": "d4dc97c3b741cf2ceecca2c444a1ebf9dc1a822b967589f4c43bf23318b0adda", + "source_alpha_bbox": [ + 58, + 24, + 207, + 232 + ], + "content_rect": [ + 155, + 702, + 257, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-3.png", + "source_sha256": "3ccb23b607b08be80f64298e586ea138c8c0aade2a9206b452450ad62a0f66b2", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 346, + 708, + 441, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-3.png", + "source_sha256": "d4dc97c3b741cf2ceecca2c444a1ebf9dc1a822b967589f4c43bf23318b0adda", + "source_alpha_bbox": [ + 58, + 24, + 207, + 232 + ], + "content_rect": [ + 529, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-3.png", + "source_sha256": "428ae71db9f3c22f60d88b53c29cc028cc7076f80d511997c628df9e71eaa08d", + "source_alpha_bbox": [ + 51, + 24, + 199, + 232 + ], + "content_rect": [ + 720, + 702, + 821, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-3.png", + "source_sha256": "3ccb23b607b08be80f64298e586ea138c8c0aade2a9206b452450ad62a0f66b2", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 910, + 708, + 1005, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-1.png", + "source_sha256": "ab5957610be3a1e317e0c06dc9fd74461db745b62e07d0b43739b0cb0fe25b9e", + "source_alpha_bbox": [ + 46, + 24, + 192, + 232 + ], + "content_rect": [ + 64, + 718, + 159, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-1.png", + "source_sha256": "b570ae04e020b6f3fb6d49f66744986aa0fff032a6a1f1e974b37eeef0e6506c", + "source_alpha_bbox": [ + 41, + 24, + 212, + 232 + ], + "content_rect": [ + 239, + 706, + 361, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-1.png", + "source_sha256": "eb07bddab7bf20d4513c5195dd135483693c4902e025e3c374fa7b3e141e0f72", + "source_alpha_bbox": [ + 67, + 24, + 206, + 232 + ], + "content_rect": [ + 440, + 712, + 535, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-1.png", + "source_sha256": "ab5957610be3a1e317e0c06dc9fd74461db745b62e07d0b43739b0cb0fe25b9e", + "source_alpha_bbox": [ + 46, + 24, + 192, + 232 + ], + "content_rect": [ + 628, + 718, + 723, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-1.png", + "source_sha256": "b570ae04e020b6f3fb6d49f66744986aa0fff032a6a1f1e974b37eeef0e6506c", + "source_alpha_bbox": [ + 41, + 24, + 212, + 232 + ], + "content_rect": [ + 803, + 706, + 925, + 854 + ], + "content_height": 148 + } + ], + "sha256": "66acba2fc490c27c498e76bd9cdad3c3585a6afede0d3fb9b2d3902e47bfd4f0" + }, + { + "frame": 10, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-0.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1165, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-3.png", + "source_sha256": "58d3379ad97ac15f1d3599daab42042e170dec579e21268d59f7c0eec15df3af", + "source_alpha_bbox": [ + 58, + 24, + 204, + 232 + ], + "content_rect": [ + 1314, + 625, + 1405, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-2.png", + "source_sha256": "3993c4333764233cb6080ee6b018c153fdb9a522cd2befe9a48a02bbefa9d6d4", + "source_alpha_bbox": [ + 21, + 24, + 187, + 232 + ], + "content_rect": [ + 1454, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-3.png", + "source_sha256": "bf679aa2a6ee524087ed2ee26160cc4cda74a19832663b1107aad80993c3ed43", + "source_alpha_bbox": [ + 9, + 92, + 193, + 232 + ], + "content_rect": [ + 1556, + 615, + 1739, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-5.png", + "source_sha256": "654eaf1c33e2a05febbaa5df0ddb41dcb67202adc3a614a074a0de6daaf877ea", + "source_alpha_bbox": [ + 47, + 24, + 222, + 232 + ], + "content_rect": [ + 1114, + 667, + 1223, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-2.png", + "source_sha256": "08a63f58c5278be758375f84e9da138b944bdeeec146b6ca7786de5576d53f30", + "source_alpha_bbox": [ + 40, + 24, + 224, + 232 + ], + "content_rect": [ + 1257, + 672, + 1367, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-5.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1404, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-2.png", + "source_sha256": "49c254ff46c129ac0d0af6bd1fffcccb41b9c97504ff4d7dee42f45ed9b41467", + "source_alpha_bbox": [ + 40, + 24, + 218, + 232 + ], + "content_rect": [ + 1542, + 662, + 1657, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-4.png", + "source_sha256": "315802401dfe8d37a3772c3c7de2ed5854ed8a6a1655a0c052bbd07c7e93c215", + "source_alpha_bbox": [ + 37, + 24, + 220, + 232 + ], + "content_rect": [ + 1066, + 714, + 1175, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-5.png", + "source_sha256": "392b40ffd8e8a3eb127d34fea19e0bf4d0c85b80d52834f46cfe7231d1a7b5a9", + "source_alpha_bbox": [ + 52, + 24, + 216, + 232 + ], + "content_rect": [ + 1209, + 699, + 1319, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-4.png", + "source_sha256": "13eb4dd4504cfc1dfe2a518e5c93209e4df61bfa10ea24501e6871d608a6565d", + "source_alpha_bbox": [ + 63, + 50, + 247, + 232 + ], + "content_rect": [ + 1340, + 704, + 1475, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-3.png", + "source_sha256": "2683c5cf3d27699b084c8528d86b3d2ac775d30029c78834b45b30bd620da693", + "source_alpha_bbox": [ + 40, + 24, + 200, + 232 + ], + "content_rect": [ + 1502, + 709, + 1601, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/attack/frames/frame-2.png", + "source_sha256": "8b990b6c61693c52cc868b2e98719be8dacc5e5cb0bb2694857ef66976d74575", + "source_alpha_bbox": [ + 11, + 117, + 299, + 348 + ], + "content_rect": [ + 1670, + 540, + 2047, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-4.png", + "source_sha256": "a33a1c1068a5d26956309b80583bba341c773d152941370da34eb91cb185c343", + "source_alpha_bbox": [ + 43, + 24, + 200, + 232 + ], + "content_rect": [ + 152, + 702, + 259, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-4.png", + "source_sha256": "a3bb8880d6f324e21d4fbb1b1786dce10027cd46d24232ae8cc1d0a9aa702b77", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 348, + 708, + 439, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-4.png", + "source_sha256": "a33a1c1068a5d26956309b80583bba341c773d152941370da34eb91cb185c343", + "source_alpha_bbox": [ + 43, + 24, + 200, + 232 + ], + "content_rect": [ + 526, + 696, + 638, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-0.png", + "source_sha256": "1ebfa7425223606d3f0042fd742f3e982fb21004fa0cfd7d5b698916ec5d37da", + "source_alpha_bbox": [ + 51, + 24, + 199, + 232 + ], + "content_rect": [ + 720, + 702, + 821, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-4.png", + "source_sha256": "a3bb8880d6f324e21d4fbb1b1786dce10027cd46d24232ae8cc1d0a9aa702b77", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 912, + 708, + 1003, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-2.png", + "source_sha256": "1742d94e056a3399b52b4155ae1562bde5570bb9d80ae108511cb5438935d21f", + "source_alpha_bbox": [ + 59, + 24, + 195, + 232 + ], + "content_rect": [ + 68, + 718, + 157, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-2.png", + "source_sha256": "8fd5a8962a3d76d31cf995601670d33b357f53728c66ae02b7ee03604c5aec3e", + "source_alpha_bbox": [ + 44, + 24, + 222, + 232 + ], + "content_rect": [ + 236, + 706, + 363, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-2.png", + "source_sha256": "05d3fe3da6903153691f20db3ca8cc9039df8d05a285f8b4cdfb4233201b6357", + "source_alpha_bbox": [ + 68, + 24, + 210, + 232 + ], + "content_rect": [ + 440, + 712, + 537, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-2.png", + "source_sha256": "1742d94e056a3399b52b4155ae1562bde5570bb9d80ae108511cb5438935d21f", + "source_alpha_bbox": [ + 59, + 24, + 195, + 232 + ], + "content_rect": [ + 632, + 718, + 721, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-2.png", + "source_sha256": "8fd5a8962a3d76d31cf995601670d33b357f53728c66ae02b7ee03604c5aec3e", + "source_alpha_bbox": [ + 44, + 24, + 222, + 232 + ], + "content_rect": [ + 800, + 706, + 927, + 854 + ], + "content_height": 148 + } + ], + "sha256": "d9618bab3cc559555f85780fa7b63454c7192b3dd7c23e6f4d349471f2cef58a" + }, + { + "frame": 11, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-1.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1166, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-4.png", + "source_sha256": "315802401dfe8d37a3772c3c7de2ed5854ed8a6a1655a0c052bbd07c7e93c215", + "source_alpha_bbox": [ + 37, + 24, + 220, + 232 + ], + "content_rect": [ + 1304, + 625, + 1417, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-3.png", + "source_sha256": "e5eb2d28e07fb1177d129dc86654bcc79562eca9011dd89fc59cba1408b1aec6", + "source_alpha_bbox": [ + 29, + 26, + 213, + 232 + ], + "content_rect": [ + 1448, + 630, + 1559, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-4.png", + "source_sha256": "13eb4dd4504cfc1dfe2a518e5c93209e4df61bfa10ea24501e6871d608a6565d", + "source_alpha_bbox": [ + 63, + 50, + 247, + 232 + ], + "content_rect": [ + 1578, + 615, + 1719, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-0.png", + "source_sha256": "0c35e0e9f3fb3fcdd8433fec9b54bef40564a0ed9b15d6feb895e6b5baac0dbf", + "source_alpha_bbox": [ + 47, + 24, + 208, + 232 + ], + "content_rect": [ + 1118, + 667, + 1218, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-3.png", + "source_sha256": "2683c5cf3d27699b084c8528d86b3d2ac775d30029c78834b45b30bd620da693", + "source_alpha_bbox": [ + 40, + 24, + 200, + 232 + ], + "content_rect": [ + 1264, + 672, + 1359, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-0.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1403, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-3.png", + "source_sha256": "58d3379ad97ac15f1d3599daab42042e170dec579e21268d59f7c0eec15df3af", + "source_alpha_bbox": [ + 58, + 24, + 204, + 232 + ], + "content_rect": [ + 1553, + 662, + 1647, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-5.png", + "source_sha256": "529db5da4c14ebf4e7e1c8ad6e110e01e0f8688c2381de1485528604aa906f09", + "source_alpha_bbox": [ + 37, + 32, + 221, + 232 + ], + "content_rect": [ + 1063, + 714, + 1177, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-6.png", + "source_sha256": "51d57d28bba42de37ae64739d974a2b483b73f4d7b405a2436b66d4c671c741c", + "source_alpha_bbox": [ + 52, + 24, + 207, + 232 + ], + "content_rect": [ + 1212, + 699, + 1316, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-5.png", + "source_sha256": "654eaf1c33e2a05febbaa5df0ddb41dcb67202adc3a614a074a0de6daaf877ea", + "source_alpha_bbox": [ + 47, + 24, + 222, + 232 + ], + "content_rect": [ + 1352, + 704, + 1465, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-0.png", + "source_sha256": "c679208c7d7744d8c26be8364449377021c22fc586afc8ebdceae0c1a9e34c69", + "source_alpha_bbox": [ + 41, + 24, + 200, + 232 + ], + "content_rect": [ + 1502, + 709, + 1601, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/attack/frames/frame-3.png", + "source_sha256": "9e02ebbb3b3342ee20d8eaacd89dcd2775c7e3e4fe0cea026572225bd24eb23e", + "source_alpha_bbox": [ + 67, + 87, + 355, + 348 + ], + "content_rect": [ + 1692, + 540, + 2025, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-5.png", + "source_sha256": "050393815f7489cd32d3d03345349816f6b4c5ece5b0e09c45831be5165503ca", + "source_alpha_bbox": [ + 57, + 24, + 208, + 232 + ], + "content_rect": [ + 154, + 702, + 257, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-5.png", + "source_sha256": "e05b9aab9f2e1e0ca0fb56b61bd339c4422eb590afdce73e3ed95c955d555ded", + "source_alpha_bbox": [ + 57, + 24, + 197, + 232 + ], + "content_rect": [ + 348, + 708, + 440, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-5.png", + "source_sha256": "050393815f7489cd32d3d03345349816f6b4c5ece5b0e09c45831be5165503ca", + "source_alpha_bbox": [ + 57, + 24, + 208, + 232 + ], + "content_rect": [ + 528, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-1.png", + "source_sha256": "789161d2180077c5fb2b7a8a690150b15486d5e0e53b04b610422500da6f27aa", + "source_alpha_bbox": [ + 40, + 24, + 187, + 232 + ], + "content_rect": [ + 720, + 702, + 820, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-5.png", + "source_sha256": "e05b9aab9f2e1e0ca0fb56b61bd339c4422eb590afdce73e3ed95c955d555ded", + "source_alpha_bbox": [ + 57, + 24, + 197, + 232 + ], + "content_rect": [ + 912, + 708, + 1004, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-3.png", + "source_sha256": "6193b3127be71296fca7add2f7b603ebf224004a3b9f36b3c35ba34de8683f6f", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 64, + 718, + 160, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-3.png", + "source_sha256": "3da7ef4279685ac5daae8538973ebdf4708a7252cb2531f9c738fc6b73b50bf5", + "source_alpha_bbox": [ + 61, + 66, + 253, + 232 + ], + "content_rect": [ + 214, + 706, + 385, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-3.png", + "source_sha256": "725a3cda04c20bdec7741f359ea455661d98d4724bcdf1aff08e453e0ade33b2", + "source_alpha_bbox": [ + 67, + 24, + 224, + 232 + ], + "content_rect": [ + 434, + 712, + 541, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-3.png", + "source_sha256": "6193b3127be71296fca7add2f7b603ebf224004a3b9f36b3c35ba34de8683f6f", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 628, + 718, + 724, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-3.png", + "source_sha256": "3da7ef4279685ac5daae8538973ebdf4708a7252cb2531f9c738fc6b73b50bf5", + "source_alpha_bbox": [ + 61, + 66, + 253, + 232 + ], + "content_rect": [ + 778, + 706, + 949, + 854 + ], + "content_height": 148 + } + ], + "sha256": "05fb1331cab2b610cc1ddb524c5c49e8a680ceb669bb1bf767b8cc10ec192bee" + }, + { + "frame": 12, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-2.png", + "source_sha256": "ae3292dee152f608f8267a261bcfe9f92c0e2d258cde88357a3b7d877591e9f7", + "source_alpha_bbox": [ + 51, + 24, + 210, + 232 + ], + "content_rect": [ + 1165, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-5.png", + "source_sha256": "529db5da4c14ebf4e7e1c8ad6e110e01e0f8688c2381de1485528604aa906f09", + "source_alpha_bbox": [ + 37, + 32, + 221, + 232 + ], + "content_rect": [ + 1300, + 625, + 1419, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-4.png", + "source_sha256": "c32a0ef3fefcfccfcca946aca19555f1edebb04dc3168d2d96c2c491ae0064a5", + "source_alpha_bbox": [ + 44, + 24, + 206, + 232 + ], + "content_rect": [ + 1456, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-5.png", + "source_sha256": "654eaf1c33e2a05febbaa5df0ddb41dcb67202adc3a614a074a0de6daaf877ea", + "source_alpha_bbox": [ + 47, + 24, + 222, + 232 + ], + "content_rect": [ + 1590, + 615, + 1707, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1107, + 667, + 1229, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-0.png", + "source_sha256": "c679208c7d7744d8c26be8364449377021c22fc586afc8ebdceae0c1a9e34c69", + "source_alpha_bbox": [ + 41, + 24, + 200, + 232 + ], + "content_rect": [ + 1264, + 672, + 1359, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-1.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1404, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-4.png", + "source_sha256": "315802401dfe8d37a3772c3c7de2ed5854ed8a6a1655a0c052bbd07c7e93c215", + "source_alpha_bbox": [ + 37, + 24, + 220, + 232 + ], + "content_rect": [ + 1541, + 662, + 1659, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1071, + 714, + 1169, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-7.png", + "source_sha256": "7a7c94a8664458d9fbde01d3cfc1ce9edd5c80a6d651133c1948816d7141c7dc", + "source_alpha_bbox": [ + 43, + 24, + 209, + 232 + ], + "content_rect": [ + 1208, + 699, + 1319, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-0.png", + "source_sha256": "0c35e0e9f3fb3fcdd8433fec9b54bef40564a0ed9b15d6feb895e6b5baac0dbf", + "source_alpha_bbox": [ + 47, + 24, + 208, + 232 + ], + "content_rect": [ + 1356, + 704, + 1460, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-1.png", + "source_sha256": "e96dcc742cb16f98e4b08ae39822de0e00f0e66863084cf0afeff466eefc8221", + "source_alpha_bbox": [ + 37, + 51, + 221, + 232 + ], + "content_rect": [ + 1486, + 709, + 1617, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/attack/frames/frame-4.png", + "source_sha256": "a547fa3878ee32629767163837b2fac3fd79eb720bf471a5042159f0d63fd87d", + "source_alpha_bbox": [ + 66, + 73, + 354, + 348 + ], + "content_rect": [ + 1700, + 540, + 2016, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-6.png", + "source_sha256": "9f911e373fa97140a3f398e3ce795ba929c0134c382d094f773e8ee87d8c7182", + "source_alpha_bbox": [ + 69, + 24, + 212, + 232 + ], + "content_rect": [ + 157, + 702, + 255, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-0.png", + "source_sha256": "8b4154ad9b311d9b51a2c68fe0a88b8d9bbfd1c866b7fc927fdec2a5e8c5be78", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 346, + 708, + 441, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-6.png", + "source_sha256": "9f911e373fa97140a3f398e3ce795ba929c0134c382d094f773e8ee87d8c7182", + "source_alpha_bbox": [ + 69, + 24, + 212, + 232 + ], + "content_rect": [ + 531, + 696, + 633, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-2.png", + "source_sha256": "b0f3fa9e499e22a2fee3ab4faaad45c162961f2df9c4f9f97dadbcf91fbcad3f", + "source_alpha_bbox": [ + 60, + 24, + 223, + 232 + ], + "content_rect": [ + 714, + 702, + 825, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-0.png", + "source_sha256": "8b4154ad9b311d9b51a2c68fe0a88b8d9bbfd1c866b7fc927fdec2a5e8c5be78", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 910, + 708, + 1005, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-0.png", + "source_sha256": "fbf58045e3046305be9ad6305e12c6381dec6b019865f13756f666040ce2d48a", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 64, + 718, + 160, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-4.png", + "source_sha256": "166243f926e4e1dd56a04cd2db44c3e9888a03d97093a82a63c36064f704f692", + "source_alpha_bbox": [ + 34, + 50, + 226, + 232 + ], + "content_rect": [ + 222, + 706, + 378, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-4.png", + "source_sha256": "23f823171c9e9f92b2c43824ddd559c945a3e10dc8d7b35546c7a3d134204438", + "source_alpha_bbox": [ + 61, + 24, + 220, + 232 + ], + "content_rect": [ + 434, + 712, + 543, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-0.png", + "source_sha256": "fbf58045e3046305be9ad6305e12c6381dec6b019865f13756f666040ce2d48a", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 628, + 718, + 724, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-4.png", + "source_sha256": "166243f926e4e1dd56a04cd2db44c3e9888a03d97093a82a63c36064f704f692", + "source_alpha_bbox": [ + 34, + 50, + 226, + 232 + ], + "content_rect": [ + 786, + 706, + 942, + 854 + ], + "content_height": 148 + } + ], + "sha256": "c2909d94c595bdabfe24b526e1e69d5e7746e74786ebeb3ceea7a4e39561fde9" + }, + { + "frame": 13, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-3.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1166, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1309, + 625, + 1411, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-5.png", + "source_sha256": "392b40ffd8e8a3eb127d34fea19e0bf4d0c85b80d52834f46cfe7231d1a7b5a9", + "source_alpha_bbox": [ + 52, + 24, + 216, + 232 + ], + "content_rect": [ + 1455, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-0.png", + "source_sha256": "0c35e0e9f3fb3fcdd8433fec9b54bef40564a0ed9b15d6feb895e6b5baac0dbf", + "source_alpha_bbox": [ + 47, + 24, + 208, + 232 + ], + "content_rect": [ + 1594, + 615, + 1702, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1088, + 667, + 1248, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-1.png", + "source_sha256": "e96dcc742cb16f98e4b08ae39822de0e00f0e66863084cf0afeff466eefc8221", + "source_alpha_bbox": [ + 37, + 51, + 221, + 232 + ], + "content_rect": [ + 1249, + 672, + 1375, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-2.png", + "source_sha256": "ae3292dee152f608f8267a261bcfe9f92c0e2d258cde88357a3b7d877591e9f7", + "source_alpha_bbox": [ + 51, + 24, + 210, + 232 + ], + "content_rect": [ + 1403, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-5.png", + "source_sha256": "529db5da4c14ebf4e7e1c8ad6e110e01e0f8688c2381de1485528604aa906f09", + "source_alpha_bbox": [ + 37, + 32, + 221, + 232 + ], + "content_rect": [ + 1538, + 662, + 1661, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1059, + 714, + 1181, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-0.png", + "source_sha256": "db12c546a406c2a7084fb781507765056c59b6bc101acf6539387c55a0767934", + "source_alpha_bbox": [ + 42, + 24, + 198, + 232 + ], + "content_rect": [ + 1212, + 699, + 1316, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1345, + 704, + 1471, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-2.png", + "source_sha256": "08a63f58c5278be758375f84e9da138b944bdeeec146b6ca7786de5576d53f30", + "source_alpha_bbox": [ + 40, + 24, + 224, + 232 + ], + "content_rect": [ + 1495, + 709, + 1609, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/attack/frames/frame-5.png", + "source_sha256": "65ae7518d44a3ba64dc346484316281c97c90e2f6347304ae1542ffb2ff7ab69", + "source_alpha_bbox": [ + 72, + 78, + 360, + 348 + ], + "content_rect": [ + 1697, + 540, + 2019, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-7.png", + "source_sha256": "11e668f459783dda6c3ffd7d9d070c02e2ff903c1d03af4cbafec3a62603ba5f", + "source_alpha_bbox": [ + 52, + 24, + 200, + 232 + ], + "content_rect": [ + 156, + 702, + 257, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-1.png", + "source_sha256": "1171faa3fa1997f2893c322204ffb52d55e65c2645ed32736472f0cfbfbad53d", + "source_alpha_bbox": [ + 58, + 24, + 196, + 232 + ], + "content_rect": [ + 349, + 708, + 439, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-7.png", + "source_sha256": "11e668f459783dda6c3ffd7d9d070c02e2ff903c1d03af4cbafec3a62603ba5f", + "source_alpha_bbox": [ + 52, + 24, + 200, + 232 + ], + "content_rect": [ + 530, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-3.png", + "source_sha256": "428ae71db9f3c22f60d88b53c29cc028cc7076f80d511997c628df9e71eaa08d", + "source_alpha_bbox": [ + 51, + 24, + 199, + 232 + ], + "content_rect": [ + 720, + 702, + 821, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-1.png", + "source_sha256": "1171faa3fa1997f2893c322204ffb52d55e65c2645ed32736472f0cfbfbad53d", + "source_alpha_bbox": [ + 58, + 24, + 196, + 232 + ], + "content_rect": [ + 913, + 708, + 1003, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-1.png", + "source_sha256": "ab5957610be3a1e317e0c06dc9fd74461db745b62e07d0b43739b0cb0fe25b9e", + "source_alpha_bbox": [ + 46, + 24, + 192, + 232 + ], + "content_rect": [ + 64, + 718, + 159, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-5.png", + "source_sha256": "38818691bed19c30017527efcebb51504291b6a2506cbdda7fc79bf60df20b4c", + "source_alpha_bbox": [ + 53, + 24, + 200, + 232 + ], + "content_rect": [ + 248, + 706, + 353, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-5.png", + "source_sha256": "6a34c0dff419423e530269fad3601d47d3d757e00be68b6b3569b64cfc3f37b8", + "source_alpha_bbox": [ + 58, + 24, + 239, + 232 + ], + "content_rect": [ + 426, + 712, + 550, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-1.png", + "source_sha256": "ab5957610be3a1e317e0c06dc9fd74461db745b62e07d0b43739b0cb0fe25b9e", + "source_alpha_bbox": [ + 46, + 24, + 192, + 232 + ], + "content_rect": [ + 628, + 718, + 723, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-5.png", + "source_sha256": "38818691bed19c30017527efcebb51504291b6a2506cbdda7fc79bf60df20b4c", + "source_alpha_bbox": [ + 53, + 24, + 200, + 232 + ], + "content_rect": [ + 812, + 706, + 917, + 854 + ], + "content_height": 148 + } + ], + "sha256": "737f7fbf2ecc4840a5791ee71cc101b9a574543a2e9c5eed63c218f4b29b1daf" + }, + { + "frame": 14, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-4.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1165, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1296, + 625, + 1423, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-6.png", + "source_sha256": "51d57d28bba42de37ae64739d974a2b483b73f4d7b405a2436b66d4c671c741c", + "source_alpha_bbox": [ + 52, + 24, + 207, + 232 + ], + "content_rect": [ + 1458, + 630, + 1550, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-1.png", + "source_sha256": "3f51bcc5fedae705d4ef38d2cd2e283043dd712491ae283e829d66841c261579", + "source_alpha_bbox": [ + 56, + 37, + 240, + 232 + ], + "content_rect": [ + 1582, + 615, + 1713, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-3.png", + "source_sha256": "bf679aa2a6ee524087ed2ee26160cc4cda74a19832663b1107aad80993c3ed43", + "source_alpha_bbox": [ + 9, + 92, + 193, + 232 + ], + "content_rect": [ + 1083, + 667, + 1253, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-2.png", + "source_sha256": "08a63f58c5278be758375f84e9da138b944bdeeec146b6ca7786de5576d53f30", + "source_alpha_bbox": [ + 40, + 24, + 224, + 232 + ], + "content_rect": [ + 1257, + 672, + 1367, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-3.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1404, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-0.png", + "source_sha256": "e16291db9ece820e183e5ac612eab92162ac79d244085bab28ed595965101cd8", + "source_alpha_bbox": [ + 45, + 24, + 209, + 232 + ], + "content_rect": [ + 1547, + 662, + 1653, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-2.png", + "source_sha256": "49c254ff46c129ac0d0af6bd1fffcccb41b9c97504ff4d7dee42f45ed9b41467", + "source_alpha_bbox": [ + 40, + 24, + 218, + 232 + ], + "content_rect": [ + 1067, + 714, + 1173, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-1.png", + "source_sha256": "0f7ced5832d819991ca686ddbf58bbbfd805ebca43c9e538d46428fea485ddca", + "source_alpha_bbox": [ + 42, + 24, + 206, + 232 + ], + "content_rect": [ + 1209, + 699, + 1319, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1324, + 704, + 1491, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-3.png", + "source_sha256": "2683c5cf3d27699b084c8528d86b3d2ac775d30029c78834b45b30bd620da693", + "source_alpha_bbox": [ + 40, + 24, + 200, + 232 + ], + "content_rect": [ + 1502, + 709, + 1601, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/attack/frames/frame-6.png", + "source_sha256": "e97d300ecd65b8dd3469969a6fb9ea941c28832804102943bcbd709e89c90846", + "source_alpha_bbox": [ + 71, + 75, + 359, + 348 + ], + "content_rect": [ + 1698, + 540, + 2017, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-0.png", + "source_sha256": "843529741b006201c24cc7bcedee8545da82f384564772043ab7d2b4b17be8e8", + "source_alpha_bbox": [ + 51, + 24, + 198, + 232 + ], + "content_rect": [ + 156, + 702, + 256, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-2.png", + "source_sha256": "411187fa79fb8c3febb84e4b98cf773bd9c934f8e0d727427c7d06e1abc5bfc0", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 348, + 708, + 439, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-0.png", + "source_sha256": "843529741b006201c24cc7bcedee8545da82f384564772043ab7d2b4b17be8e8", + "source_alpha_bbox": [ + 51, + 24, + 198, + 232 + ], + "content_rect": [ + 530, + 696, + 635, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-0.png", + "source_sha256": "1ebfa7425223606d3f0042fd742f3e982fb21004fa0cfd7d5b698916ec5d37da", + "source_alpha_bbox": [ + 51, + 24, + 199, + 232 + ], + "content_rect": [ + 720, + 702, + 821, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-2.png", + "source_sha256": "411187fa79fb8c3febb84e4b98cf773bd9c934f8e0d727427c7d06e1abc5bfc0", + "source_alpha_bbox": [ + 58, + 24, + 197, + 232 + ], + "content_rect": [ + 912, + 708, + 1003, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-2.png", + "source_sha256": "1742d94e056a3399b52b4155ae1562bde5570bb9d80ae108511cb5438935d21f", + "source_alpha_bbox": [ + 59, + 24, + 195, + 232 + ], + "content_rect": [ + 68, + 718, + 157, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-0.png", + "source_sha256": "01690dce426e3517c04a03259b3205aab6092bbdc30a2b493cd0a2754261dc3b", + "source_alpha_bbox": [ + 50, + 24, + 200, + 232 + ], + "content_rect": [ + 246, + 706, + 353, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-6.png", + "source_sha256": "0092f018d5e2ff5709949c7c89c8657945a66158ab7fcc3cc7a654427167a57c", + "source_alpha_bbox": [ + 51, + 24, + 221, + 232 + ], + "content_rect": [ + 430, + 712, + 546, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-2.png", + "source_sha256": "1742d94e056a3399b52b4155ae1562bde5570bb9d80ae108511cb5438935d21f", + "source_alpha_bbox": [ + 59, + 24, + 195, + 232 + ], + "content_rect": [ + 632, + 718, + 721, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-0.png", + "source_sha256": "01690dce426e3517c04a03259b3205aab6092bbdc30a2b493cd0a2754261dc3b", + "source_alpha_bbox": [ + 50, + 24, + 200, + 232 + ], + "content_rect": [ + 810, + 706, + 917, + 854 + ], + "content_height": 148 + } + ], + "sha256": "0b2f33a00e7e03848283e04716a6e91ee64865a0938e017f9985e3f6d9186509" + }, + { + "frame": 15, + "actors": [ + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-5.png", + "source_sha256": "65b26d2d1a7aaacbf3e1e9eb09e74d0abdbc501d43f86a65cc38c394f03a8a1f", + "source_alpha_bbox": [ + 50, + 24, + 207, + 232 + ], + "content_rect": [ + 1166, + 620, + 1267, + 754 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-2.png", + "source_sha256": "49c254ff46c129ac0d0af6bd1fffcccb41b9c97504ff4d7dee42f45ed9b41467", + "source_alpha_bbox": [ + 40, + 24, + 218, + 232 + ], + "content_rect": [ + 1305, + 625, + 1415, + 754 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-7.png", + "source_sha256": "7a7c94a8664458d9fbde01d3cfc1ce9edd5c80a6d651133c1948816d7141c7dc", + "source_alpha_bbox": [ + 43, + 24, + 209, + 232 + ], + "content_rect": [ + 1454, + 630, + 1553, + 754 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-2.png", + "source_sha256": "92248688dbff97177a58c5601f43509b292912f9cc862922ef3cdd72690e47c1", + "source_alpha_bbox": [ + 39, + 84, + 223, + 232 + ], + "content_rect": [ + 1562, + 615, + 1735, + 754 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-4.png", + "source_sha256": "13eb4dd4504cfc1dfe2a518e5c93209e4df61bfa10ea24501e6871d608a6565d", + "source_alpha_bbox": [ + 63, + 50, + 247, + 232 + ], + "content_rect": [ + 1103, + 667, + 1233, + 796 + ], + "content_height": 129 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-3.png", + "source_sha256": "2683c5cf3d27699b084c8528d86b3d2ac775d30029c78834b45b30bd620da693", + "source_alpha_bbox": [ + 40, + 24, + 200, + 232 + ], + "content_rect": [ + 1264, + 672, + 1359, + 796 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/idle/frames/frame-4.png", + "source_sha256": "e1c706cda49d5a969d8b3b79cf0d249e68eda62317cd10482573b4e2b4694b9a", + "source_alpha_bbox": [ + 41, + 24, + 199, + 232 + ], + "content_rect": [ + 1403, + 657, + 1509, + 796 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-1.png", + "source_sha256": "1203f1db63301d56fd33c224eeae95dc7d4ff4f8e17232ec494ec345dd7024b9", + "source_alpha_bbox": [ + 19, + 45, + 203, + 232 + ], + "content_rect": [ + 1534, + 662, + 1666, + 796 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/telegraph/frames/frame-3.png", + "source_sha256": "58d3379ad97ac15f1d3599daab42042e170dec579e21268d59f7c0eec15df3af", + "source_alpha_bbox": [ + 58, + 24, + 204, + 232 + ], + "content_rect": [ + 1076, + 714, + 1163, + 838 + ], + "content_height": 124 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/advance/frames/frame-2.png", + "source_sha256": "3993c4333764233cb6080ee6b018c153fdb9a522cd2befe9a48a02bbefa9d6d4", + "source_alpha_bbox": [ + 21, + 24, + 187, + 232 + ], + "content_rect": [ + 1208, + 699, + 1319, + 838 + ], + "content_height": 139 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/attack/frames/frame-3.png", + "source_sha256": "bf679aa2a6ee524087ed2ee26160cc4cda74a19832663b1107aad80993c3ed43", + "source_alpha_bbox": [ + 9, + 92, + 193, + 232 + ], + "content_rect": [ + 1320, + 704, + 1496, + 838 + ], + "content_height": 134 + }, + { + "side": "enemy", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/enemy-riftblade/accepted/hit/frames/frame-0.png", + "source_sha256": "c679208c7d7744d8c26be8364449377021c22fc586afc8ebdceae0c1a9e34c69", + "source_alpha_bbox": [ + 41, + 24, + 200, + 232 + ], + "content_rect": [ + 1502, + 709, + 1601, + 838 + ], + "content_height": 129 + }, + { + "side": "boss", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/attack/frames/frame-7.png", + "source_sha256": "c8b90e2da2f5a36f9fa84b82cfcb6d2c869aa09c673184f06cad3895f86e6172", + "source_alpha_bbox": [ + 65, + 36, + 347, + 348 + ], + "content_rect": [ + 1722, + 540, + 1995, + 842 + ], + "content_height": 302 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-1.png", + "source_sha256": "cfb822896b3ef93afc154241cb30030202f93d8b750a8c46b9d2c807bcdd5324", + "source_alpha_bbox": [ + 52, + 24, + 211, + 232 + ], + "content_rect": [ + 152, + 702, + 261, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-3.png", + "source_sha256": "3ccb23b607b08be80f64298e586ea138c8c0aade2a9206b452450ad62a0f66b2", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 346, + 708, + 441, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/advance/frames/frame-1.png", + "source_sha256": "cfb822896b3ef93afc154241cb30030202f93d8b750a8c46b9d2c807bcdd5324", + "source_alpha_bbox": [ + 52, + 24, + 211, + 232 + ], + "content_rect": [ + 526, + 696, + 639, + 844 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/hit/frames/frame-1.png", + "source_sha256": "789161d2180077c5fb2b7a8a690150b15486d5e0e53b04b610422500da6f27aa", + "source_alpha_bbox": [ + 40, + 24, + 187, + 232 + ], + "content_rect": [ + 720, + 702, + 820, + 844 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/idle/frames/frame-3.png", + "source_sha256": "3ccb23b607b08be80f64298e586ea138c8c0aade2a9206b452450ad62a0f66b2", + "source_alpha_bbox": [ + 52, + 24, + 197, + 232 + ], + "content_rect": [ + 910, + 708, + 1005, + 844 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-3.png", + "source_sha256": "6193b3127be71296fca7add2f7b603ebf224004a3b9f36b3c35ba34de8683f6f", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 64, + 718, + 160, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-1.png", + "source_sha256": "b570ae04e020b6f3fb6d49f66744986aa0fff032a6a1f1e974b37eeef0e6506c", + "source_alpha_bbox": [ + 41, + 24, + 212, + 232 + ], + "content_rect": [ + 239, + 706, + 361, + 854 + ], + "content_height": 148 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted-r2/profession_action/frames/frame-7.png", + "source_sha256": "a64c790f1a9712740904dfb890df9b8479bace01570d161af4c3bf1395f121b1", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 438, + 712, + 538, + 854 + ], + "content_height": 142 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/guard/frames/frame-3.png", + "source_sha256": "6193b3127be71296fca7add2f7b603ebf224004a3b9f36b3c35ba34de8683f6f", + "source_alpha_bbox": [ + 52, + 24, + 199, + 232 + ], + "content_rect": [ + 628, + 718, + 724, + 854 + ], + "content_height": 136 + }, + { + "side": "ally", + "source": "/Users/wusumac/Documents/game/aetherbound_guild/docs/prototype/generation/phase6_motion_proof_03/runs/recruit-aegis/accepted/basic_attack/frames/frame-1.png", + "source_sha256": "b570ae04e020b6f3fb6d49f66744986aa0fff032a6a1f1e974b37eeef0e6506c", + "source_alpha_bbox": [ + 41, + 24, + 212, + 232 + ], + "content_rect": [ + 803, + 706, + 925, + 854 + ], + "content_height": 148 + } + ], + "sha256": "8165bdd777e7007d8892ccda8aff29e0fcec93b2d36eb9363365086822808381" + } + ], + "opening_sha256": "cc4970f79e87e54db07f0debe75d69648b8d04f2cb0b50b982636a4845fa1888", + "contact_sha256": "ff11c9b9b9fac89b089dda114b2d37e11f513bdcd179d8e60b41714039710e49" +} diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-contact.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-contact.png new file mode 100644 index 00000000..6e4fb18f Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-contact.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-motion.mp4 b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-motion.mp4 new file mode 100644 index 00000000..58915655 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-motion.mp4 differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-opening.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-opening.png new file mode 100644 index 00000000..84506108 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-opening.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-000.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-000.png new file mode 100644 index 00000000..84506108 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-000.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-001.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-001.png new file mode 100644 index 00000000..416f3c74 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-001.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-002.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-002.png new file mode 100644 index 00000000..3f2d30db Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-002.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-003.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-003.png new file mode 100644 index 00000000..8e3f87d6 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-003.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-004.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-004.png new file mode 100644 index 00000000..aea7e48a Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-004.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-005.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-005.png new file mode 100644 index 00000000..db92e931 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-005.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-006.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-006.png new file mode 100644 index 00000000..ead1889c Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-006.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-007.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-007.png new file mode 100644 index 00000000..1c4de700 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-007.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-008.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-008.png new file mode 100644 index 00000000..be48546f Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-008.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-009.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-009.png new file mode 100644 index 00000000..6c3baa7f Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-009.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-010.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-010.png new file mode 100644 index 00000000..6602e99c Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-010.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-011.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-011.png new file mode 100644 index 00000000..ac72a8cf Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-011.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-012.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-012.png new file mode 100644 index 00000000..ef2d2be3 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-012.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-013.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-013.png new file mode 100644 index 00000000..f6305dbb Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-013.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-014.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-014.png new file mode 100644 index 00000000..07c91333 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-014.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-015.png b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-015.png new file mode 100644 index 00000000..c5d2b969 Binary files /dev/null and b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/frames/frame-015.png differ diff --git a/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/video.sha256 b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/video.sha256 new file mode 100644 index 00000000..b150949e --- /dev/null +++ b/docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/video.sha256 @@ -0,0 +1 @@ +eb93b7b8b2ef8300bf6675e5e1aacd2ea9189151352f402c1c4b2b326774fc2c docs/prototype/generation/phase6_battle_scale_04/outputs/battle-scale-proof-01/battle-scale-motion.mp4 diff --git a/docs/prototype/generation/phase6_battle_scale_04/prompts/01_empty_battlefield.txt b/docs/prototype/generation/phase6_battle_scale_04/prompts/01_empty_battlefield.txt new file mode 100644 index 00000000..6689eaef --- /dev/null +++ b/docs/prototype/generation/phase6_battle_scale_04/prompts/01_empty_battlefield.txt @@ -0,0 +1,11 @@ +Create one EMPTY 16:9 production background master for the Aetherbound Guild landscape auto-battle screen. + +Use the attached accepted battle-direction image only for Japanese 2D painted environment style, daylight palette, horizon depth, ruin materials, camera height and ground-plane perspective. Do not copy or retain any of its characters, creatures, interface, symbols, health bars, portraits, attacks or text. + +Scene: a bright elevated aether ruin meadow on a long horizontal travel corridor. Soft blue sky, distant floating stone structures, chalk-white broken arches, pale mineral pillars, sparse repaired guild banners with NO emblem or writing, green grass and small field flowers. The lower third is a broad continuous walkable ground plane with quiet value contrast behind future small sprites. Keep the center collision corridor and both entry edges open. Put architectural interest in the upper and far-background layers, not in front of the combat line. + +Japanese 2D game background painting, light thin structural linework, soft cel-paint integration, clear atmospheric depth, paper white, mineral blue, field green, weathered stone and restrained repair-gold accents. Bright readable daylight. No dark dashboard mood, no photorealism, no 3D render, no pixel art, no neon-purple wash, no dramatic bloom, no bokeh. + +ABSOLUTELY EMPTY: no person, hero, recruit, soldier, enemy, monster, animal, spirit, face, silhouette, statue shaped like a person, vehicle, weapon, projectile, spell, particle, magic ring, impact mark, shadow shaped like a figure, UI, panel, button, icon, cursor, number, pseudo-text, letters, watermark or logo. + +Output one opaque 2048x1152 landscape background only. diff --git a/tools/build_battle_scale_motion_proof.py b/tools/build_battle_scale_motion_proof.py new file mode 100644 index 00000000..981f6b91 --- /dev/null +++ b/tools/build_battle_scale_motion_proof.py @@ -0,0 +1,221 @@ +#!/usr/bin/env python3 +"""Compose accepted Phase 6 sprites into a deterministic battle-scale proof.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +from dataclasses import dataclass +from pathlib import Path + +from PIL import Image, ImageDraw + + +CANVAS = (2048, 1152) +FRAME_COUNT = 16 +FPS = 8 + + +@dataclass(frozen=True) +class Actor: + side: str + state_dir: Path + x: int + bottom: int + height: int + phase: int + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--background", type=Path, required=True) + parser.add_argument("--out-dir", type=Path, required=True) + return parser.parse_args() + + +def sha256(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as handle: + for block in iter(lambda: handle.read(1024 * 1024), b""): + digest.update(block) + return digest.hexdigest() + + +def frame_files(state_dir: Path) -> list[Path]: + files = sorted(state_dir.glob("frame-*.png"), key=lambda path: int(path.stem.split("-")[-1])) + if not files: + raise SystemExit(f"no frames found: {state_dir}") + return files + + +def fitted_sprite(path: Path, target_height: int) -> tuple[Image.Image, tuple[int, int, int, int]]: + source = Image.open(path).convert("RGBA") + alpha = source.getchannel("A") + bbox = alpha.point(lambda value: 255 if value >= 16 else 0).getbbox() + if bbox is None: + raise SystemExit(f"empty alpha frame: {path}") + cropped = source.crop(bbox) + scale = target_height / cropped.height + width = max(1, round(cropped.width * scale)) + resized = cropped.resize((width, target_height), Image.Resampling.LANCZOS) + return resized, bbox + + +def paste_actor(canvas: Image.Image, actor: Actor, tick: int) -> dict[str, object]: + frames = frame_files(actor.state_dir) + source = frames[(tick + actor.phase) % len(frames)] + sprite, source_bbox = fitted_sprite(source, actor.height) + left = round(actor.x - sprite.width / 2) + top = actor.bottom - sprite.height + right = left + sprite.width + bottom = top + sprite.height + if left < 0 or top < 96 or right > CANVAS[0] or bottom > 944: + raise SystemExit(f"actor outside battle safe region: {actor} -> {(left, top, right, bottom)}") + canvas.alpha_composite(sprite, (left, top)) + return { + "side": actor.side, + "source": str(source), + "source_sha256": sha256(source), + "source_alpha_bbox": list(source_bbox), + "content_rect": [left, top, right, bottom], + "content_height": actor.height, + } + + +def draw_hud(canvas: Image.Image) -> None: + draw = ImageDraw.Draw(canvas, "RGBA") + ink = (24, 32, 45, 220) + paper = (244, 240, 224, 235) + blue = (70, 158, 217, 255) + coral = (218, 77, 79, 255) + gold = (194, 151, 67, 255) + draw.rounded_rectangle((32, 24, 650, 92), radius=6, fill=ink, outline=gold, width=3) + draw.rounded_rectangle((1398, 24, 2016, 92), radius=6, fill=ink, outline=gold, width=3) + for index in range(10): + x = 86 + index * 52 + draw.polygon([(x, 42), (x + 13, 55), (x, 68), (x - 13, 55)], fill=blue) + for index in range(12): + x = 1452 + index * 45 + draw.polygon([(x, 42), (x + 12, 54), (x, 66), (x - 12, 54)], fill=coral) + draw.rounded_rectangle((410, 1010, 1638, 1132), radius=5, fill=ink, outline=gold, width=3) + for index in range(10): + left = 438 + index * 118 + draw.rounded_rectangle((left, 1028, left + 92, 1112), radius=4, fill=paper, outline=gold, width=2) + draw.rectangle((left + 10, 1092, left + 82, 1102), fill=(76, 164, 101, 255)) + + +def actors(repo: Path) -> tuple[list[Actor], list[Actor], Actor]: + motion = repo / "docs/prototype/generation/phase6_motion_proof_03/runs" + recruit = motion / "recruit-aegis" + enemy = motion / "enemy-riftblade" + boss = motion / "boss-tempest-seraph" + + ally_states = [ + recruit / "accepted/guard/frames", + recruit / "accepted-r2/advance/frames", + recruit / "accepted/basic_attack/frames", + recruit / "accepted/idle/frames", + recruit / "accepted-r2/profession_action/frames", + recruit / "accepted-r2/advance/frames", + recruit / "accepted/guard/frames", + recruit / "accepted/hit/frames", + recruit / "accepted/basic_attack/frames", + recruit / "accepted/idle/frames", + ] + allies = [ + Actor("ally", state, 112 + index * 94, 854 - (index % 2) * 10, 136 + (index % 3) * 6, index * 2) + for index, state in enumerate(ally_states) + ] + + enemy_states = [ + enemy / "accepted/telegraph/frames", + enemy / "accepted/attack/frames", + enemy / "accepted/idle/frames", + enemy / "accepted/advance/frames", + enemy / "accepted/hit/frames", + ] + enemies: list[Actor] = [] + for index in range(12): + depth = index % 3 + enemies.append( + Actor( + "enemy", + enemy_states[index % len(enemy_states)], + 1120 + index * 48, + 838 - depth * 42, + 124 + (index % 4) * 5, + index, + ) + ) + boss_actor = Actor("boss", boss / "accepted/telegraph/frames", 1858, 842, 302, 0) + return allies, enemies, boss_actor + + +def make_contact(paths: list[Path], output: Path) -> None: + thumbs: list[Image.Image] = [] + for path in paths: + image = Image.open(path).convert("RGB") + thumbs.append(image.resize((384, 216), Image.Resampling.LANCZOS)) + sheet = Image.new("RGB", (1920, 216), (20, 24, 30)) + for index, image in enumerate(thumbs): + sheet.paste(image, (index * 384, 0)) + output.parent.mkdir(parents=True, exist_ok=True) + sheet.save(output, optimize=True) + + +def main() -> None: + args = parse_args() + repo = Path(__file__).resolve().parents[1] + if not args.background.is_file(): + raise SystemExit(f"missing background: {args.background}") + args.out_dir.mkdir(parents=True, exist_ok=True) + frames_dir = args.out_dir / "frames" + frames_dir.mkdir(parents=True, exist_ok=True) + + background = Image.open(args.background).convert("RGB").resize(CANVAS, Image.Resampling.LANCZOS) + allies, enemies, boss_template = actors(repo) + frame_reports: list[dict[str, object]] = [] + frame_paths: list[Path] = [] + + for tick in range(FRAME_COUNT): + canvas = background.convert("RGBA") + actor_reports: list[dict[str, object]] = [] + for actor in sorted(enemies, key=lambda item: item.bottom): + actor_reports.append(paste_actor(canvas, actor, tick)) + boss_state = "telegraph" if tick < 8 else "attack" + boss_dir = repo / f"docs/prototype/generation/phase6_motion_proof_03/runs/boss-tempest-seraph/accepted/{boss_state}/frames" + boss_actor = Actor("boss", boss_dir, boss_template.x, boss_template.bottom, boss_template.height, 0) + actor_reports.append(paste_actor(canvas, boss_actor, tick % 8)) + for actor in sorted(allies, key=lambda item: item.bottom): + actor_reports.append(paste_actor(canvas, actor, tick)) + draw_hud(canvas) + output = frames_dir / f"frame-{tick:03d}.png" + canvas.convert("RGB").save(output, optimize=True) + frame_paths.append(output) + frame_reports.append({"frame": tick, "actors": actor_reports, "sha256": sha256(output)}) + + opening = args.out_dir / "battle-scale-opening.png" + opening.write_bytes(frame_paths[0].read_bytes()) + contact = args.out_dir / "battle-scale-contact.png" + make_contact([frame_paths[index] for index in (0, 4, 8, 12, 15)], contact) + audit = { + "version": 1, + "kind": "aetherbound-battle-scale-motion-proof", + "canvas": list(CANVAS), + "fps": FPS, + "frames": FRAME_COUNT, + "duration_seconds": FRAME_COUNT / FPS, + "background": {"path": str(args.background), "sha256": sha256(args.background)}, + "counts_per_frame": {"allies": 10, "ordinary_enemies": 12, "bosses": 1}, + "height_contract": {"allies": [130, 155], "ordinary_enemies": [120, 145], "boss": [280, 315]}, + "frame_reports": frame_reports, + "opening_sha256": sha256(opening), + "contact_sha256": sha256(contact), + } + (args.out_dir / "audit.json").write_text(json.dumps(audit, ensure_ascii=True, indent=2) + "\n", encoding="utf-8") + print(json.dumps({"ok": True, "frames": FRAME_COUNT, "fps": FPS, "out_dir": str(args.out_dir)})) + + +if __name__ == "__main__": + main()