Skip to content

Releases: knoxhack/ECHO-Modules

modules-v0.2.0-alpha

Choose a tag to compare

@knoxhack knoxhack released this 21 Jun 13:24

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 EchoTerminalScreen is deprecated and unreachable by default.

ScreenCore

  • Added dirty/subtreeDirty flags to AbstractEchoComponent with 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 single textLayer.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 now TerminalScreenCoreScreen.
  • Native route fallback surface/bridge now points to TerminalScreenCoreScreen/TerminalScreenCoreBridge.
  • Removed terminal.open_legacy_renderer action and the openLegacyRenderer() methods.
  • EchoTerminalScreen is marked @Deprecated.

Validation

  • ./gradlew :echoscreencore:compileJava :echoterminal:compileJava — BUILD SUCCESSFUL.
  • ./gradlew :echoscreencore:test :echoterminal:test — BUILD SUCCESSFUL.

Modules released

  • echoscreencore
  • echoterminal

Terminal ScreenCore Stability Hotfix 2026-06-21

Choose a tag to compare

  • 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

Choose a tag to compare

ECHO module release generated from b1796c7.

ECHO Modules Native Index Overlay Hotfix 20260624

Choose a tag to compare

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

Pre-release

Choose a tag to compare

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

Pre-release

Choose a tag to compare

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

Choose a tag to compare

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

Choose a tag to compare

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

Pre-release

Choose a tag to compare

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

Choose a tag to compare

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