Skip to content

feat: add integration API for third-party plugin support#40

Merged
jbuehler23 merged 4 commits into
mainfrom
feature/integration-api
Feb 25, 2026
Merged

feat: add integration API for third-party plugin support#40
jbuehler23 merged 4 commits into
mainfrom
feature/integration-api

Conversation

@jbuehler23
Copy link
Copy Markdown
Owner

@jbuehler23 jbuehler23 commented Feb 16, 2026

Summary

Adds a new bevy_map_integration crate that provides a TOML-driven plugin metadata system, allowing third-party crate authors to register properties, inspector sections, and UI contributions with the map editor.

New crate: bevy_map_integration

  • PluginMeta — serde-compatible struct for declaring plugin name, version, applicable entity types, and properties (string, int, float, bool, filepath, enum, point, color)
  • IntegrationRegistry — runtime registry that indexes plugins and supports querying properties by entity type, inspector sections, and file extensions
  • PluginManager — filesystem discovery of .toml plugin files from standard platform directories
  • EditorExtension — runtime UI contributions (panels, menu items, inspector sections, toolbar buttons, context menus)
  • Gated editor feature for Bevy-dependent types (Resource derive, EditorExtension)

Editor integration (bevy_map_editor)

  • Inspector renders plugin-contributed properties grouped by section, with type-appropriate widgets (text fields, sliders, checkboxes, file pickers, enum dropdowns, color pickers)
  • Asset browser filters by plugin-contributed file extensions
  • Menu bar, toolbar, and tree view render plugin-contributed UI items
  • Context menus include plugin-contributed actions on entity/layer targets

Example: bevy_aseprite_ultra integration

  • examples/integration/aseprite_ultra.toml — declares 7 properties mapping to bevy_aseprite_ultra's API (aseprite_file, animation_tag, animation_speed, animation_direction, animation_repeat, repeat_count, slice_name) plus editor contributions
  • examples/integration/demo.rs — standalone Bevy app that loads the TOML, registers it, queries properties, and demonstrates the component-bridging pattern via logging

Add TOML plugin metadata and demo app showing how third-party plugin
authors use the integration API to register properties and bridge
editor values to components.
@jbuehler23 jbuehler23 changed the title feat: initial integration api commit feat: add integration API for third-party plugin support Feb 25, 2026
@jbuehler23 jbuehler23 merged commit d537c0b into main Feb 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant