- Fix error when calculating container on initialization
- Fix node suggestion and cable rect
- Fix missing input component on first function node
- Throw error when trying to reset offset on detached container
- Watch changes of
data.name
as node title (for internal node)
- Add support for moving/scaling container using script
- Add function to select/deselect node/cable in the container space
- Improve TypeScript definition file
- Rename some internal property name
- Fix cable rotation override on export/import
- Fix for creating paused engine instance
- Remove unused cable when scanning inactive node
- Blackprint Engine v0.9 is required (for more information please see the changelog)
- Fix container zoom with mouse wheel
- Fix error when reloading the instance
- Implement internal changes from the
engine-js
v0.8.12
- Add options to disable cleaning the instance when importing JSON
- Fix pending render when visiting function node
- Fix incorrect reference when outputing error
- Instance's exported JSON schema was updated, please import and re-export your old exported JSON before v1.0. The old schema will still importable on
engine-js
, but it will show a deprecation notice.
- Fix copying node data when creating new node
- Add event nodes feature
- Add support for importing events
- Improve cable rotation override's menu
- Fix container re-initialization
- Fix clone node and throw error when component was not found
- Fix settings for disabling cable visualization
- Fix cable flow visualization warnings
- Fix container rendering when using pending render option
- Fix node's z-index when exporting selected node
- Add support for cable branch on route cable
- Fix error when suggesting cable from route cable
- Improve cable glow
- Show variable's title from title field instead of name
- Remove
console.log
used by me for debugging 😅
- Improve typings for port's type definition
- Improve cable glow animation
- Show node description on dropdown menu
- Fix error when using
registerInterface
as decorator - Fix unemitted event
- Avoid browser interface loading when not in Browser environment
- Assign default style for
sf-m
- Improve TypeScript definitions
- Fix container zoom using right click and mouse wheel
- Fix some error on Safari browser
- Hide internal BP namespace
- Fix type definition that not published to NPM
- Fix interface error when bundling using Vite
- Improve module exports
- Add feature to import skeleton nodes for sketch
- Fix and improve TypeScript definition file
- Fix package exports
- Skip interface calculation if element haven't been rendered/exist
- Add relative position for port stylesheet
- Fix container that can't be interacted when import was failed
There's also a deprecation for engine-js
make sure to visit the CHANGELOG.md.
- Destroy space after the instance was destroyed
- Add feature to lock the instance
- Avoid processing element in function node when before being rendered
- Fix port input in function node and fix the resize observer
- Fix route port connection and array input data
- Fix node type defined on node constructor's static property
- Emit some event to root instance
- Hide default port input box on port that have connection
- Simplify interface style binding when port resync is allowed
- Skip default value's port input box for internal nodes
- Add VirtualType and improve the node suggestion
- Fix cable
<circle>
style for Firefox - Fix error for route port's element
- Improve style for port's input box
- Fix layout shift when showing route port
- Fix error when port element was disabled
- Blackprint Engine v0.8 is required (for more information please see the changelog)
- Add
json.importing
event
- Emit
cable.created
event when creating route cable - Fix route port connection and recalculation
- Fix port switches initialization and port name
- Improve TypeScript definition file
- Trigger port
value
event when changing default port value
- Fix menu event's preventDefault
- Fix error when sketch is imported on Node.js for unit testing
- Emit
port.default.changed
instance event when default value was changed
- Fix route data flow when default value was changed
- Fix execution order for checking inactive node
- Fix node creation using dropdown on scaled container
- Skip default component if the developer already added a component
- Add space between capitalized letters for port name
- Use
Shift + Left Click
to detach cable from a port - Add feature to detect inactive node
- Add menu and options on
menu.create.node
event data
- Fix minor bug when registering docs
- Fix weird cable flow animation on newest browser
- Fix and improve inactive node recheck
- Fix interface size recalculation
- Fix inline node documentation
- Add feature to allow output resyncronization
- Add
skipSuggestTypeAny
for skip node suggestion - Add support for documenting ports with
StructOf
feature - Add dropdown menu for using to allow output resync
- Add
preventDefault
onmenu
event
- Fix error when re-adding port documentation
- Fix incorrect input element wrap
- Skip exporting object or symbol
- Skip importing docs when windowless settings is turned on
- Add feature to split port with structure
- Add feature to use default input port data
- Add type for input box in port's default value
- Add zoom feature for touch screen
- Add callback when a node was created from menu
- Add feature to change cable orientation
- Add JSDocs extractor for Blackprint documenter
- Add
.registerDocs
for adding description to nodes and port - Add TypeScript definition file
- Add route port feature
- Add default event handler for unsupported dynamic port
- Add node for using function port as variable node
- Emit event when constructing nodes menu
- Emit event when the cable is being drag
- Emit event when moving node and some modification
- Emit internal event when splitting port and add unit test
- Redesign node for variable and environment
- Use data export handler if
.exportData
exist on iface
- Fix route error when there are no update function
- Fix incorrect route cable position when the container was scaled
- Fix error when the hot reload find an
undefined
port - Fix bug for touch screen
- Fix dropdown event and cable for touch screen
- Fix incorrect cable position when the container was moved
- Fix cable position on cloned window and simplify implementation
- Fix container offset when being used from different container style
- Fix header info that was not cloned when using multiple container
- Fix flow visualization when using multiple container
- Fix style recalculation and source resolver
- Fix hot reload
- Fix recalculation for route cable and update style
- Fix error when cable list haven't been initialized
- Fix incorrect minimap container scale
- Fix cable branch creation inside a function
- Fix editor's left side panel
- Fix
cable.disconnect
event that not emitted on iface - Fix minimal export for function and add option to skip comment
- Fix import index and node
z-index
- Allow recalculation when no nodes on container
- Skip flow visualization if cable path is not defined
- Blackprint Engine v0.7 is required (for more information please see the changelog)
- Add support for exporting custom function and variable
- Add feature to recalculate cable position
- Add utils to modify enumerable property
- Add feature for creating custom function node
- Rename file and add styles for variable node
- Add feature to export selected nodes only
- Emit event when double clicking a function node
- Emit event when JSON was imported
- Emit port hover event on iface
- Finishing custom variable and function node
- Fix module list for custom function node
- Fix import for custom variable nodes
- Fix for copying custom function node
- Fix node suggestion for any type data
- Small CSS fix for safari browser
- Fix cable position when being connected to a port
- Fix selection on disconnected cable
- Fix incorrect node order
- Fix cable position when using connectCable
- Fix
undefined
class value - Skip connection if no cable found
- Use internal namespace when using unregistered node
- Deselect nodes and cable when creating cable
- Avoid moving other node when the node is not selected
- Add
cable.dropped
event
- Fix
hidden
property that was not being set - Make some properties configurable
- Fix iface init that wasn't being called on windowless mode
- Fix
instance.clearNodes
- Round the position of cable branch when exporting to JSON
- Fix feature for inserting component into a port
- Fix sf-space reference
- Add parameter to disable swap
- Add event when selecting nodes or cables
- Show namespace on error when creating node
- Automatically move the cable if it's dropped behind any node
- Fix nodes that can't be moved when have decoration
- Fix unscaled position value and remove ToDo comment
- Fix incorrect cable position when dropped on header
- Fix hide port on pointerleave
- Fix incorrect cable position when dropped on header
- Add
node.click
event when a node header was clicked - Add
port.cable.test
event - Add new shortcut for scaling container (right click + mouse wheel)
- Add feature to hide unused port
- Prepare feature for variable and function node
- Avoid zoom in for minimap
- Use import from remote instance instead if exist
- Fix incorrect event name when deleting node
- Minor changes for fixing remote sketch
- Avoid moving cable that connected to branch
- Fix cable event for remote sketch
- Minor code changes to make it efficient
- Fix middle position for connected cable
- Fix incorrect cable location when connect using script
- Add event emit when the node or port was hovered
- Add information on how to run unit test
- Remote control is now in
Alpha Stage
- Emit remote event on
id
changes - Update keyboard shortcut
- Fix error when not using development mode
- Fix incorrect position when trying to create node with dropdown menu
- Fix incorrect location for some features when the container get scaled
- Cancel selection when moving container for touchscreen
- Fix scale and movement for different screen ratio
- Fix some issue with container scaling
- Fix error on unit test
- Fix incorrect dropdown position
- Fix some error when Sketch is being run on Jest environment
- Fix some bug and some minor modification
- Add options to skip some import data
- Add bulk delete feature for nodes
- Add
moduleAdded
event
- Fix
registerNode
andregisterInterface
to be used for decorator - Fix and improve performance for cable position
- Add support for engine's ghost port
- Improved node suggestion
- Edit node description and title
- Select nodes with left click
- Move selected nodes and branch cable together
- Add node comment
- Blackprint Engine v0.6 is required (for more information please see the changelog)
Blackprint.Sketch.suggestFromPort
is now changed toBlackprint.Sketch.suggestNodeForPort
Blackprint.Sketch.suggestByRef
is now removed, please usesuggestNode
instead
- Add support for touch devices
- Double click the path will create new cable branch
- Improve rendering performance
- Fix cable branch arrangement
- Fix some low impact bugs
- Add
node.destroy
as an alternative foriface.destroy
, this will be called by the engine and shouldn't be manually called - Add
instance.deleteNode
to delete node manually by using code - Add cable branching feature for output port
- Add feature to create branch on connected cable
- Add merge branch for single cable
- Add options for
importJSON
- Clicked nodes will be moved on front of the other nodes (z-index)
- Add decoration on small header template
- Automatically put cable on suitable port when it's dropped on top of a node
- Blackprint Engine v0.5 is required (for more information please see the changelog)
- Moving the container with left click is removed, please use right/middle click instead
importJSON
now will clear the instance first
- Fix batch load when being loaded from CDN
- Tidy up
- Improve some element style
- Add
suggestNode
andsuggestFromPort
for suggesting possible related node (may not 100% accurate) - CTRL + right clicking on port and detached cable will use
suggestNode
feature - Add options to disable export for environment and module URL
- Add header menu for creating similar node
- Fix error when right clicking cable
- Fix DropDown when being called after a delay
- Fix cable deletion for disconnected cable
- Fix incorrect default value
- Move
iface.imported
call order nearnode.imported
Blackprint.Engine
is now usingCustomEvent
- You can now connect cable with script
- Fix race condition when importing module from the URL
- Fix default node styles
- Avoid multiple constructor call
- Simplify JSON export by removing empty field
- Sort DropDown menu by name
- Blackprint Engine v0.4 is required
- Zoom now using CTRL + Mouse Scroll
- Fix minimap and the cloned window
- Fix DropDown position based on current window size and spawn position
- Fix JSON exporter for current version
- Fix node highlight when being hovered from menu
- Add options to prettify the JSON export
- Minimap will keep it's position and auto scaled when the sketch getting larger
- Add Blackprint event listener and output any error message to console if no listener
- Add icon feature for the drop down
- Interfaces now can be accessed from
instance.iface[id]
- Add custom environment data
- Load module from URL (default to disabled)
- Add support for using Decorator when registering node/interface
- Add support for listening to all event with "*"
- Add SmallNotif (Toast) on the top right of the screen
- Add headmarks and other additional header element for nodes
Because the implementation will be similar with engine-php and engine-go.
This changes is supposed to improve efficiency, and reduce possible future breaking changes.
- For sketch (browser only):
Blackprint.registerInterface()
was renamed toBlackprint.Sketch.registerInterface()
- For non-sketch:
Blackprint.Engine.registerInterface()
was renamed toBlackprint.registerInterface()
- When using class for
Blackprint.registerInterface
orBlackprint.Sketch.registerInterface
, the class must extendsBlackprint.Interface
Please see engine-js's breaking changes for v0.3.0
for additional information.
Blackprint.Interpreter
is changed intoBlackprint.Engine
- Package on NPM registry was moved to
@blackprint/...
iface.options
now changed toiface.data
, you will need to replaceoptions
from the exported JSON intodata
iface.id
now changed toiface.i
, you will need to replaceid
from the exported JSON intoi
iface.id
now being used for named ID, andiface.i
still being the generated index for the nodes
0.1.1 (2020-10-17)
- Still in development, any contribution welcome
- Please always specify the fixed version when using for your project
- Usually v0.*.0 will have breaking changes, while v0.0.* can have new feature or bug fixes