PrismaUI 2.1.1
Release date: 2026-09-20
PrismaUI 2.1.1 is the platform update that 2.2.0 builds on. It introduced the current controller, localization, modern API, rendering recovery, DevTools, focus/input, packaging, and ModelPreview execution contracts.
Native controller support
- Native flat-provider controller conversion is validated for Fallout 4 1.10.163 and Anniversary Edition 1.11.240.
- Unsupported or unverified controller runtimes fail closed rather than installing guessed hooks.
- Controller actions are delivered only to the focused Prisma view.
- Cross-chain duplicate input is filtered so one physical sample does not activate the same action twice.
- A/B/X/Y, shoulders, triggers, stick clicks, Back/Start, and D-pad directions can be mapped per view.
- LT/RT use deterministic hysteresis.
- Native Gamepad mode exposes live stick and trigger state through
navigator.getGamepads(). - Shared Xbox/PlayStation prompts remain presentation-only; canonical action names do not change with controller style.
- Shared controller glyphs are constrained to the framework prompt size even when a consumer forgets the shared stylesheet, preventing full-size artwork from escaping into the UI.
Localization
- Added the V4 JSON localization API.
- Files load through Fallout's resource system, covering loose files and BA2 archives.
- The selected game language is detected from Fallout configuration with English fallback.
- Flat and dotted keys are supported.
{{variable}}interpolation is exposed throughwindow.PrismaL10N.- Malformed, oversized, or excessively deep files fail predictably.
- The older translation path remains available for compatibility.
Public API
- Added the preferred
PrismaUI_F4_Modern_API.hdiscovery surface. - Current feature tables are Core, Controller, GameThread, Meta, View, Interop, Localization, Render, Input, and Menu.
- Consumers can discover only the feature contracts they require.
- The existing
PrismaUI_F4_API.hV1-V12 ABI remains compatible. - VR advertises only the modern features it implements and rejects unsupported feature requests.
Graphics and rendering
- Added cooperative recovery for compatible foreign Present and ResizeBuffers hooks.
- Added mixed-ownership handling when Present and ResizeBuffers are owned by different compatible injectors.
- Unreadable, malformed, conflicting, or self-owned hook targets remain fail-closed.
- Fixed the focus watchdog so a focused static view does not need fake animation to retain focus.
- Added per-view cursor ownership.
- Improved Anniversary Edition and Proton cursor diagnostics without consuming input.
- Removed the retired CEF backend and its build/runtime dependencies.
Ultralight DevTools
- Restored the packaged in-game Ultralight inspector on F12 when DevTools are enabled.
- Includes Elements, Sources, Console, Network, Timelines, Storage, Graphics, Layers, and Audit panels.
- Inspector assets are packaged and provenance-checked with the framework.
- Focus, cursor, pause, teardown, callback lifetime, and reopen behavior were hardened.
Focus, input, and window activation
- Serialized game-window input-subclass installation through one route.
- Added retry when the window is not yet ready.
- Alt-Tab and window reactivation restore focused Prisma views without resurrecting views that were closed while inactive.
- Full-focus versus overlay pass-through state, input regions, and cursor ownership are restored with activation.
- Generic Escape, Dock input targeting, and deactivation capture behavior were hardened.
- Prisma Dock compatibility was improved for pages supplied by other mods.
Installer and release packaging
- Added the versioned FOMOD installer.
- Developer headers are optional.
- Flat and VR release artifacts are published separately.
- Boot and Dock assets are shipped from validated copies.
- The Ultralight runtime is staged from the pinned release package.
- Release archives carry SHA-256/provenance data tied to the exact source commit.
- Optional controller, localization, and SVG raster test mods are available through the installer where applicable.
- The retired PrismaOnMesh demo is no longer part of the package.
ModelPreview and internal execution
The Ultralight backend was split into focused modules for dispatch, views, callbacks, frames, presentation, input, runtime loading, inspector, file-system, and document handling without changing the public behavior contract.
ModelPreview engine-backed file reads are serviced through the verified game-thread dispatcher after Present unwinds. This keeps blocking engine reads out of the active Present stack while preserving the existing public ModelPreview bridge.
Compatibility
Existing V1-V12 consumers do not need to rebuild solely for 2.1.1. New integrations should prefer the Modern API, and existing consumers can remain on the compatibility ABI they already use.