diff --git a/frontend/gulpfile.js b/frontend/gulpfile.js index 9bdee7124..8d98eef5e 100644 --- a/frontend/gulpfile.js +++ b/frontend/gulpfile.js @@ -132,7 +132,7 @@ function readManifest() { "main": "js/main.js", "shared": "js/shared.js", "worker": "js/worker.js", - "thumbnail-renderer": "js/thumbnail-renderer.js" + "rasterizer": "js/rasterizer.js" }; } } @@ -243,9 +243,9 @@ gulp.task("template:render", templatePipeline({ output: paths.output })); -gulp.task("template:thumbnail-renderer", templatePipeline({ - name: "thumbnail-renderer.html", - input: paths.resources + "templates/thumbnail-renderer.mustache", +gulp.task("template:rasterizer", templatePipeline({ + name: "rasterizer.html", + input: paths.resources + "templates/rasterizer.mustache", output: paths.output })); @@ -253,7 +253,7 @@ gulp.task("templates", gulp.series("svg:sprite:icons", "svg:sprite:cursors", "template:main", "template:render", - "template:thumbnail-renderer")); + "template:rasterizer")); gulp.task("polyfills", function() { return gulp.src(paths.resources + "polyfills/*.js") diff --git a/frontend/resources/templates/thumbnail-renderer.mustache b/frontend/resources/templates/rasterizer.mustache similarity index 84% rename from frontend/resources/templates/thumbnail-renderer.mustache rename to frontend/resources/templates/rasterizer.mustache index 261cd05c0..46372c48d 100644 --- a/frontend/resources/templates/thumbnail-renderer.mustache +++ b/frontend/resources/templates/rasterizer.mustache @@ -2,7 +2,7 @@ - Penpot - Thumbnail Renderer + Penpot - Rasterizer - + {{/manifest}} diff --git a/frontend/shadow-cljs.edn b/frontend/shadow-cljs.edn index ea6faa935..9797e3234 100644 --- a/frontend/shadow-cljs.edn +++ b/frontend/shadow-cljs.edn @@ -31,10 +31,10 @@ :web-worker true :depends-on #{:shared}} - :thumbnail-renderer - {:entries [app.thumbnail-renderer] + :rasterizer + {:entries [app.rasterizer] :depends-on #{:shared} - :init-fn app.thumbnail-renderer/init}} + :init-fn app.rasterizer/init}} :compiler-options {:output-feature-set :es2020 diff --git a/frontend/src/app/config.cljs b/frontend/src/app/config.cljs index 2222b5018..aede5e11f 100644 --- a/frontend/src/app/config.cljs +++ b/frontend/src/app/config.cljs @@ -113,8 +113,8 @@ (normalize-uri (or (obj/get global "penpotPublicURI") (obj/get location "origin")))) -(def thumbnail-renderer-uri - (or (some-> (obj/get global "penpotThumbnailRendererURI") normalize-uri) +(def rasterizer-uri + (or (some-> (obj/get global "penpotRasterizerURI") normalize-uri) public-uri)) (def worker-uri diff --git a/frontend/src/app/main.cljs b/frontend/src/app/main.cljs index 61764331c..93aea3d18 100644 --- a/frontend/src/app/main.cljs +++ b/frontend/src/app/main.cljs @@ -15,8 +15,8 @@ [app.main.data.websocket :as ws] [app.main.errors] [app.main.features :as feat] + [app.main.rasterizer :as thr] [app.main.store :as st] - [app.main.thumbnail-renderer :as tr] [app.main.ui :as ui] [app.main.ui.alert] [app.main.ui.confirm] @@ -112,7 +112,7 @@ (i18n/init! cf/translations) (theme/init! cf/themes) (cur/init-styles) - (tr/init!) + (thr/init!) (init-ui) (st/emit! (initialize))) diff --git a/frontend/src/app/main/thumbnail_renderer.cljs b/frontend/src/app/main/rasterizer.cljs similarity index 90% rename from frontend/src/app/main/thumbnail_renderer.cljs rename to frontend/src/app/main/rasterizer.cljs index 485bcfdad..b89ab399c 100644 --- a/frontend/src/app/main/thumbnail_renderer.cljs +++ b/frontend/src/app/main/rasterizer.cljs @@ -4,8 +4,8 @@ ;; ;; Copyright (c) KALEIDOS INC -(ns app.main.thumbnail-renderer - "A main entry point for the thumbnail renderer API interface. +(ns app.main.rasterizer + "A main entry point for the rasterizer API interface. This ns is responsible to provide an API for create thumbnail renderer iframes and interact with them using asyncrhonous @@ -23,7 +23,7 @@ (defonce instance nil) (defonce msgbus (rx/subject)) (defonce origin - (dm/str (assoc cf/thumbnail-renderer-uri :path "/thumbnail-renderer.html"))) + (dm/str (assoc cf/rasterizer-uri :path "/rasterizer.html"))) (declare send-message!) @@ -43,7 +43,7 @@ (when (and (object? evdata) (str/starts-with? origin evorigin)) (let [scope (unchecked-get evdata "scope") type (unchecked-get evdata "type")] - (when (= "penpot/thumbnail-renderer" scope) + (when (= "penpot/rasterizer" scope) (when (= type "ready") (set! ready? true) (process-queued-messages!)) @@ -66,7 +66,7 @@ (let [id (dm/str (uuid/next)) payload #js {:data data :styles styles :width width} message #js {:id id - :scope "penpot/thumbnail-renderer" + :scope "penpot/rasterizer" :payload payload}] (if ^boolean ready? diff --git a/frontend/src/app/main/ui/dashboard/grid.cljs b/frontend/src/app/main/ui/dashboard/grid.cljs index 10e3d2646..898ae44d7 100644 --- a/frontend/src/app/main/ui/dashboard/grid.cljs +++ b/frontend/src/app/main/ui/dashboard/grid.cljs @@ -14,11 +14,11 @@ [app.main.data.messages :as msg] [app.main.features :as features] [app.main.fonts :as fonts] + [app.main.rasterizer :as thr] [app.main.refs :as refs] [app.main.render :refer [component-svg]] [app.main.repo :as rp] [app.main.store :as st] - [app.main.thumbnail-renderer :as thr] [app.main.ui.components.color-bullet :as bc] [app.main.ui.dashboard.file-menu :refer [file-menu]] [app.main.ui.dashboard.import :refer [use-import-file]] diff --git a/frontend/src/app/main/ui/workspace/shapes/frame/thumbnail_render.cljs b/frontend/src/app/main/ui/workspace/shapes/frame/thumbnail_render.cljs index 8924b3074..1204508f0 100644 --- a/frontend/src/app/main/ui/workspace/shapes/frame/thumbnail_render.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/frame/thumbnail_render.cljs @@ -121,14 +121,12 @@ (mf/use-fn (mf/deps thumbnail-uri) (fn [] - (let [image-node (mf/ref-val frame-image-ref)] - (dom/set-data! image-node "ready" "true") - ;; If we don't have the thumbnail data saved (normally the first load) we update the data - ;; when available - (when-not (some? thumbnail-uri) - (st/emit! (dwt/update-thumbnail page-id id))) + ;; If we don't have the thumbnail data saved (normally the first load) we update the data + ;; when available + (when-not (some? thumbnail-uri) + (st/emit! (dwt/update-thumbnail page-id id))) - (reset! render-frame* false)))) + (reset! render-frame* false))) generate-thumbnail (mf/use-fn @@ -175,10 +173,6 @@ on-update-frame (mf/use-fn (fn [] - (let [image-node (mf/ref-val frame-image-ref)] - (when (not= "false" (dom/get-data image-node "ready")) - (dom/set-data! image-node "ready" "false"))) - (when-not ^boolean (mf/ref-val disable-ref) (reset! svg-uri* nil) (reset! bitmap-uri* nil) diff --git a/frontend/src/app/thumbnail_renderer.cljs b/frontend/src/app/rasterizer.cljs similarity index 97% rename from frontend/src/app/thumbnail_renderer.cljs rename to frontend/src/app/rasterizer.cljs index b74577ca0..e85eb7e5c 100644 --- a/frontend/src/app/thumbnail_renderer.cljs +++ b/frontend/src/app/rasterizer.cljs @@ -4,8 +4,8 @@ ;; ;; Copyright (c) KALEIDOS INC -(ns app.thumbnail-renderer - "A main entry point for the thumbnail renderer process that is +(ns app.rasterizer + "A main entry point for the rasterizer process that is executed on a separated iframe." (:require [app.common.data :as d] @@ -205,7 +205,7 @@ payload (unchecked-get evdata "payload") scope (unchecked-get evdata "scope")] (when (and (some? payload) - (= scope "penpot/thumbnail-renderer")) + (= scope "penpot/rasterizer")) (->> (render payload) (rx/subs (partial send-success! id) (partial send-failure! id)))))))) @@ -220,7 +220,7 @@ [id type payload] (let [message #js {:id id :type type - :scope "penpot/thumbnail-renderer" + :scope "penpot/rasterizer" :payload payload}] (when-not (identical? js/window js/parent) (.postMessage js/parent message parent-origin))))