Consolidate source layout

- Packages regrouped by domain: generation, world, pack, studio, structure, platform, command, localization, diagnostics
- Forked VolmLib utilities dropped for the shared library: noise, stream, interpolation, hunk, matter
- Engine-coupled stream decorators moved to generation.stream.GenerationStreams
- Hunk section splits now run on the Iris burst pool through HunkBurst
- Artifact entry lists, purity allowlists and shrink rules follow the new paths
This commit is contained in:
Brian Neumann-Fopiano
2026-09-11 21:46:22 -04:00
parent 29a31a69e0
commit 3f57925443
2666 changed files with 18279 additions and 37104 deletions
@@ -20,40 +20,40 @@ public final class GenerationRevisionScope {
"adapters/neoforge/src/main/java"
);
private static final List<String> OPERATIONAL_EXCLUSIONS = List.of(
"core/src/main/java/art/arcane/iris/engine/EngineDiagnostics.java",
"core/src/main/java/art/arcane/iris/engine/EngineMetricsReport.java",
"core/src/main/java/art/arcane/iris/core/IrisStartupValidation.java",
"core/src/main/java/art/arcane/iris/core/safeguard/IrisSafeguard.java",
"core/src/main/java/art/arcane/iris/core/safeguard/Mode.java",
"core/src/main/java/art/arcane/iris/core/safeguard/task/Task.java",
"core/src/main/java/art/arcane/iris/core/safeguard/task/Tasks.java",
"core/src/main/java/art/arcane/iris/core/safeguard/task/Diagnostic.java",
"core/src/main/java/art/arcane/iris/core/safeguard/task/ValueWithDiagnostics.java",
"core/src/main/java/art/arcane/iris/core/splash/IrisSplashRenderer.java",
"adapters/bukkit/nms/v26_2_R1/src/main/java/art/arcane/iris/core/nms/v26_2_R1/NmsWorldLifecycle.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandDeveloper.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandPregen.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandIris.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsaw.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawAdopt.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawConnector.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawExports.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawOpen.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawPiece.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawPool.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawPreview.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawRules.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawVariant.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawWorkcell.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandStudio.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandObject.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/PaperCommandRegistrar.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandPack.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandStructure.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandWhat.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandFind.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandEdit.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandDatapack.java"
"core/src/main/java/art/arcane/iris/generation/runtime/EngineDiagnostics.java",
"core/src/main/java/art/arcane/iris/generation/runtime/EngineMetricsReport.java",
"core/src/main/java/art/arcane/iris/world/IrisStartupValidation.java",
"core/src/main/java/art/arcane/iris/world/safeguard/IrisSafeguard.java",
"core/src/main/java/art/arcane/iris/world/safeguard/Mode.java",
"core/src/main/java/art/arcane/iris/world/safeguard/Task.java",
"core/src/main/java/art/arcane/iris/world/safeguard/Tasks.java",
"core/src/main/java/art/arcane/iris/world/safeguard/Diagnostic.java",
"core/src/main/java/art/arcane/iris/world/safeguard/ValueWithDiagnostics.java",
"core/src/main/java/art/arcane/iris/diagnostics/splash/IrisSplashRenderer.java",
"adapters/bukkit/nms/v26_2_R1/src/main/java/art/arcane/iris/platform/bukkit/nms/v26_2_R1/NmsWorldLifecycle.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandDeveloper.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandPregen.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandIris.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsaw.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawAdopt.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawConnector.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawExports.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawOpen.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawPiece.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawPool.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawPreview.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawRules.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawVariant.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawWorkcell.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandStudio.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandObject.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/PaperCommandRegistrar.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandPack.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandStructure.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandWhat.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandFind.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandEdit.java",
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandDatapack.java"
);
private GenerationRevisionScope() {
@@ -61,7 +61,7 @@ public final class GenerationRevisionScope {
public static GenerationBuildRevision.CaptureOptions current(Path repository) {
return new GenerationBuildRevision.CaptureOptions(repository, 1,
"art.arcane.iris.engine.history.GenerationKernelV1",
"art.arcane.iris.world.history.GenerationKernelV1",
List.of(new GenerationBuildRevision.AlgorithmVersion(1, 1)), SOURCE_ROOTS, OPERATIONAL_EXCLUSIONS);
}
}
@@ -22,7 +22,7 @@ public class BukkitArtifactVerifierTest {
private static final String PLUGIN_DESCRIPTOR = "plugin.yml";
private static final String SLIMJAR_DEPENDENCIES = "slimjar.dat";
private static final String SLIMJAR_RESOLUTIONS = "slimjar-resolutions.dat";
private static final String NMS_BINDING = "art/arcane/iris/core/nms/v26_2_R1/NMSBinding";
private static final String NMS_BINDING = "art/arcane/iris/platform/bukkit/nms/v26_2_R1/NMSBinding";
private static final List<String> REQUIRED_ENTRIES = List.of(
PLUGIN_DESCRIPTOR,
SLIMJAR_DEPENDENCIES,
@@ -19,9 +19,9 @@ import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
public class GenerationRevisionScopeTest {
private static final String ENGINE_ROOT = "core/src/main/java/art/arcane/iris/engine/";
private static final String NMS_ROOT = "adapters/bukkit/nms/v26_2_R1/src/main/java/art/arcane/iris/core/nms/v26_2_R1/";
private static final String COMMAND_ROOT = "adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/";
private static final String ENGINE_ROOT = "core/src/main/java/art/arcane/iris/generation/runtime/";
private static final String NMS_ROOT = "adapters/bukkit/nms/v26_2_R1/src/main/java/art/arcane/iris/platform/bukkit/nms/v26_2_R1/";
private static final String COMMAND_ROOT = "adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/";
@Rule
public final TemporaryFolder temporary = new TemporaryFolder();
@@ -72,7 +72,7 @@ public class GenerationRevisionScopeTest {
assertNewSourceChangesRevision(fixture, ENGINE_ROOT + "NewDiagnostics.java");
assertNewSourceChangesRevision(fixture, NMS_ROOT + "NmsWorldLifecycleHelper.java");
assertNewSourceChangesRevision(fixture, COMMAND_ROOT + "NewCommand.java");
assertNewSourceChangesRevision(fixture, "core/src/main/java/art/arcane/iris/core/safeguard/task/NewTask.java");
assertNewSourceChangesRevision(fixture, "core/src/main/java/art/arcane/iris/world/safeguard/NewTask.java");
}
@Test
@@ -141,8 +141,8 @@ public class GenerationRevisionScopeTest {
ENGINE_ROOT + "history/GenerationKernelV1.java",
ENGINE_ROOT + "object/IrisDimension.java",
ENGINE_ROOT + "mode/ModeOverworld.java",
"core/src/main/java/art/arcane/iris/core/loader/IrisData.java",
"core/src/main/java/art/arcane/iris/core/IrisSettings.java",
"core/src/main/java/art/arcane/iris/pack/loading/IrisData.java",
"core/src/main/java/art/arcane/iris/configuration/IrisSettings.java",
"core/agent/src/main/java/GenerationTransformer.java",
NMS_ROOT + "NmsGenerationHooks.java",
NMS_ROOT + "NmsGenerationRegistry.java",
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertTrue;
public class ModdedArtifactVerifierTest {
private static final String METADATA = "fabric.mod.json";
private static final String CODEC_CLASS = "art/arcane/volmlib/util/mantle/io/Lz4IOWorkerCodecSupport.class";
private static final String HARDWARE_CLASS = "art/arcane/iris/util/common/misc/getHardware.class";
private static final String HARDWARE_CLASS = "art/arcane/iris/platform/bootstrap/getHardware.class";
private static final String MIXIN_CONFIG = "irisworldgen.entity.mixins.json";
private static final String CLIENT_MIXIN_CONFIG = "irisworldgen.client.mixins.json";
private static final String NEOFORGE_METADATA = "META-INF/neoforge.mods.toml";
@@ -220,8 +220,8 @@ public class ModdedArtifactVerifierTest {
@Test
public void rejectsBukkitSupertypeOutsidePlatformPackage() throws Exception {
Map<String, byte[]> entries = validEntries();
entries.put("art/arcane/iris/engine/platform/BukkitChunkGenerator.class",
classExtending("art/arcane/iris/engine/platform/BukkitChunkGenerator",
entries.put("art/arcane/iris/platform/generation/BukkitChunkGenerator.class",
classExtending("art/arcane/iris/platform/generation/BukkitChunkGenerator",
"org/bukkit/generator/ChunkGenerator"));
File artifact = createArtifact(entries);
@@ -255,25 +255,25 @@ public class ModdedArtifactVerifierTest {
@Test
public void acceptsBukkitSupertypeDeclaredInThePurityAllowlist() throws Exception {
Map<String, byte[]> entries = validEntries();
entries.put("art/arcane/iris/engine/platform/BukkitChunkGenerator.class",
classExtending("art/arcane/iris/engine/platform/BukkitChunkGenerator",
entries.put("art/arcane/iris/platform/generation/BukkitChunkGenerator.class",
classExtending("art/arcane/iris/platform/generation/BukkitChunkGenerator",
"org/bukkit/generator/ChunkGenerator"));
File artifact = createArtifact(entries);
ModdedArtifactVerifier.verify(artifact, REQUIRED_ENTRIES,
Set.of("art/arcane/iris/engine/platform/BukkitChunkGenerator"));
Set.of("art/arcane/iris/platform/generation/BukkitChunkGenerator"));
}
@Test
public void acceptsBukkitSupertypeOnNestedClassOfAllowlistedSource() throws Exception {
Map<String, byte[]> entries = validEntries();
entries.put("art/arcane/iris/engine/object/IrisEntity$BukkitOps$1.class",
classImplementing("art/arcane/iris/engine/object/IrisEntity$BukkitOps$1",
entries.put("art/arcane/iris/world/entity/IrisEntity$BukkitOps$1.class",
classImplementing("art/arcane/iris/world/entity/IrisEntity$BukkitOps$1",
"org/bukkit/event/Listener"));
File artifact = createArtifact(entries);
ModdedArtifactVerifier.verify(artifact, REQUIRED_ENTRIES,
Set.of("art/arcane/iris/engine/object/IrisEntity"));
Set.of("art/arcane/iris/world/entity/IrisEntity"));
}
@Test
@@ -289,14 +289,14 @@ public class ModdedArtifactVerifierTest {
@Test
public void rejectsBukkitSupertypeMissingFromThePurityAllowlist() throws Exception {
Map<String, byte[]> entries = validEntries();
entries.put("art/arcane/iris/core/link/data/OraxenDataProvider.class",
classImplementing("art/arcane/iris/core/link/data/OraxenDataProvider",
entries.put("art/arcane/iris/integration/data/OraxenDataProvider.class",
classImplementing("art/arcane/iris/integration/data/OraxenDataProvider",
"org/bukkit/event/Listener"));
File artifact = createArtifact(entries);
GradleException failure = assertThrows(GradleException.class,
() -> ModdedArtifactVerifier.verify(artifact, REQUIRED_ENTRIES,
Set.of("art/arcane/iris/core/link/data/ItemAdderDataProvider")));
Set.of("art/arcane/iris/integration/data/ItemAdderDataProvider")));
assertTrue(failure.getMessage().contains("core/purity-allowlist.txt"));
}