mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-08-02 12:32:17 +00:00

* Migrate webpack to parcel * Always colour shell output * Fix typos * Fix updateImage function having undefined editorInstance * Readd webpack for deployment builds (licence checker) * Only use webpack for license generation * Re add typscript support * Fix cloudlare deploy * Bump wasm-pack version * Update ci script * Print versions in ci script * Use optional-dependencies for wasm-pack * Execute wget after rust install * Finding wasm-opt version * Print wasm-opt version * Revert test? * Try to revert * Deploy cloudflare via github actions * Fix indentation in ci script * Change project to graphite-dev * Trigger ci * Parcel ci (#1152) * CI Test * Add write permissions for pr * Manually add cloudflare ci comment to prs * Unskip cargo about * Make compile on new versions of npm * Add deployment script to rebuild editor.graphite.rs on tag creation * Remove deploy script * Comment out unused Svelte props causing warnings * Many small fixes, including fixing @ imports --------- Co-authored-by: hypercube <0hypercube@gmail.com> Co-authored-by: Keavon Chambers <keavon@keavon.com>
35 lines
1.1 KiB
Rust
35 lines
1.1 KiB
Rust
#![doc = include_str!("../README.md")]
|
|
|
|
// `macro_use` puts the log macros (`error!`, `warn!`, `debug!`, `info!` and `trace!`) in scope for the crate
|
|
#[macro_use]
|
|
extern crate log;
|
|
|
|
pub mod editor_api;
|
|
pub mod helpers;
|
|
|
|
use helpers::{panic_hook, WasmLog};
|
|
|
|
use std::cell::RefCell;
|
|
use std::collections::HashMap;
|
|
use std::panic;
|
|
use std::sync::atomic::AtomicBool;
|
|
use wasm_bindgen::prelude::*;
|
|
|
|
// Set up the persistent editor backend state
|
|
pub static EDITOR_HAS_CRASHED: AtomicBool = AtomicBool::new(false);
|
|
pub static LOGGER: WasmLog = WasmLog;
|
|
thread_local! {
|
|
pub static EDITOR_INSTANCES: RefCell<HashMap<u64, editor::application::Editor>> = RefCell::new(HashMap::new());
|
|
pub static JS_EDITOR_HANDLES: RefCell<HashMap<u64, editor_api::JsEditorHandle>> = RefCell::new(HashMap::new());
|
|
}
|
|
|
|
/// Initialize the backend
|
|
#[wasm_bindgen(start)]
|
|
pub fn init_graphite() {
|
|
// Set up the panic hook
|
|
panic::set_hook(Box::new(panic_hook));
|
|
|
|
// Set up the logger with a default level of debug
|
|
log::set_logger(&LOGGER).expect("Failed to set logger");
|
|
log::set_max_level(log::LevelFilter::Debug);
|
|
}
|