Skip to content

Create a playful UI for non-technical users #5

@jasonwebb

Description

@jasonwebb

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions