{ "schemaVersion": 2, "dungeonId": "hoto", "title": "HOTO", "status": "source-packaged", "generatedAt": "2026-09-09T19:39:49.407Z", "source": { "recipe": "scripts/runewaker-pipeline/recipes/hoto.json", "wdb": "Resource/wdb/dungeon/dgn_echoes_of_the_sea.wdb", "wdbSha256": "7b3ee8adca7199c86f8de13695f29db9b0cf7f61ba2328641cbc9ad8ffa138a0", "model": "model/dungeon/echoes_of_the_sea/act_echoes_of_the_sea.ros", "modelSha256": "a0bd77c09045f8bfa1507484bbb2c2ff0cc72d397df4f769fc4e6d5aab14f8a2", "server": { "dungeonConfigId": "hoto", "baseZone": 115, "variants": { "party": [ { "id": 461, "lv": 1 }, { "id": 490, "lv": 10 }, { "id": 519, "lv": 20 }, { "id": 548, "lv": 30 }, { "id": 577, "lv": 40 }, { "id": 608, "lv": 50 } ] }, "luaFiles": [ "03242.lua" ], "mobGuids": [ 102021, 102024, 102025, 102026, 102027, 102028, 102029, 102030, 102031, 102032, 102033, 102034, 102035, 102036, 102037, 102040, 102041, 102042, 102043, 102044, 102046, 102063, 102064, 102067, 102109, 102680, 103518, 103519, 110578, 110987, 111378, 112224, 113003, 780088, 780360, 780361, 780362, 780363, 780444 ], "bossGuids": [ 102021, 102040, 102041, 102046, 102063 ], "bossPositions": { "102021": { "name": "Jiasha", "autoplot": "LuaI_DQ_Loc5", "zone_spawn": true, "x": 0, "y": 0, "z": 0, "kx": 5531.47, "ky": 270.39, "kz": 1980.79, "px": 0, "py": 0, "pz": 0, "pdir": 0 }, "102040": { "name": "Medusa", "autoplot": "LuaI_DQ_Loc5", "zone_spawn": true, "x": 0, "y": 0, "z": 0, "kx": 4169.99, "ky": 597.26, "kz": 2808.51, "px": 0, "py": 0, "pz": 0, "pdir": 0 }, "102041": { "name": "Teeth of the Reef", "autoplot": "LuaI_DQ_Loc5", "zone_spawn": true, "x": 0, "y": 0, "z": 0, "kx": 6136.47, "ky": 229.17, "kz": 2819.32, "px": 0, "py": 0, "pz": 0, "pdir": 0 }, "102046": { "name": "Bloodthirsty Claw", "autoplot": "LuaI_DQ_Loc5", "zone_spawn": true, "x": 0, "y": 0, "z": 0, "kx": 4763.9, "ky": 507.66, "kz": 3430.26, "px": 0, "py": 0, "pz": 0, "pdir": 0 }, "102063": { "name": "Geba", "autoplot": "LuaI_DQ_Loc5", "zone_spawn": true, "x": 0, "y": 0, "z": 0, "kx": 3116.21, "ky": 450.54, "kz": 1277.8, "px": 0, "py": 0, "pz": 0, "pdir": 0 } }, "playerSpawn": { "x": 2346, "y": 663, "z": 3338, "dir": 25, "directionUnitsPerTurn": 360, "source": "environment recipe entryCoordinates", "reviewRequired": false } }, "wdbReport": { "descriptorCount": 1627, "file": "wdb-report.json", "primaryPlacement": { "guid": "AA7EE278-45E89E4D-F50898B0-747270BA", "resource": "model\\dungeon\\echoes_of_the_sea\\act_echoes_of_the_sea.ros", "scale": [ 1, 1, 1 ], "rotation": [ 0, 0, 0, 1 ], "translation": [ 4243.39893, 606.918091, 2711.47852 ], "localBounds": { "center": [ 88.4059906, -147.698395, -918.205444 ], "radius": 3704.81616 }, "worldBounds": { "center": [ 4331.80469, 459.219696, 1793.27307 ], "radius": 3704.81616 }, "zoneFlags": 0, "detailClass": 0, "zoneType": 0 } } }, "coordinateSystem": { "source": "left-handed Y-up", "nativeBridge": "three(x,y,z)=(runewaker.x,runewaker.y,-runewaker.z)", "metersPerSourceUnit": 0.1, "directionUnitsPerTurn": 360, "calibration": "model/character/pc/dummy/fake_pc.ros mesh height is 16.4977 source units" }, "entrance": { "sourcePosition": [ 2346, 663, 3338 ], "sourceDirection": 25, "localPosition": [ -189.739893, 5.608191, -62.652148 ], "footPosition": [ -189.727301, 5.761676, -62.645942 ], "navmeshDistance": 0.154126, "yaw": 0.436332313, "forward": [ 0.422618262, 0, 0.906307787 ], "provenance": "environment recipe entryCoordinates", "reviewRequired": false }, "assets": [ { "role": "visual", "fileName": "hoto-visual.glb", "relativeFile": "hoto-visual.glb", "size": 6710184, "sha256": "beff3a180c55166d5ebd7e3610e65b59f8104edfd7596aa22ac3a49c578fcdc0" }, { "role": "collision", "fileName": "hoto-collision-000.glb", "relativeFile": "hoto-collision-000.glb", "size": 3088036, "sha256": "3116529f2d262ff4cab7997e852f9d15caacab6298921360b49dcafd52b8c475" }, { "role": "collision", "fileName": "hoto-collision-001.glb", "relativeFile": "hoto-collision-001.glb", "size": 2989324, "sha256": "1f5cbd4b04b5a060029fd7c023ee19db5d8646566fcd01b931473b5b13c13b9f" }, { "role": "collision", "fileName": "hoto-collision-002.glb", "relativeFile": "hoto-collision-002.glb", "size": 526648, "sha256": "0a468a6ef30941c04a20456866f0593f7e1f9f9bf8dc0024176d2128975f1879" }, { "role": "navigation", "fileName": "hoto-navigation.glb", "relativeFile": "hoto-navigation.glb", "size": 482260, "sha256": "a2bde2e4b8ed0d0bac8c4669a05192ff0a35ae9c64df0c0a29fe3735b65cbf4b" } ], "review": { "environment": "authoritative-wdb-largest-model-selected", "collision": "generated-review-required", "entrance": "source-script", "bossAnchors": "source-population", "wdbPlacements": "unique-primary-model" }, "exceptions": [ "Secondary WDB doodads/effects remain in the audit; this pass exports the primary ROS hierarchy.", "Collision initially includes decorative primary-ROS geometry.", "Original GR2 actor animations are recovered where source graphs and validation permit; scripted encounter mechanics remain evidence-driven per-instance work." ] }