GATE v1.1.0 - Types first, and the editor no longer lies
The first feature release. Most of it is types: unions, tuples, typed callables, aliases
and typed scenes, plus flow typing that makes is narrow and as honest. The rest is the
editor finally treating .gate as a language rather than an unknown file.
Valid GDScript is still valid GATE. Rename a .gd to .gate and it compiles with no
errors, loads, and behaves identically.
New types
- Unions
<int | str>and tuples<int, str>, checked at compile time, emitted as
a plainVariantandArray - Typed callables
func(int) -> bool, checked on assignment and on.call() - Type aliases
type Hp = int, pure substitution with nothing emitted - Typed scenes
PackedScene<Enemy>, soinstantiate()has a type matchtype patterns,Circle c:andRect r when r.w == r.h:isnarrows, andasis no longer trusted inside GATE's own declarations
In the editor
.gatefiles appear in the FileSystem dock with their own icon, open in the real script
editor with GATE's colours, and can be created from the UI- Autocompletion, Ctrl-click and F1, and breakpoints that stop the running game and show
the stop in the.gaterather than the generated.gd - Godot's own warnings, unused variable, unused parameter, shadowed name and the rest,
reported against the.gatein Godot's own words, honouring your warning settings - Generated output is indented the way your project is
Also
- Swizzling, object initialisers,
@required,@export_if, and signal emit and connect
checks - Struct value semantics fixed throughout: copies where they are received, defaults that
run once, field-wise== - A build now does only what your edit changed, and an unchanged project builds nothing
- Eighteen superset violations fixed, one of them a wrong value in 1.0.x
Requires Godot 4.7. Full detail in CHANGELOG.md, and what comes next is in
ROADMAP.md.