Releases: sidprasad/spytial-core
Release list
v3.1.0 — attribute/tag textStyle (size + color)
attribute/tag adopt the shared textStyle block
The attribute and tag directives now support the full shared textStyle block — size and color — instead of only textSize.
- attribute:
field: age
textStyle: { size: large, color: "#c0392b" }
- tag:
toTag: Person
name: role
value: role
textStyle: { size: small, color: "#2980b9" }textSize moved to textStyle.size (clean break — it only shipped in the previous minor, so no back-compat shim). Color is net-new for attribute/tag; size behavior is preserved. The no-code builder exposes the same textStyle group edges/atoms use.
See #496 for the full change, docs, and test coverage.
v2.9.2 — headless evaluator subpath
Headless spytial-core/evaluator subpath (#486)
Adds a DOM-free, Node-importable evaluator entrypoint so selector evaluation can run server-side without loading the browser/global bundle.
- New
spytial-core/evaluatorsubpath export (CJS + ESM + type declarations) exposingSGraphQueryEvaluatorandJSONDataInstance. - Dedicated
tsup.evaluator.config.ts(Node platform) wired intobuild:allviabuild:evaluator. - Packaging contract test locking the
./evaluatorexport, published artifacts, and entrypoint re-export.
const { SGraphQueryEvaluator, JSONDataInstance } = require("spytial-core/evaluator");
const ev = new SGraphQueryEvaluator();
ev.initialize({ sourceData: new JSONDataInstance(datum) });
ev.evaluate("Node").getRawResult();v2.9.0 — Spec editor rebuilt (Structured Builder v2)
Highlights
A ground-up rebuild of the CnD layout spec editor (CndLayoutInterface / Structured Builder):
- Live two-way sync between the YAML code view and the structured builder — single
SpecDocumentsource of truth, comment-preserving round-trips, full undo/redo history. - Domain awareness: pass your data
instance(or aDomainSchema) and selector fields get autocomplete, field/type inputs become dropdowns, and soft warnings flag names not present in the instance. - Theming hook: every visual knob is a
--spytial-ed-*CSS custom property, with athemeprop,lightTheme/darkThemepresets, and zero Bootstrap dependence. - Selector assistance hook: a pluggable
SelectorAssistantinterface (complete/synthesize/review) — ready for model- or synthesis-backed selector help, surfaced as autocomplete and a ✨ generate affordance. - Syntax highlighting in the code view and selector fields (overlay technique, hardened, with a
syntaxHighlightingkill switch). - Compact builder UI: accordion rows with live summaries, viewport-aware menus, "Should hold / Should not hold" condition control, closed-choice flag picker.
Migration
The legacy NoCodeView import surface keeps working via shims (parseLayoutSpecToData, generateLayoutSpecYaml, validateYaml, validateSpytialSpec, ConstraintData/DirectiveData); the 27 per-type form components are removed in favor of the schema-driven FieldRenderer + registry. Intentional behavior changes are documented in docs/SPEC_EDITOR.md (migration notes section).
🤖 Generated with Claude Code
What's Changed
- fix(layout): explain UNSAT counterfactuals via user constraints, not redundant group separations by @sidprasad in #476
- Make taut edge routing the default; improve taut + grid routing; fix overlapping-render race by @sidprasad in #477
- feat(spec-editor): ground-up rebuild of the structured builder by @sidprasad in #478
Full Changelog: v2.8.1...v2.9.0