megaplot
megaplot copied to clipboard
Depends on: - #55 - #58 - #60 Currently, Megaplot can render regular polygons, circles, filled squares and glyphs of text. In addition, Megaplot should offer the ability to easily...
The Scene's `resize()` method allows the caller to recompute the `offset` and the underlying canvas element's dimensions after the canvas DOM size has been changed. If `resize()` is not called,...
It would be nice if Megaplot offered a couple of different font families for TextSelections, similar to [CSS `font-family`](https://developer.mozilla.org/en-US/docs/Web/CSS/font-family), but maybe restricted to a known set since they need to...
Create a document which lists performance best practices such as minimizing memory allocations within callbacks. --- It's common in JavaScript, especially when using D3, to use object literals to pass...
The inner workings of Megaplot are complex. Operations are batched and pipelined. Long running tasks are suspended and resumed. Currently, there is no internal logging to signal when and how...
The `SpriteView` implementation provides convenient [setters for the `PositionWorld`](https://github.com/PAIR-code/megaplot/blob/main/src/lib/generated/sprite-view-impl.ts#L450) etc. properties as: ```javascript set PositionWorld(value: (number[] | {x?: number; y?: number;})) { /* ...some logic... */ } ``` I would...
Currently, the Scene's `resize()` method offers the API user a way to explicitly request Megaplot to recompute the `offset` and `scale` values based on a changed canvas size. In addition,...
The objective of this issue is to simplify the Sprite API, making it easier to use and less likely to produce unexpeted or erroneous behavior. Sections: - Summary of proposed...
Currently, sprites are always aligned with the coordinate axes. Instead, sprites should have one or more rotation attributes. This would enable downstream features such as line segments and slanted labels....
Currently, when specifying how text should render, the `TextSelection` object offers three methods: `text()`, `align()` and `verticalAlign()`. These methods allow the API user to specify what text should be displayed,...