You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Types and instances for [Tiled](https://www.mapeditor.org/) map editor `.tmj` files.
5
+
Types and instances for [Tiled](https://www.mapeditor.org/) map editor map/`.tmj` and tileset/`.tsj` files.
6
6
7
7
> `aeson-tiled` is the spiritual successor to `htiled`.
8
8
> `htiled` uses `hxt` which relies too heavily on Arrows and is rather hard to work with.
9
9
> Tiled's json export supports 100% of Tiled's features, so there doesn't seem to be much of a point to maintaining a large Arrows-based project when writing Aeson instances for Tiled types is much easier.
10
10
> Hence this project!
11
+
12
+
The package is geared toward minimal divergence from Tiled type specifications.
13
+
14
+
Tiled data format is taken at version 1.8.4.
15
+
Should be compatible down to 1.6 (where the `version` field changed to string).
16
+
17
+
GHC versions are supported from 8.10 and follow Stackage LTS + Stackage Nightly + whatever is available on `ghcup`.
18
+
19
+
## Module structure
20
+
21
+
The modules are designed for qualified imports and `OverloadedRecordDot` extension.
22
+
Everyone has a `Generic` instance so you can use `generic-lens` or `generic-optics` if you wish.
23
+
24
+
- Modules under `Codec.Tiled.*` are concerned with `aeson` representation, one type at a time.
25
+
They provide JSON `Value` translation to concrete types, but not much beyond that.
26
+
Your application most likely should use its own representation.
27
+
- Modules under `Data.Tiled.*` are types specific to this package.
28
+
They are more refined and may be utilized directly.
0 commit comments