Commit Graph
1200 Commits
Author SHA1 Message Date
Brian Neumann-Fopiano b4ee500c14 Restore evicted owners from plans
- A demanded owner missing from the owner cache is restored from its planned tile (resident or prepared-plan store) instead of drafted again
- Same restore path as persisted tiles; plans identical
2026-09-28 14:34:37 -04:00
Brian Neumann-Fopiano 0ee0f62b9d Limit early owner drafts in pregen
- Pregeneration scope limits the lower-rank neighbour drafts an owner starts early to tiles the area composes from
- Undemanded ring drafts (and the early neighbours they started) are no longer computed; demanded ones still resolve on demand
- r2000 tile set: 80 -> 54 drafts, planning CPU -32%, plans identical
2026-09-28 13:58:58 -04:00
Brian Neumann-Fopiano 08353e3bdd Merge L1-objects 2026-09-28 12:26:54 -04:00
Brian Neumann-Fopiano 9d3597703d Merge L3-hydrology 2026-09-28 12:20:03 -04:00
Brian Neumann-Fopiano c4dcb32334 Merge L5-output 2026-09-28 12:19:03 -04:00
Brian Neumann-Fopiano cd61b75ff6 Merge L4-terrain 2026-09-28 12:19:03 -04:00
Brian Neumann-Fopiano 1614d6a9a7 Remember neighbourhood answers
- Each thread keeps its recent final hasColumnsAround answers next to its chunk slots, so the object and hydrology gates skip the nine-chunk scan on repeat
2026-09-28 12:05:05 -04:00
Brian Neumann-Fopiano af2167e2f7 Hide rotation memo accessors
- Keep the rotated-state memo out of the Lombok getter and toString
2026-09-28 11:57:34 -04:00
Brian Neumann-Fopiano 2d5da0076c Unboxed base terrain height
- Base height stream samples through the primitive double stream
2026-09-28 11:57:07 -04:00
Brian Neumann-Fopiano dcdda0d3c7 Hoist cave scan column top
- read the column top once per column and again only after zone decoration writes
2026-09-28 11:57:02 -04:00
Brian Neumann-Fopiano 34f00d86cf Thread-id table for engine frames
- frames live in a 256-slot table indexed by thread id, ThreadLocal only on slot collisions
- the single ThreadLocal probed long collision chains in the workers' thread-local maps
2026-09-28 11:57:02 -04:00
Brian Neumann-Fopiano 82f52cd6ec Skip empty chunk compositions
- Queued and demand compositions of chunks the occupancy index already knows are empty return without loading tiles
2026-09-28 11:55:13 -04:00
Brian Neumann-Fopiano 14f3a263df Retire consumed source plans
- Count the destinations in reach that asked for each source
- Drop the entry once all of them did, so only the frontier stays cached
2026-09-28 11:50:13 -04:00
Brian Neumann-Fopiano d59517aeaa Hydrology occupancy and lookahead
- Index planned tiles by occupied chunk; empty chunks skip composition, tile residency and cave-cell lookups
- Plan the whole pregen area nearest first with several roots, past the tile budget when plans persist
- Restore persisted tiles without a planning root permit
- Never memoize answers the server thread gave before its hydrology plan landed
2026-09-28 11:45:53 -04:00
Brian Neumann-Fopiano a35ecca7bd Group commit generation history
- Semantic journal and saved-biome appends write without forcing; a shared flusher forces touched files within 2s outside every store lock
- GenerationHistory.sync forces pending history at world save, engine shutdown, pregen completion and before activation promotion
- A failed deferred force poisons the store the same way an uncertain append did
- Cache the active epoch pack root instead of regex-validating it on every stage open
- Tests pin append-without-force, sync barriers, failure poisoning and the save, shutdown and pregen hooks
2026-09-28 11:41:17 -04:00
Brian Neumann-Fopiano 066017cdf6 Read ore chance cache first
- Skip the capturing supplier allocation once the chance noise exists
2026-09-28 11:38:41 -04:00
Brian Neumann-Fopiano 8878e9aa5f Spread native volume cache keys
- Mix chunk keys so origin and query caches stop treeifying buckets
2026-09-28 11:36:50 -04:00
Brian Neumann-Fopiano ec1984949b Reject deposit clumps early
- Ellipsoid footprint dry run replays the build draws without building
- Terrain-scoped clumps above every column limit are dropped before building
- Surface biome filters no chunk column passes skip the deposit
2026-09-28 11:35:56 -04:00
Brian Neumann-Fopiano f2236a8482 Skip floating fields for plain parents
- parent biome lookups read the biome stream directly instead of building the boundary field
- fields are only built where a parent with floating children needs edge distances
2026-09-28 11:26:41 -04:00
Brian Neumann-Fopiano 1df51b230d Column biome output buffer
- Bukkit noise generation keeps one biome per column until a partial column write
- drops the full-resolution biome array allocation and fill per chunk
2026-09-28 11:23:24 -04:00
Brian Neumann-Fopiano 2f8d3b1d1a Memoize object block states
- Cache vanilla withProperty variants per state
- Cache rotated states per rotation and quantized spin
- Hoist the stilt dirt state and rotate only target-layer stilt blocks
2026-09-28 11:22:51 -04:00
Brian Neumann-Fopiano d0008086ac One thread frame per engine
- runtime assembly, biome environment and runtime scope share one ThreadLocal frame
- engine getters do a single ThreadLocal lookup
2026-09-28 11:17:51 -04:00
Brian Neumann-Fopiano badca54e5d Plain block state flags
- lazily computed BukkitBlockState flags are bytes instead of volatile Booleans
2026-09-28 11:17:51 -04:00
Brian Neumann-Fopiano ec07f55fd8 Pack and drain object plans
- Store source plans as packed per-destination cell runs over a value table
- Weigh shared payloads once and give tiles and markers finite weights
- Release a plan once every touched destination consumed it, keeping its index
- Rebuild only on repeated consumption; debug stats for builds and waits
2026-09-28 11:12:37 -04:00
Brian Neumann-Fopiano b47c7ae6aa Skip impossible deposit variants
- Scan pack once per data load for declared depositVariants
- Placed ores skip the per-block cave biome lookup when none exist
2026-09-28 11:11:20 -04:00
Brian Neumann-Fopiano bc618e20ec Plain chunk output buffer
- ChunkDataHunkHolder stores cells in a plain array and tracks each column's highest stored y
- natural cave decoration and perfection stop scanning above the column top
2026-09-28 11:11:11 -04:00
Brian Neumann-Fopiano 2ce36eb6f1 Share cave density lattice
- Adaptive plane lattice samples cached per carver across neighbour chunks
- Grid cleared with carvers on hotload
2026-09-28 11:06:34 -04:00
Brian Neumann-Fopiano 631c486a5a Lock-free Terrain3D caches
- Replace synchronized move-to-last LRU stripes with chunk-block CLOCK cache
- Copy-on-write compiled profile map, lock only on miss
- Raise column cache to 2048 chunks
2026-09-28 11:06:34 -04:00
Brian Neumann-Fopiano 8b5c109d55 Sample noise biome cache size
- check the cache bound on a few quarts per column instead of every insert
2026-09-28 11:05:42 -04:00
Brian Neumann-Fopiano 3df1fba518 Drop dead biome inject writes
- sBiome, floating biomes and publishNaturalMetadata no longer write MatterBiomeInject; nothing reads it
- stack metadata clearing only runs for dimension stacks
2026-09-28 11:05:42 -04:00
Brian Neumann-Fopiano c706eab60f Merged pregeneration reliability fixes
- Integrate hydrology persistence, retry, and memory-management changes.
- Preserve terrain-transition object continuations with byte-based cache accounting.
- Verify merged object plans, continuation replay, and cache behavior.
2026-09-28 02:15:30 -04:00
Brian Neumann-Fopiano 21f8440299 Stabilized hydrology pregeneration
- Preserve exact river owner plans across cache eviction and persistence.
- Retry required hydrology plans without generating riverless terrain.
- Bound object plans and pregeneration residency by available heap.
- Release completed native chunks and avoid empty reclamation flushes.
- Cover persistence, admission, cancellation, and ownership regressions.
2026-09-28 02:13:17 -04:00
Brian Neumann-Fopiano 8c3e5d547b Reworked terrain transitions
- New terrain heights meet saved boundaries while retaining local relief
- Surface water levels approach saved fluid heights across the band
- Cave and physical biome matching use a four-block seam patch
- Terrain generates once without speculative neighbor containment
- Bounded caches serve transition membership and boundary lookups
- Saved biome writes honor the selected durability policy
- Release labels and presentation code leave generation identity unchanged
- Unfinished objects retain blocks and metadata across pack changes
- Whole structure assemblies preserve pending excavation and foundations
- New placements keep pending historical pieces clear
- Transition probes cover cutovers and retained object fragments
2026-09-27 15:31:31 -04:00
Brian Neumann-Fopiano 9eb05fd987 Memory patch 2026-09-26 09:15:03 -04:00
Brian Neumann-Fopiano 0837842f5c Updated Iris packaging
- Version is 4.1.2-26.2 across platform builds
- Plugin builds use shared automatic jar selection
- Native adapters remain bundled in selected artifacts
- Plugin export tasks copy the selected artifact
- The previous plugin packer is removed
- The agent tracks primary storage closure during Spigot shutdown
2026-09-26 03:55:40 -04:00
Brian Neumann-Fopiano 68aa6adec7 Testing Jar Packing for minimization 2026-09-24 06:46:27 -04:00
Brian Neumann-Fopiano 38cf4ac7c7 Optimize world generation
- Limit terrain cleanup to affected columns and batch cave boundary reads.
- Reuse offline generation workers and native air states.
- Gather history writes and defer unpublished append synchronization until atomic publication.
- Cover terrain parity, worker lifecycle, history durability, and publication failures.
2026-09-23 21:32:17 -04:00
Brian Neumann-Fopiano ca9f28c9b0 Expanded terrain generation tooling
- Standalone Minecraft 26.3 generation uses native registries, biome planning and structure planning with bounded concurrency
- Offline export publishes fresh TERRAIN checkpoints for native server completion
- Checkpoints retain mantle data, immutable generation history and captured server configuration
- Output publication uses staged directories, durability checks and atomic moves
- Offline distribution tasks provide an installed launcher and reusable native fixtures
- Dimension settings control terrain, biome-bound and cave-density sampling with unchanged defaults
- Pack validation and schemas enforce the supported sampling intervals
- Biome layer caches isolate data, engine and seed identities
- Floating biome palettes keep stable thickness patterns across generation orders
- Hydrology batches terrain samples within the owning generation runtime
- Hydrology planners share bounded basis caches and reuse raster geometry and distance samples
- Demand planning admits new tiles as active plans finish
- Volumetric height queries avoid unnecessary density evaluation and bound cached anchors
- Cave generation reuses chunk-scoped inputs and semantic capture
- Object replay indexes mutations by destination and reuses resolved records
- Source-plan caches coordinate concurrent builds and reduce overlay allocation
- Prerequisite carving reads preserve the underlying hydrology before object placement
- Tree material decoding preserves stored native block identities
- Engine shutdown drains generation outside the lifecycle lock and coordinates runtime retirement
- Pregeneration sizes temporary worker boosts from processor and heap capacity
- Pregeneration restores native worker counts after drain and failure paths
- Native structure queries retain per-origin coordination without broad window locks
- Saved biome writes drain pending batches under their write stripe
- Boundary column lookups avoid repeated voxel decoding
- Modded registry consumers use explicit VolmLib providers and version-specific native source overlays
- Regression tests cover generation parity, cache isolation, concurrency, shutdown, persistence and offline checkpoints
2026-09-23 07:00:55 -04:00
Brian Neumann-Fopiano 98ddb6644d Improved saved world startup
- Startup holds generation admission through recovery and runtime attachment
- Prepared startup state removes the second recovery scan before generator readiness
- Recovery batches allocated chunks by region with reusable snapshot buffers
- Region decoding uses up to four workers within processor and heap limits
- Oversized regions and external chunks use bounded direct reads
- Status parsing validates chunk coordinates without constructing the full NBT tree
- Region snapshots reject changed files, allocation headers and truncated payloads
- Native zlib decompression uses jlibdeflate with a Java inflater fallback
- Chunk readers reuse region handles and decompression buffers during recovery and boundary capture
- Semantic shards reuse validated summaries with invalidation on mutation
- Semantic key validation avoids regular expression allocation
- Saved biome indexes use buffered sequential reads with reusable CRC state
- Pack inspection reads validated manifest and pack state without opening terrain indexes
- Datapack compilation reuses pack inspection within each operation
- Kernel staging avoids duplicate pack hashing when no activation is pending
- Pack copying and directory synchronization use up to four available processors
- Boundary publication batches directory synchronization around durable catalog publication
- Configured world reconciliation reuses ready runtimes after identity and saved-state checks
- Explicit world loads retain the full validation path
- Regression tests cover startup admission, recovery, malformed data, resource limits, publication and reconciliation
2026-09-23 06:56:45 -04:00
Brian Neumann-Fopiano 30c533feaf Tunabelly 2026-09-22 17:04:56 -04:00
Brian Neumann-Fopiano 197d2c2461 Tuning 2026-09-21 10:04:22 -04:00
Brian Neumann-Fopiano 8e3ef1b651 Poplar 2026-09-20 16:18:01 -04:00
Brian Neumann-Fopiano 2fa0853e42 [VERY VERY VERY BAD IDEA] 2026-09-20 04:24:42 -04:00
Brian Neumann-Fopiano f0e7fea13b Test- 26.3 2026-09-19 23:48:44 -04:00
Brian Neumann-Fopiano edadd14f4b Iris downloader / History update
- Allow people to download in place and update in place the media
2026-09-18 21:52:19 -04:00
Brian Neumann-Fopiano b18681a3e2 Command Corrections. 2026-09-17 04:48:35 -04:00
Brian Neumann-Fopiano 1e1eaa96aa Hydrology Fix, and V+ 2026-09-15 23:01:56 -04:00
Brian Neumann-Fopiano 9a1e4b91d1 Generation and runtime fixes
- Surface detail blends raw noise with cached six-block interpolation
- Locked biome layers sample only the requested ranges
- Surface layers skip noise when slope requirements fail
- Stilt supports exclude configured materials and block entities
- Ice and glass remain eligible foundation materials
- Block-drop routing filters materials before loading biome history
- Vision displays biome previews before river refinement
- Interrupted previews retain reusable partial tiles
- Hydrology waiters stop without cancelling shared planning tasks
- Regression tests cover generation, supports, drop routing, and preview cancellation
2026-09-13 17:00:33 -04:00
Brian Neumann-Fopiano e3c6a32968 Propere types 2026-09-13 12:53:43 -04:00
Brian Neumann-Fopiano ef26f3f443 Correcting merge conflit 2026-09-12 17:57:24 -04:00