# fast_tiled Parser for the tmx format Version 1.5 ## Goals - fast parsing of tiled files - a low level (to parse single files) - a higher level API (point to a map and it loads all tile-maps it references, or loads an entire world from a world file and stuff like that) ## The plan The idea is to first have something low level that just parses the tmx/tsx files and provides them in rust types. After that is done there could be more high level methods/struct that provide more high level functionality. Wishlist (things that would be nice): - serializing from rust types back to tmx/tsx (this needs including another xml lib, because roxmltree if fast because it is read-only) - parsing from and serializing back to the tiled JSON based formats - maybe later support parsing older formats ## Thanks to - https://docs.rs/tmx/0.3.1/ - Inspiration for data types. ## Notes: Move: version="1.4" tiledversion="1.4.3" to some kind of file-wrapper type? Because it is also present in tilesets? Or just add those two to tileset and inherit it if its inline/embedded. ## progress | element | rust representation | parse from XML | tests for parse | | -------------------- | ------------------- | -------------- | --------------- | | `` | partial | - | - | | `` | - | - | - | | `.` | - | - | - | | `.` | - | - | - | | `` | complete | - | - | | `.` | complete | complete | complete | | `.` | complete | complete | complete | | `.` | partial | partial | partial | | `..image in ` | partial | - | - | | `.` | complete | - | - | | `..` | complete | complete | - | | `.` | complete | complete | complete | | `.` | partial (5/6) | partial (5/6) | partial (3/6) | | `..` | complete | complete | complete | | `.` | complete | complete | complete | | `.` | complete | complete | - | | `..` | complete | complete | complete | | `...` | complete | complete | complete | | `...` | complete | complete | complete | | `....Wang ID` | complete | complete | complete | | `` | partial | - | - | | `.` | - | - | - | | `..Tile_gid` | complete | complete | complete | | `..Tile_flip` | complete | complete | complete | | `.` | - | - | - | | `.` | - | - | - | | `` | - | - | - | | `.` | - | - | - | | `.` | - | - | - | | `.` | - | - | - | | `.` | - | - | - | | `.` | - | - | - | | `.` | - | - | - | | `` | - | - | - | | `` | - | - | - | | `` | complete | yes | yes | | `.` | complete | yes | yes | | `