├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── publish.yml ├── .gitignore ├── .vscode └── extensions.json ├── Cargo.toml ├── LICENCE.txt ├── README.md ├── core ├── Cargo.toml ├── README.md └── src │ ├── error │ ├── macros.rs │ └── mod.rs │ ├── evaluation │ ├── mod.rs │ └── state.rs │ ├── grammar │ ├── mod.rs │ ├── representation.rs │ ├── siffra.pest │ └── span.rs │ ├── lib.rs │ └── representations │ ├── dimension │ ├── amount.rs │ ├── angle.rs │ ├── chemical │ │ ├── compound.rs │ │ ├── element.rs │ │ ├── mod.rs │ │ └── parse.rs │ ├── length.rs │ ├── macros.rs │ ├── mass.rs │ ├── mod.rs │ ├── temperature.rs │ └── time.rs │ ├── expression.rs │ ├── float.rs │ ├── mod.rs │ └── value.rs ├── desktop ├── .prettierignore ├── .prettierrc ├── bun.lockb ├── bunfig.toml ├── happydom.ts ├── index.html ├── package.json ├── src-tauri │ ├── Cargo.lock │ ├── Cargo.toml │ ├── app-icon.png │ ├── build.rs │ ├── icons │ │ ├── 128x128.png │ │ ├── 128x128@2x.png │ │ ├── 32x32.png │ │ ├── Square107x107Logo.png │ │ ├── Square142x142Logo.png │ │ ├── Square150x150Logo.png │ │ ├── Square284x284Logo.png │ │ ├── Square30x30Logo.png │ │ ├── Square310x310Logo.png │ │ ├── Square44x44Logo.png │ │ ├── Square71x71Logo.png │ │ ├── Square89x89Logo.png │ │ ├── StoreLogo.png │ │ ├── icon.icns │ │ ├── icon.ico │ │ └── icon.png │ ├── src │ │ └── main.rs │ └── tauri.conf.json ├── src │ ├── App.svelte │ ├── lib │ │ ├── Editor.svelte │ │ ├── Result.svelte │ │ ├── Titlebar.svelte │ │ ├── Toggle.svelte │ │ ├── Tooltip.svelte │ │ ├── wrapText.test.ts │ │ └── wrapText.ts │ ├── main.ts │ ├── styles.css │ └── vite-env.d.ts ├── svelte.config.js ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts └── screenshot.png /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENCE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/LICENCE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/README.md -------------------------------------------------------------------------------- /core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/Cargo.toml -------------------------------------------------------------------------------- /core/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/README.md -------------------------------------------------------------------------------- /core/src/error/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/error/macros.rs -------------------------------------------------------------------------------- /core/src/error/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/error/mod.rs -------------------------------------------------------------------------------- /core/src/evaluation/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/evaluation/mod.rs -------------------------------------------------------------------------------- /core/src/evaluation/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/evaluation/state.rs -------------------------------------------------------------------------------- /core/src/grammar/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/grammar/mod.rs -------------------------------------------------------------------------------- /core/src/grammar/representation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/grammar/representation.rs -------------------------------------------------------------------------------- /core/src/grammar/siffra.pest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/grammar/siffra.pest -------------------------------------------------------------------------------- /core/src/grammar/span.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/grammar/span.rs -------------------------------------------------------------------------------- /core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/lib.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/amount.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/amount.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/angle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/angle.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/chemical/compound.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/chemical/compound.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/chemical/element.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/chemical/element.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/chemical/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/chemical/mod.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/chemical/parse.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/chemical/parse.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/length.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/length.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/macros.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/mass.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/mass.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/mod.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/temperature.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/temperature.rs -------------------------------------------------------------------------------- /core/src/representations/dimension/time.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/dimension/time.rs -------------------------------------------------------------------------------- /core/src/representations/expression.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/expression.rs -------------------------------------------------------------------------------- /core/src/representations/float.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/float.rs -------------------------------------------------------------------------------- /core/src/representations/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/mod.rs -------------------------------------------------------------------------------- /core/src/representations/value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/core/src/representations/value.rs -------------------------------------------------------------------------------- /desktop/.prettierignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /desktop/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/.prettierrc -------------------------------------------------------------------------------- /desktop/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/bun.lockb -------------------------------------------------------------------------------- /desktop/bunfig.toml: -------------------------------------------------------------------------------- 1 | [test] 2 | preload = "./happydom.ts" -------------------------------------------------------------------------------- /desktop/happydom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/happydom.ts -------------------------------------------------------------------------------- /desktop/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/index.html -------------------------------------------------------------------------------- /desktop/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/package.json -------------------------------------------------------------------------------- /desktop/src-tauri/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/Cargo.lock -------------------------------------------------------------------------------- /desktop/src-tauri/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/Cargo.toml -------------------------------------------------------------------------------- /desktop/src-tauri/app-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/app-icon.png -------------------------------------------------------------------------------- /desktop/src-tauri/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/build.rs -------------------------------------------------------------------------------- /desktop/src-tauri/icons/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/128x128.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/128x128@2x.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/32x32.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square107x107Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square107x107Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square142x142Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square142x142Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square150x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square150x150Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square284x284Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square284x284Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square30x30Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square30x30Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square310x310Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square310x310Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square44x44Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square71x71Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square71x71Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/Square89x89Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/Square89x89Logo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/StoreLogo.png -------------------------------------------------------------------------------- /desktop/src-tauri/icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/icon.icns -------------------------------------------------------------------------------- /desktop/src-tauri/icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/icon.ico -------------------------------------------------------------------------------- /desktop/src-tauri/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/icons/icon.png -------------------------------------------------------------------------------- /desktop/src-tauri/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/src/main.rs -------------------------------------------------------------------------------- /desktop/src-tauri/tauri.conf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src-tauri/tauri.conf.json -------------------------------------------------------------------------------- /desktop/src/App.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/App.svelte -------------------------------------------------------------------------------- /desktop/src/lib/Editor.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/lib/Editor.svelte -------------------------------------------------------------------------------- /desktop/src/lib/Result.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/lib/Result.svelte -------------------------------------------------------------------------------- /desktop/src/lib/Titlebar.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/lib/Titlebar.svelte -------------------------------------------------------------------------------- /desktop/src/lib/Toggle.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/lib/Toggle.svelte -------------------------------------------------------------------------------- /desktop/src/lib/Tooltip.svelte: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/lib/Tooltip.svelte -------------------------------------------------------------------------------- /desktop/src/lib/wrapText.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/lib/wrapText.test.ts -------------------------------------------------------------------------------- /desktop/src/lib/wrapText.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/lib/wrapText.ts -------------------------------------------------------------------------------- /desktop/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/main.ts -------------------------------------------------------------------------------- /desktop/src/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/styles.css -------------------------------------------------------------------------------- /desktop/src/vite-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/src/vite-env.d.ts -------------------------------------------------------------------------------- /desktop/svelte.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/svelte.config.js -------------------------------------------------------------------------------- /desktop/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/tsconfig.json -------------------------------------------------------------------------------- /desktop/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/tsconfig.node.json -------------------------------------------------------------------------------- /desktop/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/desktop/vite.config.ts -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ImpossibleReality/Siffra/HEAD/screenshot.png --------------------------------------------------------------------------------