Skip to content

Graspable Math Change Log

Erik Weitnauer edited this page Jun 22, 2018 · 20 revisions

Release 2.6.6 (June 2018)

  • fixes factoring bug (happened in x+1/x, when dragging the x in the denominator onto the other x)
  • don't extend fractions via dragging when the denominator already includes the term (In 1/2 + 1/3, allow dragging 2 onto 1/3 to get 1/2 + 2/(2*3), but don't allow dragging the two in 1/2 + 1/2)

Release 2.6.5 (May 2018)

  • Google Classroom fix: don't break when picking a course without any students enrolled

Release 2.6.4 (May 2018)

  • remove gm-auth-token in localStorage in a cleaner way

Release 2.6.3 (April 2018)

  • Added Google Classroom Integration help menu entry.

Release 2.6.2 (March 2018)

  • Added canvas option to disable share menu tab.

Release 2.6.1 (March 2018)

  • Fixes a file loading bug with the add-sub resolve cases action.

Release 2.6.0 (March 2018)

Google Classroom Integration

  • added JWT based authorization including session management via localStorage
  • user class now handles login through client-side Google API
  • share menu has a Google Classroom option now
  • index-dev.html now handles login and logout logic – much better debugging environment!
  • fixed bug that would ignore custom_login_method option
  • work on rending a footer for GC info on the canvas
  • fixed display of math sheet owner in title
  • Canvas.save() now takes an option object as first parameter that can contain a ‘transferOwnership’ and a ‘clone’ field
  • replace "reset button" with "new sheet" button
  • rewrite URL on duplicate and load
  • fixed getURLParameter() bug
  • new helper method getAllURLParameters()
  • standard login method is now via google client script

...

Release 2.1.5

  • added eval_to_real option to termsToAlgebriteString() method and integers_as_reals option to AlgebraModel.to_ascii() method
  • don't throw an exception when rendering an empty AlgebraModel

Release 2.1.4

  • update to latest version of geom-tiny.js
  • fixed bug that prevented loading of math sheets with geogebra components in firefox

Release 2.1.3

  • fixes bug that would size the derivation handles incorrectly
  • preselect expression in keyboard on shake to rewrite so that typing will replace the current expression
  • the rubberband selection of terms is back!

Release 2.1.2

  • fixed loading priorities of canvas user mode options
  • fixed positioning of svgs layers in canvas
  • fixed settings menu bug when no preset is active
  • added new gmath option: gmath.options.actions.allow_non_equivalent_keyboard_rewrite

Release 2.1.1

  • new help menu entry for the user modes

Release 2.1.0

Introducing modes and a settings menu with the following effects:

  • exploration mode: show trigger hints, show destination hints, show action names
  • presentation mode: show destination hints
  • work mode: auto-trigger actions on hover

Other changes

  • allow user left- or right-multiply when distributing a factor
  • closing the keyboard when loading a file

Release 2.0.3

  • change to transform mode after inserting a derivation
  • better visualization of term traces on subscripts
  • adjusted how GGB elements get highlighted
  • derivation row handles scale with the font size now
  • API: AlgebraView option use_arithmetic_multiplication_symbol

Release 2.0.2

  • new gmath.options.use_arithmetic_multiplication_sym setting is working now and is set to false by default

Release 2.0.1

  • fixes problem with automatic simplification after actions not being triggered
  • skip & limit for data retrieval API
  • global option to change multiplication operator symbol gmath.options.use_arithmetic_multiplication_sym
  • don't init video dialog if there is no toolbar
  • fix bug with removing a derivation while the user is interacting with it

Release 2.0.0

API changes:

  • new Canvas option for a custom login method (custom_login_method) used by the load, save, and share menu
  • new timing options in AlgebraView: trigger_delay_minimum (in ms) and trigger_delay_factor
  • new methods to insert static AlgebraViews outside of a gm canvas and to rescale existing AlgebraViews:
    • AlgebraView.createStaticExpression(container, expression, options)
    • AlgebraView.prototype.scaleToSize(options)
    • AlgebraView.prototype.scaleToContainer(options)
  • new load and save API for the canvas:
    • Canvas.prototype.save(callback)
    • Canvas.prototype.toJSON()
    • Canvas.prototype.loadFromFile(file_id, clearCanvas, callback)
    • Canvas.prototype.loadFromJSON(json, clearCanvas, callback)
    • Canvas.prototype.{un}archiveFile(meta_data, callback)

Interface & math changes:

  • trigger any action on release
  • slower animations
  • divisions with integer vs. non-integer results now have different priorities
  • require a double tap to turn an fraction into a real number
  • fixed a keyboard display bug in Firefox
  • brought back the load material button for GeoGebra panels
  • option to append a loaded file to the bottom of the current file

General changes:

  • more stability and automatic error reporting through added try-catch blocks

Release 1.1.2

  • new gmath.Canvas() does not change the styling of the passed container anymore
  • fix load option priority for gmath.Canvas.createFromSaveId() so that passed options overwrite the savefile options

Release 1.1.1

  • updated help menu
  • don't overwrite local sharing, loading and saving toolbar options when loading a save file

Release 1.1.0

  • new save, load, and share menu that is bound to user logins image
  • fixes a freezing bug on picking up certain terms in equations
  • changed API: you can no longer pass an save_id as the last parameter of the gmath.Canvas() constructor. Instead, call the new gmath.Canvas.createFromSaveId(save_id, container, options, callback) method
  • new methods AlgebraModel.areTheSame() and AlgebraModel.prototype.isTheSameAs()

Release 1.0.1

  • back to simpler & more reliable node-map strategy for keyboard rewriting of expressions
  • help menu highlights new entries
  • adjusting volume for video instructions
  • fixes bug with inserting textboxes
  • fixes newly introduced help menu bug

Release 1.0.0

  • improvements to trigger areas for many actions
  • new, improved commuting behavior; it is now much easier to choose whether to commute or combine terms in a product or sum
  • show multiple terms traces at the same time; select additional starting terms with shift+click or by holding with one finger and tapping with a second finger image
  • tapping on the canvas background or pressing ESC clears all term traces
  • fixed first-line-edit action
  • updated the help menu
  • hide/show and resize the GGB side panel
  • hide/show the GGB toolbar image
  • new selection method on touchscreens replacing rubber-banding: while dragging terms, tap additional terms to select them image
  • fixed undo/redo for no-change action sequences
  • fixed how we treat splitting negative factors in roots: introduce restraints when potentially negative
  • fix for substitution where sometimes not all targets would get substituted
  • saving & loading now saves and restores the selected canvas mode
  • slightly increased micro-delays to avoid accidental triggering of actions
  • flipping normal terms like x into 1/x^-1 with a gesture is disabled by default now: it was too easy to trigger and is very rarely used; the gesture still works for power expressions like x^2
  • fixed positioning bug with canvas notices
  • rewriting with keyboard will make guesses about the link structure now; e.g. replacing bx with a* (bx)/a will link the b to the b and the x to the x now
  • fixed an issue with multiple touches in erase mode

Release 0.16.1

  • fixes a newly introduced problem with replays

Release 0.16.0

  • no unnecessary repositioning when dragging nodes to the very left or right of an expression
  • fixed issues with several keyboards being up at once or interfering with each other
  • new "long var" key on the keyboard that supports multi-letter variable names
  • fixed an issue with linking the same object across multiple geogebra elements
  • fixes an issue with substituting into subscripted variables
  • the homework menu now includes the chapter and problem number in the problem text
  • fixes an issue where entering a non-parsable expression on the keyboard would create an empty element on the canvas
  • only allow substituting when a single node range is selected
  • can click on placeholders now to fill in a value; keyboard approves any replacement for a placeholder
  • fixed race condition during loading that sometimes affected the layout of url-based equations
  • improved term tracing when rewriting expressions with the keyboard
  • improved action target boxes for commute actions on fractions
  • the left-most and right-most action target boxes are increased less in their size than before, fixing interference with substitution and unintended action triggering
  • improved target boxes for pulling factors or addends off a numerator
  • don't trigger shake actions if too far away from the expression

Release 0.15.3

  • GM supports placeholders now 🎉 They look like this: ⬚
    placeholders are supposed to be used as targets for term-substitution similar to variables, but any placeholder is potentially different from any other placeholder, so you can't add ⬚+⬚ to get 2*⬚
  • highlight all targets before the substitution is triggered
  • don't require slowing down dragging to trigger re-selection actions
  • fixed a bug that prevented updating changes across multiple GGB windows
  • fixed a bug that broke scrubbing a substitution source from negative to positive values

Release 0.15.2

  • fixes bug that prevented actions from triggering

Release 0.15.1

  • 🎉🎉 new substitution method that allows dragging of substitutes directly onto other terms
  • derivations get moved to the top in their z-order on hovering or selection
  • all actions have a micro-delay now
  • actions are prevented from triggering when the nodes are dragged too far from the derivation
  • temporarily disabled combine-equations action

Release 0.14.4

  • more flexible parsing of latex expressions
  • fixed loading & saving issue affecting the fraction expand action
  • show a notice if parsing a drag-n-drop latex expression fails
  • allow drawing multiple paths at once on multi-touch devices
  • fixed issue with undoing number scrubbing
  • numbers and the indicator dot only move up above the finger on small touch screens now
  • using bootstrap alert css for canvas notifications now
  • fixed term tracing issue with abs-value-relation action
  • fixes issue with term traces after undo-redo sequence
  • fixed logging of abs-value-relation action
  • fixed wiggling animation of terms for the tutorials
  • fixed compatibility issue with browsers not supporting Number.isInteger
  • added new Canvas option disable_notifications

Release 0.14.3

  • horizontal movement during scrubbing changes scrubbing precision

Release 0.14.2

  • fix: now saving & loading deleted algebra models if they are still referenced in substitution actions

Release 0.14.1

  • fixes term traces for clone action
  • added video on adding fractions to the help menu
  • fixed failing test cases; more efficient action selection in as-operator
  • fixed video dialog behavior when loading a new canvas
  • updated help menu width

Release 0.14.0

  • new action that resolves absolute values in equations and inequalities into two equations / inequalities
  • improved rendering of exponents, they are closer to the base now
  • extending fractions now works for non-fraction targets, too (e.g. pulling the 2 in 1/2 + 3 onto the 3)
  • logging options of derivations on creation
  • briefly pause at the end of videos in the video dialog
  • fixed Algebrite bug that prevented rewriting of negative fractions with the keyboard
  • it is now always possible to pull fractions out of a denominator, including when the numerator is 1
  • fixed parsing and rewriting of absolute value expressions on the keyboard
  • fixed an inconsistency in the move-into-brackets action (e.g., you can now move x to turn 2*x*((2+3)) into 2*(x*(2+3)))
  • stop action timeouts on extending the selection (e.g. with spacebar)
  • fix: don't pass through inequalities when searching parents terms for tap action targets
  • fix: only reset math expressions linked to GeoGebra if they actually changed in an interaction

Release 0.13.8

  • fixes rendering issues with term traces (moves them behind the math symbols)

Release 0.13.7

  • new derivation.row_events.dbltap event

Release 0.13.6

  • better support for older browsers that require a -webkit- prefix for the transform css style and don't support Array.find and Array.findIndex

Release 0.13.5

  • place paths in front of all other canvas elements
  • fixes incompatibility with older browsers (don't use Array.keys())

Release 0.13.4

  • fixed rendering issue with chained actions affecting factoring

Release 0.13.3

  • new gestures to add fractions with different denominators
  • fixes issue with rewriting inequalities on the keyboard
  • option to turning term traces across derivations on and off
  • added play buttons for demo videos inside the homework menu
  • don't show related videos after playback in the video dialog
  • improved UI of the email tab in the share menu
  • smarter positioning of elements inserted via the insert-menu
  • smarter behavior of the spacebar to select more nodes
  • fixed issue with rewriting expressions with greek letters on the keyboard
  • added absolute value button to the keyboard
  • fixed issue with parsing absolute value brackets
  • the gesture to move a term out of a denominator has a micro delay now

Release 0.13.2

  • fixed undoing the insertion of images, elements from the insert menu, and paths
  • fixed loading & scrubbing for id-actions (like loading 1*x or scrubbing the 1 in 1*2)

Release 0.13.1

  • fixes bug in term tracing

Release 0.13.0

  • new semantics-based animations 🎉
  • fixed many previous animation bugs
  • html instead of svg based math rendering, which is faster and more compatible across browsers
  • improved term tracing: works across derivations
  • on touch devices, dragged nodes are moved up so they aren't hidden by the finger
  • fixed CanvasImage resizing bug
  • improved term traces for several actions
  • fixed bug with keyboard rewrite when turning a subtracted term into a product
  • improved layout: more space after subscripts
  • new system to ensure backwards compatibility with old save files
  • fixed video dialog bug
  • mark the elements that were just created via the insert menu
  • fixed slow scrolling bug on touch devices

Release 0.12.14

  • support for parsing more latex expressions as found on wikipedia
  • fixed parsing bug with numbers multiplication without multiplication signs

Release 0.12.13

  • fix: make sure we capture keyboard events when GM runs in an iframe
  • fix: correctly log gmath version in save files
  • API addition: new canvas option content_min_width: specifies the minimum width of the canvas content area

Release 0.12.12

  • external links for help pages + customization via gmath.getHelpEntries()

Release 0.12.11

  • fixed several bugs in MathXL sidebar (eweitnauer/gm-apps#513)
  • save student work in MathXL sidebar
  • improved target areas for moving addends across the equal sign (eweitnauer/gm-apps#505)
  • updated embed snippet for share menu
  • don't show action indicator for delays <150ms
  • new save file and classroom API methods for the logging server
  • hide native keyboard on touch devices (eweitnauer/gm-apps#514)
  • new elements are inserted at the center of the canvas; insert menu does not prompt for location anymore
  • fixed loading of several ggb elements at once
  • new help menu entry for working with negative numbers
  • added submit menu to the canvas (asks for student name and classroom code)
  • fix for submit dialog: restricted save file locations to unstable, stable, and mac

Release 0.12.10

  • more robust scrubbing for actions AddSubNumbers, DragSplitNegatives, FactoringCommonTerms, FractionCancelTermsAction
  • only show term traces from one derivation at a time
  • fixed polynomial expansion issue (eweitnauer/gm-apps#515) and DivideRationalNumbersAction bug
  • "load material" button for GGB element
  • better handling of functions in ggb-panel
  • keep more of the initial options when loading a saved canvas state
  • highlight entries in GGB panel on hover
  • fixes css-overflow property of canvas when the toolbar is disabled

Release 0.12.9

  • fixed loading of all action types
  • line mappings are drawn for terms with subscripts
  • renamed action polynomialExpansionAction to PolynomialExpansionAction
  • renamed action combineStackedExponentsUpAction to CombineStackedExponentsUpAction
  • ggb elements are highlighted when inspecting a derivation term

Release 0.12.8

  • fixed loading bug affecting scrubbing of substitutions

Release 0.12.7

  • refactored homework problems - load on menu click and once per page
  • Canvas option for showing help on load
  • fixed "done" button in help dialogs
  • own file for absolute value class
  • to_latex method for Brackets and AbsVal (use \left and \right)
  • restricted a-a action cases (eweitnauer/gm-apps#503)
  • fixed cancelling bug on tap (eweitnauer/gm-apps#500)
  • automatically extend canvas vertically size to include newly created elements

Release 0.12.6

  • new actions for dragging to break into and out of brackets
  • new action: a-a now turns into 0 for any expression a (eweitnauer/gm-apps#448)
  • for all keyboard actions, the derivation is scrolled into view and edited terms are highlighted (eweitnauer/gm-apps#464)
  • a video dialog can be shown after some time of inactivity
  • derivations are automatically kept in the visible area after substitution and rewriting (eweitnauer/gm-apps#468, eweitnauer/gm-apps#427)
  • simplified language of keyboard notices
  • fixed: DL Font Sizes are not saved/loaded correctly (eweitnauer/gm-apps#480)
  • fixed: passing through any number of signs when moving a factor into or out of a fraction (eweitnauer/gm-apps#473)
  • fixed: crash on saving inequality fountain actions
  • fixed: crash on empty or unchanged keyboard input in keyboard actions (eweitnauer/gm-apps#485, eweitnauer/gm-apps#489)
  • fixed bug in help dialogs after loading a saved canvas
  • API update: use canvas.model.on() instead of gmath.canvasEvents.on(); new event move
  • check if save file exists before loading

Technical Changes:

  • renamed action: EquationFountain => EquationFountainAction, InequalityFountain => InequalityFountainAction
  • improvements to our testing framework (eweitnauer/graspable-math#867, eweitnauer/graspable-math#861)
  • new method canvasModel.scrollToViewElement + animated scrolling
  • updated to tree.js@1.3.3 (remove and remove_range now set the nodes' parent link to null) and jquery@3.1.1
  • select_text_on_create option of textboxes is false by default now
  • new show_welcome_tutorial option for canvas factory
  • renamed several classes
    • DerivationList ==> Derivation
    • gmath.ui.TextBox ==> gmath.TextBox
    • gmath.ui.CanvasFactory ==> gmath.Canvas
    • gmath.ui.CanvasElement ==> gmath.CanvasElement
    • gmath.ui.CanvasImage ==> gmath.CanvasImage

Release 0.12.5

  • new help system with iframes in modal dialogs image
  • new method canvas.callWhenReady(callback)
  • allow to parsing operators and function names as variable names when in quotes (e.g. "+" or "sin")

Release 0.12.4

  • fixed bug in loading old save files
  • gmath.canvasEvents for public API
  • users can still drag after hold
  • fixed crash when holding on single number (eweitnauer/gm-apps#418)
  • cleaned up CanvasModelView and CalculatePowerAction

Release 0.12.3

  • better sign handling (eweitnauer/gm-apps#459, eweitnauer/gm-apps#460)
  • nicer share menu (tabbed menu & subject + body field for email) image
  • combining like terms works for functions and radicals (eweitnauer/gm-apps#419)
  • fixed construction of wrong line in ggb due to regex bug; added regex test cases (eweitnauer/gm-apps#475)
  • added missing import of Func to AlgebraModel (eweitnauer/gm-apps#474)
  • fixed missing cleanups (eweitnauer/gm-apps#451, eweitnauer/gm-apps#470)
  • allow removal of brackets by clicking operators (eweitnauer/gm-apps#451)
  • fixed sqrt keyboard editing bug (eweitnauer/gm-apps#455)
  • flip radicals (eweitnauer/gm-apps#440)
  • adjusted target box for root splitting (eweitnauer/gm-apps#454)
  • changed behavior of radical.to_ascii() => to_ascii on radicals now uses spaces like this: sqrt x, sqrt[3]x, sqrt{x+1}, sqrt[3]{x+1}