# ThicketScript > ThicketScript is a language built from the ground up to make games. It has TypeScript-like syntax, its own type system, a VM and `.tbc` bytecode. One program, `thicket`, runs, checks, debugs and builds your game. It is free to use, with no royalties. The docs below are the source of truth for the language and its built-in modules; the willow, willowui and gamekit portals document the 2D module, the UI toolkit and the game-structure package. For agents working in a ThicketScript project, `thicket mcp` is a built-in MCP server (stdio) that answers diagnostics, module APIs and symbol lookups for the version installed; setup is on the AI agents page. The whole docs set as one plain-text file: https://thicketscript.com/llms-full.txt ## Getting started - [Getting started](https://thicketscript.com/docs/start/): Install thicket, run your first script, open a window and build a program you can hand to someone. - [Building a program](https://thicketscript.com/docs/start/build-executable): Turn a project into a standalone program with thicket build. - [Checking your code](https://thicketscript.com/docs/start/check): Use thicket check to find type errors and compile errors without running anything. - [Your first script](https://thicketscript.com/docs/start/first-script): Write a ThicketScript file and run it with thicket run. - [Your first window](https://thicketscript.com/docs/start/first-window): Open a window, show a sprite and move it with the keyboard. ## Language guide - [Language guide](https://thicketscript.com/docs/language/): A tour of ThicketScript, the language built from the ground up to make games. - [Async, series and parallel](https://thicketscript.com/docs/language/async): Promises and await, plus the series and parallel blocks that say "in order" and "at the same time". - [Classes](https://thicketscript.com/docs/language/classes): Fields, constructors, methods, inheritance, access modifiers, getters, abstract and final classes. - [Coming from TypeScript](https://thicketscript.com/docs/language/coming-from-typescript): What ThicketScript leaves out of TypeScript, what it accepts and ignores, and the differences that matter, like integer division and overflow. - [Control flow](https://thicketscript.com/docs/language/control-flow): if, loops, ranges, switch, break, continue and labels. - [Enums](https://thicketscript.com/docs/language/enums): Named constants, string enums, bitflag enums and exhaustive switch. - [Errors](https://thicketscript.com/docs/language/errors): throw, try, catch, finally, typed catch clauses, inline try and defer. - [Functions](https://thicketscript.com/docs/language/functions): Function declarations, arrow functions, parameters and closures. - [Generics](https://thicketscript.com/docs/language/generics): Type parameters on functions, classes and interfaces. - [Interfaces](https://thicketscript.com/docs/language/interfaces): Interfaces describe a shape. Classes promise to match it with implements. - [Modules and imports](https://thicketscript.com/docs/language/modules): Split a program across files with import and export, and use the built-in system modules. - [Types](https://thicketscript.com/docs/language/types): ThicketScript's value types, unions, collections, and the is and as operators. - [Variables](https://thicketscript.com/docs/language/variables): let, const, scope and assignment in ThicketScript. ## Modules - [Modules](https://thicketscript.com/docs/modules/): willow for 2D, willowui for interfaces and gamekit for game structure. - [gamekit](https://thicketscript.com/docs/modules/gamekit): gamekit is a package of small, composable game structure for ThicketScript. - [willow (2D)](https://thicketscript.com/docs/modules/willow): willow is ThicketScript's 2D display tree, in the spirit of Flash and Starling. - [willowui (UI)](https://thicketscript.com/docs/modules/willowui): willowui is the UI toolkit for ThicketScript, written in ThicketScript on top of willow. Its full documentation is the willowui portal. ## Packages - [Using packages](https://thicketscript.com/docs/packages/): Add ThicketScript source from a folder, a git repository or a zip with the packages field of thicket.json. - [Writing a package](https://thicketscript.com/docs/packages/writing): A package is a ThicketScript project whose entry file gets imported instead of run. ## Building - [Building for each platform](https://thicketscript.com/docs/build/): What thicket build makes today on Linux, Windows and macOS, and what is coming next. ## AI agents - [Using ThicketScript with AI agents](https://thicketscript.com/docs/ai/): Connect an AI coding agent to thicket mcp, the MCP server built into ThicketScript, and point it at llms.txt. ## API reference - [API reference](https://thicketscript.com/docs/api/): Every built-in class, function and module in ThicketScript. - [Promise](https://thicketscript.com/docs/api/async): Async results for async / await. - [audio](https://thicketscript.com/docs/api/audio): Sound playback, mixing, music, procedural sound effects and 3D spatial sound. - [bitmap](https://thicketscript.com/docs/api/bitmap): Bitmaps: load, draw, composite and save images. - [BitmapRect](https://thicketscript.com/docs/api/bitmaprect): The rectangle Bitmap.contentBounds returns. - [Buffers and typed arrays](https://thicketscript.com/docs/api/buffer): ByteArray, Buffer, the typed arrays and their encodings. - [Array, Map and Set](https://thicketscript.com/docs/api/collections): The collection types: Array, FixedArray, Map, Set and the weak references. - [Color](https://thicketscript.com/docs/api/color): The Color value type: construct, convert and adjust colors. - [compress](https://thicketscript.com/docs/api/compress): zlib and gzip deflate and inflate, with streaming helpers. - [console](https://thicketscript.com/docs/api/console): Leveled logging to stdout and stderr. - [crypto](https://thicketscript.com/docs/api/crypto): Hashing, HMAC, AES, PBKDF2, random bytes and UUIDs. - [database](https://thicketscript.com/docs/api/database): Database connections: SQLite, MySQL, PostgreSQL, Redis and MongoDB. - [Date and Duration](https://thicketscript.com/docs/api/date): Dates, times, time zones and durations. - [Ease](https://thicketscript.com/docs/api/ease): Easing curves for animation and tweens. - [env](https://thicketscript.com/docs/api/env): Environment variables. - [Errors](https://thicketscript.com/docs/api/errors): The built-in error classes. - [events](https://thicketscript.com/docs/api/events): String-keyed event channels with EventEmitter. - [fs](https://thicketscript.com/docs/api/fs): Files and directories. - [Geometry](https://thicketscript.com/docs/api/geometry): The Vec2, Point, Vec3, Size and Rect value types. - [Global functions](https://thicketscript.com/docs/api/globals): Output, timers, parsers, type checks and the global constants. - [http](https://thicketscript.com/docs/api/http): Asynchronous HTTP client and an HTTP server. - [Input constants](https://thicketscript.com/docs/api/input): Key, GamepadButton, GamepadAxis and MouseCursor. - [InputMap](https://thicketscript.com/docs/api/inputmap): Named actions bound to keys, buttons and axes. - [JSON](https://thicketscript.com/docs/api/json): Parse and stringify JSON. - [Math](https://thicketscript.com/docs/api/math): Math functions and constants. - [net](https://thicketscript.com/docs/api/net): TCP sockets. - [Number conversions](https://thicketscript.com/docs/api/numerics): Conversion functions and constants for numbers: Int(x), Float(x), Int.MAX, Number.isInteger and friends. The types themselves are lowercase: int, uint, float, and int8 to float32 for packed storage. - [Object](https://thicketscript.com/docs/api/object): Object helpers and Proxy. - [Number methods](https://thicketscript.com/docs/api/primitives): Methods you can call on a number value, such as n.toFixed(2). The class names on this page are internal; you never write them in code. - [Random](https://thicketscript.com/docs/api/random): Seedable random number generators. - [reactivity](https://thicketscript.com/docs/api/reactivity): Signals, refs, computed values and reactive collections. - [RegExp](https://thicketscript.com/docs/api/regexp): Regular expressions. - [shell](https://thicketscript.com/docs/api/shell): Run child processes. - [String](https://thicketscript.com/docs/api/string): The string type and its methods. - [App and System](https://thicketscript.com/docs/api/system): The app lifecycle (App), process and platform info (System), and autotest hooks. - [terminal](https://thicketscript.com/docs/api/terminal): Terminal input, output, cursor control and ANSI styling. - [Ticker](https://thicketscript.com/docs/api/ticker): Timers and sequences that advance with the app tick. - [udp](https://thicketscript.com/docs/api/udp): UDP datagram sockets. - [URL](https://thicketscript.com/docs/api/url): Parse and build URLs and query strings. - [ws](https://thicketscript.com/docs/api/ws): WebSocket client and server. ## willow portal (2D module) - [willow](https://thicketscript.com/willow/): willow is ThicketScript's 2D display tree. Build a tree of nodes and willow draws it every frame. - [Getting started with willow](https://thicketscript.com/willow/getting-started): Open a window, show a sprite and move it with the keyboard. - [Camera and layers](https://thicketscript.com/willow/guide/camera-and-layers): Moving, zooming, following, shaking and bounding willow's 2D camera, culling, screen-space HUDs and NodeIndex lookups. - [Effects](https://thicketscript.com/willow/guide/effects): Particles, blend modes, filters, masks, 2D lighting and render textures in willow. - [Common pitfalls](https://thicketscript.com/willow/guide/gotchas): The willow behaviours that surprise people most often, each with the fix: units, pivots, adding and disposing, hit testing, names and the camera. - [Running without a window](https://thicketscript.com/willow/guide/headless): What willow does in a console program with no window or GPU, for tools, servers and tests. - [Input and hit testing](https://thicketscript.com/willow/guide/input-and-hit-testing): Clicks, hover, drags, wheel and pinch on willow nodes, custom hit shapes, pointer capture, and global keyboard, mouse and gamepad state. - [Lifecycle and time](https://thicketscript.com/willow/guide/lifecycle-and-time): Node lifecycle hooks, frames versus fixed ticks, pausing a subtree, time scale and interpolation in willow. - [Nodes and transforms](https://thicketscript.com/willow/guide/nodes-and-transforms): Position, pivot, scale, rotation, skew and alpha on willow nodes, and converting points between spaces. - [Performance](https://thicketscript.com/willow/guide/performance): How willow batches draws, and what to reach for when a scene gets heavy: atlases, SpriteBatch, cached subtrees, tilemaps and culling. - [Physics](https://thicketscript.com/willow/guide/physics): Rigid-body physics on willow nodes: physics roots, dynamic, static and kinematic bodies, shapes, impulses and forces. - [Rope and distortion](https://thicketscript.com/willow/guide/rope-and-distortion): Textured ribbons along paths and curves with Rope, and per-vertex image warping with DistortionGrid. - [The scene graph](https://thicketscript.com/willow/guide/scene-graph): How willow's display tree, the scene, the world and screen roots, and render layers fit together. - [Shapes and meshes](https://thicketscript.com/willow/guide/shapes-and-meshes): Solid rectangles, lines, polygons, circles, stars, textured polygons, raw meshes and custom paint in willow. - [Sprites and textures](https://thicketscript.com/willow/guide/sprites-and-textures): Loading images, sharing textures, regions and tilesets, atlases, sprite batches and frame animation in willow. - [Text and fonts](https://thicketscript.com/willow/guide/text-and-fonts): Text nodes, fonts from bundles, TTF files and pixel sheets, text effects, measuring and text input in willow. - [Tilemaps](https://thicketscript.com/willow/guide/tilemaps): Build large 2D worlds from tile grids with TileLayer, cull them with TilemapViewport, animate tiles and query them for collision. - [Tweens and transitions](https://thicketscript.com/willow/guide/tweens-and-transitions): Animate node position, alpha, colour, rotation and scale with TweenGroup, wait with tickers, and play transitions between screens. - [willow recipes](https://thicketscript.com/willow/recipes): Short answers to common willow tasks. - [AnimationPlayer](https://thicketscript.com/willow/reference/animation): Frame-by-frame sprite animation. - [Atlas](https://thicketscript.com/willow/reference/atlas): Named regions packed onto texture pages. - [CacheTreeMode](https://thicketscript.com/willow/reference/cache-tree): Constants for Node.setCacheAsTree. - [Camera2D](https://thicketscript.com/willow/reference/camera): The 2D camera. - [Custom paint](https://thicketscript.com/willow/reference/custom-paint): Draw your own triangles for a node. - [Filters](https://thicketscript.com/willow/reference/filters): Visual effects applied to a node's rendered output. - [Font](https://thicketscript.com/willow/reference/font): Fonts: bundles, TTF baking, pixel fonts and measuring. - [willow reference](https://thicketscript.com/willow/reference/): Every willow class, by area. - [Pointer input](https://thicketscript.com/willow/reference/input): Event payloads and pointer controls used by the node input handlers. - [LightLayer](https://thicketscript.com/willow/reference/lighting): 2D lights over ambient darkness. - [NodeIndex](https://thicketscript.com/willow/reference/node-index): Find nodes by name or tag. - [Node](https://thicketscript.com/willow/reference/node): The base of every display object: transform, children, lifecycle hooks, input handlers and events. - [ParticleEmitter](https://thicketscript.com/willow/reference/particles): Pooled 2D particles. - [Physics](https://thicketscript.com/willow/reference/physics): Rigid bodies attached to nodes. - [Polygon and Mesh](https://thicketscript.com/willow/reference/polygon-mesh): Filled shapes and raw triangle meshes. - [Quad](https://thicketscript.com/willow/reference/quad): Solid-colour rectangles and lines. - [RenderTexture](https://thicketscript.com/willow/reference/render-texture): Offscreen canvases and subtree capture. - [Rope and DistortionGrid](https://thicketscript.com/willow/reference/rope): Ribbons along a path, and deformable grid meshes. - [Scene](https://thicketscript.com/willow/reference/scene): The app's scene: its world root, screen root, camera, layers, keys and transitions. Module willow-scene, read without an import. - [Sprite and SpriteBatch](https://thicketscript.com/willow/reference/sprite): Textured display objects. - [Text](https://thicketscript.com/willow/reference/text): The text display object and its effects and input events. - [Texture and TextureRegion](https://thicketscript.com/willow/reference/texture): Images on the GPU and rectangles inside them. - [TileLayer](https://thicketscript.com/willow/reference/tilemap): Batched, culled tile grids. - [Transition](https://thicketscript.com/willow/reference/transition): Effects played between two nodes by Scene.playTransition. - [TweenGroup](https://thicketscript.com/willow/reference/tween): Animate node fields and plain numbers over time. ## willowui portal (UI toolkit) - [willowui](https://thicketscript.com/willowui/): willowui is the UI toolkit for ThicketScript. Widgets, layouts, themes, reactive state and an XML template system, written in ThicketScript on top of willow. - [Getting started with willowui](https://thicketscript.com/willowui/getting-started): Add the willowui package to a project, open a window and put a working button on it. - [willowui concepts](https://thicketscript.com/willowui/guide/concepts): The mental model of willowui. Components, screens, controllers, the stage, names, and disposal. - [Input and focus](https://thicketscript.com/willowui/guide/input-and-focus): How keyboard focus moves between widgets: the FocusManager, Tab order, arrow-key spatial navigation, and global and scoped key binds. - [Layout in willowui](https://thicketscript.com/willowui/guide/layout): Arrange widgets with vbox, hbox, grid, flow and anchor layouts, plus padding, spacing, alignment, fill and grow. - [Reactive state](https://thicketscript.com/willowui/guide/reactive-state): Keep data in refs and bind widgets to them, so the screen follows the data without hand-written setText calls. - [Text and markup](https://thicketscript.com/willowui/guide/text-and-markup): Plain text with Label, styled text with RichText and its setMarkup tags: bold, color, size, outline, links, icons, headings and lists. - [Theming](https://thicketscript.com/willowui/guide/theming): Style every widget from one theme JSON file: colors, variants, per-state values, nine-slice images and sprites. Load it with loadThemeAny, or compile it ahead of time with themec. - [Recipe: dialogs](https://thicketscript.com/willowui/recipes/dialogs): A modal confirmation dialog built from a Window: Enter and Escape answer it, and one result callback handles every way it closes. - [Recipe: a form](https://thicketscript.com/willowui/recipes/forms): A form laid out in XML whose fields write back into the controller's refs through two-way bind:value, bind:selected and bind:checked. - [Recipe: lists](https://thicketscript.com/willowui/recipes/lists): A scrolling list that follows a ReactiveArray: add and remove rows by changing the array, draw custom rows, and act on the selection. - [Recipe: menus](https://thicketscript.com/willowui/recipes/menus): A main menu the keyboard and gamepad-style arrow keys can drive, and a desktop-style menu bar with dropdowns, separators and shortcut hints. - [Recipe: a settings screen](https://thicketscript.com/willowui/recipes/settings): A settings screen whose sliders, toggles, choices and key binding fields write straight into refs, with label and control pairs lined up by TwoColumnLayout. - [Composites (API)](https://thicketscript.com/willowui/reference/composites): Generated list of the public classes, constructors, methods and callbacks of the willowui composites. - [Containers (API)](https://thicketscript.com/willowui/reference/containers): Generated list of the public classes, constructors, methods and callbacks of the willowui containers. - [Core widgets (API)](https://thicketscript.com/willowui/reference/core): Generated list of the public classes, constructors, methods and callbacks of the willowui core widgets. - [Display widgets (API)](https://thicketscript.com/willowui/reference/display): Generated list of the public classes, constructors, methods and callbacks of the willowui display widgets. - [Interactive widgets (API)](https://thicketscript.com/willowui/reference/interactive): Generated list of the public classes, constructors, methods and callbacks of the willowui interactive widgets. - [Text widgets (API)](https://thicketscript.com/willowui/reference/text): Generated list of the public classes, constructors, methods and callbacks of the willowui text widgets. - [willowui composites](https://thicketscript.com/willowui/widgets/composites): DataTable and GradientEditor, the larger widgets built from many smaller ones. - [willowui containers](https://thicketscript.com/willowui/widgets/containers): Window, TabBar, List, TileList, TreeList, SortableList, SortableTreeList, TreeTable, Accordion, NavDrawer, AnchorLayout and TwoColumnLayout. - [willowui core widgets](https://thicketscript.com/willowui/widgets/core): Component, Panel, Label, Button, IconButton, Image, Tooltip, ScrollBar and ScrollPanel. - [willowui display widgets](https://thicketscript.com/willowui/widgets/display): Badge, ProgressBar, MeterBar, RichText, AnimatedImage, StatWeb, Toast and Spacer. - [willowui widget catalogue](https://thicketscript.com/willowui/widgets/): Every willowui widget by family, with links to its guide, its XML tag and its generated API. - [willowui interactive widgets](https://thicketscript.com/willowui/widgets/interactive): Toggle, Checkbox, Radio, Slider, Select, OptionRotator, ToggleButtonBar, menus, Popover, ToolBar, DragHandle, TimePicker, CalendarSelector, KeybindInput and ImageCropper. - [willowui text widgets](https://thicketscript.com/willowui/widgets/text): TextInput, TextArea, MaskedInput, InputField, SearchBox, NumberStepper, Tag, TagBar and ColorPicker. - [Binary templates](https://thicketscript.com/willowui/xml/binary): Compile willowui XML templates to the .xmlui binary form with the xmluic tool, and load them with registerBinary. - [Bindings and events in XML](https://thicketscript.com/willowui/xml/bindings): How bind: keeps widget attributes in step with reactive data, how on: calls your controller, and how to get user input back. - [Custom widgets in XML](https://thicketscript.com/willowui/xml/custom-widgets): Register your own component class as an XML tag, with its own attributes and events. - [Template directives](https://thicketscript.com/willowui/xml/directives): ui:show, ui:if and ui:for in willowui XML templates, and which ui: directives are not supported yet. - [Template expressions](https://thicketscript.com/willowui/xml/expressions): The expression language used in bind:, ui: and {{ }} interpolation in willowui XML templates. - [Hot reload](https://thicketscript.com/willowui/xml/hot-reload): Edit a willowui XML template or theme while the app runs and see the change without restarting. - [willowui XML templates](https://thicketscript.com/willowui/xml/): Describe a willowui screen in XML, bind it to reactive data and wire its events to a controller. - [Layout from XML](https://thicketscript.com/willowui/xml/layout): Stacks, grids, flow, anchors, two-column forms, tabs and windows written as willowui XML templates. - [XML syntax and attributes](https://thicketscript.com/willowui/xml/syntax): The XML rules willowui's template parser follows, the value formats, and the attributes every tag accepts. - [XML tag reference](https://thicketscript.com/willowui/xml/tags): Every tag the willowui XML template compiler accepts, with the attributes and events the registry wires for it. - [Variants and inline themes in XML](https://thicketscript.com/willowui/xml/themes): Pick a theme variant per element, define your own variant names, and patch the theme from inside a template with a Theme element. ## gamekit portal (game structure) - [gamekit](https://thicketscript.com/gamekit/): gamekit gives a ThicketScript game its structure. Entities, a world of systems, scenes, input actions, assets, saves and test helpers, written in ThicketScript on top of willow. - [gamekit examples](https://thicketscript.com/gamekit/examples): The example projects that come with gamekit. A card-matching puzzle, a dungeon crawler, scene fades, window layers and a console tactics match. - [Getting started with gamekit](https://thicketscript.com/gamekit/getting-started): Build a minimal gamekit game with one entity and one system, run it in a terminal, then put it in a window. - [Assets](https://thicketscript.com/gamekit/guide/assets): gamekit typed asset keys, load plans with dependencies, reference-counted handles and scopes that tie assets to a scene. - [Attributes and state machines](https://thicketscript.com/gamekit/guide/attributes-and-state-machines): gamekit observable attributes with ordered modifiers and derived values, and explicit state machines with permitted edges and guards. - [Conditions, actions and interactions](https://thicketscript.com/gamekit/guide/conditions-and-actions): gamekit conditions that explain failures, transactional actions that commit all or nothing, and interaction offers discovered at run time. - [Definitions and prefabs](https://thicketscript.com/gamekit/guide/definitions-and-prefabs): gamekit definition registries with deterministic inheritance and full provenance, and prefabs that build runtime objects through your own factory. - [Effects](https://thicketscript.com/gamekit/guide/effects): gamekit keyed effects on entities, with durations on a scheduler you supply, stacking policies and lifecycle hooks. - [Entities and components](https://thicketscript.com/gamekit/guide/entities): gamekit entities, typed component keys, lifecycle hooks, contexts and deferred teardown. - [Events and pipelines](https://thicketscript.com/gamekit/guide/events-and-pipelines): gamekit event scopes for completed facts, and mutable pipelines for rules that change a request before it happens. - [Input actions](https://thicketscript.com/gamekit/guide/input): gamekit action frames from the core InputMap, input contexts and routing, recording and replay, and the willow pointer bridge. - [How gamekit is built](https://thicketscript.com/gamekit/guide/mental-model): The ideas behind every gamekit family. Explicit ownership, time you pass in, local events, and parts you opt into. - [Saves and settings](https://thicketscript.com/gamekit/guide/saves): gamekit codecs, versioned save schemas with migrations, save slots with backups and autosaves, byte storage and the settings store. - [Scenes and the app lifecycle](https://thicketscript.com/gamekit/guide/scenes): gamekit scenes, the SceneStack that owns their lifetime, the SceneCoordinator for app states, transitions, and screen layers. - [Testing and debugging](https://thicketscript.com/gamekit/guide/testing-and-debug): gamekit testing tools. Deterministic simulation and presentation clocks, a scheduler you advance, debug snapshots and diffs, scenarios that shrink a failure, and bounded traces. - [Windows with willowui](https://thicketscript.com/gamekit/guide/ui-windows): gamekit SceneWindowLayer gives each scene its own willowui window manager, keeps screen windows above every scene, and resolves focus. - [Gauges, picks and spatial helpers](https://thicketscript.com/gamekit/guide/utilities): Small gamekit helpers. Gauge for cooldowns, WeightedPick for seeded weighted choices, Transform2D, a spatial index, and the music director. - [Drawing with willow](https://thicketscript.com/gamekit/guide/willow-presentation): gamekit presentation bindings copy your game records onto willow nodes at one explicit boundary, with tickets for async work and pooling. - [World, queries and systems](https://thicketscript.com/gamekit/guide/world-and-systems): The gamekit World, component stores, queries, deferred commands, phase schedules and the WorldTicker. - [gamekit recipes](https://thicketscript.com/gamekit/recipes): Short, complete answers to common gamekit jobs. Spawning from definitions, cooldowns, pausing, replays, saving and restoring, and safe purchases. - [app reference](https://thicketscript.com/gamekit/reference/app): gamekit app family reference, generated from the gamekit source. - [audio reference](https://thicketscript.com/gamekit/reference/audio): gamekit audio family reference, generated from the gamekit source. - [core reference](https://thicketscript.com/gamekit/reference/core): gamekit core family reference, generated from the gamekit source. - [ecs reference](https://thicketscript.com/gamekit/reference/ecs): gamekit ecs family reference, generated from the gamekit source. - [gamekit reference](https://thicketscript.com/gamekit/reference/): The gamekit package surface. Families, import paths, and links to the generated reference for every public class. - [save reference](https://thicketscript.com/gamekit/reference/save): gamekit save family reference, generated from the gamekit source. - [testing reference](https://thicketscript.com/gamekit/reference/testing): gamekit testing family reference, generated from the gamekit source. - [ui reference](https://thicketscript.com/gamekit/reference/ui): gamekit ui family reference, generated from the gamekit source. - [willow reference](https://thicketscript.com/gamekit/reference/willow): gamekit willow family reference, generated from the gamekit source. ## Optional - [Download](https://thicketscript.com/download): Downloads are coming soon. - [License](https://thicketscript.com/license): free to use, with no royalties. - [Releases](https://thicketscript.com/releases/): release notes, one entry per version (RSS: https://thicketscript.com/releases/feed.xml).