Skip to content

Releases: gaea-godot/gaea

v2.0.0-beta6

24 Mar 01:14
3aa5fab

Choose a tag to compare

v2.0.0-beta6 Pre-release
Pre-release

What's Changed

⚠️ Breaking Changes

  • Update to Godot 4.5 by @BenjaTK in #433
  • Rename Data type to Sample by @BenjaTK in #473
  • Add graph property to GaeaNodeResource and remove the old reference passed around by @Zehir in #574
  • Update to Godot 4.6 by @BenjaTK in #571
  • Separated Gaea plugin into Editor and Runtime sub-plugins by @Zehir in #587
  • Added GaeaChunkLoader, removed ChunkLoader2D and ThreadedChunkLoader2D by @Zehir in #595

Graph

  • Rework the saving system to make it significantly less prone to breakage by @BenjaTK in #435
  • Add more utility methods to GaeaGraph by @BenjaTK in #491
  • Make debug group toggleable and add generation time to log by @BenjaTK in #507
  • Get rid of the _setup_local_to_scene function of the GaeaGraph by @Zehir in #516
  • Add GaeaGenerationPouch class to store the cache by @Zehir in #520
  • Support for non square Tilemap Layers. by @Zehir in #339
  • Add node_added, node_removing and node_removed signals to GaeaGraph by @BenjaTK in #547
  • Add copy/pasting of nodes to/from clipboard in JSON by @Zehir in #560

Graph Nodes

  • Make _get_data abstract by @BenjaTK in #444
  • Allow overriding a node's icon on the Create Node tree by @BenjaTK in #457
  • Small optimization-related refactorings by @BenjaTK in #470
  • Optimize usage of _get_arg in mappers and filters by @BenjaTK in #509
  • Add GaeaNodeFilter and GaeaNodeMapper tests by @BenjaTK in #519
  • Add _on_removed_from_graph to GaeaNodeResource by @BenjaTK in #529
  • Add support for non square cell in RulesPlacer node by @Zehir in #552
  • Add DatasMatrixSampler node by @Zehir in #485
  • Implement graph savior by @Zehir in #554

Editor

  • Update categories to use new FoldableContainer by @BenjaTK in #442
  • Add Preview Simulation Size setting by @Zehir in #366
  • Improve the range argument editor by @BenjaTK in #443
  • Improve neighbors/rules type UI, and allow for 3D values by @BenjaTK in #471
  • Allow quick node creation and connection when dragging to empty spot by @BenjaTK in #477
  • Add copying/pasting of nodes by @BenjaTK in #482
  • Implement clamping for world_size and cell_size by @17shka in #503
  • Add a “Clear” button by @17shka in #504
  • Make seed read-only when random_seed_on_generate is true by @BenjaTK in #506
  • Remove generator dependency from editor by @Zehir in #512
  • Add file list panel to the left of the graph editor by @BenjaTK in #517
  • Add 'Group in New Frame' option to context menu by @BenjaTK in #489
  • Add new icons (GaeaGrid, GaeaGenerationPouch/Settings) and update GaeaNodeResource's icon by @BenjaTK in #533
  • Inspect graph when selected in file list by @BenjaTK in #546
  • Add preview panel to the right of the graph editor by @Zehir in #526
  • Update context menu logic and implement shortcuts by @Zehir in #562

Generation

Rendering

🐞 Bug Fixes

  • Fix for Floor Walker's starting position argument value being set to a float instead of a vector3i by @cullumi in #448
  • Make caching take in the value, not the results Dictionary by @Zehir in #450
  • Fix nodes not reloading when enum is changed by @BenjaTK in #456
  • Properly save and load scroll offset and zoom by @BenjaTK in #460
  • Show Gaea Panel on Populate (Fix for broken connections when loading a graph while the panel is not displayed) by @Zehir in #463
  • Fix invalid value when changing the type of a node's argument by @BenjaTK in #476
  • Fix parameters not choosing proper unique name by @BenjaTK in #479
  • Implement GaeaGraph deep duplication and add duplicate button by @cullumi in #431
  • Fix errors on floating editor close by @BenjaTK in #492
  • Fix frame's tint_color_enabled not being saved by @BenjaTK in #490
  • Fix GridMapGaeaRenderer not using GridMapGaeaMaterial's orientation by @BenjaTK in #493
  • Fix ChunkLoader2D not erasing from _loaded_chunks by @BenjaTK in #494
  • Fix Intersection and Difference set operations by @BenjaTK in #500
  • Auto remove duplicate GaeaNodeOutput nodes by @Zehir in #505
  • Fix creating a new Graph from the editor by @Zehir in #523
  • Make sure graph is valid before calling ensure_initialized() by @Zehir in #524
  • Fix null return value from static functions in GaeaEditorSettings by @BenjaTK in #530
  • Make sure edited script is valid before reloading a node by @Zehir in #532
  • Fix attempting to call on_removed_from_graph on null instance by @BenjaTK in #535
  • Fix 3D mode of ToHeight by @Zehir in #536
  • Fix opened graph deletion in generator not seen as unsaved by @Zehir in #551
  • Fix randomness of RandomScatter and RandomFilter by @Zehir in #549
  • Fix GaeaGenerationPriority not working, limit sort rate and disconnect signal if not used by @Zehir in #557
  • Fix TilemapRenderer for terrain and pattern by @Zehir in #567
  • Escape GaeaEditorSettings calls during runtime by @Zehir in #577
  • Fix GaeaNodesCopy serialization to text by @Zehir in #581
  • Fix copy pasting of nodes by @Zehir in #593
  • Fix Dictionary[Operation, Definition] type by @Zehir in #592
  • Fix frame renaming text input position by @Zehir in #596

Other

  • Update Online Docs and version links by @BenjaTK in #441
  • Make every random number instance use node-specific RandomNumberGenerator by @BenjaTK in #451
  • Add GDLint as a workflow and re-format files to fit Godot's style guide by @BenjaTK in #437
  • Create CONTRIBUTING.md by @BenjaTK in #472
  • Move demos to a submodule (2.0) by @cullumi in #425
  • Update gdUnit4 to v6.0.1 and its GitHub Action to v1.2.2 by @Zehir in #531
  • Switch time related variables from float to int by @Zehir in #558
  • Expand Screenshotter plugin to generate documentation files and rename it to DocumentationToolkit by @Zehir in #563
  • Updated gdUnit4 to v6.1.1 and Fixed Test Orphans by @cullumi in #598

New Contributors

Full Changelog: v2.0.0-beta5.hotfix...v2.0.0-beta6

v2.0.0-beta5 (Hotfix)

20 Sep 17:43
fd10e50

Choose a tag to compare

v2.0.0-beta5 (Hotfix) Pre-release
Pre-release

Added missing contributor to the credits and updated the version in the plugin's config file.
To read about v2.0.0-beta5, go to https://github.com/gaea-godot/gaea/releases/tag/v2.0.0-beta5

Full Changelog: v2.0.0-beta5...v2.0.0-beta5.hotfix

v2.0.0-beta5

20 Sep 14:01
813c183

Choose a tag to compare

v2.0.0-beta5 Pre-release
Pre-release

This is a smaller update meant to serve as the last Godot 4.4.x version preparing for an update to 4.5.

What's Changed

✨ New Features

  • Add GdUnit4 to the repository for unit/integration testing and implement first tests by @BenjaTK in #393
  • Add Operation node checks and fix GaeaNodeDataOp by @BenjaTK in #402
  • Don't clamp gradient material sampling to 0.0-1.0 by @BenjaTK in #406
  • Add the ToHeight2D/3D node, used to create side-view or 3D terrain. by @BenjaTK in #403

🐛 Bug Fixes

  • Abstract frames into a GaeaGraphFrame class by @BenjaTK in #394
  • Fix prepare_sample error message in mappers by @Zehir in #398
  • Fix TilemapGaeaRenderer rendering wrong terrain by @Zehir in #401
  • Fix clearing functionality of GridMapGaeaRenderer by @BenjaTK in #405

Other

  • Fix GradientGaeaMaterial by @Zehir in #397
  • Add GaeaNodeResource tests by @BenjaTK in #400
  • Move _log_data call to traverse() by @BenjaTK in #399
  • Cleanup warnings in tests by @Zehir in #411
  • Update _get_data function signatures to specify return type by @Zehir in #410
  • Add GaeaRenderer tests by @BenjaTK in #408
  • Fix .gitattributes to include addon by @Zehir in #413
  • fix export build with gaea 2.0 by @gumpdev in #417
  • Add support for TileMap pattern rendering by @Zehir in #414
  • Added move_up and move_down, added arrow keys to movement inputs by @cullumi in #428
  • Fix tilemap rendering of terrains for neighbor tiles by @Zehir in #430

New Contributors

Full Changelog: v2.0.0-beta4...v2.0.0-beta5

v2.0.0-beta4

10 May 21:41
b43bf02

Choose a tag to compare

v2.0.0-beta4 Pre-release
Pre-release

Highlights

  • Rework GaeaNodes to be configured from their script instead of .tres files by @BenjaTK in #344:
    • Before this update, nodes were created through resource files, meaning they'd have to have both a .tres file and a .gd file, and it was harder to implement dynamic features. Now, with this new system which takes inspiration from VisualShaderNodeCustom, nodes are created through scripts, and can be dynamically rebuilt to change their outputs, arguments, etc. based on context. This allows for more complex nodes like the FloatOp node.
    • The migration system will attempt to migrate any existing graphs and will mostly do it correctly but we still recommend to backup your files before updating.

What's Changed

✨ New Features

  • Add lerp to DatasOp by @BenjaTK in #371
  • Add new shapes to GaeaNodeFalloff by @Zehir in #367
  • Rework GaeaMaterials to allow them to be sampled and make GaeaMaterialGradient into a material by @Zehir in #359
  • Add a Texture data type and a TextureSampler node by @BenjaTK in #373

🔨 Quality Of Life

  • Add generation button on demo scene and fix runtime generation by @Zehir in #351
  • Rebuild graph nodes when their resource script is changed by @Zehir in #379
  • Make categories collapsable by @BenjaTK in #370
  • Add documentation button to GaeaGraphNode by @Zehir in #378
  • Add slider when number argument is min/maxed by @BenjaTK in #374
  • Enable select all on focus for text editor fields by @Zehir in #384
  • Save opened preview state on rebuild by @Zehir in #383

🐛 Bug Fixes

  • Fix GaeaNodeDatasOp if cell is missing by @Zehir in #358
  • Add GridMapGaeaRenderer missing methods by @Zehir in #354
  • Removed uid prefix in migration by @Zehir in #360
  • Avoid preloading graph-related resources by @Zehir in #386
  • Improve display of Vector argument editor and fix 2D type switching to 3D when connecting by @BenjaTK in #385
  • Fix NumberArgumentEditor setting min and max incorrectly by @BenjaTK in #392

Other

  • Clean up warnings by @Zehir in #350
  • Fix return type of get_data function in GaeaNodeConstant by @Zehir in #352
  • Separate value casting into its own class by @Zehir in #353
  • Simplify description format to match Godot's documentation comments by @Zehir in #356
  • Remove old saved properties from BoolArgumentEditor by @Zehir in #368
  • Update enum cases to uppercase by @Zehir in #372
  • Update missing enum cases to uppercase by @Zehir in #375
  • Hide tooltip when no description is provided by @Zehir in #382
  • Validate Script Type Before Adding to Node Tree by @Zehir in #380
  • Rename GaeaData to GaeaGraph by @Zehir in #377
  • Change the way parameter names are edited by @BenjaTK in #387
  • Change GaeaGraph icon to graph icon by @BenjaTK in #389
  • Change usages of Axis with Vector3i.Axis by @BenjaTK in #390

Full Changelog: v2.0.0-beta3...v2.0.0-beta4

v2.0.0-beta3

24 Apr 23:15
29294d5

Choose a tag to compare

v2.0.0-beta3 Pre-release
Pre-release

This release is in preparation for a larger release that will rework the system for making nodes and will most likely break any alread existing graphs. Please back-up your graphs before updating to this version and before upgrading to the next version.

What's Changed

✨ New Features

  • Add more value casting by @BenjaTK in #292
  • Implement new save system and data handling improvements by @Zehir in #305
  • Refactor node input and outputs by @Zehir in #319

🔨 Quality Of Life

  • Add online docs button by @Zehir in #290
  • Hide arguments when input is connected by @BenjaTK in #293
  • Add Gaea editor settings by @BenjaTK in #301
  • Add fuzzy search to add node popup by @Zehir in #307
  • Add "Open In Inspector" context action by @BenjaTK in #308
  • Add shortcut to cycle between nodes in the 'Create Node' tree by @BenjaTK in #309
  • Add 'About' window by @BenjaTK in #313
  • Pressing 'Enter' when search bar is focused now creates selected node by @BenjaTK in #318

🐛 Bug Fixes

  • Don't clear data before saving by @Zehir in #284
  • Fix reroute node by @Zehir in #295
  • Fix operating on 2 datas by @BenjaTK in #297
  • Fix casting not working when a non-input argument is present by @BenjaTK in #296
  • Fix output node label by @Zehir in #321
  • Await _remove_children to avoid nodes 'leaking' into other graphs when switching generators by @BenjaTK in #324

Other

  • Re-organize panel.gd by @BenjaTK in #283
  • Add debug group to GaeaData by @BenjaTK in #288
  • Force slot properties for input and output by @Zehir in #289
  • Add documentation and remove unused stored property by @Zehir in #286
  • Add vector2 and range casting functionality by @Zehir in #287
  • Clamp Add node popup inside the main window by @Zehir in #302
  • Cleanup parameter scenes by @Zehir in #320
  • Save scroll offset during sessions, not in GaeaData by @BenjaTK in #323
  • Add documentation to most scripts and update naming of certain symbols by @BenjaTK in #326

Full Changelog: v2.0.0-beta2...v2.0.0-beta3

v1.4.1

13 Apr 19:26
2be6f93

Choose a tag to compare

What's Changed

  • Fix invalid world_size (y checking x) check in NoiseGenerator by @kreivi in #185
  • Expanded Modifier Filtering + Walls Backward Compatibility Fix by @cullumi in #186
  • Remove 1.X docs and update its README.md to match 2.0 by @BenjaTK in #229
  • Prioritize updates in the same branch, warn when updating from 1.X to 2.0 by @Zehir in #294

New Contributors

Full Changelog: v1.4.0...v1.4.1

v2.0.0-beta2

11 Apr 01:07
de9fd46

Choose a tag to compare

v2.0.0-beta2 Pre-release
Pre-release

WARNING: Updating from 1.X to this WILL break your project.

Highlights

Generation Caching and Traversal by @cullumi in #252

  • This PR is the start for greatly improving generation speeds and optimizing the addon.

Add RulesPlacer node, inspired by LDtk by @BenjaTK in #215

  • Very useful for very specific decorations, for walls, and more.
2025-03-29_13-18-35.mp4

Add separate icons for each slot type by @Zehir in #245 & Color titlebars & add missing icons by @BenjaTK in #248

  • These 2 PRs took the look of the addon to the next level, and improved the accessibility of the addon's interface.
    image

What's Changed

New Features

Bug Fixes

  • Remove wrong information from SnakePath2D description by @BenjaTK in #193
  • Fix some problems when passing-in data by @BenjaTK in #208
  • Fix for Node Popup position breaking when the editor window is on a second monitor. by @cullumi in #210
  • Fix idx bug, allow sub-frames and fix frames not saving attached nodes correctly by @BenjaTK in #212
  • Remove all warnings by @BenjaTK in #214
  • Fix ThresholdMapper by @BenjaTK in #239
  • Improve weights Array Handling in RandomMaterial by @Zehir in #235
  • Add missing UID by @Zehir in #254
  • Fix generator data assignment to prevent null reference errors by @Zehir in #257
  • Fix Create Node popup not resizing by making it a Window by @BenjaTK in #270
  • Prevent code execution during scene editing and free old bottom panel resources by @Zehir in #276

Other

  • Optimize preview by @BenjaTK in #211
  • Upload Walker demo by @BenjaTK in #213
  • Remove docs in favor of the new repository by @BenjaTK in #227
  • Fix terrain data type in tilemap renderer by @Zehir in #234
  • Add ability to detach nodes from parent frame and to disable auto shrink in frames by @BenjaTK in #238
  • Add context menu for link interactions by @Zehir in #249

New Contributors

Full Changelog: v2.0.0-beta1...v2.0.0-beta2

v2.0.0-beta1

21 Mar 23:41

Choose a tag to compare

v2.0.0-beta1 Pre-release
Pre-release

WARNING: Updating to this version WILL break your existing projects.

Gaea 2.0 is still in beta so it's not ready for production.

Gaea 2.0

Presenting Gaea 2.0! In this new and improved version of Gaea, generation will now be configured with graphs, similar to VisualShaders.

graph_system

This system brings with it more flexibility, more customization and more opportunities. You can read how to use it in the new documentation!

Some other changes include:

  • Renaming TileInfo to GaeaMaterial.
  • Unifying all generator nodes into one.
  • A more flexible system for creating custom nodes.

Why the Change

Procedural generation is an inherently visual process. Having graph nodes with previews, obvious connections and more makes the process of using Gaea much more satisfying and easy.

Gaea 1.X was becoming hard to maintain, too. Modifiers were hard to create, and having to make a new generation node for every generation type was annoying. With this version, there's only one node: GaeaGenerator. It works for both 2D AND 3D, and all graph nodes do too, which means you can mix elements and customize your generations as you should've been able to from the start.

Iiirc too, this was the original idea I had for Gaea, I just wasn't experienced enough to do it.

Why Beta

I want to get to feature parity with 1.X before calling it an official version. Plus, the codebase probably needs some cleaning up to do, so I'd love to get feedback from anyone who can. Feel free to make PRs, issues, etc!


I'm really excited about this change, and my excitement for this addon is back. Hope y'all like the new workflow, any feedback is appreciated and encouraged.

Full Changelog: v1.3.2...v2.0.0-beta1

v1.4.0

21 Feb 12:10

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: BenjaTK/gaea-fork@v1.3.2...v1.4.0

v1.3.2

30 Aug 18:37

Choose a tag to compare

What's Changed

Full Changelog: BenjaTK/gaea-fork@v1.3.1...v1.3.2