Creation of asset "YARD - Yet Another Resource Database" New

New/Edit
Title YARD - Yet Another Resource Database
Description YARD is an editor plugin for Godot to manage resources and query them at runtime, with a table view in the editor as the cherry on top.


OVERVIEW
--------

YARD has two complementary aspects:

A table-based resource editor. The YARD editor tab lets you create and
manage registries: catalogues of resources grouped by class. Each registry
provides a spreadsheet-like view of your resources and their properties.

A lightweight runtime API. At runtime, a Registry is just a small .tres
file holding UIDs and string IDs. It does not load the resources it
references. You control when loading happens, and how.


FEATURES
--------

- Reference resources by stable, human-readable string IDs instead of
file paths or UIDs lying around in some autoload
- Restrict a registry to a specific class — only matching resources
can be added
- Sync a registry from a directory — entries are added and removed
automatically as resource files appear or disappear
- Bake a property index in the editor for zero-cost runtime queries
by resource property values
- Load entries individually, all at once (blocking), or asynchronously
via threaded loading
- No runtime overhead beyond what you explicitly request


INSTALLATION
------------

1. Copy the addons/yard folder into your project's addons/ directory
2. Enable the plugin in Project > Project Settings > Plugins


USAGE
-----

Creating a registry:
Open the Registry tab in the editor, click File > New Registry, and
configure:
- Class restriction: only resources of this class will be accepted
- Scan directory: the registry stays in sync with files in this folder
- Indexed properties: property names to bake for runtime filtering

Loading an entry:
var skeleton: Enemy = ENEMIES.load_entry(&"skeleton")

Loading all entries (blocking):
var all_enemies := ENEMIES.load_all_blocking()

Loading all entries (threaded):
var tracker := ENEMIES.load_all_threaded_request()

Querying the index:
var legendaries := WEAPONS.filter_by_value(&"rarity", Rarity.LEGENDARY)
var high_level := WEAPONS.filter_by(&"level", func(v): return v >= 10)
var results := WEAPONS.filter_by_values({
&"rarity": Rarity.LEGENDARY,
&"type": &"sword",
})

LICENSE
-------

MIT
Category Tools
License MIT
Repository Provider GitHub
Repository Url https://github.com/elliotfontaine/yard-godot
Issues Url https://github.com/elliotfontaine/yard-godot/issues
Godot version Godot 4.5
Version String 1.0.0
Download Commit b05f179df3355e3db6cb41bfe3588f0a4600eb97
Download Url (Computed) https://github.com/elliotfontaine/yard-godot/archive/b05f179df3355e3db6cb41bfe3588f0a4600eb97.zip
Icon Url https://raw.githubusercontent.com/elliotfontaine/yard-godot/refs/heads/main/icon.png
Preview Insert
Type image
Image/Video URL https://raw.githubusercontent.com/elliotfontaine/yard-godot/refs/heads/main/etc/preview_2.png
Thumbnail
Preview Insert
Type image
Image/Video URL https://raw.githubusercontent.com/elliotfontaine/yard-godot/refs/heads/main/etc/preview_1.png
Thumbnail