Files for my website
bwc9876.dev
1---
2name: New Horizons Config Editor
3summary: A GUI-based editor for New Horizons configs
4timespan:
5 from: 2022
6tags:
7 - tauri
8 - rust
9 - web
10 - react
11 - bootstrap
12 - outer-wilds
13links:
14 github: Outer-Wilds-New-Horizons/nh-config-editor
15image: ./nh-config-editor.webp
16---
17
18import ExtLink from "@components/ExtLink.astro";
19export const components = { a: ExtLink };
20
21The config editor is a desktop I made to make editing
22[New Horizons](https://nh.outerwildsmods.com) config files easier.
23It uses React for UI and Bootstrap for styling.
24The forms were created
25with [React JSON Schema Form](https://github.com/rjsf-team/react-jsonschema-form)].
26The backend was made with Rust and it's all tied together by [Tauri](https://tauri.app).
27
28The app auto-generates UI from JSON schemas,
29meaning no updates are needed as New Horizons itself updates.
30In addition to form-based editing, it also supports editing text directly with
31[Monaco](https://microsoft.github.io/monaco-editor/) which provides a VSCode-like
32experience. It also validates some other things beyond simple type checking that
33VSCode can't do with a JSON schema.
34
35This was my first Tauri app so I made some mistakes that I now know not to make,
36but it made me really like Tauri and how it approached application development.