The Node Menu, Visual Code and the Text Console now interact with each other more. Hovering a field in the Node Menu will highlight relevant portions of the Text Console and the Visual Code. Hovering portions of the Text Console will point to references and definitions within the Text Console. Hovering code in the Text Console which is defined outside the code shows a tooltip explaining the source. Priority now is to add function call depth control and the ability to define/control function-type parameters in the Node Menu UI. Hovering code in the Text Console may be improved to highlight the Visual Code in a future update.
Improved the color scheme. This was necessary to allow better and more varied highlighting of text and node components, which enables the better user feedback for interactions. Added tooltips for icons and to view functions referenced in the output console. This was needed in order to properly display the call stack for errors. Node menu is still in progress.
Added the support to handle function call depths greater than 1 in the visual code. Parameters can now be functions in the visual code. Fixed the annoyingly long repaint speed. Fixed variable scoping and made improvements which will allow for a better text console experience which will come soon. Node menu is being reworked to lead the user to the next action and gives useful more feedback on what is going to change with each action. Priority of actions is to finish the rework of the node menu, rework the text console, add stepwise evaluation and then to integrate a tutorial.
Fixed bugs related to how parameters are assigned to functions in the visual code. Improved the feature that allowed the user to name their functions. Fixed bug where the scope of variables wasn't determined correctly in the text console. Added dotted tail notation. Also fixed bugs related to functions that return functions.
Can now define variables within other variables in the visual code, rather than forcing the user to use let nodes. Fixed how variables defined as functions by let nodes appear in the visual code.
Added a default "Sync Mode" which would tie the text in the text console to the visual code on the visual workspace. Added a recursive function node. Added a new graphic to handle case, cond and let/let*/letrec statements. Added information panel which describes functions when nodes or other interactables are hovered over. User defined functions will automatically generate a description using AI. Focus in the short to medium term will be directed towards building tutorials both to build a saleable product and as a way to find and eliminate bugs from this major change.
Fixed a bug where the console would treat cursor navigation as though there were suggestions when suggestions were hidden. Added code to navigate a fake mouse to do actions in the code. This is not publicly accessible, but will eventually be used to allow users to make custom tutorials. There is also a new hidden "sync mode" which coordinates the visual and text based code and highlights text based on the selected expression node. This will be used in tutorials and will hopefully be added as a usable mode in the near future.
Fixed bug where Convert to Code failed to correctly convert code with zero parameter lambda nodes. Improved accept-own-data to ignore messages sent for the same window.
The log out button was fixed. Also removed unneccesary requests to improve load times.
Fixed numerous compatibiilty issues with FireFox. Aligned the text and cursor better. Accounted for differences in event handling between browsers. Also made general improvements to how Ctrl + A, Home, and End were handled Fixed deletion related bugs due to the code losing track of the text caret. Removed flickering on suggested text in cases where left or right arrows are used. Reduced flickering for all other events. Console now makes far fewer calls to the DOM which should increase responsiveness. Added wavy underline effect to unknown/misspelled variables and arguments over the maximum number of arguments. All variables outside of define and lambda definitions now get the suggestion dropdown rather than just the first variable of each s-expression. Suggestion dropdown can now show values which are defined in the current expression. Suggestion dropdown text now lines up with text in the console.
The text console no longer desyncs on consecutive quotes('), fails to delete large amounts of text and randomly eats double quote(") or parenthesis when pasting large portions of text. Also made a bunch of general improvements. Improved suggestions for define and lambda. Changed the key to autocomplete on "tab" instead of "enter" based on user feedback. Added highlighted text to console to indicate mismatched parenthesis and made general changes to the console color scheme. May expand this to handle other errors in the future. The console is pretty much in a good place at this point. Future short-term debugging efforts will be centered on cross-browser issues and the janky cursor position.
Changed canvas related functions to have the width parameter before the height parameter. Added accept-own-data and filter-own-data functions to manage how data sent by self is handled by the browser.
Fixed bug where visual nodes with mimimum parameters but unbounded maximum parameters weren't displaying all parameters and were displaying required parameters as optional. Added new videos about recursion and set timeout.
Added documentation for event types, shapes and attributes. Added new types of events, shapes and attributes. Added support of SVG commands for paths. Updated the UI section of the visual code menu.
Fixed bug where saved expressions with set! failed to load on startup. Added videos to the tutorial.
Added five Battlecircles related videos. Fixed a bug with the order parameters menu.
New video module specific to Syntax Helper features were added. More videos were added in general. Added changes to reduce spam on our site and forum. Canvases are now removed by clicking the red button rather than by clicking on the film behind the canvas to fix usability issues.
Output console now logs set! as a side effect. Fixed a bug where the user variables navigation menu was unexpectedly popping up. Also added set! and begin to the UI section of the variable menu.
Tutorial video selection now marks the active video. Minor improvements to the sites vocabulary consistency. Fixed layout error for mobile users using the tutorial page.
The landing page has been updated. It now allows the user to view tutorials on the home site, visit the forum, give feedback, view release notes and see upcoming changes. There is now a forum to discuss projects and lesson plans involving the app. Updated icons and graphics in the Syntax Helper app to appear more modern.
Added initial support for event handling, timers, network calls and graphics. Currently the click event can be handled. Available graphics include circles, rectangles and text. This was done to support our new tutorial series which will have the user build a simple online multiplayer game. Expect more event handling functionality and graphics support to be added over time. Improvements were also made to how the output console displays information about side effects.
Fixed issues with the console in Firefox. Landing page should now be more responsive to user agents screen size. Fixed bugs related to overwriting functions and saving functions with the same name as previously deleted functions. Added a general feedback form rather than a form specifically for bugs. In response to user feedback the tutorial videos will be redone so that the instruction contained within them is related to a larger overarching goal. Jury is out on what that will be.
While recording videos we realized the vocabulary being used on the site was somewhat inconsistent. Some button labels have been altered.
Syntax Helper is now online and is being tested by the community. Sample tutorial videos are being produced to be used in conjunction with the app.