Skip to content

Releases: saswatsundar123/CropForge

CropForge v1.0.1 — First Stable Release (Visual Engine Complete)

Choose a tag to compare

@saswatsundar123 saswatsundar123 released this 14 Jul 15:06

CropForge v1.0.1 marks our first stable release. The 3D visual architecture arc is now fully complete, and all known rendering regressions from earlier beta versions have been resolved. The bundled example suite has been audited and now runs clean end-to-end.

This release includes critical fixes for 3D plant rendering, terrain lighting, and simulation scripts.

🌟 Highlights & Fixes

3D Rendering Engine (Three.js)

  • Vertical Plant Growth Fixed: Plants now correctly grow vertically upward instead of horizontally. We eliminated a normal/tangent matrix corruption bug in InstancedMesh caused by MeshPhysicalMaterial in Three.js r152 by migrating to MeshStandardMaterial.
  • GLTF Rotation Corrected: Baked the Z-up to Y-up rotation matrix during geometry extraction (geo.applyMatrix4(child.matrixWorld)) to prevent models from lying flat on the terrain.
  • Fallback Renderer Restored: Fixed a silent 404 error caused by importing OutputPass (which requires Three.js r158+) into our r152 environment. We've reverted to the r152-compatible ShaderPass(GammaCorrectionShader), ensuring the 3D viewport no longer degrades to the 2D fallback.
  • Terrain Glow Removed: Tuned bloom pass thresholds and strength to ensure only bright canopy tops trigger bloom effects, eliminating the unnatural radioactive glow on the soil mesh.
  • Security & Reliability: Added parent_sanitize.js for safe cross-origin iframe messaging and fallback.js for offline/CDN-blocked scenarios.

Simulation Examples

  • Irrigation Trial (irrigation_trial.py): Fixed broken field-detection logic. The script now correctly tracks field call-order per day, allowing the dual-field stress divergence simulation to run perfectly.
  • Disease Outbreak Trial (disease_outbreak_trial.py): Replaced emoji characters with ASCII delimiters in the console output to prevent UnicodeEncodeError crashes on Windows cp1252 terminals. Added a farm.visualize() call at the end to auto-launch the dashboard.

Repository Health

  • Cleaned up stale debug artifacts (emoji_hits.txt, cropforge_crash.log, mid_season_export.glb).
  • Purged all __pycache__ and .pytest_cache directories from version control.

Full Changelog: v0.9.6...v1.0.1