mirror of
https://github.com/igorski/bitmappery.git
synced 2026-06-16 19:25:38 +02:00
Resolved issue where WASM was not available in production build
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
"server": "vite preview",
|
||||
"lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src",
|
||||
"test": "vitest --environment jsdom --no-watch",
|
||||
"wasm": "emcc -O3 src/wasm/filters.cpp -s ENVIRONMENT=worker -s ALLOW_MEMORY_GROWTH=1 -s MODULARIZE=1 -s EXPORTED_FUNCTIONS=\"['_malloc', '_free', '_filter']\" -o public/lib/filters.js"
|
||||
"wasm": "emcc -O3 src/wasm/filters.cpp -s ENVIRONMENT=worker -s ALLOW_MEMORY_GROWTH=1 -s MODULARIZE=1 -s EXPORTED_FUNCTIONS=\"['_malloc', '_free', '_filter']\" -o src/wasm/bin/filters.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@simonwep/pickr": "^1.8.0",
|
||||
|
||||
@@ -31,6 +31,7 @@ import { getLayerCache, setLayerCache } from "@/rendering/cache/bitmap-cache";
|
||||
import { renderMultiLineText } from "@/rendering/text";
|
||||
import { loadGoogleFont } from "@/services/font-service";
|
||||
import FilterWorker from "@/workers/filter.worker.js?worker";
|
||||
import wasmUrl from "@/wasm/bin/filters.wasm?url";
|
||||
|
||||
const jobQueue = [];
|
||||
let UID = 0;
|
||||
@@ -46,7 +47,7 @@ export const setWasmFilters = enabled => {
|
||||
if ( enabled && !wasmWorker ) {
|
||||
wasmWorker = new FilterWorker();
|
||||
wasmWorker.onmessage = handleWorkerMessage;
|
||||
wasmWorker.postMessage({ cmd: "initWasm" });
|
||||
wasmWorker.postMessage({ cmd: "initWasm", wasmUrl });
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
import wasmJs from "@/../public/lib/filters.js";
|
||||
import wasmJs from "@/wasm/bin/filters.js";
|
||||
import FiltersFactory from "@/factories/filters-factory";
|
||||
import { imageDataAsFloat } from "@/utils/wasm-util";
|
||||
|
||||
@@ -42,7 +42,7 @@ self.addEventListener( "message", async ({ data }) => {
|
||||
// as it will load the WASM binary
|
||||
|
||||
case "initWasm":
|
||||
const wasm = await fetch( "/lib/filters.wasm" );
|
||||
const wasm = await fetch( data.wasmUrl );
|
||||
const bytes = await wasm.arrayBuffer();
|
||||
wasmInstance = await wasmJs({
|
||||
wasmBinary: bytes
|
||||
|
||||
Reference in New Issue
Block a user