From 2184af6602f176a545be41a7a13b653e31a26d7b Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 2 Oct 2024 12:35:05 +0200 Subject: [PATCH] WIP refactor rerender render-v2 --- .../{render-v2 => render_v2}/cpp/.gitignore | 0 .../{render-v2 => render_v2}/cpp/Dockerfile | 0 .../{render-v2 => render_v2}/cpp/Makefile | 0 .../{render-v2 => render_v2}/cpp/README.md | 0 frontend/{render-v2 => render_v2}/cpp/TODO.md | 0 frontend/{render-v2 => render_v2}/cpp/build | 0 .../cpp/docker/entrypoint.sh | 0 .../cpp/js/postamble.js | 0 .../cpp/js/preamble.js | 0 .../cpp/scripts/copy-artifacts | 0 .../{render-v2 => render_v2}/cpp/src/main.cpp | 0 .../{render-v2 => render_v2}/rs/Cargo.lock | 2 +- .../{render-v2 => render_v2}/rs/Cargo.toml | 6 +-- .../{render-v2 => render_v2}/rs/src/main.rs | 0 frontend/src/app/render_v2/rs.js | 53 ++++++++++--------- 15 files changed, 31 insertions(+), 30 deletions(-) rename frontend/{render-v2 => render_v2}/cpp/.gitignore (100%) rename frontend/{render-v2 => render_v2}/cpp/Dockerfile (100%) rename frontend/{render-v2 => render_v2}/cpp/Makefile (100%) rename frontend/{render-v2 => render_v2}/cpp/README.md (100%) rename frontend/{render-v2 => render_v2}/cpp/TODO.md (100%) rename frontend/{render-v2 => render_v2}/cpp/build (100%) rename frontend/{render-v2 => render_v2}/cpp/docker/entrypoint.sh (100%) rename frontend/{render-v2 => render_v2}/cpp/js/postamble.js (100%) rename frontend/{render-v2 => render_v2}/cpp/js/preamble.js (100%) rename frontend/{render-v2 => render_v2}/cpp/scripts/copy-artifacts (100%) rename frontend/{render-v2 => render_v2}/cpp/src/main.cpp (100%) rename frontend/{render-v2 => render_v2}/rs/Cargo.lock (99%) rename frontend/{render-v2 => render_v2}/rs/Cargo.toml (75%) rename frontend/{render-v2 => render_v2}/rs/src/main.rs (100%) diff --git a/frontend/render-v2/cpp/.gitignore b/frontend/render_v2/cpp/.gitignore similarity index 100% rename from frontend/render-v2/cpp/.gitignore rename to frontend/render_v2/cpp/.gitignore diff --git a/frontend/render-v2/cpp/Dockerfile b/frontend/render_v2/cpp/Dockerfile similarity index 100% rename from frontend/render-v2/cpp/Dockerfile rename to frontend/render_v2/cpp/Dockerfile diff --git a/frontend/render-v2/cpp/Makefile b/frontend/render_v2/cpp/Makefile similarity index 100% rename from frontend/render-v2/cpp/Makefile rename to frontend/render_v2/cpp/Makefile diff --git a/frontend/render-v2/cpp/README.md b/frontend/render_v2/cpp/README.md similarity index 100% rename from frontend/render-v2/cpp/README.md rename to frontend/render_v2/cpp/README.md diff --git a/frontend/render-v2/cpp/TODO.md b/frontend/render_v2/cpp/TODO.md similarity index 100% rename from frontend/render-v2/cpp/TODO.md rename to frontend/render_v2/cpp/TODO.md diff --git a/frontend/render-v2/cpp/build b/frontend/render_v2/cpp/build similarity index 100% rename from frontend/render-v2/cpp/build rename to frontend/render_v2/cpp/build diff --git a/frontend/render-v2/cpp/docker/entrypoint.sh b/frontend/render_v2/cpp/docker/entrypoint.sh similarity index 100% rename from frontend/render-v2/cpp/docker/entrypoint.sh rename to frontend/render_v2/cpp/docker/entrypoint.sh diff --git a/frontend/render-v2/cpp/js/postamble.js b/frontend/render_v2/cpp/js/postamble.js similarity index 100% rename from frontend/render-v2/cpp/js/postamble.js rename to frontend/render_v2/cpp/js/postamble.js diff --git a/frontend/render-v2/cpp/js/preamble.js b/frontend/render_v2/cpp/js/preamble.js similarity index 100% rename from frontend/render-v2/cpp/js/preamble.js rename to frontend/render_v2/cpp/js/preamble.js diff --git a/frontend/render-v2/cpp/scripts/copy-artifacts b/frontend/render_v2/cpp/scripts/copy-artifacts similarity index 100% rename from frontend/render-v2/cpp/scripts/copy-artifacts rename to frontend/render_v2/cpp/scripts/copy-artifacts diff --git a/frontend/render-v2/cpp/src/main.cpp b/frontend/render_v2/cpp/src/main.cpp similarity index 100% rename from frontend/render-v2/cpp/src/main.cpp rename to frontend/render_v2/cpp/src/main.cpp diff --git a/frontend/render-v2/rs/Cargo.lock b/frontend/render_v2/rs/Cargo.lock similarity index 99% rename from frontend/render-v2/rs/Cargo.lock rename to frontend/render_v2/rs/Cargo.lock index c75359ed2e..982a70d033 100644 --- a/frontend/render-v2/rs/Cargo.lock +++ b/frontend/render_v2/rs/Cargo.lock @@ -367,7 +367,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] -name = "renderer" +name = "render" version = "0.1.0" dependencies = [ "gl", diff --git a/frontend/render-v2/rs/Cargo.toml b/frontend/render_v2/rs/Cargo.toml similarity index 75% rename from frontend/render-v2/rs/Cargo.toml rename to frontend/render_v2/rs/Cargo.toml index f0c8118309..a33f522381 100644 --- a/frontend/render-v2/rs/Cargo.toml +++ b/frontend/render_v2/rs/Cargo.toml @@ -1,16 +1,16 @@ [package] -name = "renderer" +name = "render" version = "0.1.0" edition = "2021" repository = "https://github.com/penpot/penpot" license-file = "../../../../LICENSE" -description = "Wasm-based canvas renderer for Penpot" +description = "Wasm-based canvas render for Penpot" [features] default = ["skia-safe/gl"] [[bin]] -name = "renderer_v2" +name = "render_v2" path = "src/main.rs" [dependencies] diff --git a/frontend/render-v2/rs/src/main.rs b/frontend/render_v2/rs/src/main.rs similarity index 100% rename from frontend/render-v2/rs/src/main.rs rename to frontend/render_v2/rs/src/main.rs diff --git a/frontend/src/app/render_v2/rs.js b/frontend/src/app/render_v2/rs.js index cd92cd3f04..c982b7a1d4 100644 --- a/frontend/src/app/render_v2/rs.js +++ b/frontend/src/app/render_v2/rs.js @@ -28,7 +28,7 @@ var readyPromise = new Promise((resolve, reject) => { readyPromiseResolve = resolve; readyPromiseReject = reject; }); -["_add","_draw_rect","_init","_main","getExceptionMessage","incrementExceptionRefcount","decrementExceptionRefcount","_memory","___indirect_function_table","onRuntimeInitialized"].forEach((prop) => { +["_add","_draw_rect","_init","_main","_resize_surface","getExceptionMessage","incrementExceptionRefcount","decrementExceptionRefcount","_memory","___indirect_function_table","onRuntimeInitialized"].forEach((prop) => { if (!Object.getOwnPropertyDescriptor(readyPromise, prop)) { Object.defineProperty(readyPromise, prop, { get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), @@ -555,7 +555,7 @@ class CppException extends EmscriptenEH { } // end include: runtime_exceptions.js function findWasmBinary() { - var f = 'renderer_v2.wasm'; + var f = 'render_v2.wasm'; if (!isDataURI(f)) { return locateFile(f); } @@ -8561,6 +8561,7 @@ var wasmExports = createWasm(); var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); var _add = Module['_add'] = createExportWrapper('add', 2); var _init = Module['_init'] = createExportWrapper('init', 2); +var _resize_surface = Module['_resize_surface'] = createExportWrapper('resize_surface', 3); var _draw_rect = Module['_draw_rect'] = createExportWrapper('draw_rect', 5); var _main = Module['_main'] = createExportWrapper('main', 2); var _fflush = createExportWrapper('fflush', 1); @@ -8607,6 +8608,17 @@ var dynCall_iiiiij = Module['dynCall_iiiiij'] = createExportWrapper('dynCall_iii var dynCall_iiiiijj = Module['dynCall_iiiiijj'] = createExportWrapper('dynCall_iiiiijj', 9); var dynCall_iiiiiijj = Module['dynCall_iiiiiijj'] = createExportWrapper('dynCall_iiiiiijj', 10); +function invoke_vii(index,a1,a2) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1,a2); + } catch(e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + function invoke_ii(index,a1) { var sp = stackSave(); try { @@ -8629,17 +8641,6 @@ function invoke_viii(index,a1,a2,a3) { } } -function invoke_iii(index,a1,a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2); - } catch(e) { - stackRestore(sp); - if (!(e instanceof EmscriptenEH)) throw e; - _setThrew(1, 0); - } -} - function invoke_vi(index,a1) { var sp = stackSave(); try { @@ -8651,21 +8652,10 @@ function invoke_vi(index,a1) { } } -function invoke_vii(index,a1,a2) { +function invoke_iii(index,a1,a2) { var sp = stackSave(); try { - getWasmTableEntry(index)(a1,a2); - } catch(e) { - stackRestore(sp); - if (!(e instanceof EmscriptenEH)) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3); + return getWasmTableEntry(index)(a1,a2); } catch(e) { stackRestore(sp); if (!(e instanceof EmscriptenEH)) throw e; @@ -8706,6 +8696,17 @@ function invoke_viffff(index,a1,a2,a3,a4,a5) { } } +function invoke_iiii(index,a1,a2,a3) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1,a2,a3); + } catch(e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + function invoke_iiiii(index,a1,a2,a3,a4) { var sp = stackSave(); try {