Stabilized shutdown and Studio

- Shutdown protection initializes before enable and drains inline when retention fails
- Cleanup preserves class loader retention and closes native providers in order
- Error reports retain context and handle empty stack traces
- Studio maps retain partial coverage and suspend hidden views
- Hydrology previews refresh when plans and rasters complete
- Terrain scratch hashing spreads lattice samples across cache slots
- Plugin and probe artifacts include LWJGL libraries and native resources
- Regression tests cover shutdown, error reporting, map progress, and terrain scratch
This commit is contained in:
Brian Neumann-Fopiano committed 2026-10-26 23:29:21 -04:00
1 parent f64a7c6753
commit 3dc958edcf
31 files changed
+1973 -217

No files matched your search

+9
View File
@@ -180,6 +180,13 @@ def jarJar = configurations.create('jarJar')
dependencies {
add('included', project(path: ':core', configuration: 'shadow'))
add('included', project(path: ':adapters:bukkit:plugin', configuration: 'runtimeElements'))
// Shaded: the runtime downloader can neither fetch the natives classifiers nor relocate lwjgl's own jar.
add('included', libs.lwjgl)
add('included', libs.lwjgl.opengl)
add('included', libs.lwjgl.egl)
add('included', libs.lwjgl.jawt)
add('included', variantOf(libs.lwjgl) { classifier('natives-linux') })
add('included', variantOf(libs.lwjgl.opengl) { classifier('natives-linux') })
add('jarJar', project(':core:agent'))
}
@@ -194,6 +201,7 @@ tasks.named('jar', Jar).configure {
includeEmptyDirs = false
from(jarJar)
from(provider { included.resolve().collect { zipTree(it) } }) {
exclude('META-INF/INDEX.LIST')
exclude('languages/**')
exclude('com/fren_gor/**')
@@ -734,6 +742,7 @@ pluginPackaging {
policyName = 'Iris Bukkit'
packed = true
packedJarAccessors = ['art/arcane/iris/platform/bukkit/plugin/VolmitPlugin#getJarFile']
packedPayloadOnlyPrefixes = ['linux/x64/org/lwjgl/', 'iris-language-guides/']
stripDirectories = true
stripLocalVariables = true
releaseCompression = providers.gradleProperty('compactRelease')