Skip to content

Releases: sidprasad/spytial-core

v3.1.0 — attribute/tag textStyle (size + color)

Choose a tag to compare

@sidprasad sidprasad released this 14 Jul 21:52
3d2bc21

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

Choose a tag to compare

@sidprasad sidprasad released this 28 Jun 12:49
916a50d

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/evaluator subpath export (CJS + ESM + type declarations) exposing SGraphQueryEvaluator and JSONDataInstance.
  • Dedicated tsup.evaluator.config.ts (Node platform) wired into build:all via build:evaluator.
  • Packaging contract test locking the ./evaluator export, 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)

Choose a tag to compare

@sidprasad sidprasad released this 12 Jun 12:50

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 SpecDocument source of truth, comment-preserving round-trips, full undo/redo history.
  • Domain awareness: pass your data instance (or a DomainSchema) 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 a theme prop, lightTheme/darkTheme presets, and zero Bootstrap dependence.
  • Selector assistance hook: a pluggable SelectorAssistant interface (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 syntaxHighlighting kill 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