This tool allows you to open one or more notebooks in Visual Studio and go hog wild exploring your systems in Bevy.

Overview

Bevyrly

bevyrly3

Bevy is rly useful, but requires some hygiene! Pronounced as /ˈbɛvə(ɹ)li/, derives from Old English, combining befer ("beaver") and leah ("clearing").

This tool allows you to open one or more notebooks in Visual Studio and go hog wild exploring your systems. Instead of tracing them through files, find them via their arguments and then save that as a compilable notebook that will auto-update.

Features

To start using Bevyrly (just like Beverly), install this extension, and then open the palette (Ctrl+Shift+P) and type Bevyrly: New Notebook. Once inside, write ? and run it to get full docs, just like what you have below.

Search control

  • &Transform: find all systems that include Query<&Transform> within it
  • *Transform: find all systems that include Query<&mut Transform> within it
  • #Config: find all systems that include Res<Config> within it
  • $Config: find all systems that include ResMut<Config> or NonSendMut<Config> within it
  • <ShipFireEvent: find all systems that include EventReader<ShipFireEvent> within it
  • >ShipFireEvent: find all systems that include EventWriter<ShipFireEvent> within it
  • +Tag: find all systems that include With<Tag> within it
  • -Tag: find all systems that include Without<Tag> within it
  • JustText: will match any of the above (might yield a lot of content)

Output control

  • ?: prints this documentation
  • my prompt goes here: find and print locations of all systems that mention 'my', 'prompt', 'goes', and 'here'
  • :my prompt goes here: find and print declaration for all systems that mention 'my', 'prompt', 'goes', and 'here'

Examples

  • :&Transform >ShipFireEvent +Player: prints full function declarations for any system that queries the Transform component immutably, accesses EventWriter<ShipFireEvent>, and has a With<Player>.
  • +Player -Player: prints linkable locations to all the systems that require With<Player> and Without<Player> (possibly in different arguments)
  • Foo Bar: prints locations of all the systems that have the strings Foo and Bar anywhere in their arguments (including resources, components, etc.)

How Does It Work

Bevyrly analyzes your code whenever you open a new notebook. It takes the arguments of the systems you use and makes a catalog of the different kinds of resources, components, etc. mapped onto the systems they are used in. When you query Bevyrly, it parses your prompt and intersects the different mappings to get you exactly what you want. There is no AI used in Bevyrly, and never will be.

Known Issues

  • We don't distinguish things within the same argument of a system, so for example, you can't say A, B to mean "give me a system that has one argument with both A and B.
  • Sometimes, the highlighting fails without obvious reason.

Release Notes

0.0.4

Initial release of Bevyrly, a weekend project that I'll need going into a large project

Enjoy!

You might also like...
Minecraft-esque voxel engine prototype made with the bevy game engine. Pending bevy 0.6 release to undergo a full rewrite.
Minecraft-esque voxel engine prototype made with the bevy game engine. Pending bevy 0.6 release to undergo a full rewrite.

vx_bevy A voxel engine prototype made using the Bevy game engine. Goals and features Very basic worldgen Animated chunk loading (ala cube world) Optim

bevy-hikari is an implementation of voxel cone tracing global illumination with anisotropic mip-mapping in Bevy
bevy-hikari is an implementation of voxel cone tracing global illumination with anisotropic mip-mapping in Bevy

Bevy Voxel Cone Tracing bevy-hikari is an implementation of voxel cone tracing global illumination with anisotropic mip-mapping in Bevy. Bevy Version

A simple extension for `bevy-editor-pls` to support tilemap editing right inside the bevy app.

What is this This is a simple tilemap editor plugin, that hooks right into bevy_editor_pls to work with bevy_ecs_tilemap. It works completely within i

Bevy Simple Portals is a Bevy game engine plugin aimed to create portals.
Bevy Simple Portals is a Bevy game engine plugin aimed to create portals.

Portals for Bevy Bevy Simple Portals is a Bevy game engine plugin aimed to create portals. Those portals are (for now) purely visual and can be used t

Extreme Bevy is what you end up with by following my tutorial series on how to make a low-latency p2p web game.

Extreme Bevy Extreme Bevy is what you end up with by following my tutorial series on how to make a low-latency p2p web game. There game can be played

a prototype crate for creating modular and performant 3D CPU particle systems, inspired by Unity's Shuriken Particle System.

bevy_prototype_particles This is a prototype crate for creating modular and performant 3D CPU particle systems, inspired by Unity's Shuriken Particle

Chess implemented entirely in the Rust and TS type systems.
Chess implemented entirely in the Rust and TS type systems.

Type System Chess This repo contains chess implemented entirely in the (stable) Rust and Typescript type systems. Both languages feature turing comple

You have been an apprentice to a powerful sorcerer for as long as you can remember.
You have been an apprentice to a powerful sorcerer for as long as you can remember.

You have been an apprentice to a powerful sorcerer for as long as you can remember. However you dream of becoming a rancher, raising animals in your own pen.

An extension to the bevy_ecs_tilemap, allowing for configurable tilesets, auto tiling, and more
An extension to the bevy_ecs_tilemap, allowing for configurable tilesets, auto tiling, and more

bevy_ecs_tilemap_tileset A mouthful, I know. Working on a better name. An extension to the wonderful bevy_ecs_tilemap crate for Bevy, allowing for con

Owner
null
A visual novel engine that draws inspiration from RenPy and is meant to be a more performant replacement with feature parity.

VN Engine A visual novel engine that draws inspiration from RenPy and is meant to be a more performant replacement with feature parity. The engine is

Alexandros Panagiotakis 2 Sep 9, 2022
NeosPeeps is tool that allows for listing your NeosVR friends quickly, without having to actually open the whole game

Neos Peeps NeosPeeps is tool that allows for listing your NeosVR friends quickly, without having to actually open the whole game. It also has a bunch

LJ 6 Sep 12, 2022
Just when you thought Bevy couldn't get more ergonomic, Bvy shows up to change the game.

Just when you thought Bevy couldn't get more ergonomic, Bvy shows up to change the game. Is this a joke? You decide. Does it work? You can bet your As

Carter Anderson 40 Oct 28, 2022
Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like.

bevy_cleancut Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like. Stuff It's all in the prelude: use bevy_c

Nathan Stocks 3 Aug 15, 2024
Utilities for creating strictly ordered execution graphs of systems for the Bevy game engine

bevy_system_graph This crate provides the utilities for creating strictly ordered execution graphs of systems for the Bevy game engine. Bevy Version S

Hourai Teahouse 19 Dec 2, 2022
A tilemap rendering crate for bevy which is more ECS friendly.

bevy_ecs_tilemap A tilemap rendering plugin for bevy which is more ECS friendly by having an entity per tile. Features A tile per entity Fast renderin

John 414 Dec 30, 2022
Game physics in one weekend with bevy

Game Physics in a Weekend (in Rust) This project is an implementation of the Game Physics in a Weekend book using the Rust programming language and th

Cameron Hart 28 Dec 23, 2022
A game made in one week for the Bevy engine's first game jam

¿Quien es el MechaBurro? An entry for the first Bevy game jam following the theme of "Unfair Advantage." It was made in one week using the wonderful B

mike 20 Dec 23, 2022
Visual Pathfinding running in the browser!

wasm_party Here is the code I made while learning to use WebAssembly. It runs and visualizes a pathfinding algorithm in the browser. Run online Click

Ask Sødal 3 Dec 15, 2022
Minecraft using Bevy and Bevy-Meshem

minecraft_bevy Minecraft_bevy was built to showcase bevy_meshem. After a week of developing it has: Chunk loading / unloading each chunk's mesh is bei

Adam 7 Oct 4, 2023