Граф коммитов

3 Коммитов

Автор SHA1 Сообщение Дата
Michael "Z" Goddard 5819e6489c
polish graph rendering and viewport controls (#99)
- Support multiple Web Audio contexts
- Render ports on nodes
- Smooth edge lines
- Draw edge lines between the ports the edge connects
- Add a loading screen until the panel's script is ready
- Add button that fits the graph to the viewport
- Zoom viewport around the mouse cursor
- Add viewport margin
- Constrain viewport panning when zoomed within the graph bounds
- Remove unused files

Multiple Web Audio Contexts

Collect web audio graph data in the devtools script for when the panel is opened and connects. On the panel the initial set of current graphs and updates is collected. One of those current graphs can be selected with the GraphSelector instance and it will passed on to the worker for layout and back to the panel for rendering. As one graph is rendered at any time, one instance of the rendering logic and state is reused with each graph, whichever one is currently selected. To the rendering logic receiving a graph for a web audio graph other than what it last displayed is the same as the previous graph destroying all of its nodes and making brand new ones.
2021-08-25 09:42:35 -04:00
Michael "Z" Goddard 96156aa776
devtools-page: connect to and process webaudio debugger events (#97)
* devtools-page: connect to and process webaudio debugger events

Connect to WebAudio chrome debugger protocol domain and collect events
into a larger AudioContext "graph". This object is collects the events
into a current representation of WebAudio graphs in the inspected
window. A graphlib graph will be derived from this information in a
future change.

- Add and test some internal utilities
  - Observer
  - Observer.throttle
    Used to limit the frequency of WebAudio representations to later
    process steps.
  - invariant
- Add and test some types to process events
  - DevtoolsGraphPanel
    Create a chrome devtools panel and post graph updates to the panel.
  - WebAudioEventObserver
    Attach to chrome debugger api and forward WebAudio domain events.
  - WebAudioGraphIntegrator
    Collect WebAudio events into a current representation.

* fixup! devtools-page: connect to and process webaudio debugger events

* fixup! devtools-page: connect to and process webaudio debugger events

* fixup! devtools-page: connect to and process webaudio debugger events

* fixup! devtools-page: connect to and process webaudio debugger events

* fixup! devtools-page: connect to and process webaudio debugger events

* fixup! devtools-page: connect to and process webaudio debugger events

* fixup! devtools-page: connect to and process webaudio debugger events

* fixup! devtools-page: connect to and process webaudio debugger events
2021-08-06 10:54:14 -04:00
Michael "Z" Goddard 6c2a518d9b
build: add tool dependencies (#96)
* build: add lint configuration files

* build: add test, doc, and build configuration files

* build: add husky and other tool dependencies

* build: add rudimentatry source dir

* build: create unpacked and packed chrome extension

* build: add nodejs ci workflow

* build: set license to Apache 2.0
2021-07-22 10:35:41 -04:00