Comments (7)
penpose is not a pure js project: optimizer contains wasm. So i guess it is not possible to run it inside typst now
from penrose.
That'd be awesome! Some our discord members chatted about making a plugin for Obsidian and I started experimenting with it here: https://github.com/wodeni/obsidian-penrose-plugin. Would be great to have Typst integration too. I guess to start the discussion: what are the technical constraints for the integration? Not super familiar with their ecosystem and would love to learn more.
from penrose.
Typst has a wasm based plugin system. Where it can run wasm32-baremetal code and get the result. I compiled quickjs javascript engine to wasm and made the jogs package. So basically, we can say typst can run javascript.
We already have wavedrom, mathjax, pintora running in typst(although they are somehow slow-ish).
Per #1688 penpose is possible to run out of browser and produce svg string without much modification. I will try if it can run in typst.
from penrose.
penpose is not a pure js project: optimizer contains wasm. So i guess it is not possible to run it inside typst now
as of #1654 the optimizer is not longer written is rust. the only non-js part is actually produced at runtime by the autodiff engine (https://github.com/rose-lang/rose), which produces wasm modules at runtime. does this prevent typst from running penrose?
from penrose.
@wodeni Just to clarify, Rose itself also includes Wasm (compiled from Rust), not just the Wasm it dynamically generates.
from penrose.
@wodeni Just to clarify, Rose itself also includes Wasm (compiled from Rust), not just the Wasm it dynamically generates.
Right, so if typst requires all deps to be pure js, then rose
would not be one
from penrose.
penpose is not a pure js project: optimizer contains wasm. So i guess it is not possible to run it inside typst now
as of #1654 the optimizer is not longer written is rust. the only non-js part is actually produced at runtime by the autodiff engine (https://github.com/rose-lang/rose), which produces wasm modules at runtime. does this prevent typst from running penrose?
typst can run js through the embedded quickjs engine. and the code wasm bindgen generated is target to browser. so it's not easy to run penpose in qjs and typst.
from penrose.
Related Issues (20)
- bug: Optimizer panics on difficult constraint
- In-editor interactivity
- bug: Cmd+Z / Ctrl+Z on workspace entry overrides files HOT 1
- feat: Make it possible to pass string data directly to `Path`
- bug: Can't use a `Path` as a clip mask in a `Group` HOT 1
- bug: Optimizer (and IDE) crashes when `ensureOnCanvas` cannot be satisifed HOT 4
- feat: Override layering rules
- feat: Don't render SVG elements where both `fillColor` and `strokeColor` are `none()`
- bug: re-compiling on error causes infinite hanging in IDE
- perf: Improve `SizeBoundedMap` complexity
- bug: inconsistent pretty-printing of paths referring to Unnamed scope
- feat: UX Overhaul
- bug: Dangling domain identifier
- "Cmd/Ctrl+/" doesn't (un)comment on `editor`
- bug: inline subtyping on built-in types not checked
- feat: Better Function Documentation Strings
- feat: Domain-defined Doc Strings
- feat: Add generic SVG `Element` shape to Style HOT 12
- feat: numerical comparison of literals in `where` clauses HOT 1
- `toSVG` compiles tight bounding box calculation non-optionally
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from penrose.