mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
TextDoc gains character style runs (font, size, colours, tracking, leading, baseline shift, h/v scale, tsume, faux styles, caps, super/subscript, kerning metrics/optical/manual, ligatures) and per-paragraph settings (justification with last-line modes, indents, space before/after, direction, composer, hanging punctuation), serde-compatible with single-style documents. Layout handles mixed runs on a line (shared baseline, largest leading), every-line composer, editing geometry (carets, hit testing, selection quads) and basic vertical type. Renderer colours per run. Expressions get the sourceText style API (style, getStyleAt, createStyle, setters with character ranges). Co-Authored-By: Claude Opus 5.5 <[email protected]>
30 lines
1017 B
TOML
30 lines
1017 B
TOML
[package]
|
|
name = "effectcraft-expr"
|
|
description = "After Effects-compatible expressions: a boa JavaScript runtime with the AE object model (thisComp, thisLayer, wiggle, loopOut, valueAtTime…) and array maths"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
effectcraft-time = { workspace = true }
|
|
effectcraft-geom = { workspace = true }
|
|
effectcraft-keyframe = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
effectcraft-project = { workspace = true }
|
|
effectcraft-path = { workspace = true }
|
|
effectcraft-render = { workspace = true }
|
|
boa_engine = { workspace = true }
|
|
|
|
# On the web, boa's clock and Math.random need the browser (getrandom `wasm_js`, web-time).
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
boa_engine = { workspace = true, features = ["js"] }
|
|
|
|
[dev-dependencies]
|
|
effectcraft-color = { workspace = true }
|
|
effectcraft-effects = { workspace = true }
|
|
effectcraft-text = { workspace = true }
|