Skip to content

Releases: Flowscape-UI/core-sdk

FlowScape 2.0.2

Choose a tag to compare

@NiceArti NiceArti released this 15 Apr 13:59

Improvements

  • Improved initial Group support
  • Added content-based hit testing for groups
  • Stabilized group interaction and resize workflow
  • Improved editor UX when working with grouped nodes

Notes

  • Advanced rotated-child resize edge cases remain a known limitation
  • Deeper transform system improvements are planned for future releases

v2.0.1 — Scene/Overlay/Input architecture update

Choose a tag to compare

@NiceArti NiceArti released this 14 Apr 13:42

v2.0.1 (2026-04-14)

This patch focuses on engine internals: scene lifecycle ownership, overlay handle architecture, shape-accurate interaction, and smoother input behavior.

Highlights

  • Scene is now the single lifecycle owner for layer renderers and hosts.
  • Overlay handles/renderers were split by domains: shape, transform, free.
  • Shared base classes were introduced for handles and handle renderers.
  • Hit/hover behavior is now shape-accurate across node types.
  • Wheel/touchpad interaction became more responsive.

Added

  • LayerWorld query/reorder APIs:
  • hasNode
  • findAllNodesAt, findNodesInRect, findNodesFullyInRect
  • findAllNodesAtScreen, findNodesInScreenRect, findNodesFullyInScreenRect
  • moveNodesToTop, moveNodesToBottom, moveNodesTo
  • Path export API for shapes via toPathCommands().
  • New overlay managers for handle domains and corresponding renderer managers.

Changed

  • HandleBase now provides unified behavior for:
  • node binding/clearing
  • normalized positioning defaults
  • hit area size API (hitWidth, hitHeight)
  • debug style API (fill/stroke type, opacity, size, enable/disable)
  • Overlay visual/hover stacking now follows registration order in LayerOverlay.
  • Input coordinate conversion in controllers is centralized via Input.clientToSurfacePoint(...).
  • Quick Start in README.md was updated to current API (addLayer, bindLayerRenderer, addHost).

Fixed

  • Shape-accurate hover/hit for rect, ellipse, polygon, path, line, text.
  • Polygon/path renderer sync issues and NodePath resize behavior.
  • Transform interaction flow: handle priority, click-vs-drag selection behavior, cursor consistency.
  • Wheel handling now accumulates delta per frame.
  • preventDefault for wheel is now scoped to Ctrl+wheel (or explicit global option).

Migration Notes

  • Replace old setup style:
  • scene.layerManager.add(...) -> scene.addLayer(...) + scene.bindLayerRenderer(...)
  • scene.hostManager.add(host) -> scene.addHost(host)

Full Diff

Release v2.0.0

Choose a tag to compare

@NiceArti NiceArti released this 11 Apr 11:33

⚠️ Breaking Change

v2.0.0 is not backward compatible with v1.x. This release is a full architectural rewrite of the core SDK. The public API, internal structure, and module boundaries have all changed. Migration from v1.x is not straightforward.


🏗️ Architecture

Before: monolithic structure where rendering, input, and logic were tightly coupled inside god objects. Hard to maintain, impossible to extend without touching internals.

After: clean separation of concerns — every system lives in its own module with explicit boundaries. A human can read and maintain this codebase without AI assistance.

  • CoreEngineScene as the canonical entry point
  • Renderer is now modular and swappable
  • No more god objects

🎨 Renderer

Before: renderer was baked directly into node classes, making it impossible to swap without rewriting nodes.

After: renderer is fully decoupled. Nodes describe what to render, renderers decide how. Canvas (Konva) remains the default backend but can now be replaced without touching node logic.


🧩 Nodes

Reduced from ~17 nodes to a focused, composable set. Removed nodes weren't deleted — they became parameters:

Old New
ArcNode NodeEllipse with arc parameters
RingNode NodeEllipse with inner radius
ArrowNode NodeLine with arrowhead config
RegularPolygonNode NodePolygon
GifNode, VideoNode NodeVideo

Less surface area, more power per node.


🔌 Plugin System Removed

The old plugin system had deeply entangled dependencies that were impossible to reason about without tracing the full call graph. It has been removed entirely. The new architecture achieves the same extensibility through explicit module composition instead of implicit plugin hooks.


📐 New Core Primitives

A proper foundational layer now ships as part of the SDK:

  • Camera — full 2D camera with pan, zoom, rotation, coordinate conversion, and lock system
  • Transform — affine matrix with Vector2 and Matrix types
  • EventEmitter — typed event system
  • MathF32 — float32-compatible math utilities
  • Input — layered input system with modular controllers

📁 Structure

The new folder structure mirrors the architecture — each system is self-contained with its own index.ts, types.ts, and implementation files. No more hunting across the codebase to find where something lives.

Release v1.0.8

Choose a tag to compare

@Mutex0x40 Mutex0x40 released this 24 Jan 13:48

Published to npm: @flowscape-ui/core-sdk@1.0.8

Changes:
See CHANGELOG.md for details.

Release v1.0.7

Choose a tag to compare

@Mutex0x40 Mutex0x40 released this 18 Jan 00:20

Published to npm: @flowscape-ui/core-sdk@1.0.7

Changes:
See CHANGELOG.md for details.

Release v1.0.6

Choose a tag to compare

@Mutex0x40 Mutex0x40 released this 23 Dec 17:06

Published to npm: @flowscape-ui/core-sdk@1.0.6

Changes:
See CHANGELOG.md for details.

Release v1.0.5

Choose a tag to compare

@Mutex0x40 Mutex0x40 released this 19 Dec 15:30

Published to npm: @flowscape-ui/core-sdk@1.0.5

Changes:
See CHANGELOG.md for details.

Release v1.0.4

Choose a tag to compare

@Mutex0x40 Mutex0x40 released this 18 Dec 12:29

Published to npm: @flowscape-ui/core-sdk@1.0.4

Changes:
See CHANGELOG.md for details.

Release v1.0.3

Choose a tag to compare

@Mutex0x40 Mutex0x40 released this 18 Dec 12:29

Published to npm: @flowscape-ui/core-sdk@1.0.3

Changes:
See CHANGELOG.md for details.

Release v1.0.2

Choose a tag to compare

@github-actions github-actions released this 04 Oct 03:27

🚀 Release v1.0.2

Published to npm: @flowscape-ui/core-sdk@1.0.2

Changes

See CHANGELOG.md for details.