sidereon-1.1.32.jar
Curse Maven Snippet
What's new
1.1.32 — Test Gate Path & Solar Contract Synchronization — V1
pt-BR
- Promove oficialmente Sidereon 1.1.31 → 1.1.32, sem reutilizar ou regredir versões anteriores.
- Corrige
PostAuditHotPathAllocationGateTestpara localizar a raiz real do projeto antes de lersrc/main/java, removendo a dependência do diretório de trabalho escolhido pelo Gradle/JUnit. - Sincroniza
SolarTwilightOptimizationGateTestcom o contrato allocation-free vigente:prepareInto(...)prepara trigonometria uma vez etransformInto(...)reutiliza scratch para disco e halo. - Remove do gate legado as expectativas de
sidereon$solarPreparedTransform,prepare(...)etransform(...)no hot path, sem reintroduzir alocações que a 1.1.30 eliminou. - Endurece o gate para distinguir alocações normais de vértice/scratch das exceções defensivas criadas apenas em caminhos inválidos.
- Varre os testes de release para impedir retorno do padrão frágil
Files.readString(Path.of("src/..."))e de expectativas do campo solar legado. - Não altera
src/main/java: astronomia, renderer, Lua/estrelas independentes, Solar/Moon Illusion, refração, halo, twilight, compatibilidade e modosVANILLA/SIDEREONpermanecem inalterados. - Mantém Minecraft 1.21.1, NeoForge 21.1.248 e Java 21.
en-US
- Officially promotes Sidereon 1.1.31 → 1.1.32 without reusing or regressing previous releases.
- Fixes
PostAuditHotPathAllocationGateTestso it locates the actual project root before readingsrc/main/java, removing dependence on the Gradle/JUnit working directory. - Synchronizes
SolarTwilightOptimizationGateTestwith the active allocation-free contract:prepareInto(...)prepares trigonometry once andtransformInto(...)reuses scratch for both disc and halo. - Removes legacy gate expectations for
sidereon$solarPreparedTransform,prepare(...), andtransform(...)in the renderer hot path without restoring allocations removed in 1.1.30. - Hardens the gate so normal vertex/scratch allocations are distinguished from defensive exception allocation on invalid-input paths.
- Scans release tests to prevent reintroduction of fragile
Files.readString(Path.of("src/..."))access and stale solar prepared-field expectations. - Does not change
src/main/java: astronomy, renderer behavior, independent Moon/star motion, Solar/Moon Illusion, refraction, halo, twilight, compatibility, andVANILLA/SIDEREONmodes remain unchanged. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, and Java 21.
1.1.31 — Post-Audit Correctness & Safety Hardening — V1
pt-BR
- Promove oficialmente Sidereon 1.1.30 → 1.1.31, sem reutilizar ou regredir versões anteriores.
- Corrige o estado de persistência de
server.jsoneclient-visuals.json: falha de I/O agora bloqueia escrita até um reload válido confirmar o arquivo, evitando sobrescrita de conteúdo/schema desconhecido. - Mantém configuração validada em memória quando somente a persistência da normalização falha.
- Torna atômico o contrato
check + registerdos adapters de shader e sincroniza também o fechamento da registration. - Corrige a identidade fallback de sistemas celestes: apenas Overworld usa
minecraft:overworld_system; Nether, End e dimensões modded recebem IDs determinísticos específicos da dimensão. - Endurece
AstronomySyncPayload: payload live exigesampledAtGameTime >= 0, valida relógio/enum/season/dimension, rejeita luas duplicadas e remove factories sem timestamp autoritativo. - Normaliza vetores externos de constelação uma única vez na fronteira da API, preservando o invariante unitário no renderer.
- Centraliza cache thread-safe de presença de mods opcionais em
OptionalModDetector, sem cachear estados dinâmicos. - Endurece o mixin solar: somente o quad canônico do Sol pode receber transform; estado GL especial é aberto apenas no primeiro vértice solar válido; geometria incompatível degrada de forma fail-soft sem contaminar draws alheios.
- Preserva astronomia, Lua/estrelas independentes, Moon/Solar Illusion, refração, halo, limb darkening, twilight,
VANILLAvsSIDEREON, VBO/EBO/revision e integrações opcionais lightweight.
en-US
- Officially promotes Sidereon 1.1.30 → 1.1.31 without reusing or regressing prior releases.
- Fixes
server.jsonandclient-visuals.jsonpersistence state: I/O uncertainty now locks writes until a successful reload verifies persisted state, preventing unknown/newer contents from being overwritten. - Keeps validated configuration in memory when only normalization persistence fails.
- Makes shader-adapter duplicate-check + registration atomic and synchronizes registration close against the same registry lock.
- Fixes fallback celestial-system identity: only Overworld uses
minecraft:overworld_system; Nether, End and modded dimensions receive deterministic dimension-scoped IDs. - Hardens
AstronomySyncPayload: live payloads require authoritativesampledAtGameTime, validate temporal/enum/season/dimension fields, reject duplicate moons, and remove factories that could create unsendable timestamp-less payloads. - Normalizes arbitrary external constellation vectors once at the API boundary, preserving the unit-vector invariant in render paths.
- Centralizes thread-safe optional-mod presence caching in
OptionalModDetectorwithout freezing dynamic integration state. - Hardens the solar mixin: only the canonical Sun quad can be transformed; special GL state opens only on the first valid solar vertex; incompatible geometry falls back without contaminating unrelated draws.
- Preserves astronomy, independent Moon/star motion, Moon/Solar Illusion, refraction, halo, limb darkening, twilight,
VANILLAvsSIDEREON, VBO/EBO/revision behavior and lightweight optional integrations.
1.1.30 — Post-Audit Hot-Path Allocation Hotfix — V1
pt-BR
- Promove oficialmente Sidereon 1.1.29 → 1.1.30, sem reutilizar ou regredir versões anteriores.
- Corrige a alocação residual de
SolarQuadTransformPolicy.PreparedTransformno caminho solar normal usandoprepareInto(...)com scratch reutilizável do renderer. - Corrige as alocações de
SolarQuadTransformPolicy.Vertexpor vértice usandotransformInto(...)com resultado mutável reutilizável; disco e halo preservam exatamente a mesma matemática. - Remove
new Matrix4f(matrix)por draw do halo solar e substitui por uma matriz scratch dedicada, válida somente durante orenderSkycorrente. - Mantém os métodos alocadores anteriores somente como conveniência de cold-path/testes; o hot path do renderer não os chama.
- Preserva escala solar, compressão, refração, orientação, halo, limb darkening, sunrise/sunset, ownership, contexto único por frame e todos os contratos astronômicos/visuais da 1.1.29.
- Mantém integrações Iris, DH, Sodium/Embeddium, EcoTermico e ShaderMax inalteradas e opcionais.
- Mantém Minecraft 1.21.1, NeoForge 21.1.248 e Java 21.
en-US
- Officially promotes Sidereon 1.1.29 → 1.1.30 without reusing or regressing previous releases.
- Removes the remaining
SolarQuadTransformPolicy.PreparedTransformallocation from the normal solar path by using renderer-owned scratch throughprepareInto(...). - Removes per-vertex
SolarQuadTransformPolicy.Vertexallocations by usingtransformInto(...)with reusable mutable output; disc and halo preserve the exact same math. - Removes the per-draw
new Matrix4f(matrix)halo copy and replaces it with dedicated render-thread scratch valid only for the currentrenderSky. - Keeps the allocating methods only as cold-path/test convenience; the renderer hot path no longer calls them.
- Preserves solar scale, compression, refraction, orientation, halo, limb darkening, sunrise/sunset, ownership, one context per frame, and every astronomical/visual contract from 1.1.29.
- Keeps Iris, DH, Sodium/Embeddium, EcoTermico, and ShaderMax integrations unchanged and optional.
- Keeps Minecraft 1.21.1, NeoForge 21.1.248, and Java 21 unchanged.
1.1.29 — Celestial Math, Render Hot-Path and Compatibility Optimization — V1 — Estágio 10/10
pt-BR
- Promove oficialmente Sidereon 1.1.28 → 1.1.29, mantendo 1.1.20 como baseline histórica do Estágio 1 e sem reutilizar/regredir nenhuma release já consolidada.
- Consolida a coerência de
partialTicke um únicoClientCelestialRenderContextpor frame para ownership de Sol/Lua, sunrise, atmosfera/chuva, estrelas eAFTER_SKY. - Mantém captura lazy do estado OpenGL:
CelestialRenderStateScope.capture()só ocorre imediatamente antes do primeiro draw real, reduzindoglGet*em frames sem canais visíveis e preservando restauração exata do estado recebido. - Consolida a deduplicação do cálculo sideral e o reaproveitamento de vetores unitários/ortonormais conhecidos com guards numéricos e fallback de normalização para dados arbitrários.
- Mantém transformação solar preparada uma vez por draw, reutilizando escala, compressão, refração e
sin/cosnos vértices do disco/halo; twilight e sunrise calculam somente os campos realmente consumidos, sem aproximações de baixa precisão. - Preserva
StellarHorizonMath.horizontalY, o teste escalar contínuo por Y, máscaras atualizadas em uma passagem, topologia imutável de constelações pré-resolvida, VBO estático, EBO/native staging reutilizáveis, revision eglBufferSubData. - Consolida scratch matrices independentes para Lua, esfera estelar e composição final, mantendo ordem/convenção exatas das multiplicações e sem persistir referências scratch fora do draw síncrono.
- Mantém cache apenas da infraestrutura estática/reflexiva dos backends opcionais: Iris continua consultando dinamicamente
isShaderPackInUse(), DH/Sodium/Embeddium mantêm presença estática cacheada e EcoTermico HUD continua relendo snapshots dinâmicos. - Mantém integração Distant Horizons lightweight, com
lodIsPhysicalChunk=false,mayForceChunkLoading=false, zero terrain API, zero raycast/raymarch de LOD e zero force-load. - Mantém Iris somente na API pública
net.irisshaders.iris.api.v0.IrisApi, sem classes internas. - Mantém EcoTermico read-only e opcional, sem duplicar relógio, estação, clima, game time, temperatura ou atmosfera.
- Preserva os contratos públicos usados por ShaderMax/consumidores:
LunarObservationSnapshot.current(),illuminatedFraction(),phaseProgress(),solarAngleDegrees(),lunarAngleDegrees(),siderealAngleDegrees()e as semânticasUNKNOWN/ABSENT/AVAILABLE, sem fabricar dados indisponíveis. - Mantém zero
@Deprecatedemsrc/main/javae não cria aliases legados para consumidores externos. - Preserva movimento independente Lua/estrelas, fases, Moon Illusion, refração, sunrise/sunset, halo, limb darkening, orientação, RA/Dec, axial tilt, polo celeste e resultados visuais/astronômicos consolidados.
- Mantém somente
VANILLAeSIDEREON; efeitos especiais de Sol, Lua, atmosfera e estrelas continuam exclusivos deSIDEREON. - Mantém Minecraft 1.21.1, NeoForge 21.1.248 e Java 21.
- Adiciona o gate final do Estágio 10 para proteger zero deprecated, API astronômica pública, independência Lua/estrelas,
VANILLAvsSIDEREON, ausência de force-load, optionalidade de DH/Iris/EcoTermico/ShaderMax e a nova baseline 1.1.29.
en-US
- Officially promotes Sidereon 1.1.28 → 1.1.29, keeping 1.1.20 as the historical Stage 1 baseline without reusing or regressing any already consolidated release.
- Consolidates coherent
partialTicksampling and oneClientCelestialRenderContextper frame across Sun/Moon ownership, sunrise, atmosphere/rain, stars, andAFTER_SKY. - Keeps lazy OpenGL state capture:
CelestialRenderStateScope.capture()runs only immediately before the first real draw, reducingglGet*work on frames with no visible channels while restoring the exact incoming state. - Consolidates sidereal-calculation deduplication and reuse of mathematically known unit/orthonormal vectors with numerical guards and normalization fallback for arbitrary external data.
- Keeps the solar transform prepared once per draw, reusing scale, compression, refraction, and
sin/cosfor disc/halo vertices; twilight and sunrise compute only the fields actually consumed, with no low-precision curve approximations. - Preserves
StellarHorizonMath.horizontalY, the continuous scalar Y horizon test, single-pass visibility accumulation, pre-resolved immutable constellation topology, static VBOs, reusable EBO/native staging, revisions, andglBufferSubData. - Consolidates independent scratch matrices for Moon, stellar sphere, and final composition while preserving exact multiplication order/conventions and never retaining scratch references beyond the synchronous draw path.
- Caches only static/reflection infrastructure for optional backends: Iris still queries
isShaderPackInUse()dynamically, DH/Sodium/Embeddium keep static presence caches, and the EcoTermico HUD bridge keeps re-reading dynamic snapshots. - Keeps Distant Horizons integration lightweight with
lodIsPhysicalChunk=false,mayForceChunkLoading=false, no terrain API, no LOD raycast/raymarch, and no forced chunk loading. - Keeps Iris strictly on the public
net.irisshaders.iris.api.v0.IrisApiwith no renderer-internal classes. - Keeps EcoTermico read-only and optional without duplicating clock, season, weather, game time, temperature, or atmosphere authority.
- Preserves public contracts consumed by ShaderMax/other integrations:
LunarObservationSnapshot.current(),illuminatedFraction(),phaseProgress(),solarAngleDegrees(),lunarAngleDegrees(),siderealAngleDegrees(), and explicitUNKNOWN/ABSENT/AVAILABLEsemantics, never inventing unavailable astronomical data. - Keeps zero
@Deprecateddeclarations undersrc/main/javaand adds no legacy aliases solely for external consumers. - Preserves independent Moon/star motion, phases, Moon Illusion, refraction, sunrise/sunset, halo, limb darkening, orientation, RA/Dec, axial tilt, celestial pole, and the consolidated visual/astronomical results.
- Keeps only
VANILLAandSIDEREON; special Sun, Moon, atmosphere, and star effects remain exclusive toSIDEREON. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, and Java 21 unchanged.
- Adds the Stage 10 final gate protecting zero deprecated APIs, the public astronomical surface, independent Moon/star motion,
VANILLAvsSIDEREON, no forced chunk loading, optional DH/Iris/EcoTermico/ShaderMax integrations, and the new 1.1.29 baseline.
Sidereon — Changelog
1.1.28 — EcoTermico e ShaderMax: Contratos do Lado Sidereon — Estágio 9/10
pt-BR
- Promove oficialmente Sidereon 1.1.27 → 1.1.28, sem reutilizar a versão anterior.
- Mantém EcoTermico opcional, read-only e como autoridade externa para relógio/estação/clima/temperatura/atmosfera quando seus contratos públicos estão disponíveis; não duplica nem escreve esses estados.
- Faz
EcoTermicoHudBridgecachearTemperatureAPI,getInstrumentPresencee os accessors públicosthermometer,clock,anemometerecompass, removendoClass.forName/getMethodrepetidos do caminho normal de HUD. - Mantém o snapshot de presença dinâmico:
getInstrumentPresence(player)continua sendo invocado em cada amostra necessária e nenhum valor de instrumento é congelado. - Não reintroduz acesso a
br.com.laercio.ecotermico.config.*; como não existe contrato público externo de layout X/Y/scale/anchor, mantém o fallback determinístico atual em vez de ler configuração privada. - Mantém
EcoTermicoTemporalBridge,EcoTermicoAtmosphereBridge,EcoTermicoSkyWeatherBridge,TemporalAuthorityMatheAtmosphericAuthorityPolicybyte a byte iguais à 1.1.27. - Preserva os contratos públicos consumíveis por shaders/mods:
LunarObservationSnapshot.current(),illuminatedFraction(),phaseProgress(),SkyMotionSnapshot.solarAngleDegrees(),siderealAngleDegrees()elunarAngleDegrees(). - Preserva
UNKNOWN,ABSENTeAVAILABLE; quando a posição lunar não é autoritativa,SkyMotionStateSnapshot.lunarAngleDegrees()continua vazio e os campos numéricos legados permanecem neutros, sem inventar astronomia. - Não adiciona dependência direta do ShaderMax nem aliases
@Deprecatedpara consumidores externos. - Mantém Lua, Sol, atmosfera, estrelas e demais efeitos especiais exclusivos da apresentação
SIDEREON, sem contaminarVANILLA. - Mantém Minecraft 1.21.1, NeoForge 21.1.248 e Java 21.
en-US
- Officially promotes Sidereon 1.1.27 → 1.1.28 without reusing the previous release.
- Keeps EcoTermico optional, read-only, and authoritative for its published clock/season/weather/temperature/atmosphere data; Sidereon does not duplicate or mutate those states.
- Makes
EcoTermicoHudBridgecacheTemperatureAPI,getInstrumentPresence, and the publicthermometer,clock,anemometer, andcompasssnapshot accessors, removing repeatedClass.forName/getMethodfrom the normal HUD path. - Keeps presence values dynamic:
getInstrumentPresence(player)is still invoked for each required sample and no instrument value is permanently cached. - Does not restore access to
br.com.laercio.ecotermico.config.*; because no public external X/Y/scale/anchor layout contract exists, the existing deterministic fallback remains instead of reading private config. - Keeps
EcoTermicoTemporalBridge,EcoTermicoAtmosphereBridge,EcoTermicoSkyWeatherBridge,TemporalAuthorityMath, andAtmosphericAuthorityPolicybyte-identical to 1.1.27. - Preserves public shader/mod consumer contracts:
LunarObservationSnapshot.current(),illuminatedFraction(),phaseProgress(),SkyMotionSnapshot.solarAngleDegrees(),siderealAngleDegrees(), andlunarAngleDegrees(). - Preserves
UNKNOWN,ABSENT, andAVAILABLE; when lunar position is not authoritative,SkyMotionStateSnapshot.lunarAngleDegrees()remains empty and legacy numeric lunar fields remain neutral instead of fabricating astronomy. - Adds no direct ShaderMax dependency and no
@Deprecatedaliases solely for external consumers. - Keeps Moon, Sun, atmosphere, stars, and other special effects exclusive to
SIDEREONpresentation without contaminatingVANILLA. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, and Java 21.
1.1.27 — Compatibilidade Iris, DH e Backend sem Reflexão Repetida — Estágio 8/10
pt-BR
- Promove oficialmente Sidereon 1.1.26 → 1.1.27, sem reutilizar a versão anterior.
- Mantém Iris exclusivamente na API pública
net.irisshaders.iris.api.v0.IrisApie passa a cachear presença, classe,getInstance, instância e métodoisShaderPackInUseapós a primeira resolução válida. - Continua consultando dinamicamente
isShaderPackInUse()em cada sample/tick necessário; o estado ativo do shaderpack não é cacheado permanentemente. - Mantém comportamento fail-soft para ausência, incompatibilidade, erro de reflexão,
LinkageErrore erro de runtime do Iris, sem recorrer a namespaces internos. - Faz Distant Horizons resolver presença via
ModListuma única vez e reutilizar o resultado durante a sessão, sem terrain API, raycast/raymarch, force-load ou promoção do LOD a chunk físico. - Preserva explicitamente
lodIsPhysicalChunk=false,mayForceChunkLoading=falseedirectApiIntegrationActive=false. - Faz Sodium/Embeddium resolverem presença estática uma única vez após bootstrap, preservando fallback Vanilla quando a detecção falhar ou a pilha for ambígua.
- Remove do
ClientRenderCompatibilityStateos caches por tick de DH e backend; mantém somente os estados realmente dinâmicos de Iris e handshake externo. - Preserva os hot paths do Estágio 7, VBO/EBO/revision, contexto astronômico único por frame, render-state lazy, matemática, ownership e compatibilidade ShaderMax.
- Mantém Minecraft 1.21.1, NeoForge 21.1.248 e Java 21; Iris, DH, Sodium e Embeddium continuam opcionais.
en-US
- Officially promotes Sidereon 1.1.26 → 1.1.27 without reusing the previous release.
- Keeps Iris strictly on the public
net.irisshaders.iris.api.v0.IrisApiand caches presence, API class,getInstance, instance, andisShaderPackInUsemethod after the first valid resolution. - Continues querying
isShaderPackInUse()dynamically for each required sample/tick; active shader-pack state is never permanently cached. - Preserves fail-soft behavior for absent/incompatible Iris APIs, reflection failures,
LinkageError, and runtime failures without using internal namespaces. - Resolves Distant Horizons presence through
ModListonce and reuses it for the session, with no terrain API, raycast/raymarch, forced chunk loading, or promotion of LOD geometry to physical chunks. - Explicitly preserves
lodIsPhysicalChunk=false,mayForceChunkLoading=false, anddirectApiIntegrationActive=false. - Resolves Sodium/Embeddium static presence once after bootstrap while preserving Vanilla fallback for failed or ambiguous detection.
- Removes per-tick DH/backend caches from
ClientRenderCompatibilityState; only truly dynamic Iris/external-handshake state remains tick-aware. - Preserves Stage 7 hot paths, VBO/EBO/revision behavior, one astronomical context per frame, lazy render-state capture, astronomy math, ownership, and ShaderMax compatibility.
- Keeps Minecraft 1.21.1, NeoForge 21.1.248, and Java 21; Iris, DH, Sodium, and Embeddium remain optional.
1.1.26 — Matrizes e Alocações do Hot Path — Estágio 7/10
pt-BR
- Promove oficialmente Sidereon 1.1.25 → 1.1.26, sem reutilizar a versão anterior.
- Adiciona três scratch matrices independentes no renderer para Lua, base da esfera estelar e composição final, evitando
new Matrix4f(...)durante o frame normal. - Adiciona
StellarRenderMatrixPolicy.composeInto(...), que reutiliza storage fornecido pelo renderer e rejeita alias acidental entre destino, sphere scratch e model-view do evento. - Preserva exatamente a composição estelar: model-view do evento, remoção de translation/parallax e uma única multiplicação pela base ortonormal da esfera celeste.
- Substitui
celestialMatrix(...)porcelestialMatrixInto(...), preservando a ordemmodelView → translation zero → rotateY(-90°) → rotateX(angle) → scale. - Garante que as scratch matrices sejam consumidas somente de forma síncrona nos draws e não sejam persistidas por buffers, callbacks ou renderers externos.
- Remove a alocação por sample de
HorizonVisibilitySummary, retornando um bitmask primitivo sem mudar o teste escalar de horizonte nem a atualização por revision. - Mantém catálogos, bootstrap, resource reload, VBOs estáticos, EBOs reutilizáveis,
glBufferSubData, contexto único por frame, render-state lazy e compatibilidade ShaderMax/Iris/DH/Sodium/Embeddium. - Mantém Minecraft 1.21.1, NeoForge 21.1.248 e Java 21.
en-US
- Officially promotes Sidereon 1.1.25 → 1.1.26 without reusing the previous release.
- Adds three independent renderer-owned scratch matrices for the Moon, stellar-sphere basis, and final stellar composition, avoiding
new Matrix4f(...)during normal frames. - Adds
StellarRenderMatrixPolicy.composeInto(...), reusing caller-provided storage and rejecting accidental aliasing between destination, sphere scratch, and the event model-view matrix. - Preserves the exact stellar composition: event model-view, translation/parallax removal, then exactly one multiplication by the orthonormal celestial-sphere basis.
- Replaces
celestialMatrix(...)withcelestialMatrixInto(...)while preservingmodelView → zero translation → rotateY(-90°) → rotateX(angle) → scale. - Keeps scratch matrices synchronous to the draw path; no buffer, callback, or external renderer retains them.
- Removes the per-sample
HorizonVisibilitySummaryallocation in favor of a primitive bitmask without changing the scalar horizon test or revision-driven updates. - Preserves catalogs, bootstrap, resource reload, static VBOs, reusable EBOs,
glBufferSubData, one-context-per-frame, lazy render-state capture, and ShaderMax/Iris/DH/Sodium/Embeddium compatibility. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, and Java 21.
1.1.25 — Estrelas e Horizonte Astronômico sem Regressão — Estágio 6/10
pt-BR
- Promove oficialmente Sidereon 1.1.24 → 1.1.25, sem reutilizar a versão anterior.
- Preserva byte a byte
StellarHorizonMath.horizontalYe mantém o teste exato do horizonte por componente Y, semasin,atan2, ray casting, ray marching ou BVH. - Acumula
anyStarVisibleeanyConstellationVisibledurante a própria atualização das máscaras, removendo varreduras completas posteriores apenas para descobrir se existe algum elemento visível. - Pré-resolve uma única vez a topologia imutável das constelações padrão: quantidade de segmentos e índices das estrelas de origem/destino de cada segmento.
- Remove lookup/validação de ID de estrela do caminho por-frame das constelações, preservando a regra de segmento visível somente quando ambos os endpoints estão acima do horizonte.
- Preserva
ReusableVisibilityIndexBuffer, VBOs estáticos, EBOs reutilizáveis, native staging reutilizável, revisions de horizonte e uploads incrementais comglBufferSubData. - Mantém cálculo contínuo em todos os samples necessários, sem atualização temporal grosseira, popping de estrelas ou piscada de constelações.
- Preserva Minecraft 1.21.1, NeoForge 21.1.248, Java 21, contexto único por frame, render-state lazy, ShaderMax/Iris/DH/Sodium/Embeddium e todos os contratos dos Estágios 1–5.
en-US
- Officially promotes Sidereon 1.1.24 → 1.1.25 without reusing the previous release.
- Keeps
StellarHorizonMath.horizontalYbyte-identical and retains the exact scalar Y-component horizon test, with noasin,atan2, ray casting, ray marching, or BVH. - Accumulates
anyStarVisibleandanyConstellationVisibleduring the mask update itself, removing later full-array scans that existed only to discover whether any element is visible. - Pre-resolves the immutable default constellation topology once: segment count and source/destination star indices for every segment.
- Removes per-frame star-ID lookup/validation from constellation visibility while preserving the rule that a segment is visible only when both endpoints are above the horizon.
- Preserves
ReusableVisibilityIndexBuffer, static VBOs, reusable EBOs, reusable native staging, horizon revisions, and incrementalglBufferSubDatauploads. - Keeps continuous horizon evaluation at every required sample with no coarse temporal updates, stellar popping, or constellation flicker.
- Keeps Minecraft 1.21.1, NeoForge 21.1.248, Java 21, one-context-per-frame, lazy render-state capture, ShaderMax/Iris/DH/Sodium/Embeddium compatibility, and all Stage 1–5 contracts.
1.1.24 — Sol, Refração e Twilight sem Trigonometria Repetida — Estágio 5/10
pt-BR
- Promove oficialmente Sidereon 1.1.23 → 1.1.24, sem reutilizar a versão anterior.
- Adiciona
SolarQuadTransformPolicy.prepare(...)para resolver uma única vez por draw escala, compressão vertical, estado de refração, ângulo assinado, radianos, seno, cosseno e orientação. - Reutiliza o mesmo
PreparedTransformnos quatro vértices do disco solar e, quando os parâmetros são iguais, nos quatro vértices do halo. - Remove
Math.toRadians,Math.sineMath.cosdo hot path por vértice sem alterar tamanho, Solar Illusion, deformação, refração, orientação, halo, limb darkening ou matriz astronômica. - Faz
ClientCelestialRenderContext.resolveTwilight()consumir diretamentetwilightFactorFromSolarAltitude(...)quando somente o fator é necessário. - Faz
LevelRendererMixinconsumir diretamentesunriseColor(...)quando somente a cor localizada de nascer/pôr do sol é necessária. - Preserva integralmente as curvas atuais de twilight, horizon glow, visibilidade do disco solar e cor atmosférica; nenhuma aproximação de baixa precisão é introduzida.
- Preserva Minecraft 1.21.1, NeoForge 21.1.248, Java 21, ownership por canal, ShaderMax/Iris/DH/Sodium/Embeddium e os contratos dos Estágios 1–4.
en-US
- Officially promotes Sidereon 1.1.23 → 1.1.24 without reusing the previous release.
- Adds
SolarQuadTransformPolicy.prepare(...)to resolve scale, vertical compression, refraction state, signed angle, radians, sine, cosine, and orientation once per draw. - Reuses the same
PreparedTransformacross the four solar-disc vertices and, when parameters match, the four halo vertices. - Removes per-vertex
Math.toRadians,Math.sin, andMath.cosfrom the hot path without changing size, Solar Illusion, deformation, refraction, orientation, halo, limb darkening, or the astronomical matrix. - Makes
ClientCelestialRenderContext.resolveTwilight()consumetwilightFactorFromSolarAltitude(...)directly when only the factor is required. - Makes
LevelRendererMixinconsumesunriseColor(...)directly when only localized dawn/dusk color is required. - Fully preserves the existing twilight, horizon-glow, solar-disc visibility, and atmospheric-color curves; no low-precision approximation is introduced.
- Keeps Minecraft 1.21.1, NeoForge 21.1.248, Java 21, per-channel ownership, ShaderMax/Iris/DH/Sodium/Embeddium compatibility, and Stage 1–4 contracts unchanged.
1.1.23 — Eliminação de Cálculos Astronômicos Duplicados — Estágio 4/10
pt-BR
- Promove a linha ativa Sidereon 1.1.22 → 1.1.23, mantendo 1.1.22 como baseline histórica do Estágio 3.
- Faz
CelestialAstronomyFrame.builtIn()reutilizarmotion.siderealAngleDegrees()já calculado porCelestialMotionMath.builtIn(), removendo chamadas siderais duplicadas no mesmo frame. - Adiciona overload interno de
StellarPositionMath.referenceFrame(...)para consumir ângulo sideral pré-calculado sem repetirdayTime / period * 360. - Mantém exatamente o período sideral,
SkyMotionMath.AXIAL_TILT_DEGREES, orientação, RA/Dec, polo celeste e separação física entre relógios solar, lunar e estelar. - Substitui normalizações redundantes em vetores unitários construídos por seno/cosseno por
Direction.fromUnitInvariant(...), que validalengthSqe evitasqrt/divisão no caminho normal. - Mantém fallback de renormalização para pequeno drift de ponto flutuante e rejeita vetores fora da tolerância controlada;
Direction.normalized(...)continua sendo o caminho para dados arbitrários. - Simplifica exatamente a base horizontal do observador Overworld fixo
(0°, 0°), evitando trigonometria de latitude sem alterar a orientação resultante. - Faz
CelestialSphereMath.northCelestialPole()/southCelestialPole()resolverem diretamente os polos, sem montar/rotacionar a esfera completa quando isso não é necessário. - Mantém
AFTER_SKY, o contexto único por frame, render state lazy, Iris/ShaderMax/Sodium/Embeddium/Distant Horizons e política zero-deprecated acumulados dos Estágios 1–3. - Mantém Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocolo 7, API pública 1 e contrato celeste 2.
en-US
- Advances the active line Sidereon 1.1.22 → 1.1.23, keeping 1.1.22 as the historical Stage 3 baseline.
- Makes
CelestialAstronomyFrame.builtIn()reusemotion.siderealAngleDegrees()already computed byCelestialMotionMath.builtIn(), removing duplicate sidereal calculations within the same frame. - Adds an internal
StellarPositionMath.referenceFrame(...)overload that consumes a precomputed sidereal angle without repeatingdayTime / period * 360. - Keeps the sidereal period,
SkyMotionMath.AXIAL_TILT_DEGREES, orientation, RA/Dec, celestial pole, and the physical separation between solar, lunar, and stellar clocks unchanged. - Replaces redundant normalization of sine/cosine-constructed unit vectors with
Direction.fromUnitInvariant(...), validatinglengthSqwhile avoidingsqrt/division on the normal path. - Keeps a renormalization fallback for small floating-point drift and rejects vectors outside the controlled tolerance;
Direction.normalized(...)remains the path for arbitrary data. - Exactly simplifies the fixed Overworld
(0°, 0°)observer basis, avoiding latitude trigonometry without changing the resulting orientation. - Makes
CelestialSphereMath.northCelestialPole()/southCelestialPole()resolve the poles directly instead of building/rotating the full sphere when unnecessary. - Preserves
AFTER_SKY, the one-context-per-frame contract, lazy render-state capture, Iris/ShaderMax/Sodium/Embeddium/Distant Horizons compatibility, and the cumulative zero-deprecated policy from Stages 1–3. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, Java 21, network protocol 7, public API 1, and celestial contract 2 unchanged.
1.1.22 — Render State Lazy e Redução de glGet* — Estágio 3/10
pt-BR
- Promove a linha ativa Sidereon 1.1.21 → 1.1.22, mantendo 1.1.21 como baseline histórica do Estágio 2.
- Refatora
RealisticNightSkyRenderer.onRenderLevelpara concluir primeiro as decisões CPU de contexto, transform, horizonte, atmosfera, brilho, smoothing e disponibilidade de shader. - Introduz flags finais
drawMoon,drawStarsedrawConstellations; quando nenhum canal sobreviver, o renderer retorna antes deCelestialRenderStateScope.capture(). - Reduz consultas
glGet*/glIsEnablednos frames sem desenho sem trocar a restauração exata por valores presumidos/default. - Mantém byte a byte
CelestialRenderStateScope, preservando blend, fatores de blend, depth mask/test, shader color, texture unit, texture binding, VAO e shader program recebidos do backend anterior. - Mantém Distant Horizons fail-soft:
requireSceneDepthTest()é aplicado somente depois da captura e somente quando existe pelo menos um draw final. - Mantém Lua, estrelas e constelações como canais nativos independentes e preserva Iris/ShaderMax/Sodium/Embeddium/Distant Horizons sem dependência direta nova.
- Preserva integralmente o contexto único por frame do Estágio 2 e não cria relógio, interpolação ou fonte temporal adicional.
- Mantém byte a byte os arquivos matemáticos/temporais protegidos, incluindo
CelestialRenderClock,CelestialAstronomyFrame,CelestialMotionMath,CelestialProjectionMath,LunarPositionMath,LunarCycleMatheSiderealTimeMath. - Mantém Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocolo 7, API pública 1 e contrato celeste 2.
en-US
- Advances the active line Sidereon 1.1.21 → 1.1.22, keeping 1.1.21 as the historical Stage 2 baseline.
- Refactors
RealisticNightSkyRenderer.onRenderLevelso CPU-side context, transform, horizon, atmosphere, brightness, smoothing, and shader-availability decisions finish before any OpenGL state snapshot. - Adds final
drawMoon,drawStars, anddrawConstellationsflags; when all three are false, the renderer returns beforeCelestialRenderStateScope.capture(). - Reduces
glGet*/glIsEnabledwork on zero-draw frames without replacing exact restoration with assumed/default values. - Keeps
CelestialRenderStateScopebyte-identical, preserving the incoming blend state/functions, depth mask/test, shader color, texture unit/binding, VAO, and shader program. - Keeps Distant Horizons fail-soft:
requireSceneDepthTest()is applied only after capture and only when at least one final channel will draw. - Keeps Moon, stars, and constellations as independent native channels and preserves Iris/ShaderMax/Sodium/Embeddium/Distant Horizons compatibility without a new direct dependency.
- Fully preserves Stage 2's one-context-per-frame contract and adds no second clock, interpolation source, or time authority.
- Keeps protected mathematical/temporal files byte-identical, including
CelestialRenderClock,CelestialAstronomyFrame,CelestialMotionMath,CelestialProjectionMath,LunarPositionMath,LunarCycleMath, andSiderealTimeMath. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocol 7, public API 1, and celestial contract 2 unchanged.
1.1.21 — Contexto Astronômico Coerente por Frame — Estágio 2/10
pt-BR
- Promove a linha ativa Sidereon 1.1.20 → 1.1.21, mantendo 1.1.20 como baseline histórica do Estágio 1.
- Captura o
partialTickreal diretamente no início deLevelRenderer.renderSkye o mantém como única amostra temporal de apresentação durante o frame celeste. - Remove o uso efetivo de
0.0Fno ownership de textura solar/lunar quando existe uma amostra real; zero permanece apenas como fallback fail-soft quando o hook de captura não está disponível. - Faz ownership de Sol/Lua, sunrise, obscuração atmosférica/chuva, brilho Vanilla de estrelas, iluminação natural e
AFTER_SKYreutilizarem o mesmoCelestialRenderContext. - Mantém um
SkyFrameSamplesomente de apresentação, sem avançar tempo, sem interpolador paralelo e sem criar um segundo relógio astronômico. - Libera a amostra no final de
AFTER_SKY, impedindo vazamento de contexto para o frame seguinte. - Preserva integralmente monotonicidade, interpolação canônica, movimento independente Lua/estrelas, fases, Moon Illusion, refração, sunrise/sunset e ownership por canal.
- Mantém byte a byte os arquivos matemáticos/temporais protegidos do Estágio 1, incluindo
CelestialRenderClock,CelestialAstronomyFrame,CelestialMotionMath,CelestialProjectionMath,LunarPositionMath,LunarCycleMatheSiderealTimeMath. - Mantém Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocolo 7, API pública 1 e contrato celeste 2.
en-US
- Advances the active line Sidereon 1.1.20 → 1.1.21, keeping 1.1.20 as the historical Stage 1 baseline.
- Captures the real
partialTickdirectly at the start ofLevelRenderer.renderSkyand keeps it as the single celestial-presentation time sample for the frame. - Removes effective
0.0Fsampling from Sun/Moon texture ownership whenever a real sample exists; zero remains only as a fail-soft fallback when the capture hook is unavailable. - Makes Sun/Moon ownership, sunrise, atmospheric/rain obscuration, Vanilla star brightness, natural lighting, and
AFTER_SKYreuse the sameCelestialRenderContext. - Keeps
SkyFrameSamplepresentation-only: it never advances time, adds no parallel interpolation, and creates no second astronomical clock. - Releases the sample at the end of
AFTER_SKYso no context leaks into the next frame. - Fully preserves monotonicity, canonical interpolation, independent Moon/star motion, phases, Moon Illusion, refraction, sunrise/sunset, and per-channel renderer ownership.
- Keeps the Stage 1 protected mathematical/temporal files byte-identical, including
CelestialRenderClock,CelestialAstronomyFrame,CelestialMotionMath,CelestialProjectionMath,LunarPositionMath,LunarCycleMath, andSiderealTimeMath. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocol 7, public API 1, and celestial contract 2 unchanged.
1.1.20 — Otimização Matemática, Renderer, Compatibilidade e Zero Deprecated — Estágio 1/10
pt-BR
- Promove a linha ativa Sidereon 1.1.19 → 1.1.20, preservando 1.1.19 como baseline histórica congelada.
- Remove todos os
@Deprecatedexistentes emsrc/main/javadepois de confirmar/migrar os consumidores atuais. - Remove os entrypoints legados de
EcoTermicoHudBridge,MoonPhase,RealisticNightSkyRenderer,SidereonConfigManager,AstronomySyncPayload,EclipsePolicy,SkyMotionMathe o construtor vetorial legado deStarDefinition. - Migra o gate de eclipse para consumir
CelestialAlignmentMath.SunMoonAlignment, mantendo a simulação de eclipse desabilitada e sem alterar a geometria astronômica. - Remove o acesso reflexivo ao
br.com.laercio.ecotermico.config.ClientConfig; a integração HUD usa somente a API públicaTemperatureAPIe fallback fail-soft determinístico. - Mantém o bridge Iris restrito à API pública
net.irisshaders.iris.api.v0.IrisApi, sem dependência de classes internas/implementação. - Adiciona
ZeroDeprecatedApiGateTestpara impedir reintrodução de@Deprecated, entrypoints legados removidos e namespaces internos conhecidos de integrações opcionais. - Mantém Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocolo 7, API pública 1 e contrato celeste 2.
- Não altera fase lunar, órbita, posição celeste, movimento sideral, cálculos solares/lunares, renderer astronômico ou ownership físico nesta etapa.
en-US
- Advances the active line Sidereon 1.1.19 → 1.1.20, keeping 1.1.19 frozen as the historical baseline.
- Removes every
@Deprecateddeclaration fromsrc/main/javaafter confirming/migrating current consumers. - Removes legacy entrypoints from
EcoTermicoHudBridge,MoonPhase,RealisticNightSkyRenderer,SidereonConfigManager,AstronomySyncPayload,EclipsePolicy,SkyMotionMath, and the legacy vector constructor inStarDefinition. - Migrates the eclipse gate to
CelestialAlignmentMath.SunMoonAlignment, keeping eclipse simulation disabled without changing astronomical geometry. - Removes reflective access to
br.com.laercio.ecotermico.config.ClientConfig; HUD integration now relies only on the publicTemperatureAPIplus a deterministic fail-soft fallback. - Keeps the Iris bridge restricted to the public
net.irisshaders.iris.api.v0.IrisApicontract with no implementation/internal dependency. - Adds
ZeroDeprecatedApiGateTestto block reintroduction of@Deprecated, removed legacy entrypoints, and known internal namespaces from optional integrations. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, Java 21, network protocol 7, public API 1, and celestial contract 2 unchanged.
- Does not change lunar phase, orbit, celestial position, sidereal motion, Sun/Moon calculations, astronomical renderer behavior, or physical ownership in this stage.
1.1.19 — ShaderMax Compatibility Test Hotfix
pt-BR
- Promove oficialmente Sidereon 1.1.18 → 1.1.19, sem reutilizar 1.1.18 e sem regredir para releases anteriores.
- Corrige exclusivamente o gate
ShaderMaxCompatibilityStage7Test.risingCulminatingSettingAndBelowHorizonUseTheSameAbsoluteLunarAngle(). - Corrige o caso
below-horizon: o teste aplicaMath.abs(position.altitudeDegrees()), portanto a magnitude esperada correta é +90,0°, e não -90,0°. - Mantém intacta toda a implementação em
src/main/java; não altera posição lunar, fase, iluminação, visibilidade, altitude, renderer ou ownership celeste. - Preserva integralmente o contrato ShaderMax 1.0.3 consolidado na 1.1.18, incluindo
lunarAngleDegrees()/moonAngleDegrees(), ownership por canal e fallback conservador. - Preserva os efeitos exclusivos do modo
SIDEREONe mantémVANILLAsem esses efeitos. - Mantém Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocolo 7, API pública 1 e contrato celeste 2.
- Cria a baseline Sidereon 1.1.19, mantendo 1.1.18 congelada como baseline histórica anterior.
en-US
- Officially promotes Sidereon 1.1.18 → 1.1.19 without reusing 1.1.18 or regressing to any earlier release.
- Fixes only the
ShaderMaxCompatibilityStage7Test.risingCulminatingSettingAndBelowHorizonUseTheSameAbsoluteLunarAngle()gate. - Fixes the
below-horizoncase: the assertion checksMath.abs(position.altitudeDegrees()), so the correct expected magnitude is +90.0°, not -90.0°. - Leaves all production implementation under
src/main/javauntouched; lunar position, phase, lighting, visibility, altitude, renderer, and celestial ownership are unchanged. - Fully preserves the ShaderMax 1.0.3 contract consolidated in 1.1.18, including
lunarAngleDegrees()/moonAngleDegrees(), per-channel ownership, and conservative fallback. - Preserves all
SIDEREON-exclusive effects and keepsVANILLAfree of those effects. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocol 7, public API 1, and celestial contract 2 unchanged.
- Creates the Sidereon 1.1.19 baseline while keeping 1.1.18 frozen as the prior historical baseline.
1.1.18 — ShaderMax Compatibility, Lunar Position Contract & Celestial Ownership Hardening
pt-BR
- Promove oficialmente Sidereon 1.1.17 → 1.1.18, sem reutilizar 1.1.17 e sem regredir a qualquer release anterior.
- Corrige o contrato público da posição lunar absoluta/aparente com
lunarAngleDegrees()e alias compatívelmoonAngleDegrees(), mantendo um único valor canônico normalizado em 0° <= ângulo < 360°. - Preserva integralmente a semântica legada de
lunarOrbitalDriftDegreescomo drift relativo à referência anti-solar no Overworld. - Elimina a divergência lunar de 180° para consumidores externos: a posição absoluta passa a ser derivada uma única vez de
solarAngle + 180° + lunarOrbitalDrift. - Unifica posição lunar entre API pública, renderer, snapshot astronômico,
LunarObservatione Provider V2, preservando providers existentes e o contrato celeste 2. - Refatora ownership celeste por canal (
SUN,MOON,STARS,CONSTELLATIONS, atmosfera e iluminação), removendo a antiga equivalência conceitual shader Iris ativo = ownership total do céu. - Adiciona handshake/capabilities genéricas para shaders externos, separando Iris instalado, shader ativo, shader reconhecido, capability declarada e ownership efetivamente concedido.
- Permite coexistência do renderer Sidereon com shaders que apenas consomem dados astronômicos para iluminação, sombras, atmosfera, reflexos e integrações gráficas, sem lhes conceder automaticamente os corpos celestes.
- Preserva Sol, Lua, estrelas e constelações Sidereon com ShaderMax 1.0.3 quando seus canais permanecem sob ownership do Sidereon; ShaderMax 1.0.3 não é alterado.
- Mantém Moon Illusion, refração/coloração/deformação lunar, Sol realista, halo, limb darkening, nascer/pôr do Sol atmosférico, estrelas e constelações exclusivamente no modo
SIDEREON;VANILLApermanece sem esses efeitos. - Reforça integração opcional e fallback conservador para Iris, Sodium, Embeddium, Distant Horizons e EcoTermico, sem dependência obrigatória de ShaderMax.
- Adiciona gates automatizados de compatibilidade lunar, normalização angular, horizonte, ownership por canal, coexistência, ausência de dupla renderização e ausência de imports diretos do ShaderMax.
- Cria a nova baseline Sidereon 1.1.18, mantendo 1.1.17 somente como histórico/baseline anterior.
- Mantém Minecraft 1.21.1, NeoForge 21.1.248, Java 21, protocolo 7, API pública 1 e contrato celeste 2.
en-US
- Officially promotes Sidereon 1.1.17 → 1.1.18 without reusing 1.1.17 or regressing to any earlier release.
- Fixes the public absolute/apparent lunar-position contract with
lunarAngleDegrees()and the compatiblemoonAngleDegrees()alias, both exposing one canonical value normalized to 0° <= angle < 360°. - Fully preserves the legacy meaning of
lunarOrbitalDriftDegreesas drift relative to the anti-solar reference in the Overworld. - Eliminates the 180° lunar divergence seen by external consumers: the absolute position is derived exactly once from
solarAngle + 180° + lunarOrbitalDrift. - Unifies lunar position across the public API, renderer, astronomical snapshot,
LunarObservation, and Provider V2 while preserving existing providers and celestial contract 2. - Refactors celestial ownership per channel (
SUN,MOON,STARS,CONSTELLATIONS, atmosphere, and lighting), removing the former conceptual rule active Iris shader = total sky ownership. - Adds a generic external-shader capability/handshake layer that separates Iris installed, shader active, shader recognized, declared capability, and actually granted ownership.
- Allows the Sidereon renderer to coexist with shaders that only consume astronomical data for lighting, shadows, atmosphere, reflections, and graphics integration without automatically owning celestial bodies.
- Preserves Sidereon Sun, Moon, stars, and constellations with ShaderMax 1.0.3 whenever those channels remain Sidereon-owned; ShaderMax 1.0.3 itself is unchanged.
- Keeps Moon Illusion, lunar refraction/color/deformation, realistic Sun, solar halo, limb darkening, altitude-driven sunrise/sunset atmosphere, stars, and constellations exclusive to
SIDEREONmode;VANILLAremains free of these effects. - Hardens optional integration and conservative fallback for Iris, Sodium, Embeddium, Distant Horizons, and EcoTermico without a mandatory ShaderMax dependency.
- Adds automated gates for lunar compatibility, angular normalization, horizon states, per-channel ownership, coexistence, duplicate-render prevention, and the absence of direct ShaderMax imports.
- Creates the new Sidereon 1.1.18 baseline while keeping 1.1.17 only as historical/prior baseline material.
- Keeps Minecraft 1.21.1, NeoForge 21.1.248, Java 21, network protocol 7, public API 1, and celestial contract 2 unchanged.
1.1.17 — Lunar Horizon Regression Test Hotfix & Project Root Cleanup
pt-BR
- Promove oficialmente Sidereon 1.1.16 → 1.1.17, sem reutilizar nem regredir a versão anterior.
- Corrige o único teste falho em
LunarAtmosphericAppearancePolicyTest.apparentHorizonVisibilityIsProgressiveAndContinuous(): o ponto intermediário passa de 2,0° para 0,25°, permanecendo dentro da faixa de fade aparente definida entre -0,75° e +0,75°. - Mantém intacta a implementação de produção de
LunarAtmosphericAppearancePolicy; refração visual, tint atmosférico, compressão vertical, fases e posição astronômica da Lua não foram alterados. - Organiza os relatórios históricos
CHANGED_FILES_*.txteCELESTIAL_VISUALS_MOTION_V1_REPORT.txtemdocs/reports/history/, reduzindo a poluição da raiz do projeto. - Atualiza somente os validadores históricos que liam esses relatórios por caminho fixo, preservando seus conteúdos e responsabilidades.
- Preserva integralmente
VANILLA/SIDEREON, Sol, Lua, fases, estrelas, constelações, ownership do renderer e compatibilidades opcionais. - Mantém Minecraft 1.21.1, NeoForge 21.1.248, protocolo de rede 7 e schemas 2/2 sem alteração.
en-US
- Officially promotes Sidereon 1.1.16 → 1.1.17 without reusing or regressing the previous version.
- Fixes the sole failing regression in
LunarAtmosphericAppearancePolicyTest.apparentHorizonVisibilityIsProgressiveAndContinuous(): the intermediate sample moves from 2.0° to 0.25°, keeping it inside the apparent fade band defined from -0.75° to +0.75°. - Leaves the production
LunarAtmosphericAppearancePolicyimplementation unchanged; visual refraction, atmospheric tint, vertical compression, lunar phases and astronomical Moon position are untouched. - Moves historical
CHANGED_FILES_*.txtreports andCELESTIAL_VISUALS_MOTION_V1_REPORT.txtintodocs/reports/history/, keeping the project root clean. - Updates only historical validators that used fixed paths to those reports, preserving their contents and responsibilities.
- Fully preserves
VANILLA/SIDEREON, Sun, Moon, phases, stars, constellations, renderer ownership and optional compatibility. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, network protocol 7 and schemas 2/2 unchanged.
1.1.16 — Renderer Compile Hotfix — RenderCall Adapter
pt-BR
- Promove oficialmente Sidereon 1.1.15 → 1.1.16, sem reutilizar nem alterar retroativamente a release 1.1.15 congelada.
- Corrige a incompatibilidade de compilação em
RealisticNightSkyRenderer:RenderSystem.recordRenderCallrecebe agoratransition::run, compatível com oRenderCallesperado pela base NeoForge/Minecraft atual. - Preserva a mesma transição visual existente: rebuild seletivo de buffers de estrelas/constelações e reset apenas do estado transitório quando aplicável.
- Não remove, reduz ou substitui features; preserva
VANILLA/SIDEREON, Sol, Lua, fases, estrelas, constelações, ownership e compatibilidades opcionais. - Mantém Minecraft 1.21.1, NeoForge 21.1.248, protocolo de rede 7 e schemas 2/2 sem alteração.
en-US
- Officially promotes Sidereon 1.1.15 → 1.1.16 without reusing or retroactively mutating the frozen 1.1.15 release.
- Fixes the
RealisticNightSkyRenderercompilation incompatibility:RenderSystem.recordRenderCallnow receivestransition::run, which is compatible with theRenderCallexpected by the current NeoForge/Minecraft base. - Preserves the existing visual transition semantics: selective star/constellation buffer rebuild and transient-presentation reset only when required.
- Removes no feature and preserves
VANILLA/SIDEREON, Sun, Moon, phases, stars, constellations, renderer ownership and optional compatibility. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, network protocol 7 and schemas 2/2 unchanged.
1.1.15 — Release Integrity, Versioning & Regression Gate Hardening
pt-BR
- Consolida oficialmente Sidereon 1.1.14 → 1.1.15 e congela a 1.1.15 como nova base mínima; qualquer mudança posterior de código, recurso, gate de release ou empacotamento publicada deve avançar para 1.1.16+.
- Corrige a cobertura ausente do gate histórico Solar/Lunar Realism Stage 7, incluindo crepúsculo dirigido por altitude solar, ownership e continuidade das curvas atmosféricas.
- Consolida os gates Stage 1–10 em um único agregador, com identificação e resultado independentes por estágio, Stage 7 obrigatório e falhas anteriores sem mascaramento.
- Centraliza a auditoria de versão em
mod_version, distinguindo explicitamente versão ativa, histórico, baseline de regressão e citações documentais. - Adiciona validação automática do JAR quando ele existir, comparando nome do artefato, metadata NeoForge, Minecraft/NeoForge, recursos, mixins, idiomas e identidade interna da versão.
- Bloqueia divergências como
sidereon-1.1.15.jarcom metadata 1.1.14 e o cenário inverso, sem confundir changelogs ou histórico interno com regressão. - Reforça a fronteira
VANILLA= aparência/renderer Vanilla eSIDEREON= aparência/renderer avançado Sidereon;CLASSIC/ENHANCEDpermanecem somente como aliases de migração. - Preserva a autoridade astronômica consolidada da 1.1.14: renderer/backend externo não pode alterar posição do Sol/Lua, fase, tempo sideral, coordenadas estelares ou horizonte astronômico.
- Preserva integralmente as features de realismo solar/lunar da 1.1.14 e não introduz nova opção visual;
en_us.jsonept_br.jsonmantêm paridade completa sem remoção ou adição desnecessária de traduções. - Mantém Minecraft 1.21.1, NeoForge 21.1.248, protocolo de rede 7 e schemas 2/2. Esta release é exclusivamente de integridade, versionamento, gates, empacotamento e proteção contra regressão.
en-US
- Officially consolidates Sidereon 1.1.14 → 1.1.15 and freezes 1.1.15 as the new minimum baseline; any later published code, resource, release-gate or packaging change must advance to 1.1.16+.
- Restores the missing historical Solar/Lunar Realism Stage 7 gate coverage, including solar-altitude twilight, ownership and atmospheric-curve continuity.
- Consolidates Stage 1–10 gates under one aggregator with independent stage identity/results, mandatory Stage 7 coverage and no masking of earlier failures.
- Centralizes release-version auditing on
mod_version, explicitly distinguishing active version, history, regression baseline and documentation citations. - Adds automated final-JAR validation when an artifact exists, comparing artifact filename, NeoForge metadata, Minecraft/NeoForge compatibility, resources, mixins, languages and internal version identity.
- Rejects mismatches such as
sidereon-1.1.15.jarcarrying 1.1.14 metadata and the inverse case, without treating changelogs or internal history as regressions. - Reinforces
VANILLA= Vanilla renderer/presentation andSIDEREON= advanced Sidereon renderer/presentation;CLASSIC/ENHANCEDremain migration-only aliases. - Preserves the consolidated 1.1.14 astronomical authority: external renderers/backends cannot alter Sun/Moon position, lunar phase, sidereal time, stellar coordinates or the astronomical horizon.
- Preserves all 1.1.14 solar/lunar realism features and adds no new visible option;
en_us.jsonandpt_br.jsonretain complete key parity with no unnecessary translation additions or removals. - Keeps Minecraft 1.21.1, NeoForge 21.1.248, network protocol 7 and schemas 2/2. This release is limited to integrity, versioning, gates, packaging and regression protection.
1.1.15 — Consolidação dos Gates Solar/Lunar Realism — Estágio 5/6
pt-BR
- Cria
scripts/validate-solar-lunar-realism.pycomo agregador único dos gates Stage 1–10, com registro contínuo, identificador próprio e resultado independente por estágio. - Torna o Stage 7 obrigatório no registro central, impedindo novamente a sequência incompleta 1,2,3,4,5,6,8,9,10.
- Executa todos os estágios sem short-circuit: falha anterior continua registrada e não é mascarada por Stage posterior.
- Adiciona smoke automatizado específico para o comportamento de não mascaramento do orquestrador.
- Preserva
VANILLAcomo apresentação Vanilla eSIDEREONcomo apresentação avançada Sidereon;CLASSIC/ENHANCEDpermanecem somente como aliases de migração. - Protege por hash a autoridade astronômica consolidada e verifica que backend gráfico é resolvido somente depois do frame astronômico.
- Mantém renderer externo sem autoridade para alterar posição do Sol, posição da Lua, fase, tempo sideral, coordenadas estelares ou horizonte astronômico.
- Normaliza o Stage 10 para validar sua própria responsabilidade de release, deixando a execução cumulativa exclusivamente com o novo agregador.
- Mantém Sidereon 1.1.15, Minecraft 1.21.1, NeoForge 21.1.248, protocolo 7 e schemas 2/2.
en-US
- Adds
scripts/validate-solar-lunar-realism.pyas the single cumulative Stage 1–10 gate aggregator, with a continuous registry, stable stage id and independent result per stage. - Makes Stage 7 mandatory in the central registry, preventing the incomplete 1,2,3,4,5,6,8,9,10 chain from returning.
- Executes every stage without short-circuiting, so an earlier failure remains visible and cannot be masked by a later stage.
- Adds an automated smoke test for the orchestrator's non-masking behavior.
- Preserves
VANILLAas Vanilla presentation andSIDEREONas advanced Sidereon presentation;CLASSIC/ENHANCEDremain migration-only aliases. - Protects the consolidated astronomical authority by hash and verifies that graphics-backend selection happens only after the astronomical frame is resolved.
- Keeps external renderers unable to alter Sun position, Moon position, phase, sidereal time, stellar coordinates or the astronomical horizon.
- Normalizes Stage 10 to validate its own release responsibility while cumulative execution is owned exclusively by the new aggregator.
- Keeps Sidereon 1.1.15, Minecraft 1.21.1, NeoForge 21.1.248, protocol 7 and schemas 2/2 unchanged.
1.1.15 — Integridade do JAR Final e Gate de Artefato — Estágio 4/6
pt-BR
- Cria
scripts/validate-release-artifact.py, gate reutilizável que deriva a identidade do JAR demod_ide da versão canônica, sem hardcode da release ativa. - Valida nome do arquivo,
META-INF/MANIFEST.MF,META-INF/neoforge.mods.toml, versão interna, Minecraft 1.21.1, NeoForge [21.1.248,), mixins, idiomas e os recursos SIDEREON de Sol, halo, Lua, estrelas e constelações. - Impede divergência entre nome externo e metadata interno e rejeita versões históricas quando elas tentam se apresentar como identidade ativa, sem considerar histórico documental legítimo como regressão.
- Sem JAR em
build/libs, executa 22/22 checks source/package e adia somente a inspeção profunda; uma fixture automatizada correta passa 117/117, enquanto fixtures com nome/metadata divergentes são rejeitadas. - Protege o source tree contra inclusão de JAR compilado e proíbe JAR Sidereon aninhado dentro do próprio artefato.
- Faz o runner cumulativo desativar geração de
__pycache__/.pyc, evitando que a própria validação invalide os manifests do projeto. - Mantém Sidereon 1.1.15, Minecraft 1.21.1, NeoForge 21.1.248, protocolo 7 e schemas 2/2; nenhum código de produção ou recurso runtime foi alterado.
en-US
- Adds
scripts/validate-release-artifact.py, a reusable gate that derives JAR identity frommod_idand the canonical release version, with no active-release hardcoding. - Validates filename,
META-INF/MANIFEST.MF,META-INF/neoforge.mods.toml, internal version, Minecraft 1.21.1, NeoForge [21.1.248,), mixins, languages, and SIDEREON Sun, halo, Moon, star and constellation resources. - Prevents external filename/internal metadata mismatches and rejects historical versions only when they masquerade as active identity, while allowing legitimate historical documentation.
- Without a JAR in
build/libs, it runs 22/22 source/package checks and defers only deep artifact inspection; a valid automated fixture passes 117/117, while mismatched filename/metadata fixtures are rejected. - Protects the source tree against compiled-JAR inclusion and rejects a nested Sidereon JAR inside the final artifact.
- Makes the cumulative runner disable
__pycache__/.pycgeneration so validation itself cannot invalidate project manifests. - Keeps Sidereon 1.1.15, Minecraft 1.21.1, NeoForge 21.1.248, protocol 7 and schemas 2/2; no production code or runtime resource changed.
1.1.15 — Política Central de Versionamento e Normalização de Referências — Estágio 3/6
pt-BR
- Cria
scripts/sidereon_release_policy.pycomo política canônica: a versão ativa é lida exclusivamente demod_versionemgradle.properties. - Cria
scripts/validate-release-versioning.py, gate genérico e reutilizável para metadados, artefatos, documentação, progressão monotônica e classificação de referências de versão. - Distingue explicitamente versão ativa, versão histórica, baseline de regressão e citação documental.
- Normaliza os validadores históricos da 1.1.14 para aceitarem 1.1.14 ou sucessoras, sem tratar 1.1.14 como a versão corrente.
- Torna
validate-current-sidereon-gates.pydinâmico: os gatesrelease-integritysão descobertos a partir da versão ativa fornecida pela política canônica. - Protege a progressão 1.1.13 → 1.1.14 → 1.1.15 e estende automaticamente a verificação para 1.1.16, 1.1.17, ....
- Mantém Sidereon 1.1.15, Minecraft 1.21.1, NeoForge 21.1.248, protocolo 7 e schemas 2/2; nenhum código de produção foi alterado neste estágio.
en-US
- Adds
scripts/sidereon_release_policy.pyas the canonical policy: the active release is read exclusively frommod_versioningradle.properties. - Adds
scripts/validate-release-versioning.py, a reusable generic gate for metadata, artifact naming, primary documentation, monotonic progression and version-reference classification. - Explicitly distinguishes active version, historical version, regression baseline and documentation citation.
- Normalizes historical 1.1.14 validators so they accept 1.1.14 or monotonic successors instead of treating 1.1.14 as the current release.
- Makes
validate-current-sidereon-gates.pydynamic:release-integritygates are discovered from the active version supplied by the canonical policy. - Protects 1.1.13 → 1.1.14 → 1.1.15 progression and automatically extends validation to 1.1.16, 1.1.17, ....
- Keeps Sidereon 1.1.15, Minecraft 1.21.1, NeoForge 21.1.248, protocol 7 and schemas 2/2; no production code changes were made in this stage.
1.1.15 — Gate do Estágio 7, Continuidade do Crepúsculo e Integridade Cumulativa — Estágio 2/6
pt-BR
- Adiciona o gate dedicado ausente
validate-1.1.14-solar-lunar-realism-stage7.pysem recriar a implementação histórica do Estágio 7. - Valida que o crepúsculo
SIDEREONusa prioritariamentesunPosition.altitudeDegrees, mantendodayTimesomente como fallback fora da apresentação atmosférica SIDEREON. - Valida isolamento de
VANILLA: sem política atmosférica SIDEREON, cores customizadas de nascer/pôr do Sol ou refração solar SIDEREON. - Valida precedência de ownership para provider e shader externo antes da aplicação visual SIDEREON.
- Adiciona regressões automatizadas para +45°, +20°, +10°, +5°, 0°, -1°, -3°, -6°, -12° e -18°, além de varredura densa das curvas para detectar degraus locais.
- Corrige dois degraus preexistentes em
horizonGlowAlpha()nos limites de +12° e -6°, preservando o mesmo modelo de glow residual mas tornando a curva matematicamente contínua. - Integra o gate do Estágio 7 ao validador cumulativo histórico dos Estágios 1–10 e ao conjunto atual de gates forward-compatible.
- Mantém Sidereon 1.1.15, Minecraft 1.21.1, NeoForge 21.1.248, protocolo de rede 7 e schemas 2/2.
en-US
- Adds the missing dedicated
validate-1.1.14-solar-lunar-realism-stage7.pygate without reconstructing the historical Stage 7 implementation. - Verifies that
SIDEREONtwilight prioritizessunPosition.altitudeDegrees, keepingdayTimeonly as the non-SIDEREON fallback. - Verifies
VANILLAisolation from SIDEREON atmosphere policy, custom sunrise/sunset colors and SIDEREON solar refraction. - Verifies provider/external-shader ownership precedence before SIDEREON visual presentation is applied.
- Adds automated regressions for +45°, +20°, +10°, +5°, 0°, -1°, -3°, -6°, -12° and -18°, plus dense curve scans for local discontinuities.
- Fixes two pre-existing
horizonGlowAlpha()steps at +12° and -6°, preserving the residual-glow model while making the curve mathematically continuous. - Integrates the Stage 7 gate into the historical Stage 1–10 cumulative validator and the current forward-compatible gate set.
- Keeps Sidereon 1.1.15, Minecraft 1.21.1, NeoForge 21.1.248, network protocol 7 and schemas 2/2 unchanged.
1.1.15 — Correção de Versionamento, Gates e Integridade da Release — Estágio 1/6
pt-BR
- Congela Sidereon 1.1.14 Stage 10 como baseline histórica e promove a linha ativa para 1.1.15, sem reutilizar a release fechada.
- Atualiza
mod_versionpara 1.1.15 mantendo Minecraft 1.21.1 e NeoForge 21.1.248. - Preserva byte a byte as árvores de código de produção Java, recursos e testes da 1.1.14 neste estágio; Moon Illusion, escala/refração/tonalidade/compressão lunar, novo Sol SIDEREON, halo, refração/compressão solar, nascer/pôr do Sol e crepúsculo por altitude permanecem intactos.
- Mantém protocolo de rede 7, schema server-side 2, schema visual client-side 2, IDs e formatos persistidos.
- Corrige o agregador de gates atuais para não tratar gates que exigem versões históricas literais como gates ativos da 1.1.15. Esses validadores permanecem preservados para auditoria histórica.
- Adiciona gate automatizado específico da 1.1.15 / Estágio 1 para versionamento, metadados, hashes da baseline, modos
VANILLA/SIDEREON, compatibilidades opcionais e integridade dos manifests, sem Gradle e sem teste manual.
en-US
- Freezes Sidereon 1.1.14 Stage 10 as the historical baseline and promotes the active line to 1.1.15 without reusing the closed release.
- Updates
mod_versionto 1.1.15 while keeping Minecraft 1.21.1 and NeoForge 21.1.248. - Preserves the 1.1.14 production Java, resources and test trees byte-for-byte in this stage; Moon Illusion, lunar scale/refraction/colour/compression, the rebuilt SIDEREON Sun, halo, solar refraction/compression, sunrise/sunset and altitude-driven twilight remain intact.
- Keeps network protocol 7, server schema 2, client visual schema 2, IDs and persisted formats unchanged.
- Fixes the current-gate aggregator so validators that intentionally require literal historical versions are no longer treated as active 1.1.15 gates. They remain preserved for historical auditing.
- Adds an automated 1.1.15 / Stage 1 gate for versioning, metadata, baseline hashes,
VANILLA/SIDEREONmodes, optional compatibility and manifest integrity, with no Gradle or manual-test step.
1.1.14 — SIDEREON Celestial Realism, Moon Illusion & Atmospheric Horizons
en-US
- Officially promotes Sidereon 1.1.13 → 1.1.14. Future release builds must continue monotonically with 1.1.15, 1.1.16, ...; 1.1.13 is never reused for new changes.
- All new celestial-realism effects in this release belong exclusively to
SIDEREONmode.VANILLAcontinues to use Minecraft's original Sun, Moon, scale, colours, sunrise/sunset and twilight presentation. - Corrects the SIDEREON lunar base scale and adds altitude-driven Moon Illusion: the Moon appears larger near the horizon, becomes smoothly smaller as it rises and naturally grows again as it approaches moonset.
- Adds altitude-driven lunar atmospheric coloration, apparent refraction, progressive horizon visibility and subtle vertical compression without changing the Moon's true orbit, altitude, azimuth or phase.
- Fixes the blue SIDEREON Sun issue by separating solar visual ownership from the Vanilla sky colour state and restoring blend, shader colour, alpha and texture state correctly.
- Rebuilds the SIDEREON solar disc with a soft antialiased limb and subtle limb darkening, while moving the halo to an independent texture/pass to remove artificial borders and concentric artefacts.
- Adds altitude-driven solar colour, controlled halo strength, slight apparent refraction, subtle near-horizon compression and restrained apparent-scale variation.
- Improves SIDEREON sunrise and sunset with progressive warm-white → yellow → gold → orange → soft-red horizon transitions, followed by deep-blue twilight and night.
- SIDEREON twilight now follows the Sun's actual apparent altitude instead of relying primarily on rigid
dayTimebands; pre-sunrise brightening and post-sunset glow remain continuous. - Fully isolates
VANILLAandSIDEREON, including visual cache invalidation, ownership restoration and selective buffer rebuilds duringVANILLA ↔ SIDEREONchanges. - Preserves optional compatibility with Sodium, Embeddium, Iris/shaders, Distant Horizons, resource packs, EcoTermico and WildVitals without introducing mandatory dependencies.
- Preserves astronomical authority byte-for-byte against the 1.1.13 baseline for the protected Sun/Moon/stellar position authorities. Render backends and visual mode selection cannot change astronomical results.
- Keeps Minecraft 1.21.1, NeoForge 21.1.248, network protocol 7, server configuration schema 2 and client visual schema 2. Existing visual configuration migration remains automatic and does not require a reset.
pt-BR
- Promove oficialmente Sidereon 1.1.13 → 1.1.14. Futuras builds de release devem continuar monotonicamente em 1.1.15, 1.1.16, ...; a 1.1.13 nunca deve ser reutilizada para novas mudanças.
- Todos os novos efeitos de realismo celeste desta release pertencem exclusivamente ao modo
SIDEREON. O modoVANILLAcontinua utilizando a apresentação original do Minecraft para Sol, Lua, escala, cores, nascer/pôr do Sol e crepúsculo. - Corrige a escala-base da Lua SIDEREON e adiciona Moon Illusion dirigida por altitude: a Lua fica maior próxima ao horizonte, diminui suavemente conforme sobe e volta a aumentar naturalmente quando se aproxima do pôr.
- Adiciona tonalidade lunar atmosférica por altitude, refração aparente, visibilidade progressiva no horizonte e achatamento vertical sutil sem alterar órbita, altitude, azimute ou fase reais da Lua.
- Corrige definitivamente o Sol azul do SIDEREON ao separar o ownership visual solar do estado de cor do céu Vanilla e restaurar corretamente blend, cor do shader, alpha e textura.
- Reconstrói o disco solar SIDEREON com borda suave antialias e limb darkening sutil, separando o halo em textura/passe independente para remover bordas artificiais e artefatos concêntricos.
- Adiciona cor solar por altitude, intensidade controlada do halo, leve refração aparente, achatamento sutil próximo ao horizonte e pequena variação de escala aparente.
- Melhora nascer e pôr do Sol SIDEREON com transições progressivas branco quente → amarelo → dourado → laranja → vermelho suave, seguidas por crepúsculo azul profundo e noite.
- O crepúsculo SIDEREON agora acompanha a altitude aparente real do Sol em vez de depender principalmente de faixas rígidas de
dayTime; o clareamento pré-nascer e o glow pós-pôr permanecem contínuos. - Isola completamente
VANILLAeSIDEREON, incluindo invalidação de cache visual, restauração de ownership e reconstrução seletiva de buffers durante mudançasVANILLA ↔ SIDEREON. - Preserva compatibilidade opcional com Sodium, Embeddium, Iris/shaders, Distant Horizons, resource packs, EcoTermico e WildVitals sem introduzir dependências obrigatórias.
- Preserva a autoridade astronômica byte a byte em relação à base 1.1.13 para as autoridades protegidas de posição do Sol/Lua/estrelas. Renderer e seleção de modo visual não podem alterar os resultados astronômicos.
- Mantém Minecraft 1.21.1, NeoForge 21.1.248, protocolo de rede 7, schema server-side 2 e schema visual client-side 2. A migração da configuração visual existente continua automática e não exige reset.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include

