Skip to content
This repository has been archived by the owner on Mar 4, 2024. It is now read-only.

Latest commit

 

History

History
652 lines (485 loc) · 62.1 KB

CHANGELOG.md

File metadata and controls

652 lines (485 loc) · 62.1 KB

2.2.0 (2021-01-14)

Features

  • pair-related helpers (abc5002)
  • pairs & runtime defaulting system (c57802a)

2.1.0 (2020-10-01)

Features

2.0.5 (2020-07-29)

Bug Fixes

2.0.4 (2020-07-29)

Bug Fixes

  • form api errors have the correct color (63c0360)

2.0.3 (2020-07-29)

Bug Fixes

  • fixed some docs (Im making this a fix so netlify redeploys (c9ca774)

2.0.2 (2020-07-27)

Bug Fixes

  • you can only delete your own tutorials (429335e)

2.0.1 (2020-07-26)

Bug Fixes

  • removed some old mocks which made stuff broken (64ccec7)

2.0.0 (2020-07-26)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

  • removed unnecessary reevualating (ac02737)

BREAKING CHANGES

  • the save structure stores the current function directly instead of a Maybe.

1.16.2 (2020-05-08)

Bug Fixes

  • removed extra / from prod api link (a2a2b00)

1.16.1 (2020-05-08)

Bug Fixes

1.16.0 (2020-05-08)

Bug Fixes

  • display admin settings when logged in as an admin (8f6236f)
  • no more autosaving while editing the name (e411706)

Features

1.15.0 (2020-05-07)

Bug Fixes

  • clean up dependency graph when deleting nodes (09c30c8)
  • fixed function level dependency cycles when adding nodes from the search bar (098ebe4)

Features

  • 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)

Bug Fixes

  • 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)

Features

1.13.0 (2020-05-06)

Bug Fixes

  • fixed opening a second project without refreshing breaking the svg (b347d0a)
  • now the cursor is set to text on all inputs (79e35fb)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

1.11.0 (2020-04-28)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

  • do not requery the dom for the scene every render (55ec7c4)
  • some more optimizations (5c33543)

1.10.0 (2020-04-27)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • fixed the fillWith function always returning stuff aligned with the y axis (ac4916a)
  • now the connected node inputs rotate towards the output (1cd4655)

Features

1.8.0 (2020-04-23)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Features

  • Chain expressions, and fixed all functions having the Null type (ebfa5c9)
  • the Nowhere location lol (d05e5dc)

1.5.0 (2020-04-02)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • now the native functions don't appear in the tree view anymore (2096046)

Features

  • 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)

Features

  • the stuff on the add node panel now actually works! (421e1b8)

1.2.0 (2020-03-25)

Bug Fixes

  • fixed everything related to switching to the new graph module (4900c5f)

Features

  • 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)

Features

  • 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)

Bug Fixes

  • now the page finally renders (or at least I hope so) (d96c0c3)

1.0.0 (2020-03-18)

Bug Fixes

  • 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)

Features

  • 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)