Releases: knoxhack/ECHO-Modules
Release list
modules-v0.2.0-alpha
Release modules-v0.2.0-alpha
Highlights
- ScreenCore render-loop optimization: per-component dirty flags eliminate full-tree redraws and cut the text-layer flush from two per frame to one.
- Force ECHO Terminal to always use the ScreenCore renderer across all editions; legacy
EchoTerminalScreenis deprecated and unreachable by default.
ScreenCore
- Added
dirty/subtreeDirtyflags toAbstractEchoComponentwith automatic propagation up to parent components. - State changes (
bounds,style,dataContext,hover,focus,scrollOffset) now compare values before marking dirty. - Component render paths skip unchanged subtrees and only call
renderSelf()when the component itself changed. EchoScreenEngine.render()performs a singletextLayer.flush()per frame.EchoOverlayManager.openModal(...)marks the opened modal dirty so it renders immediately.
Terminal
TerminalScreenCoreBridge.shouldUseScreenCoreTerminal()now returns true whenever ScreenCore is present and enabled.- Primary provider no longer falls back to
EchoTerminalScreen. EchoTerminalScreens.create()default fallback is nowTerminalScreenCoreScreen.- Native route fallback surface/bridge now points to
TerminalScreenCoreScreen/TerminalScreenCoreBridge. - Removed
terminal.open_legacy_rendereraction and theopenLegacyRenderer()methods. EchoTerminalScreenis marked@Deprecated.
Validation
./gradlew :echoscreencore:compileJava :echoterminal:compileJava— BUILD SUCCESSFUL../gradlew :echoscreencore:test :echoterminal:test— BUILD SUCCESSFUL.
Modules released
echoscreencoreechoterminal
Terminal ScreenCore Stability Hotfix 2026-06-21
- Fixes the ScreenCore mission browser selection contract: side operations keep their real selected mission id while list highlighting uses the route anchor.
- Keeps mission-browser provider reads on one short-lived cached UI snapshot per state/tick bucket.
- Adds empty states across terminal ScreenCore lists to prevent blank/glitchy panels when data is late or absent.
- Removes the unused legacy renderer action from the normal ScreenCore action catalog.
- Expands GameTest coverage for mission-browser caching, side-operation highlighting, EUI empty states, and Track/Complete/Claim click dispatch.
Validation:
- .\gradlew.bat :echoterminal:compileJava :echoterminal:compileTestJava --rerun-tasks --console=plain
- .\gradlew.bat :echoterminal:test --console=plain
- .\gradlew.bat :echoterminal:runGameTestServer -PechoGameTestSelector=echoterminal:terminal_screencore_* --console=plain
modules-terminal-screencore-lag-hotfix-20260621
ECHO module release generated from b1796c7.
ECHO Modules Native Index Overlay Hotfix 20260624
Native Index overlay phase hotfix for Ashfall Native beta.6. Updates echoindex and echoashfallprotocol module artifacts; keeps NeoForge pack routing unchanged.
Index Overlay Recovery Modules 20260624
Recovery module hotfix for Ashfall Index inventory overlay foreground rendering and input fallback. Includes rebuilt echoindex artifacts and Ashfall Protocol recovery artifacts.
ECHO Modules beta full 2026-06-20.2
Beta module release regenerated from main with extended Ashfall/worldgen/content-graph metadata. Includes NeoForge jars, Native .echo-addon assets, Standalone jars, content graph evidence, release manifest, checksums, and full tarball.
ECHO Modules Ashfall Terminal hotfix 20260621
Ashfall beta Terminal hotfix module release.
Fixes:
- Terminal ScreenCore native input now falls back to local ScreenCore handling when native routing declines an event.
- Terminal tab navigation switches in place instead of replacing the entire Minecraft screen.
- Command Deck overview avoids the render-thread full route snapshot on first open.
- ScreenCore input/hover uses current layout after dirty data or viewport changes.
Validation:
- .\gradlew.bat :echoscreencore:compileJava :echoterminal:compileJava --no-daemon --console=plain --max-workers=1
- .\gradlew.bat :echoscreencore:test :echoterminal:test --no-daemon --console=plain --max-workers=1
- .\gradlew.bat :echoscreencore:jar :echoterminal:jar :echoashfallprotocol:jar --no-daemon --console=plain --max-workers=1
- node scripts/verify-module-release.mjs --release-dir dist/modules-ashfall-terminal-hotfix-20260621
Ashfall NeoForge runtime hotfix 20260621
Ashfall NeoForge runtime hotfix for beta tester install/gameplay.
Fixes:
- Excludes native-loader SLF4J/com.mojang logging shim classes from the echoashfallprotocol NeoForge jar.
- Defers MissionRegistry item stack materialization until Minecraft item components are bound.
Verification:
- Gradle :echoashfallprotocol:jar passed.
- Module release verification passed.
- NeoForge artifact checked clean for org/slf4j and com/mojang/logging shim packages.
- Dev-direct Ashfall NeoForge quickplay smoke reached New World gameplay after the local patched jar.
ECHO Modules beta full 2026-06-20
Beta tester module release generated from the official pack module-selection union. Includes NeoForge jars, Native .echo-addon assets, Standalone jars, source jars, content graph evidence, checksums, and bundle archive.
modules-ashfall-neoforge-native-route-bridge-20260617
Partial Ashfall module hotfix release for NeoForge startup.
Fixes echoashfallprotocol client startup in plain NeoForge by routing Native Loader client route registration through a safe bridge, preventing direct linkage of dev.echo.nativeplatform.contracts.EchoNativeClientRouteRegistries when Native Platform contracts are not present.
Source commit: d499d0a