Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
SignScribe
An in-game rich text formatting studio and palette for Valheim signs using Jotunn. Easily format colors, styles, sizes, and alignments.
By Jubaroo
CHANGELOG
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.