Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

☂️ Project Clarity #3836

Open
41 of 57 tasks
paullewis opened this issue Nov 22, 2024 · 2 comments
Open
41 of 57 tasks

☂️ Project Clarity #3836

paullewis opened this issue Nov 22, 2024 · 2 comments
Assignees

Comments

@paullewis
Copy link
Contributor

paullewis commented Nov 22, 2024

We're now at the point where we have various ways to create boards and sub-boards, and the Visual Editor could do with a little streamlining now we're happier with what the features are.

Visual Editor

Board Management

UI & Navigation

  • Add overflow menu to side nav headers
  • Tidy up board representations in Workspace Overview
  • Recall which kits are expanded / collapsed
  • Move export to Activity header area
  • Reduce vertical space taken up by Activity
  • Confirm command palettes are functioning correctly
  • Allow users to set their own board colors
  • Allow users to set their own board icons

Bugs

Breadboard

Done

No longer needed

  • Allow people to switch off the "track to object" feature (and decide what to do with it for board runs)
dglazkov added a commit that referenced this issue Nov 24, 2024
…phs, modules, edges

- **Start passing `AffectedNodes` instead of `NodeIdentifier`.**
- **Make only one `MutableGraph` instance per BGL.**
- **Move `GraphDescriptor` instance to `MutableGraph`.**
- **Make NodeCache less lazy.**
- **Introduce `GraphDescriptorHandle` and `DescriberManager`.**
- **Move all describer machinery out of `InspectableGraph`.**
- **Unify `MutableGraph` initialization.**
- **Remove `InspectableGraph.#url`.**
- **Use `GraphDescriptorHandle` in `InspectableGraph` constructor.**
- **Introduce `GraphQueries` and start using it.**
- **Remove `InspectableGraph` dependency from `NodeCache`.**
- **Introduce `InspectableKitCache`.**
- **Move `InspectableGraphOptions` to `MutableGraph`.**
- **Teach `Node` to use `MutableGraph` instead of `InspectableGraph`.**
- **Add `InspectableGraphCache`.**
- **Start using `InspectableGraphCache` in earnest.**
- **Use graphs cache everywhere.**
- **Introduce `MutableGraphImpl` and invert its relationship to
`InspectableGraph`.**
- **Fewer deps on `Graph`.**
- **Rename `populate` to `rebuild` for all caches.**
- **Switch to factory pattern in `EdgeCache`.**
- **Split `EdgeCache` and `NodeCache` out into separate files.**
- **docs(changeset): Make `MutableGraph` the actual store of nodes,
kits, graphs, modules, edges.**

Progress on #3836
dglazkov added a commit that referenced this issue Nov 25, 2024
- **Move various graph mutation operations to `MutableGraph`.**
- **Make `EditableGraph` use `MutableGraphImpl`.**
- **Make `InspectableGraph` not mutable.**
- **Move inspect API files to their own dir.**
- **Mark `inspectableGraph` as deprecated.**
- **Reduce the use of `inspectableGraph`.**
- **Make `MutableGraph` aware of imperative graphs.**
- **docs(changeset): Make MutableGraph the main backing store for
editing and inspection.**

Progress on #3836
paullewis added a commit that referenced this issue Nov 25, 2024
paullewis added a commit that referenced this issue Nov 25, 2024
timswanson-google pushed a commit that referenced this issue Dec 3, 2024
timswanson-google pushed a commit that referenced this issue Dec 3, 2024
timswanson-google pushed a commit that referenced this issue Dec 3, 2024
#3836 

Also involves tracking subgraphs in the URL too.
@dglazkov
Copy link
Collaborator

dglazkov commented Dec 9, 2024

I've been playing with the new stuff and it's freakishly good. Here is the laundry list of buggy things I've noticed:

  • when editing modules, switching to another tab sometimes deletes my latest work. I couldn't quite track down whether it happens because the snapshot machinery misbehaves or something else, but the end result is that when I go back to the code tab, it sometimes reverts to a state of before when I left it.
  • not saving modules with errors, combined with tab switching, is usually 😢. If I just wanted to copy some code from another tab, when I return back, it's reverted to previous save. I wonder if the solution here is some temporary buffer where we store transient edit states for modules?
  • I've gotten a GL context crashed a couple of times, but not enough to get a screenshot. The end result is that the editor stops rendering and I have to refresh.
  • When autosave is turned off, it still says "Saved"

These all seem mostly unrelated to the actual multi-graph edits, so that's amazing, right?! It all just works!

@paullewis
Copy link
Contributor Author

Okay, so 1. and 2. from that list are a case of refining the module editing side of things. I feel like there's something here for the graph editing, too, as we all too readily cancel saves there if the user interacts. I'm not sure what the exact approach is here, as you say it may be a case of having an in-memory version of things that we check first when switching tabs... but I'll have a ponder today.

In terms of 3. I have a hunch (no more than that) that I've not been strict enough with clearing out Pixi entities, which has resulted in ever-growing GPU memory usage for textures. As such I've landed a change which tries to make that more concrete, instructing a full purge of a scene graph when a board is removed (tab change etc). Let's see if that helps.

And for 4. that was a missing case in the switch - fixed.

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

No branches or pull requests

2 participants