- Moved
incr_map
wrapper functions frombonsai_extra
tobonsai
. They now live in theBonsai.Map
namespace.
- Added first version of
Bonsai_web_ui_sexp
to generate UIs/forms from Sexp grammars
- Expose
item_is_hovered
to theempty_list_placeholder
parameter in theBonsai_web_ui_reorderable_list
API.
- Introduce both
startBonsaiDebugger
andstopBonsaiDebugger
functions to global scope. Starting the debugger instruments the Bonsai graph and opens a new tab in bonsai-bug.
- Added
?expand_direction
parameter toBonsai_web_ui_query_box
to have suggestions appear above the input textbox.
- Added
Bonsai_bench
- Added
Bonsai_web_ui_reorderable_list.{simple,with_inject}
- Added
Form.validate_via_effect
- Added
Bonsai_extra
- Added
Bonsai.lazy_
back
- Added dynamic scoping
- Added
Bonsai_web_ui_not_connected_warning_box
- Added form submission options to
Bonsai_web_ui_form
- Added
Bonsai_web_ui_codemirror
- Added
Bonsai_web_ui_form.Elements.File_select
, for picking single or multiple files. - Added
Bonsai_web_ui_file
, for reading files from disk once selected.
- Change
should_print_styles
to the more generalfilter_printed_attributes
- Added
Bonsai.Clock.approx_now
andBonsai.Clock.now
and movedBonsai.Edge.every
into theClock
module
- Added
Bonsai.Incr.with_clock
and a parameter toHandle.create
to allow easier testing of time-sensitive components. - Removed
Bonsai.lazy_
- Added
?split
parameter toBonsai_web_ui_typeahead.create_multi
to allow adding multiple items with a single input.
- Deprecated
Bonsai.if_
,Bonsai.match_either
,Bonsai.match_result
, andBonsai.match_option
becausematch%sub
expressions are always preferred. - Renamed
Bonsai_web_ui_drag_and_drop.universe
tocreate
- Added
Bonsai_web_ui_drag_and_drop
module for making UIs with drag-and-drop.
- Added
lib/bonsai/web_ui/extendy
, a component for interactively adding and removing components. - Added
Bonsai_web_ui_url_var
, a Var for urls.
- Added
Bonsai.Edge.Poll
, which polls an input variable, and schedules an effect when it changes. - Added
Bonsai.Edge.every
for scheduling events at periodic intervals.
- Added
Bonsai.actor
for communicating between components.
- Added
Bonsai.Edge
for edge triggering computations.
- Added
Bonsai_web.Persistent_var
for defining a Var that saves its contents in either local-storage or session storage.
- Added
Bonsai.Incr
, a module for interacting more directly with the incremental implementation of Bonsai.
- Added
Handle.show_diff
for testing, which prints the diff between the output from the last call toshow
orshow_diff
and the current output.
- Added
Bonsai.state_opt
, like state, but storing an option of a given model.
- Added
Bonsai.lazy
, a function permitting recursive components.
- Only the
Value.t
produced fromLet_syntax.both
are collapsed.
- Added
Value.cutoff
, a function for specifying cutoff to a greater degree than otherwise available.
- Added assoc-optimization and the computation simplifier
- Fixed memory leak in Bonsai.assoc with models not being removed when their values are set back to the default.
- Bonsai Template generator added.
Bonsai.Proc
module added. To read more, check out
this document.
- Model type removed from
('input, 'model, 'result) Bonsai.t
.
- Changelog file created
- Refactored bonsai library to have an incrementally generic interface
- Added
Bonsai.input
andBonsai.model
functions, replacingBonsai.id
- Added
Bonsai.Model.state_machine
- Added "extendable list" example
- Made optimization engine smarter
- Shortened
Bonsai.Project.Model
down toBonsai.Model
- Removed
Bonsai.Incremental.switch
and related modules - Renamed
Bonsai.Incremental
toBonsai.With_incr
- Added
Bonsai.With_incr.value_cutoff