GaussianSplats3D icon indicating copy to clipboard operation
GaussianSplats3D copied to clipboard

Initial editor

Open MarcusAndreasSvensson opened this issue 2 years ago • 10 comments
trafficstars

Hey,

I made a potential initial version of an editor class and added a tool for acquiring the up vector by selecting three points. Plan is to add more tool for editing the scene further.

Out of pure necessity for my old computers sake I added an option for an on-demand frame loop which is updated with the invalidate method. Attached the invalidation to the controls and some other events to not be noticeable.

Please let me know if you would like code to be structured in some other way.

MarcusAndreasSvensson avatar Nov 10 '23 17:11 MarcusAndreasSvensson

Cool! I've been thinking about adding some editing functionality for a while; I'll take a look!

mkkellogg avatar Nov 10 '23 18:11 mkkellogg

I'm still looking things over but I do have a few thoughts I want to share up-front.

I do want to transition to more of a proper release-based approach to development, which means I would like to only merge features into main that are fairly complete (and I'm thinking about a separate dev branch as well). I know development on something like an editor will be more open-ended, but I think we can break it up into smaller, well defined features. So in this case it might make sense to create another feature branch off of main in this repo, and we can work on that until we think it's ready to be merged into main.

I really like the idea of selecting three points to define a camera-up vector, but I think at the very least we need to have a nicely styled menu and some visuals/3D-markers in the scene that indicate where the user has selected those points. I also think that we need a better way to override the handling of mouse and keyboard events in the Viewer, which makes me think that Editor might be better off inheriting from Viewer (although I'm still thinking about that).

Another thing to keep in mind is that we're still trying to figure out a good format for .splat files and I think users will have the expectation to save any changes they make in the editor to a file. I'm not sure yet if we should hold off on releasing any editor-related stuff until that format is more finalized (or maybe we just make it clear to the user that changes made in the editor cannot be saved for now).

Since the editor will probably be a fairly large feature (eventually), I just want to make sure we think about these kinds of things ahead of time and get the design right (or close) up-front.

mkkellogg avatar Nov 11 '23 00:11 mkkellogg

A thought about the ability to edit splats and saving the result.

I do think we can go ahead and do the exports just as you can do on the starting page. If we decide to not save changes in the editor I think we should also remove that functionality from the start page and keep them in sync.

At the very least I think it should be exportable to the original .ply format, cause that's going to be somewhat relevant for a while.

MarcusAndreasSvensson avatar Nov 11 '23 15:11 MarcusAndreasSvensson

Adding to the UI/UX concerns you lifted about the up-finder. I've been thinking about adding a button to flip the normal, as it is sensitive to the winding of the points which might not be clear for everyone.

MarcusAndreasSvensson avatar Nov 11 '23 15:11 MarcusAndreasSvensson

Good call on consistency between exporting .splat files on the main demo page and from the editor. At this point I suppose we can just add the same exporting capability to the editor. When the time comes to implement the universal .splat format we're currently designing we'll make sure to notify users (or maybe even retain support for importing the old format?).

As for flipping the camera-up normal, I think a button is a good idea. I didn't even think about winding-order problems :)

mkkellogg avatar Nov 11 '23 16:11 mkkellogg

I think it would be a good idea to keep support for the older export. If we decide to do that we should somehow store version info in a header or something in the file.

To me it feels a little over the top when the format is not set at all. On the other hand I would get very annoyed if my previously exported file would work nowhere all of a sudden with no option to re-export it to a newer format.

edit: I see I contradict myself in this comment, and it reflects my feelings about this pretty closely

MarcusAndreasSvensson avatar Nov 11 '23 17:11 MarcusAndreasSvensson

I feel we have something to work with now here after all discussions. I'm going to sit down and work on an updated version in 1 or 2 days and go for a second round of review.

Anything you'd like to add before I dig in?

MarcusAndreasSvensson avatar Nov 13 '23 18:11 MarcusAndreasSvensson

Nothing comes to mind right now, I'll let you know if I think of anything :)

mkkellogg avatar Nov 14 '23 04:11 mkkellogg

Any plans to continue with adding editing mode?

LearnedVector avatar Sep 08 '24 03:09 LearnedVector

@LearnedVector I am not currently working on this

MarcusAndreasSvensson avatar Sep 16 '24 09:09 MarcusAndreasSvensson