{"id":19597897,"url":"https://github.com/arocull/stag-toolkit","last_synced_at":"2026-03-15T04:56:14.349Z","repository":{"id":262044705,"uuid":"886042592","full_name":"arocull/stag-toolkit","owner":"arocull","description":"Toolsuite and docs for Godot game development","archived":false,"fork":false,"pushed_at":"2025-04-18T22:57:57.000Z","size":9228,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-23T11:17:16.176Z","etag":null,"topics":["gamedev","godot","plugin","rust","techart"],"latest_commit_sha":null,"homepage":"https://alanocull.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause-clear","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arocull.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"stagmath","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-11-10T03:12:21.000Z","updated_at":"2025-04-18T18:48:03.000Z","dependencies_parsed_at":"2024-11-10T06:22:09.192Z","dependency_job_id":"9674f4ff-ec3e-4b1a-980f-dd12591dc119","html_url":"https://github.com/arocull/stag-toolkit","commit_stats":null,"previous_names":["arocull/stag-toolkit"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arocull%2Fstag-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arocull%2Fstag-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arocull%2Fstag-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arocull%2Fstag-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arocull","download_url":"https://codeload.github.com/arocull/stag-toolkit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250421910,"owners_count":21427851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gamedev","godot","plugin","rust","techart"],"created_at":"2024-11-11T09:03:20.319Z","updated_at":"2026-03-15T04:56:14.342Z","avatar_url":"https://github.com/arocull.png","language":"Rust","funding_links":["https://ko-fi.com/stagmath"],"categories":[],"sub_categories":[],"readme":"# ![](godot/icon.svg) Stag Toolkit\n\n[Godot](https://godotengine.org/) addon and [Rust library](#as-a-rust-library) for real-time 3D games, art, and simulations.\n\nCurrently equipped for Godot **4.5**+ on Windows and Linux (gdextension), or all platforms (without gdextension).\n\n\u003e [!WARNING]\n\u003e Areas of this addon are highly experimental and frequently subject to change based on personal needs.\n\u003e These changes will sometimes require usage to be updated accordingly.\n\u003e Use at your own risk!\n\u003e Check for `@experimental` in docs to help identify unstable features.\n\n*If this tool has helped you, feel free to [send a Kofi](https://ko-fi.com/stagmath) my way, or to anyone listed in the [credits](#credits)*!\n\n## Feature List\n\n- ![](godot/addons/stag_toolkit/icons/icon_stagtoolkit_monochrome.svg) **[StagTest](docs/stagtest.md)** test framework for simulating gameplay and performing benchmarks\n- ![](godot/addons/stag_toolkit/icons/icon_islandbuilder.svg) **[IslandBuilder](https://alanocull.com/island_builder.html)**\\* tool for instantly converting whiteboxes into game-ready terrain\n- ![](godot/addons/stag_toolkit/icons/icon_simulatedropebinding.svg) [**SimulatedRope** and **SimulatedRopeBinding**](docs/simulatedrope.md)\\* nodes for performing and interacting with rope simulations\n- ![](godot/addons/stag_toolkit/icons/icon_queuefloat.svg) **QueueFloat**\\* class for handling and analyzing float buffers with minimal allocations\n- ![](godot/addons/stag_toolkit/icons/icon_stagtoolkit_monochrome.svg) **StagLogger** (wraps [Logger](https://docs.godotengine.org/en/stable/classes/class_logger.html)) for error catching and granular logs\n- **Simple LOD** importer for hands-free importing of scenes with custom LODs and collision siblings\n- [**Texture/Material** importer](docs/ironpress.md) for [`.ironpress`](https://github.com/arocull/IronPress) material imports\n- **[Shader includes](godot/addons/stag_toolkit/utils/shader_includes)** and debug shaders\n\n\\* *Requires the built-in gdextension.*\n\nSome features can be toggled on/off via the Project Settings under `addons/stag_toolkit`. May require an plugin reload or editor restart.\n\n## Projects\n\nThese projects use StagToolkit! Feel free to contribute your own.\n\n- **Abyss**, a tower-defense platformer ( [itch.io](https://stagmath.itch.io/abyss-demo) )\n\n## Installation\n\nThe latest stable plugin versions are published in the [releases tab](https://github.com/arocull/stag-toolkit/releases). Download and extract the zip archive, and copy the `addons/stag_toolkit` directory into your project's `addons` directory.\n\n### As a Rust Library\n\nThe [`stag-toolkit` crate](https://crates.io/crates/stag-toolkit) can also be used as a library for your own Rust projects: `cargo add stag-toolkit`\n\nOr, in your `Cargo.toml`, add:\n\n```toml\n[dependencies]\n# ...\nstag-toolkit = \"0.5.3\"\n```\n\n## Documentation\n\nFor the most up-to-date API documentation, use Godot Editor's internal \"Search Help\" feature (hotkey F1) to see internal class documentation.\nThe `master` branch API is also hosted on [GitHub pages](https://arocull.github.io/stag-toolkit/), although the GDExtension docs are not properly generated yet.\n\nGuides are manually documenated in the [docs](docs/) folder.\n\n![](docs/images/godot-internal-docs.png)\n\n## Building Manually\n\n1. Ensure [Godot](https://godotengine.org/download/archive/) (using version as specified above) and [Rust](https://www.rust-lang.org/) (I use the `stable` version) are installed\n2. Clone this repository\n3. `cd` into this repository and run `cargo fetch`\n4. Run `$ make` if on Linux, or `$ build.cmd` if on Windows\n5. Open the addon project in Godot to verify that it works: `cd godot/ \u0026\u0026 godot project.godot`\n6. Copy the `godot/addons/stag_toolkit/` directory into your project as `addons/stag_toolkit/`\n\nIf desired, you can run `$ make derust` on Linux to remove any Rust-dependent stuff from the addon.\n\n### Cross Compiling\n\nMake use of Rust's target system!\n\n- Install for key x86_64 platforms: `$ rustup target add x86_64-unknown-linux-gnu x86_64-pc-windows-gnu`\n- Get a list of [all platforms](https://doc.rust-lang.org/nightly/rustc/platform-support.html): `$ rustup target list`\n- Ensure you have the proper linker installed [to make use of cargo](https://stackoverflow.com/a/62853319)\n\nThese platforms currently are not supported, but may be supported in the future, in order of priority:\n\n1. Web Export `wasm32-unknown-emscripten` with threads\n2. Web Export `wasm32-unknown-emscripten` without threads\n3. Linux 32-bit\n4. Windows 32-bit\n5. Mac `x86_64-apple-darwin`\n\n#### On Linux\n\nInstall the proper linkers!\n\n- Ubuntu: `$ sudo apt-get install mingw-w64`\n- Fedora: `$ sudo dnf install mingw64-gcc`\n\n### Development\n\nYou may need to install additional toolchains for pre-commit hooks.\n\n- `$ pip install pre-commit gdtoolkit` - Installs pre-commit hooks and a linting/formatting toolchain for GDScript.\n- `$ pre-commit install` - Initialize pre-commit hooks.\n\n## Contribution\n\nThis repository is mirrored from a private git server, but if you're interested in contributing, let me know!\n\nMy roadmap is based on personal needs.\n\n### Bug Reports\n\nFeel free to file an issue ticket on [GitHub](https://github.com/arocull/stag-toolkit/issues) with your issue.\n\n## Credits\n\n- **[godot-rust](https://godot-rust.github.io/)** is used to hook StagToolkit into Godot Engine\n- **[Fast Surface Nets](https://github.com/bonsairobo/fast-surface-nets-rs)** for converting Signed Distance Field data to initial triangle meshes\n- **[Godot Engine](https://godotengine.org/)** where the plugin resides\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farocull%2Fstag-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farocull%2Fstag-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farocull%2Fstag-toolkit/lists"}