Currently these 3 things are all kind of mashed into jme3-examples, and it can create a temptation to satisfy all three sometimes conflicting goals at once:
Examples - Targeted at “end-developers” using JME, to demonstrate how to do something (preferably with minimal distractions), including best practices and strong attention to code/design quality.
Tests - Ensure XYZ feature works, protect against bug regressions, help maintainers to troubleshoot problems, support test automation wherever possible. Typically should employ as little randomness as possible to ensure tests are consistent and repeatable.
Demos - Visually impressive examples (preferably following the same guidelines as examples above) which help show off the engine’s capabilities.
It'd also be worth considering breaking the project itself up so that the examples (and possibly demos, but maybe there aren't enough of those) are in their own project away from tests, to reduce project size.
Currently these 3 things are all kind of mashed into jme3-examples, and it can create a temptation to satisfy all three sometimes conflicting goals at once:
Examples - Targeted at “end-developers” using JME, to demonstrate how to do something (preferably with minimal distractions), including best practices and strong attention to code/design quality.
Tests - Ensure XYZ feature works, protect against bug regressions, help maintainers to troubleshoot problems, support test automation wherever possible. Typically should employ as little randomness as possible to ensure tests are consistent and repeatable.
Demos - Visually impressive examples (preferably following the same guidelines as examples above) which help show off the engine’s capabilities.
It'd also be worth considering breaking the project itself up so that the examples (and possibly demos, but maybe there aren't enough of those) are in their own project away from tests, to reduce project size.