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

Create a playful UI for non-technical users #5

Open
16 tasks
jasonwebb opened this issue Dec 29, 2019 · 0 comments
Open
16 tasks

Create a playful UI for non-technical users #5

jasonwebb opened this issue Dec 29, 2019 · 0 comments

Comments

@jasonwebb
Copy link
Owner

jasonwebb commented Dec 29, 2019

See Defaults.js for a list of global parameters that can be changed within sketches for different effects.

Feature wishlist

  • Toggle type of venation - open or closed.
    • VenationType = values are either 'Open' or 'Closed'
  • Draw simple primitive shapes and set them as either "bounds" or "obstacle" shapes
    • A simple MS Paint kind of interface would be just fine
    • These shapes would be Path objects assigned to the Network through the internal arrays network.bounds and network.obstacles
    • Auxin sources should only be allowed to spawn inside of bounds, and outside of obstacles. Sources may need to be reset when a bounds or obstacle is added or changed.
  • Allow freehand drawing of bounds or obstacle shapes
    • Click and hold to draw shape
    • All paths must be closed, so maybe automatically connect the last point to the first point on mouse up
  • Allow users to paint auxin sources with their mouse (these are what the veins grow towards)
  • Toggle auxin flux canalization (vein thickening) (see EnableCanalization)
  • Toggle opacity blending (see EnableOpacityBlending)
  • Click to add root vein nodes
    • BONUS: integrate a color picker so veins can be colored differently
  • Buttons to start, stop, or reset the simulation (see IsPaused and the resetNetwork() method in any sketch)
  • Custom colors for background, veins, bounds, and obstacles
    • See Colors variable, which references objects stored in ColorPresets.js
  • Buttons to toggle visibility of veins, bounds, obstacles, and other effects (see Defaults.js)
  • Rendering style - either 'Lines' or 'Dots' (see VeinRenderMode)

Advanced features

  • Attraction zone radius
    • See AttractionDistance
    • Smaller values can improve performance, but will also make things look slightly different.
  • Kill zone radius
    • See KillDistance
    • Higher values tend to improve performance but creates visible gaps in the "closed" venation style.
  • Vein thickness
    • See VeinThickness
  • SVG export would be cool, but the current export process doesn't cope well with large vein networks, which happen a lot. If it can be improved, this would be a good feature to expose in the UI.
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

1 participant