Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .nix/pkgs/graphite.nix
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ let
];
buildInputs = [ pkgs.openssl ];
env.CARGO_PROFILE = if dev then "dev" else "release";
cargoExtraArgs = "--target wasm32-unknown-unknown -p graphite-wasm --no-default-features --features native";
cargoExtraArgs = "--target wasm32-unknown-unknown -p graphite-wasm-wrapper --no-default-features --features native";
doCheck = false;
};
resources = deps.crane.lib.buildPackage (
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ members = [
"desktop/platform/mac",
"desktop/platform/win",
"editor",
"frontend/wasm",
"frontend/wrapper",
"libraries/dyn-any",
"libraries/math-parser",
"node-graph/libraries/*",
Expand All @@ -30,7 +30,7 @@ members = [
]
default-members = [
"editor",
"frontend/wasm",
"frontend/wrapper",
"libraries/dyn-any",
"libraries/math-parser",
"node-graph/graph-craft",
Expand Down
2 changes: 1 addition & 1 deletion editor/src/messages/portfolio/document/overlays/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ pub mod grid_overlays;
mod overlays_message;
mod overlays_message_handler;
pub mod utility_functions;
// Native (non‑wasm)
// Native (non‑Wasm)
#[cfg(not(target_family = "wasm"))]
pub mod utility_types_native;
#[cfg(not(target_family = "wasm"))]
Expand Down
2 changes: 1 addition & 1 deletion frontend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Images that are used in components and embedded into the application bundle by t

Source code for the web app in the form of Svelte components and [TypeScript](https://www.typescriptlang.org/) files.

## WebAssembly wrapper: `wasm/`
## Editor wrapper: `wrapper/`

Wraps the editor backend codebase (`/editor`) and provides a JS-centric API for the web app to use as an entry point, unburdened by Rust's complex data types that are incompatible with JS data types. Bindings (JS functions that call into the Wasm module) are provided by [wasm-bindgen](https://rustwasm.github.io/docs/wasm-bindgen/) in concert with [wasm-pack](https://github.com/rustwasm/wasm-pack).

Expand Down
2 changes: 1 addition & 1 deletion frontend/eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export default defineConfig([
{
patterns: [
{ group: ["./**", "../**"], message: "\nImports must be absolute (e.g. '/src/<subpath>') not relative (e.g. './<subpath>')." },
{ group: ["src/**", "assets/**", "wasm/**"], message: "\nLocal imports must start with '/' (e.g. '/src/<subpath>' not 'src/<subpath>')." },
{ group: ["src/**", "assets/**", "wrapper/**"], message: "\nLocal imports must start with '/' (e.g. '/src/<subpath>' not 'src/<subpath>')." },
],
},
],
Expand Down
12 changes: 6 additions & 6 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
"fix": "eslint --fix",
"---------- INTERNAL ----------": "",
"setup": "node package-installer.js && node branding-installer.js",
"native:build-dev": "wasm-pack build ./wasm --dev --target=web --no-default-features --features native && vite build --mode native",
"native:build-production": "wasm-pack build ./wasm --release --target=web --no-default-features --features native && vite build --mode native",
"wasm:build-dev": "wasm-pack build ./wasm --dev --target=web",
"wasm:build-production": "wasm-pack build ./wasm --release --target=web",
"wasm:watch-dev": "cargo watch --postpone --watch-when-idle --workdir=wasm --shell \"wasm-pack build . --dev --target=web -- --color=always\"",
"wasm:watch-production": "cargo watch --postpone --watch-when-idle --workdir=wasm --shell \"wasm-pack build . --release --target=web -- --color=always\""
"native:build-dev": "wasm-pack build ./wrapper --dev --target=web --no-default-features --features native && vite build --mode native",
"native:build-production": "wasm-pack build ./wrapper --release --target=web --no-default-features --features native && vite build --mode native",
"wasm:build-dev": "wasm-pack build ./wrapper --dev --target=web",
"wasm:build-production": "wasm-pack build ./wrapper --release --target=web",
"wasm:watch-dev": "cargo watch --postpone --watch-when-idle --workdir=wrapper --shell \"wasm-pack build . --dev --target=web -- --color=always\"",
"wasm:watch-production": "cargo watch --postpone --watch-when-idle --workdir=wrapper --shell \"wasm-pack build . --release --target=web -- --color=always\""
},
"//": "NOTE: `source-sans-pro` is never to be upgraded to 3.x because that renders a pixel above its intended position.",
"dependencies": {
Expand Down
10 changes: 5 additions & 5 deletions frontend/src/App.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@
import type { MessageName, SubscriptionsRouter } from "/src/subscriptions-router";
import { loadDemoArtwork } from "/src/utility-functions/network";
import { operatingSystem } from "/src/utility-functions/platform";
import init, { EditorWrapper, receiveNativeMessage } from "/wasm/pkg/graphite_wasm";
import type { FrontendMessage } from "/wasm/pkg/graphite_wasm";
import init, { EditorWrapper, receiveNativeMessage } from "/wrapper/pkg/graphite_wasm_wrapper";
import type { FrontendMessage } from "/wrapper/pkg/graphite_wasm_wrapper";

let subscriptions: SubscriptionsRouter | undefined = undefined;
let editor: EditorWrapper | undefined = undefined;

onMount(async () => {
// Initialize the Wasm module
const wasm = await init();
for (const [name, f] of Object.entries(wasm)) {
// Initialize the editor wrapper
const wrapper = await init();
for (const [name, f] of Object.entries(wrapper)) {
if (name.startsWith("__node_registry")) f();
}
window.imageCanvases = {};
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Svelte components that build the Graphite editor GUI from layouts, panels, widge

## Managers: `managers/`

TypeScript files, constructed by the editor frontend, which manage the input/output of browser APIs and link this functionality with the editor backend. These files subscribe to frontend messages to execute JS APIs, and in response to these APIs or user interactions, they may call functions in the backend (defined in `/frontend/wasm/editor_wrapper.rs`).
TypeScript files, constructed by the editor frontend, which manage the input/output of browser APIs and link this functionality with the editor backend. These files subscribe to frontend messages to execute JS APIs, and in response to these APIs or user interactions, they may call functions in the backend (defined in `/frontend/wrapper/editor_wrapper.rs`).

Each manager module stores its dependencies (like `subscriptionsRouter` and `editorWrapper`) in module-level variables and exports a `create*()` and `destroy*()` function pair. `Editor.svelte` calls each `create*()` constructor in its `onMount` and calls each `destroy*()` in its `onDestroy`. Managers replace themselves during HMR updates if they are modified live during development.

Expand All @@ -30,7 +30,7 @@ Associates messages from the backend with subscribers in the frontend, and route

## Svelte app entry point: `App.svelte`

The entry point for the Svelte application. Initializes the Wasm module, creates the `EditorWrapper` backend instance and the subscriptions router, and renders `Editor.svelte` once both are ready. The `EditorWrapper` is the wasm-bindgen interface to the Rust editor backend (defined in `/frontend/wasm/editor_wrapper.rs`), providing access to callable backend functions. Both the editor and subscriptions router are passed as props to `Editor.svelte` and set as Svelte contexts for use throughout the component tree.
The entry point for the Svelte application. Initializes and creates the `EditorWrapper` backend instance and the subscriptions router and renders `Editor.svelte` once both are ready. The `EditorWrapper` is the wasm-bindgen interface to the Rust editor backend (defined in `/frontend/wrapper/editor_wrapper.rs`), providing access to callable backend functions. Both the editor and subscriptions router are passed as props to `Editor.svelte` and set as Svelte contexts for use throughout the component tree.

## Editor base instance: `Editor.svelte`

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/Editor.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import { createPortfolioStore, destroyPortfolioStore } from "/src/stores/portfolio";
import { createTooltipStore, destroyTooltipStore } from "/src/stores/tooltip";
import type { SubscriptionsRouter } from "/src/subscriptions-router";
import type { EditorWrapper } from "/wasm/pkg/graphite_wasm";
import type { EditorWrapper } from "/wrapper/pkg/graphite_wasm_wrapper";

// Graphite Wasm editor and subscriptions router
export let subscriptions: SubscriptionsRouter;
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/components/floating-menus/ColorPicker.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
colorEquals,
gradientFirstColor,
} from "/src/utility-functions/colors";
import { isPlatformNative } from "/wasm/pkg/graphite_wasm";
import type { FillChoice, MenuDirection, Color } from "/wasm/pkg/graphite_wasm";
import { isPlatformNative } from "/wrapper/pkg/graphite_wasm_wrapper";
import type { FillChoice, MenuDirection, Color } from "/wrapper/pkg/graphite_wasm_wrapper";

type PresetColors = "None" | "Black" | "White" | "Red" | "Yellow" | "Green" | "Cyan" | "Blue" | "Magenta";

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/floating-menus/MenuList.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import Separator from "/src/components/widgets/labels/Separator.svelte";
import ShortcutLabel from "/src/components/widgets/labels/ShortcutLabel.svelte";
import TextLabel from "/src/components/widgets/labels/TextLabel.svelte";
import type { MenuListEntry, MenuDirection } from "/wasm/pkg/graphite_wasm";
import type { MenuListEntry, MenuDirection } from "/wrapper/pkg/graphite_wasm_wrapper";

let self: FloatingMenu | undefined;
let scroller: LayoutCol | undefined;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/floating-menus/NodeCatalog.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import TextInput from "/src/components/widgets/inputs/TextInput.svelte";
import TextLabel from "/src/components/widgets/labels/TextLabel.svelte";
import type { NodeGraphStore } from "/src/stores/node-graph";
import type { FrontendNodeType } from "/wasm/pkg/graphite_wasm";
import type { FrontendNodeType } from "/wrapper/pkg/graphite_wasm_wrapper";

const dispatch = createEventDispatcher<{ selectNodeType: string }>();
const nodeGraph = getContext<NodeGraphStore>("nodeGraph");
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/floating-menus/Tooltip.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import ShortcutLabel from "/src/components/widgets/labels/ShortcutLabel.svelte";
import TextLabel from "/src/components/widgets/labels/TextLabel.svelte";
import type { TooltipStore } from "/src/stores/tooltip";
import type { EditorWrapper, LabeledShortcut } from "/wasm/pkg/graphite_wasm";
import type { EditorWrapper, LabeledShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

const tooltip = getContext<TooltipStore>("tooltip");
const editor = getContext<EditorWrapper>("editor");
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/layout/FloatingMenu.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import { onMount, onDestroy, afterUpdate, createEventDispatcher, tick } from "svelte";
import LayoutCol from "/src/components/layout/LayoutCol.svelte";
import { browserVersion } from "/src/utility-functions/platform";
import type { MenuDirection } from "/wasm/pkg/graphite_wasm";
import type { MenuDirection } from "/wrapper/pkg/graphite_wasm_wrapper";

const BUTTON_LEFT = 0;
const POINTER_STRAY_DISTANCE = 100;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/layout/LayoutCol.svelte
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script lang="ts">
import type { ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

let className = "";
export { className as class };
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/layout/LayoutRow.svelte
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script lang="ts">
import type { ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

let className = "";
export { className as class };
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/panels/Data.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import WidgetLayout from "/src/components/widgets/WidgetLayout.svelte";
import type { SubscriptionsRouter } from "/src/subscriptions-router";
import { patchLayout } from "/src/utility-functions/widgets";
import type { Layout } from "/wasm/pkg/graphite_wasm";
import type { Layout } from "/wrapper/pkg/graphite_wasm_wrapper";

const subscriptions = getContext<SubscriptionsRouter>("subscriptions");

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/panels/Document.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { textInputCleanup } from "/src/utility-functions/keyboard-entry";
import { rasterizeSVGCanvas } from "/src/utility-functions/rasterization";
import { setupViewportResizeObserver } from "/src/utility-functions/viewports";
import type { Color, EditorWrapper, MenuDirection, MouseCursorIcon } from "/wasm/pkg/graphite_wasm";
import type { Color, EditorWrapper, MenuDirection, MouseCursorIcon } from "/wrapper/pkg/graphite_wasm_wrapper";

let rulerHorizontal: RulerInput | undefined;
let rulerVertical: RulerInput | undefined;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/panels/Layers.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import { pasteFile } from "/src/utility-functions/files";
import { operatingSystem } from "/src/utility-functions/platform";
import { patchLayout } from "/src/utility-functions/widgets";
import type { EditorWrapper, LayerPanelEntry, LayerStructureEntry, Layout } from "/wasm/pkg/graphite_wasm";
import type { EditorWrapper, LayerPanelEntry, LayerStructureEntry, Layout } from "/wrapper/pkg/graphite_wasm_wrapper";

type LayerListingInfo = {
folderIndex: number;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/panels/Properties.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import WidgetLayout from "/src/components/widgets/WidgetLayout.svelte";
import type { SubscriptionsRouter } from "/src/subscriptions-router";
import { patchLayout } from "/src/utility-functions/widgets";
import type { Layout } from "/wasm/pkg/graphite_wasm";
import type { Layout } from "/wrapper/pkg/graphite_wasm_wrapper";

const subscriptions = getContext<SubscriptionsRouter>("subscriptions");

Expand Down
4 changes: 2 additions & 2 deletions frontend/src/components/panels/Welcome.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
import type { SubscriptionsRouter } from "/src/subscriptions-router";
import { pasteFile } from "/src/utility-functions/files";
import { patchLayout } from "/src/utility-functions/widgets";
import { isPlatformNative } from "/wasm/pkg/graphite_wasm";
import type { EditorWrapper, Layout } from "/wasm/pkg/graphite_wasm";
import { isPlatformNative } from "/wrapper/pkg/graphite_wasm_wrapper";
import type { EditorWrapper, Layout } from "/wrapper/pkg/graphite_wasm_wrapper";

const subscriptions = getContext<SubscriptionsRouter>("subscriptions");
const editor = getContext<EditorWrapper>("editor");
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/views/Graph.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import type { DocumentStore } from "/src/stores/document";
import type { NodeGraphStore } from "/src/stores/node-graph";
import { closeContextMenu } from "/src/stores/node-graph";
import type { EditorWrapper, FrontendGraphInput, FrontendGraphOutput, FrontendNode } from "/wasm/pkg/graphite_wasm";
import type { EditorWrapper, FrontendGraphInput, FrontendGraphOutput, FrontendNode } from "/wrapper/pkg/graphite_wasm_wrapper";

const GRID_COLLAPSE_SPACING = 10;
const GRID_SIZE = 24;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/WidgetLayout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import WidgetSection from "/src/components/widgets/WidgetSection.svelte";
import WidgetSpan from "/src/components/widgets/WidgetSpan.svelte";
import WidgetTable from "/src/components/widgets/WidgetTable.svelte";
import type { Layout, LayoutTarget } from "/wasm/pkg/graphite_wasm";
import type { Layout, LayoutTarget } from "/wrapper/pkg/graphite_wasm_wrapper";

export let layout: Layout;
export let layoutTarget: LayoutTarget;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/WidgetSection.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import IconButton from "/src/components/widgets/buttons/IconButton.svelte";
import TextLabel from "/src/components/widgets/labels/TextLabel.svelte";
import WidgetSpan from "/src/components/widgets/WidgetSpan.svelte";
import type { EditorWrapper, LayoutTarget, WidgetSection as WidgetSectionData } from "/wasm/pkg/graphite_wasm";
import type { EditorWrapper, LayoutTarget, WidgetSection as WidgetSectionData } from "/wrapper/pkg/graphite_wasm_wrapper";

export let widgetData: WidgetSectionData;
export let layoutTarget: LayoutTarget;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/WidgetSpan.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import ShortcutLabel from "/src/components/widgets/labels/ShortcutLabel.svelte";
import TextLabel from "/src/components/widgets/labels/TextLabel.svelte";
import { parseFillChoice } from "/src/utility-functions/colors";
import type { EditorWrapper, LayoutTarget, Widget, WidgetInstance } from "/wasm/pkg/graphite_wasm";
import type { EditorWrapper, LayoutTarget, Widget, WidgetInstance } from "/wrapper/pkg/graphite_wasm_wrapper";

// Extract the discriminant key names from the Widget tagged enum union (e.g. "TextButton" | "CheckboxInput" | ...)
type WidgetKind = Widget extends infer T ? (T extends Record<infer K, unknown> ? K & string : never) : never;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/WidgetTable.svelte
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<script lang="ts">
import WidgetSpan from "/src/components/widgets/WidgetSpan.svelte";
import type { LayoutTarget, WidgetTable } from "/wasm/pkg/graphite_wasm";
import type { LayoutTarget, WidgetTable } from "/wrapper/pkg/graphite_wasm_wrapper";

export let widgetData: WidgetTable;
export let layoutTarget: LayoutTarget;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<script lang="ts">
import LayoutRow from "/src/components/layout/LayoutRow.svelte";
import TextButton from "/src/components/widgets/buttons/TextButton.svelte";
import type { ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

// Content
export let labels: string[];
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/buttons/IconButton.svelte
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<script lang="ts">
import IconLabel from "/src/components/widgets/labels/IconLabel.svelte";
import type { IconName, IconSize } from "/src/icons";
import type { ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

// Content
export let icon: IconName;
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/buttons/ImageButton.svelte
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<script lang="ts">
import { IMAGE_BASE64_STRINGS } from "/src/utility-functions/images";
import type { ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

let className = "";
export { className as class };
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<script lang="ts">
import LayoutRow from "/src/components/layout/LayoutRow.svelte";
import type { FrontendGraphDataType, ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { FrontendGraphDataType, ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

// Content
export let exposed: boolean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import IconLabel from "/src/components/widgets/labels/IconLabel.svelte";
import WidgetLayout from "/src/components/widgets/WidgetLayout.svelte";
import type { IconName, PopoverButtonStyle } from "/src/icons";
import type { MenuDirection, ActionShortcut, Layout, LayoutTarget } from "/wasm/pkg/graphite_wasm";
import type { MenuDirection, ActionShortcut, Layout, LayoutTarget } from "/wrapper/pkg/graphite_wasm_wrapper";

export let layoutTarget: LayoutTarget;

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/buttons/TextButton.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import IconLabel from "/src/components/widgets/labels/IconLabel.svelte";
import TextLabel from "/src/components/widgets/labels/TextLabel.svelte";
import type { IconName } from "/src/icons";
import type { MenuListEntry, ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { MenuListEntry, ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

const dispatch = createEventDispatcher<{ selectedEntryValuePath: string[] }>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import LayoutRow from "/src/components/layout/LayoutRow.svelte";
import IconLabel from "/src/components/widgets/labels/IconLabel.svelte";
import type { IconName } from "/src/icons";
import type { ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

const dispatch = createEventDispatcher<{ checked: boolean }>();
const backupId = String(Math.random()).substring(2);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/inputs/ColorInput.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import ColorPicker from "/src/components/floating-menus/ColorPicker.svelte";
import LayoutCol from "/src/components/layout/LayoutCol.svelte";
import { contrastingOutlineFactor, fillChoiceColor, fillChoiceGradientStops, colorToHexOptionalAlpha, gradientToLinearGradientCSS } from "/src/utility-functions/colors";
import type { FillChoice, MenuDirection, ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { FillChoice, MenuDirection, ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

const dispatch = createEventDispatcher<{ value: FillChoice; startHistoryTransaction: undefined }>();

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/widgets/inputs/CurveInput.svelte
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<script lang="ts">
import { createEventDispatcher } from "svelte";
import LayoutRow from "/src/components/layout/LayoutRow.svelte";
import type { Curve, CurveManipulatorGroup, ActionShortcut } from "/wasm/pkg/graphite_wasm";
import type { Curve, CurveManipulatorGroup, ActionShortcut } from "/wrapper/pkg/graphite_wasm_wrapper";

const dispatch = createEventDispatcher<{
value: Curve;
Expand Down
Loading
Loading