2.2.0 (2021-01-14)
2.1.0 (2020-10-01)
- snoc node (93ae7c8)
2.0.5 (2020-07-29)
- allow html in markdown (3150721)
2.0.4 (2020-07-29)
- form api errors have the correct color (63c0360)
2.0.3 (2020-07-29)
- fixed some docs (Im making this a fix so netlify redeploys (c9ca774)
2.0.2 (2020-07-27)
- you can only delete your own tutorials (429335e)
2.0.1 (2020-07-26)
- removed some old mocks which made stuff broken (64ccec7)
2.0.0 (2020-07-26)
- allow adding uncurries custom functions (769ed15)
- automatically update input counts when they change (d70b1ba)
- canvas is no longer squised when a panel is opened (8944655)
- color everything on load (840736a)
- color the outputs of input nodes as well (d4f759e)
- delete the connection the user clicks on (cf58c65)
- display correct info for if expressions (69a9452)
- do not generate recursive values for testing (3c69895)
- do not move in the opposite direction of the node (3466e25)
- fixed not being to add stuff to main using Enter (eb0f74a)
- fixed some typos and grammar issues (4a825e4)
- hide the examples tab when there is no example availble (607cf59)
- I FINALLY FIXED THIS YAYAYAYAYAYAY (bc479e5)
- let expressions are generalized properly (ac3def6), closes #42
- made negative sqrt null (6f4b54c)
- move nodes on top when clicking on them (5c4dab3)
- no longer overlap node previews (d521165)
- no longer recalculate the mouse target on each mouseMove event (3ed79d1)
- no more labels which should not be there :) (fb3f1cd)
- nodes with no input have backgrounds for the text as well (01a7125)
- now you can create nodes again (99bf113)
- only autosave when necessary (d3f440d)
- only store the data related to NodeGroups in 1 place (5340e17)
- only store user-defined functions in the saved json (ff69c20)
- proper type comparing for tests (41ea651)
- properly evaluating after chaning a value in a modal (a00af31)
- removed some debug logs (bd7612d)
- removed the useless P action I added for debugging (3a537bd)
- rerender previews when types change (5c5d1be)
- save the current function (81d46c0)
- show current number of nodes in project data (167c20b)
- show the on hover effect right when unselecting a node (8f25959)
- text is always on top now (44c8f46)
- the connection preview follows the mouse (e0153cd)
- you can add nodes multiple times now (cf5002c)
- z-order aware node-selection (fca1e7f)
- a basic error panel (ef01390)
- a basic system of returning actions from the ts side to the purs side (8c45ca7)
- a basic visual programming linter (3574486)
- a button for going back while on the projects page (639a155)
- a button for hints in tutorials (3f734c3)
- a typeahead for the solution (de4329c)
- access to new editor states from the tutorial component (ff838d7)
- actual validation for solutions... for real this time (16b5df7)
- actually render the previews to the panel (055f625)
- added a bunch of tooltips (e6dedfb)
- added a way to detect double clicks on nodes (d58ead7)
- added square root node (7a2bd1e)
- align the "go back" button on the projects page with the lists (affe3f1), closes #43
- always have a current function (dce09ad)
- an error for passing null to a function (f8bdf86)
- api integration for tutorials (9d4a985)
- basic connection previews (7906322)
- basic modal system (0420b04)
- basic moving to specific functions when clicking on an errors location (b080eab)
- basic node moving and dragging (f014b13)
- basic output selecting (b61ef6b)
- basic problems panel (50b3962)
- basic settings for project visibility + a page to clone any project (8cbacee), closes #44
- basic tab system (8cb07ef)
- basic ts stuff (d450899)
- basic tutorials page (9536cae)
- basic types for tutorials (db3509e)
- basics of node value prevwieing (d4dd556)
- being able to edit and start tutorials from the projects page (6a0d064)
- better error messages (ebd76f7)
- better expression pretty printing (181f47c)
- better looking input fields (d770be1)
- bubbling actions (7c76005)
- capabilities for working with github gists (eac2b61)
- coloring actually works now:) (54cfe3d)
- completing tutorials (9766b4b)
- connection deleting (a7612d0)
- connection picking (5d68877)
- creating and deleting tutorials and stuff (89306aa)
- creating and rendering connections (9c1bfec)
- ctrl+click to edit node (d834782)
- dead code elimination (7822f1f)
- deleting nodes from the node editing modal (e3545fc)
- deleting tutorials (66ffce0)
- display correct number of inputs when creating a node (a740ee3)
- displaying quickcheck errors (f29ccd2)
- displaying the description of nodes in the node editing modal (5889016)
- displaying type errors for tests (94a7d9f)
- expand inputs to see descriptions (8eadcc2)
- expression optimization (efaba89)
- forgot what I did (63b548f)
- function equality (3836013)
- generic runtime wrapping system (b1b02d2)
- hover animation for outputs (0e608a3)
- hte ability to run actions inside modals (b88cb23)
- implemented a basic node deletion mechanism (6c5493f)
- implemented basic node previweing (129f404)
- implemented moving to the location of errors (76117ce)
- implemented the typescript side of the arc-updating logic (ad64cce)
- input data in the node modals (f429803)
- input field for the gist id used by the tutorial (2e24cd4)
- interpreting now uses closures (637bc8a)
- lazy if expressions (cc3a6d8)
- made a component for node previews (76043e7)
- markdown support in tutorials (96ec89c)
- mocked tutorial data (843cd13)
- modal childSlot system (50e2e71)
- more expressive location system (d868074)
- more work on canvas rendering (7300381)
- more work on detecting what the mouse is over (265a475)
- more work on node creating (22f114f)
- more work on the hover animation for nodes (b1a58d4)
- more work on waffs issue (0786ac6)
- MVP for testing user solutions (2661ab7)
- name rendering (53f27ce)
- new node ui system (bc8cd56)
- no more use of explicit graphs for the function dependency graph (9326983)
- node creating and arc refreshing (ea0e3d0)
- node label rendering (8148255)
- not only editing, but also creating tutorials (31490fe)
- now the type checker continues even after finding the first error (abee9f2)
- on hover animation for inputs (9541f71)
- on hover animation for nodes (6ecdfd5)
- only allowing certain nodes in tutorials (d31c309)
- opening finished tutorials in the playground (20b1faf)
- prettify json in dev (b8340a3)
- properly arrange inputs when previweing a connection (6614c87)
- properly show the value of a node (851f3c3)
- quotes locations in formatting (f756e3b)
- readded the search bar (0b68084)
- recursion works :D (867b7d2)
- redesigned the projects page (eb52c18)
- rendering of inputs for constant nodes (987722a)
- rerender on resize (95d54cd)
- setup a tutorial editor component (6ec4c07)
- show the types of nodes in their modals (fded7a6)
- show the value preview for all nodes (4b78718)
- show warnings in the problems tab (0369f55)
- show what can and what cannot be connected (1a95420)
- showing the runtime overwrites (1784185)
- sketched out the ManageTutorials typeclass (ce79ab0)
- some work on removing wrong previews (aac178c)
- something way too simple I spent way too much time on (08da6f9)
- super good warning formatting (634e0b9)
- system for generating native expressions from purescript values (c26b69b)
- system of getting types from purescript values (e9549f5)
- tab selecting (310e460)
- text backgrounds (9fbd42f)
- the ability to edit nodes by right clicking on them (8d431ef)
- the icon of the probelms tab has different colors depening on the project status (e5f34f9)
- The lookup array node (0b34787), closes #41
- the lunarbox logo in the editor leads back to the home page (5037d9a)
- the renderer can now handle nodes with no output (a008340)
- tutorial component wich sets up all the data (bf7fa8d)
- tutorial slides rendering (337c095)
- tutorial validation (0f0d9e4)
- typeahead for selectnig what project a tutorial is based on (638c800)
- unselect pins (f3350fb), closes #40
- updated the arc positioning algorithm to place all the arcs on the minimum amount of layers (abd9208)
- very basic geometryCache saving / loading (2332ad2)
- very basic input rendering (b1419af)
- removed unnecessary reevualating (ac02737)
- the save structure stores the current function directly instead of a Maybe.
1.16.2 (2020-05-08)
- removed extra / from prod api link (a2a2b00)
1.16.1 (2020-05-08)
- correct api prod url (1e9b960)
1.16.0 (2020-05-08)
- display admin settings when logged in as an admin (8f6236f)
- no more autosaving while editing the name (e411706)
- autosave (b8dfcf0)
- better projects page on smaller windows (273a2d6)
- cloning examples (53c0d5e)
- error page (3f4d086)
- loading animation (fe79bdb)
- more array nodes (eefcd52)
- more array nodes (29aec1e)
- project deleting (bbd0531)
1.15.0 (2020-05-07)
- clean up dependency graph when deleting nodes (09c30c8)
- fixed function level dependency cycles when adding nodes from the search bar (098ebe4)
- added a favicon and an icon in the left bottom corner of the editor (25cbc8f)
- descriptions for all the nodes (16e0d8d)
- display pin descriptions (98b1721)
- even more keyboard shortcuts (824ec32)
- getting the project list from the api (f7c6ddd)
- int id instead of strnig (c8226c5)
- loading projects from the api (1197273)
- more keybindings for the add nodes input (2d95dee)
- more math nodes (2fbdd20)
- node deleting (fcdce2b)
- project creating (65f683b)
- spawn output nodes in the middle of the screen (00b4ce2)
1.14.0 (2020-05-06)
- fixed a tiny bug which made it so you had to double click to remove connections (9a79ea6)
- no longer require double clicking on stuff to connect it at times (c096c97)
- take as much space as possible for ndoe data on the Add panel (579e04f)
- basic arrays (3147e40)
- better array printing (3b338db)
- better home page (e22cb3f)
- node searching (3fa00f3)
- nodes for comparing (2879712)
- removed useless literal expressions (2f5d480)
- require auth for some routes (4a74cc4)
- typed holes (5efa777)
1.13.0 (2020-05-06)
- fixed opening a second project without refreshing breaking the svg (b347d0a)
- now the cursor is set to text on all inputs (79e35fb)
- basic projects page component (a61e83b)
- clamped zooming (66fce14)
- function level cycle prevention (e968b90)
- in function cycle prevention (31e811d)
- inputs names on hover (af3afc2)
- modified the editor state encoding and decoding to better fit the api (33a3d24)
- only be able to connect pins of correct types (0f519e7)
- project saving (ac79b53)
- project searching (7b82511)
- same for outputs (333f72d)
- see node output on hover (545bf65)
- setting the names and example status of projects (7cbb25f)
- settings page (8fc1b42)
- some logic related to loading any Project (601f8b7)
- some styling on the projects page (c64ef9f)
- visually show what inputs cant be connected (b0a8d83)
1.12.0 (2020-05-02)
- fixed a giant bug in the type inference algorithm - now generaliation works properly (8c2287a)
- fixed page reloading on any form (ddb3dfd)
- fixed purescript code not starting on load (3c13fba)
- fixed type-inference for let-bindings (2aff9a8)
- no longer display nulls (04d9cbb)
- now the connection offset to the result doesn't apply on the mouse as well (c26b927)
- the editor now resizes properly (6ffdf73)
- added a basic camera structure (7d628c2)
- adding inputs (49c0206)
- basic cameras (5a25864)
- basic json encoding / decoding (59c7477)
- better validation for passwords (aa32738)
- currying (d6fabec)
- custom inputs (6145448)
- do not navigate to a login or register form when logged in (692eec6)
- fixed some routing problems and created more:( (138419f)
- interpret some stuff as fixpoints (037361f)
- logging in (ae5b50b)
- logging in with the actual api (4187da3)
- login form (9d78177)
- more function based nodes and fixed some visual bugs (893bc94)
- nodes are added to the center of the screen (a584cdb)
- not showing the expression on top of nodes anymore (e0beddc)
- now you can see the entire type on top of ndoes, not only the output (99773aa)
- number helpers (23f10a3)
- number node (cd0937d)
- pannig (944383c)
- pushing nodes on top when dragging (3fd3f96)
- register form (82577c2)
- saving of runtime overwrites (993203d)
- showing types using arrows (ae7eaef)
- some logic for logging in (9333b9d)
- string helpers (4ea7244)
- string node (dbe2d96)
- styled number nodes (9be4a89)
- styled scrollbars and adding inputs (da9182d)
- the entry file is now written in typescript (186eedf)
- trim node (2699c62)
- use the right cursor for nodes and stuff (88062d0)
- very basic login form (e055281)
- very basic user stuff (9c52ca3)
- zooming (640b8f2)
- floor everything (7a7f7f4)
1.11.0 (2020-04-28)
- a few performance optimizations and fixed some values not changing (45c1280)
- fixed overflow issues with long function names (67427b3)
- fixed overflow scrolling issues for too many functions in the tree view (ebb0f5c)
- fixed overflow scrolling issues on the add page (7b6306a)
- now the switch component is in state with the runtime value overwrites (01ad12a)
- the switch component now syncs with the state (cbf8da7)
- ctrl+b to togglet the panel on the left (9bb6d22)
- custom node-specific ui (d7c008d)
- doing some cleanup when replacing a connection (2ad6b28)
- logic for node deleting (c5376a5)
- logic gates (085a33a)
- node deleting (219de5a)
- some ffi code to allow using mausetrap-ts from purescript (ef9b848)
- types for function uis (71e3477)
1.10.0 (2020-04-27)
- fixed bugs in the runtime (54fc101)
- now its a tiny bit easier to connect stuff (d7913b8)
- now new functions start with an output node (3576566)
- now yuo can move stuff without creating connections (756a0d5)
- working topological sorting (3c5baab)
- 3 new native functions exposed: identity, const and pipe (ee9bf09)
- connection preview for everything (1d5b02e)
- connection prview for outputs (bd70211)
- connection removing (75164b7)
- executing... kinda (ec3f979)
- interpreting (e5bc256)
- polished connection previews (9e5cabe)
- scale the connections on hover (3083044)
- the Interpreter monad (677b96a)
- the logic of edge removing (f07c32d)
- types for everything runtime related (b4caf0b)
1.9.0 (2020-04-26)
- fixed the fillWith function always returning stuff aligned with the y axis (ac4916a)
- now the connected node inputs rotate towards the output (1cd4655)
1.8.0 (2020-04-23)
- A function to add a connection to a state (9e0a425)
- basic types and stuff for PartialConnections (f3f8fbf)
- CONNECTIONS!!! (e7fd0dc)
- display the types on the Add panel (c500728)
- experimental connections (f95e1ef)
- expression optimization (57e4175)
- instead of increasing the radius of node inputs now I increase the stroke-width (9ea094d)
- making node inputs bigger on hover (6604ff1)
- pretty printing of expressions (410cb4b)
- scaling of outputs on hover (825dd81)
- syntax highlighting everywhere!!! (and fixed wrong output types) (02070b4)
- type syntax highlighting (c669772)
1.7.0 (2020-04-22)
- correct linecaping for nodes without inputs (7bdb410)
- FINALLY FIXED TYPES NOT APPEARING ON TOP OF NODES (b0bf340)
- fixed compilaion results only containing output nodes (a38790a)
- fixed infinite recursion when detecting an intersection (a03ecd7)
- fixed partial initial loading of native functions (84b7335)
- fixed some input pins having the wrong color (44e4f1e)
- fixed some random problems with node compiling (81cf7fd)
- for now unkown colors just become gray (01f01cd)
- now you can drag nodes even from the empty spaces between input arcs (5e24521)
- removed debug logs (804b101)
- arc overlapping solver (4cab578)
- colored node inputs (f8f2809)
- colored outputs (eddd2b3)
- colored types on the Add panel (364ce5b)
- display errors with a nice illustration (97cd0fc)
- dotted lines (77ca8d7)
- empty space filling alg for arcs on a circle (67e37a6)
- free type variable finding for the Scene component (7b934df)
- got dnd back (b4c0bc9)
- helper to draw chords (26abe47)
- only compile when necessary (ca719cc)
- random colors for unkown types (cbdedf0)
- rendering for node inputs! (e505b1d)
- some more coloring stuff (2ff7081)
- started work on pin locations (c6a1747)
- type prettifying (0996d07)
1.6.0 (2020-04-04)
- Chain expressions, and fixed all functions having the Null type (ebfa5c9)
- the Nowhere location lol (d05e5dc)
1.5.0 (2020-04-02)
- fixed 50+ bugs caused by the addition of the location system (6e86b30)
- fixed all the remaining bugs caused by the refactoring (bd05eb6)
- fixed the Infer module not exporting runInfer (696c1b5)
- now the current funciton appears in the tree view as well (662a4a4)
- now the Infer monad uses the new Constraint module (74af345)
- added the Unifier module and derived a bunch of eq instances (0a6664c)
- automatically infer the number of inputs for native expressions (8d27f51)
- created the Solve monad (f4e5fb4)
- displaying types for nodes above the nodes (b58d4b0)
- finally combined the constraint solver with the type inference algorithm! (05f836e)
- lenses for the Infer monad related types (dac26d6)
- nativeConfigs can specify how much to curry, not visual yet (084bfe5)
- now constraints keep a reference to the location they were emited from (c8de391)
- only the code specific to each node is displayed on top of it (63c9a70)
- reimplemented unification of types (3eaba72)
- Reworked a lot of stuff to allow locations! (68952d3)
- reworked some node ui (617fdce)
- reworked the expression inference algorithm (eac02b3)
- running the Infer monad (09cff84)
- the expression of each node is displayed above it (e156500)
- the Infer monad now support a location (73b8148)
- typeMaps!!! (4f73f39)
- working locations inside expressions:) FINALLY!!! (3914234)
- wrote the constraint solver! (caaef5d)
1.4.1 (2020-03-30)
- adding new nodes now doesn't mess up the z-ordering anymore (16b1941)
- fixed selectable images and icons (0bb78bb)
- now theres no on-hover hilighting on non-usable icons (59ff8be)
- now you cannot edit something you are already editing (dafd108)
1.4.0 (2020-03-29)
- now the native functions don't appear in the tree view anymore (2096046)
- finally added a decent Native & Runtime system, and as a demo an add node is preloaded! (a07fd62)
- given the Node component access the the FunctionData record (596d26e)
1.3.0 (2020-03-28)
- the stuff on the add node panel now actually works! (421e1b8)
1.2.0 (2020-03-25)
- fixed everything related to switching to the new graph module (4900c5f)
- a basic Add page (5e34b2c)
- my own graph implementation so I can use lenses on it (034fcdd)
- POC custom textures (8b35099)
- the edit button on the Add page works now! (2662986)
1.1.0 (2020-03-23)
- moved everything related to not editing anything in the Editor component (163f7fa)
- now the state of each function is saved when changing functions (cc07c60)
- some more work on the node component (c2e6420)
- the node part of the dnd system (19a8e40)
- the nodes are now unselected when you mouseup, bet you didn't expect that:) (306d6d6)
- working darg and drop! (bbdc293)
- wrote lesnes for the Project module (a2c9e1e)
1.0.1 (2020-03-18)
- now the page finally renders (or at least I hope so) (d96c0c3)
- fixed incorrect pnpm config call in the github action and gave the action a better name (d71cb4f)
- fixed the focus issues and deleted text still appearing in function names, also added some comments (412255e)
- now you can't create duplicate functions (5d1cd49)
- a bunch of css imporvements and some basic validation of the function names (7176e70)
- added a basic editor sidebar (3555659)
- added the emptyEdtiro static component (c7c65f0)
- basic visual function creating (e624183)
- basics of the web stuff and routing (982eea8)
- basics of typing (143dac7)
- better styling for vaildation (2bd3880)
- cancel function creation when clicking outside the input box (63b9338)
- current function highlighting (1b0aa78)
- did some works on Projects (edcc26a)
- finsihed the type inferring stuff (5b93c1b)
- more work on Project->Expression converting (febcaee)
- more work on the home page (a9caf4c)
- native expressions (0f29aa8)
- new functions are now added to the graph and can be "edited" (52bcdb5)
- only cancel on input blurs if the config says so (e796247)
- persistent selections (0d854c1)
- POC Expression codegen for debugging purpouses (8874b2e)
- validation for empty function names (f9f377f)