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

Improve version control experience #112

Open
2 tasks
pasbi opened this issue Jul 22, 2020 · 0 comments
Open
2 tasks

Improve version control experience #112

pasbi opened this issue Jul 22, 2020 · 0 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@pasbi
Copy link
Owner

pasbi commented Jul 22, 2020

The current file format (JSON) has a lot of potentials to be used with common version control systems (e.g., git) because it is text-only and naturally line-based.
Although, JSON can be stored in a minified way without line breaks, but omm, but that's not the case here.

Two details prevent the user from having a great experience tracking omm-files with VCS:

  • if an object is moved to another parent, the indentation of the corresponding lines in the JSON-file may change.
    Most VCS are (fundamentally) not able to match lines that differ.
    A solution would be to remove all indentation from JSON by default when storing the file in omm.
    It would make it somewhat harder to read as a human, but there are tools that can restore indentation very easily.

  • Sometimes there are random fluctuations of numerical values.
    They are insignificant to the appearance of the scene, but it occludes and clutters diffs which occur frequently when working with VCS. Rounding could be a solution (but what precision is a good tradeoff?). A proper solution would be investigating where these fluctuations come from, maybe the root of the problem can be replaced with a numerically more stable routine.

@pasbi pasbi added enhancement New feature or request good first issue Good for newcomers labels Jul 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant