Skip to content

Latest commit

 

History

History
103 lines (97 loc) · 3.33 KB

File metadata and controls

103 lines (97 loc) · 3.33 KB

GENERAL TODO

  • Fix bug where output port not existing error gets suppressed in some cases
  • Make examples finder/loader work with nested directories
  • Define savefile format
    • Create a node (type args)
    • Name a node (define name (xxx))
    • Create a subgraph template (define (name . args))
    • Reference a named node name
    • Select an output :name
    • Select an input :name
    • Go back in the chain: @nodeTo
    • Partition groups ~
    • Reference Nth of bus port: number
  • nodes that instantiate based on connections
  • unify generics and template mess into type params objects
    • Make inputs' static values be in initializer params NOT anything specific
  • TYPESCRIPT
  • Write documentation
  • Do linter in Ace
    • Display error squiggles
    • Hover tooltips for nodes
  • Better error messages for nodes
    • Node xxx has no input/output named :xxx
    • Cannot determine variant to use

POSSIBLE NODES

  • Syntax Inspired by Neva
  • Like Zucchini and EV3-G combined
  • Basic nodes like electronic circuits:
    • See those on LogicEmu
    • See those on EV3-G
    • Sequence generators
    • Converters for types
    • Random generators
    • math
    • Custom equation using math.js ??
  • Input and output nodes:
    • Buttons
    • Switches
    • Sliders
    • Meters
    • Virtual joysticks
    • Number displays
    • Oscilloscopes
    • Indicator lights
    • Basically any input/output supported by web APIS
      • Audio nodes!!!
        • Possibly using Tone.js
        • Oscillators
        • Noise
        • Filters
          • Low-pass
          • High-pass
          • Band-pass
          • Band-stop
        • Audio file
        • User's mic
        • Amplifier
        • Speakers
          • Left
          • Right
          • more channels?
        • Analyzer
        • Panner
      • Graphics!!
        • Possibly using SVG.js
        • Canvas
        • Line objects
        • Rectangle
        • Fill
        • Text drawing
        • Scale
        • Rotate
        • Translate
        • getUserMedia
    • Gamepads
    • Notifications
    • Text-to-speech
    • Speech recognition
    • WebRTC/Presentation API for remote controller on phone??
  • Different types for data
    • Number
    • Float
    • Integer
    • String
    • Boolean
    • AudioStream
    • Image with composing (canvas api)
    • 2D vector
    • 3D vector
    • Color
    • Trigger
    • [ ] Node reference (special)
  • S-expression savefile format
  • "Bus" nodes that contain an array of data

RESOURCES

https://github.com/ajaxorg/ace/commit/01d4605c0dcf7bcbb4f1a09a243f7ef6d16d7d43#diff-9e7f24747d06e0524d584558e2744b5b5fcf83acbe4541c61af4a1cf8dc8f978R114 shows how to do error annotation + tooltip