Skip to content

Advanced Topics

7d edited this page Jun 29, 2024 · 7 revisions

Configuration

Tilemap settings

Under Settings > Tilemap, you can set

  • the initial zoom level
  • the base map to use

Adding a base map

Scroll to the bottom and click Add and a new base map entry will be created for you. Alternatively, click Import to import a file containing a base map configuration (TOML file). An example of this file can be seen when you export any entry you have.

Selecting a base map

Click Select next to the number in a base map entry and it will be hoisted to the top. The topmost entry is used in the tilemap.

Exporting/Deleting a base map

Click Export/Delete next to the number in a base map entry.

Configuring the window

Under Settings > Window, you can set

  • the GPU backends to test for and use
  • the window mode (fullscreen, windowed, etc)
  • on Linux, the display protocol (Xorg/Wayland)

Configuring the key mappings

Under Settings > Keymap

Configuring miscellaneous settings

Under Settings > Misc

Notification Log

All notifications that have been sent are also logged to View > Notification Log.

File System Data

The data directory of Stencil2 is

  • %APPDATA%/Roaming/stencil2 on Windows
  • ~/Library/Application Support/stencil2 on macOS
  • ~/.local/share/stencil2 on Linux

tile_settings.toml

TODO UPDATE The file version of the tilemap settings. TOML spec here

Defaults:

# The base URL of the tiles to pull from. Must be a valid URL, most likely of the form
# `<url>/tiles/<world>/flat` where `<url>` shows the server's Dynmap client and
# `<world>` is the ID of the world that you want tiles for
url = "..."
# The zoom level of a tile in the maximum zoom
max_tile_zoom = 8
# The distance that a tile of the maximum zoom level represents
max_zoom_range = 32.0

# The zoom level to start with when opening Stencil2
init_zoom = 7.0

window_settings.toml

TODO UPDATE The file version of the windows settings. TOML spec here

Defaults:

# Optional. Used by Winit to decide the type of fullscreen of the window, or whether it is fullscreen
# Possible values: `Windowed`, `BorderlessFullscreen`, `SizedFullscreen`, `Fullscreen`
window_mode = "Windowed" 
# Optional, Linux only. Used by Winit to decide whether to start the window with Xorg or Wayland
# Possible values: `Auto`, `Xorg`, `Wayland`
display_server_protocol = "Auto" 

# Optional, each variable must be included if specified. Used by Wgpu to decide which GPU backend to render with
[backends]
vulkan = true
metal = true
dx12 = true
dx11 = true

keymap_settings.toml

TODO UPDATE

misc_settings.toml

TODO UPDATE

logs

The log files that are output by Stencil2. Feel free to delete them if they grow too large, but it may be useful for debugging

panic

The panic log files that are output by Stencil2. Feel free to also delete them if they grow too large, but it may also be useful for debugging

Environment Variables

When starting Stencil2 from the command line, you can specify some environment variables to change how it behaves

These are not included within Stencil2's configuration/settings menus because they mostly serve as debugging tools

  • NO_DOWNLOAD=true Ignores the configured tilemap and renders a white and gray checkboard as the tilemap
  • RUST_LOG=... Configures the logger. Accepts env_logger syntax. Configurations with low levels set (trace) tend to affect both performance and disk memory. Be warned :)