Skip to content
Ludens Ludens Ludens 0.4.0

Changelog

This page documents the release history and major changes for the Ludens project.

For a complete list of commits and minor fixes, please refer to the GitHub Releases page.

  • Rich WebView Game Runtime Error Interception & Diagnostic Traceback Dialog supporting JavaScript exception capturing, native WebView loading failure interception, variable formatting, and localized translations across KMP.
  • Automated App Icon Generator Gradle plugin and task that compiles Android launcher icons (legacy and adaptive SVG/PNG), iOS app icons (all resolutions and JSON manifest), and Google Play Store listing icons from a single source image in project/assets/icons/.
  • New language support: Chinese (zh), Japanese (ja), Portuguese - Brazil (pt-rBR), and Russian (ru) for UI.
  • Automatic synchronization of web assets from the project/www/ root directory to Compose resources.
  • Font and language strings sync plugins for resource management within the build-logic to strip out unused languages and fonts.
  • Language and font configuration support for resource generation, including base language metadata support.
  • Project extension utilities for asset management and resource name parsing.
  • Multilingual support with optimized i18n loading, and language alias parsing from presets configuration.
  • Conditional rendering of LanguageAction based on available languages.
  • CODE_OF_CONDUCT.md and updated issue templates.
  • Enhanced SideTabOptions layout, improving text overflow handling.
  • Optimized view model injection and enhanced state management using rememberSaveable.
  • Removed specific fonts to use variable font types.
  • Reduced manual resource handling by leveraging new helper utilities.
  • Moved configuration files and enhanced internal documentation for clarity.
  • Changed how plugins are applied: now there is only a single ludens.build plugin, and the others must be activated/applied using the DSL in gradle.
  • Updated project documentation (README, BUILD, CONTRIBUTING) to detail the new root folder asset synchronization method.
  • Replace 404 page with game setup placeholder for default index.html pages.
  • Optimized WebView key event simulation script by batching events by type with a single guard per group.
  • Fixed unexpected error has been fixed in the generation of icon resources during compilation, which was causing the files to be placed inside the “generated” folder.
  • Fixed locale handling by including configuration orientation in remember.
  • Fixed movement key event script operator precedence issue by wrapping the assignment in parentheses.
  • Fixed potential null pointer exceptions in WebView scripts by adding null guards for global Input and Graphics objects.
  • Fixed error logger double-registration when YDP_Ludens is loaded.
  • Fixed missing accessibility descriptions by adding content descriptions to FloatingDock buttons.
  • build-logic module with custom Gradle plugins for Ludens configuration, generated resources, and generated permissions.
  • Root ludens.properties configuration as the main source for app identity, manifest flags, permissions, and settings presets.
  • Typed compose resource accessors and settings preset generation.
  • Platform-specific WebView helpers and memory-management utilities for Android and iOS.
  • New keyboard control model and related UI state for game input mapping.
  • Expanded range of keys supported by the control buttons to include standard and specific graphic keys.
  • Responsive layout primitives and reusable design tokens for spacing, radius, strokes, and breakpoints.
  • Searchable dropdown component for control selection flows.
  • Boot resource handling, including www/index.html and memory-cleaner boot script support.
  • Android build now reads Ludens configuration from ludens.properties and applies app identity and manifest placeholders from that model.
  • Settings preset generation now resolves default values from the new configuration pipeline instead of hardcoded app-side defaults.
  • Home and settings screens were reworked for updated control behavior, action ordering, and more responsive layouts.
  • Theme, typography, spacing, card, floating, and dock components were refreshed to match a new visual system.
  • WebView startup and lifecycle handling were updated to improve stability and memory behavior.
  • The plugin and settings experience was updated around YDP_Ludens.js and related control/key handling.
  • Fixed configuration loading behavior that could be affected by cache or stale values.
  • Fixed missing file/path handling for resource bootstrapping.
  • Fixed settings layout padding mismatches.
  • Fixed behavior around unexpected active actions.
  • Fixed black screen for RPG Maker MZ games.
  • onRestart callback implementation for navigation and state reset
  • Refactored settings events to use UpdateSettings sealed interface pattern
  • Improved settings event and request handling
  • Fixed on-screen controls not showing when YDP_Ludens plugin is disabled or not present
  • Fixed unnecessary WebView restart when updating settings without navigating away

Initial project release.

  • Android 21+ support (Designed for modern devices)
  • Optimized WebView for RPG Maker MV/MZ
  • Virtual Joystick (Configurable opacity & position)
  • Action Buttons (A, B, X, Y)
  • System Theme & Language
  • Audio Mute & FPS Counter
  • WebGL Toggle
  • Customizable applicationId, Version, and Name via gradle.properties
  • Simplified Asset Injection (composeResources/files/www)