Mods / Chart
- Tags:
- Author:
- Pixnop
- Side:
- Client
- Created:
- May 25th at 10:35 PM
- Last modified:
- Jun 12th at 9:24 PM
- Downloads:
- 103
-
Latest release (for Vintage Story 1.21.0-pre.1 - 1.22.3, potentially outdated):
Chart-0.2.0.zip 1-click install
Chart is the dimension-aware world map companion for Manifold. It teaches the Vintage Story world map about custom dimensions: each dimension keeps its own tile cache, the rendered map swaps on transit, and the previous dimension's exploration is preserved when you come back.
Vintage Story 1.21+ Client-side only Alpha MIT
For players
If you play with any mod that uses Manifold custom dimensions (e.g. Manifold Sample), Chart makes those dimensions visible on your world map (G). Otherwise the vanilla map only ever knows about the overworld.
- Per-dimension tile storage on disk - exploration in dim A is preserved when you visit dim B and come back.
- Hot-swap on transit - the map immediately reflects whichever dimension you are currently in.
- Automatic cache cleanup (0.2.0) - when a dimension is destroyed, its tile cache is deleted; a scan at world load also removes files left behind by crashes, so disk usage stays bounded.
- Smooth inside custom dimensions (0.2.0) - a major rendering performance fix; walking around a custom dim with the map open no longer lags.
- Vanilla waypoints, players and ore overlays continue to work normally on top of Chart's terrain.
For mod developers
Chart subclasses RGBMapLayer, registers with WorldMapManager, and removes the vanilla ChunkMapLayer at LevelFinalize so it is the sole terrain renderer. The rendering pipeline ports vanilla's 13-colour material palette + 3-neighbour hillshade + box-blurred shadow map, with Manifold dim-awareness added everywhere the vanilla code assumed dim 0:
- Per-pixel
BlockPos.dimensionwrites soBlockAccessorsamples the player's current dim. - Dim-encoded chunk slice lookups (
cy + dim * 1024) soUnpackAndReadBlockreads from the right dim. - Bounded fallback height scan when
IMapChunk.RainHeightMapis unpopulated (true for Manifold custom dims).
Tile data persists at <gamedir>/ModData/Chart/<savegame>/<dim>.bin (deflate-compressed). The full pipeline is open source: Pixnop/Chart.
Known alpha-stage limitations
- Chunk-edge seams. Our tiles are 32x32 each; vanilla groups them into 96x96 super-tiles, where the blur stays inside one big tile. Expect mild visible seams at chunk boundaries until Chart migrates to the same grouping.
- Softened hillshade. The slope factor cap is reduced from vanilla's 0.5 to 0.3 to mitigate cross-chunk discrepancies. Relief is therefore less pronounced than vanilla's map.
- Cross-dim waypoints. Vanilla waypoint pins still render in every dimension regardless of where they were created. Tracked in issue #30.
Why the name "Chart"
In the maths behind the name Manifold, a manifold is described by an atlas of charts. Each chart is literally a map. So the dimension library is the manifold, and the map mod is one of its charts.
Links
- Source and issues: github.com/Pixnop/Chart
- Manifold library: mods.vintagestory.at/manifold
- Demo / template: Manifold Sample
For Vintage Story 1.21+. MIT licensed.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 0.2.0 | chart | 62 | Jun 12th at 9:24 PM | Chart-0.2.0.zip | 1-click install | ||
|
Major performance fix inside custom dimensions, plus automatic cache cleanup for ephemeral dimensions.
Requires Manifold 0.4.1+. For Vintage Story 1.21+. Client-side only. Still alpha: chunk-edge seams and softened hillshade remain known visual limitations. | |||||||
| 0.1.0 | chart | 41 | May 25th at 10:37 PM | Chart-0.1.0.zip | 1-click install | ||
|
First Chart release. Dimension-aware world map for Manifold custom dimensions, alpha visual quality.
Requires Manifold 0.3.1+. For Vintage Story 1.21+. Client-side only. | |||||||

