New overlay system that reimplements how overlays are drawn (#418)

* New overlay system that reimplements how overlays are drawn

* Fix overlay message declaration

* Fix small mistake

* WIP (broken) changes to plumb the overlay document

* Fix confusion over messaging system architecture

* Removed log

* Overlay system working

* (broken) WIP overlay association

* Finish the overlay system (except test failure)

* Change back IDs in test

* Fixed test, but stilled fails due to revealed real problem with layer reordering selection

* Disable broken test that has a bug in issue #444

Co-authored-by: Dennis <dennis@kobert.dev>
Co-authored-by: otdavies <oliver@psyfer.io>
This commit is contained in:
Keavon Chambers
2021-12-30 09:48:39 -08:00
co-authored by Dennis otdavies
parent 1a70667f63
commit eb96eafe60
22 changed files with 416 additions and 313 deletions
+8 -3
View File
@@ -126,8 +126,12 @@ export class DisplayConfirmationToCloseAllDocuments extends JsMessage {}
export class DisplayAboutGraphiteDialog extends JsMessage {}
export class UpdateCanvas extends JsMessage {
readonly document!: string;
export class UpdateArtwork extends JsMessage {
readonly svg!: string;
}
export class UpdateOverlays extends JsMessage {
readonly svg!: string;
}
const TupleToVec2 = Transform(({ value }) => ({ x: value[0], y: value[1] }));
@@ -328,7 +332,8 @@ type JSMessageFactory = (data: any, wasm: WasmInstance, instance: RustEditorInst
type MessageMaker = typeof JsMessage | JSMessageFactory;
export const messageConstructors: Record<string, MessageMaker> = {
UpdateCanvas,
UpdateArtwork,
UpdateOverlays,
UpdateScrollbars,
UpdateRulers,
ExportDocument,