This file contains all available components in the GodotNodeExtension project.
| Component | Version | Author | Description | Status |
|---|---|---|---|---|
| DynamicNumberLabel | 1.0.1 | shitake2333 | A custom Godot Label node for animated number display with customizable formatting and transitions | ✅ Complete |
| GodotChart | 0.3.0 | shitake2333 | A declarative chart library for Godot with a SkiaSharp backend: 22 chart kinds (20 Mark classes, plus the SectionMark annotation mark) across Cartesian, polar, hierarchical and flow layouts with auto-inferred scales, theming, animation and hit testing. | ✅ Complete |
| GodotMapsui | 0.1.0 | shitake2333 | Interactive map control for Godot using Mapsui and SkiaSharp, with Vulkan GPU accelerated rendering via GodotSkia. | ✅ Complete |
| GodotSkia | 0.9.0 | shitake2333 | A 2D rendering bridge between SkiaSharp and Godot. Shares the engine's Vulkan surface with Skia's GRContext (with a CPU fallback for every other renderer, including the OpenGL compatibility renderer), and provides bidirectional Godot/Skia type converters, an image interop layer and diagnostics for the shared GPU context. | ✅ Complete |
| Typography | 0.4.1-dev | shitake2333 | Multi-language typography server: language profiles (clreq/jlreq/klreq parameters, prohibition class sets, right-to-left languages), Unicode line breaking and bidirectional text (UAX #9 through Unicode.Bidi, with P2/P3, L1, L2 and mirroring done here), a boundary model that carries break and spacing decisions, HarfBuzz shaping with language-aware glyph-level output, display-form substitution (quotation marks, ellipsis, sentence marks), automatic hyphenation from TeX patterns, ruby and emphasis marks, image-text mixed layout with polygon wrapping, and an async server architecture | 🚧 In Progress |
To add a new component:
python Tools/components.py createRun it without arguments and it asks for the name, the type, the description, the author and the version
(Enter takes the value in brackets); a non-interactive run passes them as options, e.g.
python Tools/components.py create MyComponent --description "What it does".
That writes the whole layout below (sources, example, English/Chinese documentation pair and a gdUnit4 suite) and refreshes this file. Doing it by hand works too:
- Create a new directory under
Component/[ComponentName]/ - Add your component files with
[Tool]and[GlobalClass]attributes - Create a
component_info.jsonfile with the following structure:{ "name": "ComponentName", "version": "1.0.0", "author": "YourName", "description": "Brief description of your component", "license": "MIT", "requirements": { "godot": ">=4.0.0", "dotnet": ">=6.0" }, "dependencies": { "nuget": [ { "name": "PackageName", "version": ">=1.0.0", "required": true } ], "components": [ "DependentComponentName" ] } } - Add a
README.md(plus the matchingREADME.cn.md) underDoc/[ComponentName]/with usage documentation - Create examples under
Example/[ComponentName]/ - Add a gdUnit4 suite under
Test/[ComponentName]/ - Submit a pull request
This file is automatically updated when component_info.json files are modified.
Last updated: 2026-09-21 15:59:32 UTC