{:name :tilemap :validator [:map {:closed true} [:map/width number?] [:map/height number?] [:map/tilesets [:sequential [:map {:closed true} [:tileset/start-index number?] [:tileset/name keyword?]]]] [:tiles/width number?] [:tiles/height number?] [:map/layers [:sequential [:map {:closed true} [:layer/id number?] [:layer/name string?] [:layer/width number?] [:layer/height number?] [:layer/tiles [:sequential [:map {:closed true} [:horizontal? boolean?] [:vertical? boolean?] [:diagonal? boolean?] [:id number?]]]]]]]]}