Skip to content

Latest commit

 

History

History
67 lines (55 loc) · 3.58 KB

File metadata and controls

67 lines (55 loc) · 3.58 KB

Components Registry

This file contains all available components in the GodotNodeExtension project.

Available Components

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

Contributing

To add a new component:

python Tools/components.py create

Run 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:

  1. Create a new directory under Component/[ComponentName]/
  2. Add your component files with [Tool] and [GlobalClass] attributes
  3. Create a component_info.json file 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"
        ]
      }
    }
  4. Add a README.md (plus the matching README.cn.md) under Doc/[ComponentName]/ with usage documentation
  5. Create examples under Example/[ComponentName]/
  6. Add a gdUnit4 suite under Test/[ComponentName]/
  7. 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