- 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
- Create a node
- 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
- 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
- Audio nodes!!!
- 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
https://github.com/ajaxorg/ace/commit/01d4605c0dcf7bcbb4f1a09a243f7ef6d16d7d43#diff-9e7f24747d06e0524d584558e2744b5b5fcf83acbe4541c61af4a1cf8dc8f978R114 shows how to do error annotation + tooltip
- maybe: make editor using rete.js