-
Notifications
You must be signed in to change notification settings - Fork 3
Graspable Math Change Log
Erik Weitnauer edited this page Jun 22, 2018
·
20 revisions
- fixes factoring bug (happened in
x+1/x, when dragging thexin the denominator onto the otherx) - don't extend fractions via dragging when the denominator already includes the term (In
1/2 + 1/3, allow dragging2onto1/3to get1/2 + 2/(2*3), but don't allow dragging the two in1/2 + 1/2)
- Google Classroom fix: don't break when picking a course without any students enrolled
- remove gm-auth-token in localStorage in a cleaner way
- Added Google Classroom Integration help menu entry.
- Added canvas option to disable share menu tab.
- Fixes a file loading bug with the add-sub resolve cases action.
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
...
- added
eval_to_realoption totermsToAlgebriteString()method andintegers_as_realsoption toAlgebraModel.to_ascii()method - don't throw an exception when rendering an empty
AlgebraModel
- update to latest version of geom-tiny.js
- fixed bug that prevented loading of math sheets with geogebra components in firefox
- 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!
- 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
- new help menu entry for the user modes
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
- 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:
AlgebraViewoptionuse_arithmetic_multiplication_symbol
- new
gmath.options.use_arithmetic_multiplication_symsetting is working now and is set to false by default
- 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
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) andtrigger_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
-
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
- updated help menu
- don't overwrite local sharing, loading and saving toolbar options when loading a save file
- new save, load, and share menu that is bound to user logins
- 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 newgmath.Canvas.createFromSaveId(save_id, container, options, callback)method - new methods
AlgebraModel.areTheSame()andAlgebraModel.prototype.isTheSameAs()
- 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
- 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
- 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
- new selection method on touchscreens replacing rubber-banding: while dragging terms, tap additional terms to select them
- 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
xinto1/x^-1with 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 likex^2 - fixed positioning bug with canvas notices
- rewriting with keyboard will make guesses about the link structure now; e.g. replacing
bxwitha* (bx)/awill link thebto theband thexto thexnow - fixed an issue with multiple touches in erase mode
- fixes a newly introduced problem with replays
- 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
- 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 get2*⬚ - 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
- fixes bug that prevented actions from triggering
- 🎉🎉 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
- 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
- horizontal movement during scrubbing changes scrubbing precision
- fix: now saving & loading deleted algebra models if they are still referenced in substitution actions
- 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
- 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
2in1/2 + 3onto the3) - 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
xto turn2*x*((2+3))into2*(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
- fixes rendering issues with term traces (moves them behind the math symbols)
- new derivation.row_events.dbltap event
- better support for older browsers that require a
-webkit-prefix for thetransformcss style and don't supportArray.findandArray.findIndex
- place paths in front of all other canvas elements
- fixes incompatibility with older browsers (don't use Array.keys())
- fixed rendering issue with chained actions affecting factoring
- 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
- fixed undoing the insertion of images, elements from the insert menu, and paths
- fixed loading & scrubbing for id-actions (like loading
1*xor scrubbing the1in1*2)
- fixes bug in term tracing
- 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
CanvasImageresizing 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
- support for parsing more latex expressions as found on wikipedia
- fixed parsing bug with numbers multiplication without multiplication signs
- 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
- external links for help pages + customization via
gmath.getHelpEntries()
- 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
- 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
DivideRationalNumbersActionbug - "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
- fixed loading of all action types
- line mappings are drawn for terms with subscripts
- renamed action
polynomialExpansionActiontoPolynomialExpansionAction - renamed action
combineStackedExponentsUpActiontoCombineStackedExponentsUpAction - ggb elements are highlighted when inspecting a derivation term
- fixed loading bug affecting scrubbing of substitutions
- 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-aaction cases (eweitnauer/gm-apps#503) - fixed cancelling bug on tap (eweitnauer/gm-apps#500)
- automatically extend canvas vertically size to include newly created elements
- new actions for dragging to break into and out of brackets
- new action:
a-anow turns into0for any expressiona(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 ofgmath.canvasEvents.on(); new eventmove - 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 (
removeandremove_rangenow set the nodes' parent link to null) and jquery@3.1.1 -
select_text_on_createoption of textboxes is false by default now - new
show_welcome_tutorialoption 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
- new help system with iframes in modal dialogs
- new method
canvas.callWhenReady(callback) - allow to parsing operators and function names as variable names when in quotes (e.g. "+" or "sin")
- fixed bug in loading old save files
-
gmath.canvasEventsfor public API - users can still drag after hold
- fixed crash when holding on single number (eweitnauer/gm-apps#418)
- cleaned up
CanvasModelViewandCalculatePowerAction
- better sign handling (eweitnauer/gm-apps#459, eweitnauer/gm-apps#460)
- nicer share menu (tabbed menu & subject + body field for email)
- 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}