Skip to content

rezural/threebug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Threebug

This aims to be a visual debugging aid for 3d programs (currently only rust, bevy, nalgebra, parry).

This is intended mainly for debugging 3d algorithms, that don't yet exist within a 3d environment. Usage should be as trivial as using tracing.rs, or rust's logging interfaces.

Planned Features

Widgets etc. i.e. XYZ Axis etc.

Allow stepping through the creation of graphical objects, sorted by timestamp.

Selection of a subset of events, and stepping through these. Modifiers for per-entity visibility etc.

Filters via type, and message.

Some mechanism for debugging mesh creation:

  • Create a mesh entity, client interface returns an Entity(usize)
  • Add mesh faces to entity, to debug creation order of faces, vertices & indices

Building

git clone https://github.com/rezural/bevy_debug_server.git

Run the server:

cargo run --bin dbg-server

Run example client:

cargo run --bin dbg-client-example

This will send 10 AABB's to the dbg-server

UI

3d Navigation is FPS style with WASD keybindings.

Mouse Scroll will increase/decrease movement speed.

TODO

Client:

  • Flesh out client debugging interface (see below)
  • Static initialization of network client, similar to tracing

Server:

  • Per client History
  • WASD
  • Actually display objects in 3d (currently only logging in server)

Other

  • 2d debugging, probably just display on plane in 3d

Client interface

At the moment, something like (dbgg -> debug graphic):

dbgg::aabb(aabb: AABB, message: String)
dbgg::sphere(sphere: Sphere, message: String)
dbgg::line(line: Line, message: String)
// etc...

About

Standalone visual debugging server for bevy, nalgebra, parry, rust and 3d types

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages