Skip to content

1.7.0

Choose a tag to compare

@fabian-becker fabian-becker released this 05 Feb 09:45
· 11 commits to master since this release

CSG Toolkit - Release Notes

Version 1.7.0

๐ŸŽจ New Pattern System

Complete rewrite of the repeater system with modular pattern support

  • Grid Pattern: Traditional XYZ grid layout with automatic template size detection
  • Circular Pattern: Arrange objects in circles with optional vertical layering
  • Spiral Pattern: Create dynamic spiral formations with configurable pitch and rotation
  • Noise Pattern: NEW - Procedural distribution using FastNoiseLite for organic, natural-looking patterns
    • Multiple noise types: Simplex, Perlin, Cellular, Value, and more
    • Customizable fractal settings (FBM, Ridged, Ping-Pong)
    • Adjustable noise frequency and threshold for density control

โš™๏ธ Settings & Configuration Improvements

  • ProjectSettings Integration: Configuration migrated from custom .cfg file to Godot's native ProjectSettings
    • Settings now stored in project.godot
    • Accessible via Project โ†’ Project Settings โ†’ Addons โ†’ CSG Toolkit
    • Better version control and project portability
  • Config Window Enhancements:
    • Auto-close window after saving settings
    • Improved UI layout and responsiveness

๐ŸŽฎ Runtime & Gameplay Features

  • In-Game Instance Generation: CSGRepeater3D and CSGSpreader3D now generate instances during gameplay, not just in editor
    • Enables dynamic level generation at runtime
    • Perfect for procedural content generation systems
  • Template Visibility Control: New hide_template option
    • Automatically hides template node while keeping repeated instances visible
    • Duplicate instances are always visible regardless of template state
    • No more workarounds needed for scene-based templates

๐Ÿ”ง Repeater & Spreader Improvements

  • Automatic Template Sizing: New use_template_size option
    • Automatically calculates spacing based on template's AABB
    • No more manual spacing calculations for different sized objects
    • Works seamlessly with CSG shapes of any dimensions
  • Enhanced Variation Controls:
    • Per-axis rotation randomization with individual variance settings
    • Per-axis scale randomization with configurable ranges
    • Position jitter for organic placement
    • All variations are seed-based and reproducible
  • Improved Default Values:
    • GridPattern now defaults to 2ร—1ร—1 for immediate visual feedback
    • Better initial configurations for all pattern types

โŒจ๏ธ Keyboard Shortcuts & UX

  • CSG Shortcut Manager: Comprehensive keyboard shortcut system
    • SHIFT + B/S/C/T/M/P: Quick shape creation (Box, Sphere, Cylinder, Torus, Mesh, Polygon)
    • SHIFT + 1/2/3: Cycle CSG operations (Union, Intersection, Subtraction)
    • SHIFT + ` or TAB: Cycle through operations
    • Context-aware shortcuts only active when CSG nodes are selected
  • Smart Insertion: ALT key for behavior inversion (sibling โ†” child placement)

๐Ÿ“ Code Organization

  • Pattern Architecture:
    • New CSGPattern base class with extensible pattern system
    • Patterns are now separate resource files in scripts/patterns/
    • Easy to create custom patterns by extending CSGPattern
  • Improved Code Structure:
    • Better separation of concerns
    • Enhanced documentation and comments
    • Cleaner property management with custom property lists

๐Ÿ“ Documentation

  • New SETTINGS.md: Comprehensive documentation of ProjectSettings integration
    • Migration guide from old config system
    • Detailed setting descriptions
    • Access instructions for both UI and direct editing
  • Updated README:
    • Complete feature coverage
    • Expanded Quick Start Guide
    • Pattern-specific documentation

๐Ÿ› Bug Fixes

  • Fixed behavior toggle button variable naming in config window
  • Corrected in-game instance generation for both Repeater and Spreader
  • Improved template node visibility handling
  • Fixed config window not closing after save

๐Ÿ”„ Breaking Changes

  • Configuration Migration: Old csg_toolkit_config.cfg is no longer used
    • Settings will reset to defaults on first run
    • Reconfigure preferences in new ProjectSettings location
  • Pattern System: Removed direct repeat and spacing properties from CSGRepeater3D
    • Now configured through pattern resources
    • Existing scenes will need pattern resources assigned

๐Ÿ“ฆ Internal Changes

  • Unified demo scenes into single demo.tscn
  • Updated plugin metadata and compatibility
  • Enhanced resource preloading for pattern classes
  • Improved property hints and editor integration

Migration Guide

From 1.6.x to 1.7.0

  1. Settings:

    • Open CSG Toolkit config window and reconfigure your preferences
    • Settings now in Project Settings โ†’ Addons โ†’ CSG Toolkit
  2. CSGRepeater3D Nodes:

    • Select your repeater node
    • Create a new pattern resource (Grid/Circular/Spiral/Noise)
    • Configure pattern-specific settings
    • Adjust use_template_size if needed
  3. Runtime Features:

    • If using repeaters in-game, they now work automatically on _ready()
    • Use hide_template option to manage template visibility

Full Changelog: https://github.com/yourusername/CSG_Toolkit/compare/1.6.1...1.7.0