Skip to content

Refactor planner factory rendering to only display singular factories at a time #418

@Maelstromeous

Description

@Maelstromeous

In order to resolve a massive problem in the planner, performance, and rather than going down the route of adding rendering / "dom lazy rendering" and even "check if factory is dirty" validation hacks, there's a very simple solution:

Only render one factory at a time in the DOM.

This would mean a lot more use out of the sidebar navigation, and this would have to be improved on mobile as it's currently not great UX. But this would eliminate:

  • The need for a "loader", as it'll just render the first factory which will be nearly instant.
  • This removes the "computation delay" that we currently have when Vue attempts to update DOM elements.
  • It MASSIVELY will reduce lag.
  • The number of factories supported by planner can increase massively, as it simply won't care much about DOM rendering. Calculations will hit a theoritical limit though.
  • We can remove the "hiding" factories nag / jack, as there is nothing left to really need to hide.
  • Mobile phones / low spec PCs won't scream begging for a bullet between the brain.
  • Browsers won't crash.

While it may not be as "flashy" as being able to scroll down, what we can do is implement when they hit the "bottom" of a factory view if they continuing scrolling it'll push them to the next factory.

Or, we add a big nice button at the bottom of the factory kind of like a "next" button, e.g.:

[ Link to previous factory ]
[ Maybe we link to import factories? ]
-----
This is my factory

These are my products

Blah blah blah

------
[ Link to next factory ]
[ Maybe we link to export factories? ]

Metadata

Metadata

Labels

P2Annoying but not fundamentally world ending bugs, moderate functionality gapenhancementNew feature or requestwebsiteIssues relating to the website

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions