Commit Graph

14 Commits

Author SHA1 Message Date
rewin 53b49e37dd Grid based style and pretty number inputs 2024-02-15 22:24:09 +03:00
rewin b1e21347a2 Fixed input update problem 2024-02-15 21:12:24 +03:00
rewin f78f4b8136 better event managment 2024-02-13 22:13:46 +03:00
rewin 5e5a6796f6 Safe unwrap id 2024-02-13 20:53:17 +03:00
rewin 89a870af7a Worked changing for trivial 2024-02-13 20:51:18 +03:00
rewin a81c8d226e Part of change pass to bevy 2024-02-11 20:01:11 +03:00
rewin 1597e6a164 Custom unpack with custom vnode 2024-02-11 18:08:31 +03:00
rewin 251cde8539 Worked connection in dioxus 2024-02-07 23:50:11 +03:00
rewin 73705ccec5 dioxus start working 2024-02-07 22:23:10 +03:00
rewin 7e0c3e850a testing 2024-02-02 21:14:54 +03:00
Danny McGee edbc1fa30f Debug toggling (#9)
#8 introduced some additional debug information to the view, which was already
rendering some information and visualizations which were not necessary relevant
to the end-user experience. This PR adds an input action (bound to Ctrl + `) to
toggle the display of those visualizations, and disables them by default.
2023-11-02 15:25:14 -04:00
Danny McGee 06751e54f6 Object picking (#8)
This PR implements basic object selection, with help from `bevy_mod_picking` and
`bevy_mod_outline`.

### Work Done
 * Click to select objects in the world
 * Selected objects become visually highlighted
 * The selected entity is available globally on the `Res<Selection>` resource
 * Selected entities can also be queried via the `Selected` marker component
 * Pressing `F` will "focus" the camera on the selected entity
 * Pressing `Esc` will clear the active selection

### Known Issues
 * We're currently using `bevy_mod_picking`'s "Selection" feature, which isn't 
   aware of our own input events. As a consequence, it will select the object
   under the cursor when releasing `LMB` after orbiting the camera, which is not
   what we want. This should be pretty easily fixable by dropping
   `bevy_mod_picking`'s selection feature and reading the object under the
   cursor in our own click listener that only runs if the LMB event is
   unhandled.
 * The skinned mesh is not currently selectable. This is likely fixable by
   adjusting the logic in `scene::mark_scene_objects`... somehow. The `Gltf`
   data structure is kind of a nightmare to work with, so this will take some
   investigation.

### Future Enhancements
 * For parity with other DCC apps, the "Focus" action should also adjust the
   camera zoom level to "frame" the selected object in the view. Punting on that
   for now because I'm not super confident about the math involved.
 * Group selection with Shift/Ctrl and/or marquee selection would be really nice
   to have, but probably not critical for now.
2023-11-02 13:32:58 -04:00
Danny McGee c84fd31387 UI infrastructure and simple "Help" dialog (#3)
Sets up some WIP infrastructure for building out the UI, and adds a simple popup
to show the navigation controls for the app.
2023-10-09 22:19:58 -04:00
Danny McGee 5d8d9fe620 Split UI module 2023-10-04 16:05:34 -04:00