SignScribe
An in-game rich text formatting studio and palette for Valheim signs using Jotunn. Easily format colors, styles, sizes, and alignments.Changelog
All notable changes to SignScribe will be documented in this file.
[1.0.0] - 2026-10-01
Added
- Complete Jötunn GUI integration: in-game floating formatting studio featuring authentic Valheim Woodpanel UI matching developer aesthetic.
- 5-Tab layout hierarchy: Icons, Sprites, Colors, Styles, and Tools with responsive centered navigation.
- Dedicated Sprites tab with real-time search filter and 3-column scrollable grid displaying native Valheim sign sprites.
- True in-game live preview: renders actual Valheim sprites and dynamically scales text sizes in real-time.
- Sign world font size unlock: patched
Sign.AwakeandSign.UpdateTextto allow signs to scale font sizes up to 60pt (unclamping vanilla limits). - Colors tab: 16 preset palette colors, interactive RGB sliders, direct
#RRGGBBHex code text input with bidirectional sync, 5 persistent saved custom color slots, and live color swatch. - Styles tab: Bold, Italic, Underline, Strikethrough, UPPER/lower/SmallCaps, Left/Center/Right alignment, absolute text size slider (
<size=N>), and quick "Default Text Size (6)" reset. - Icons tab: 400+ curated emojis and symbols across 9 categories, real-time search filter, and custom emoji paste support.
- Tools tab: 1-Click Quick Sign Presets (Weapons, Armor, Materials, Food, Potions, Valuables, Portal, Warning), Subscript, Superscript, Mark highlights, Line Breaks (
<br>), Raw Text (<noparse>), and compact tag cleanup utilities. - Keyboard shortcuts: F8 HUD toggle, Escape close, in-editor rich text hotkeys (
Ctrl+B,Ctrl+I,Ctrl+U), and full Undo/Redo history (Ctrl+Z,Ctrl+Y,Ctrl+Shift+Z). - Real-time window opacity slider modifying CanvasGroup alpha.
- Dynamic selection tracking that preserves highlighted sign text when formatting, with full-text auto-selection disabled so multiple emojis or sprites can be inserted consecutively without overwriting existing content.
- Persistent window position (
WindowPositionX,WindowPositionY) defaulting to top-center of the screen. - Ultra-responsive UI optimizations: lazy-loaded icons catalog, pre-styled template cloning, coroutine batching, and search object pooling eliminating loading freezes and GC stutter.
- Enhanced sign character limit patching via Harmony
PrefixonTextInput.RequestTextandSign.Awaketo guarantee 999 characters even on pre-existing signs. - Robust Harmony hooking using discrete patch classes and
PatchAlldiscovery, with safe exception guards across prompt intercepts and studio lifecycle. - Automatic window position validation and clamping ensuring the studio HUD is never placed off-screen due to stale resolution or coordinate configs.
- Fixed icons tab grid layout and button stacking by removing layout ignorer from cloned templates and adding explicit vertical constraints.
- Camera zoom and piece rotation suppression when hovering over the studio HUD via
ZInput.GetMouseScrollWheelandGameCamera.UpdateCamerapatches. - Optimized icon menu scroll sensitivity (default 80, scrolling 2 full rows per tick) with new
UI.ScrollSensitivityBepInEx config for natural, responsive navigation with notched and free-spinning scroll wheels. - Streamlined Live Preview box header by removing the legacy text disclaimer and character counter for a clean aesthetic.
- Fixed unmapped hex codepoints in Valheim's internal sprite table (e.g.
263aresolving to "Smile" instead of raw "U+263A"). - Upgraded icon buttons from legacy Unity
TexttoTextMeshProUGUI, enabling live inline sprite graphic rendering on built-in Valheim sign sprite buttons. - Reordered navigation tabs to Icons, Sprites, Colors, Styles, and Tools, opening directly to the icon catalog on sign edit.
- Added dedicated Sprites tab featuring built-in Valheim sign sprites (
<sprite name="...">) with real-time search filtering, uncluttering the Unicode emoji catalog. - Renamed "Nuke" to "Clear" and added a dedicated "Clear All" button with
Ctrl+Zundo support to completely wipe sign text in one click. - Added
General.DebugLoggingconfiguration option and diagnostic logging acrossApplySize,TryReplace, button click handlers, preview updates, andSignlifecycle hooks to investigate font size formatting. - Clean packaging workflow (
package.ps1) using 7-Zip for 100% Thunderstore and Hexium compliance without heuristic false positives.
