History - mkraska/meclib GitHub Wiki
Uncommitted
2026 10 07
fb_fix13_names(): removed a dead check on an unassigned variable (no H/V/x/y naming check for fix13, which has exactly one reaction force); wording of the "single letter" message aligned withfb_fix1_name()fb_unit(): added the missing to four English messages (too large, too small, sign, mantissa)fb_coeffs(): removed a double gap between the variable name and the coefficient feedback; new wiki page fb_coeffs()fb_q(): relative magnitude check now uses the absolute relative error, so too large values are detected as wellfb_fix1(),fb_fix12(),fb_fix123(),fb_fix13(): removed a double space in the "not deactivated" message- Offline regression tests for the Maxima feedback functions (
Maxima/tests/), seeMaxima/tests/README.md
2026 10 06
- Internationalization (
[lang](/mkraska/meclib/wiki/lang)) completed for the remaining Group-2 feedback functions (fb_fix13,fb_fix13_names,fb_force_hvxy) - Restructured all internationalized free-body-diagram feedback functions (
fb_name,fb_force,fb_force_hvxy,fb_fix1,fb_fix12,fb_fix12_name,fb_fix123,fb_fix123_name,fb_fix13,fb_fix13_names,fb_unidir,fb_contact) to a "split-parts" architecture: every language-specific text fragment is a named local variable declared once at block entry; dynamic values are plain-concatenated at the point of use instead of being rebuilt per call - Settled convention: developer-facing diagnostic messages (question-authoring errors, not student mistakes) stay English, inline, unhoisted
- Fixed inconsistency in
fb_contact()'s unresolved-targetRefmessage (was German/unwrapped, now English, matching the above)
Dev Branch
2026 10 05
fb_force(): signature extended for a unit-taggedtoldist(grid-scaled distance tolerance)fb_name(): made more robust — new optional[opt]parameter to silence the "no match" message; name comparison now normalizes CAS symbols vs. strings before comparingfb_contact(): add a compression/tension sign check (a contact can only push, never pull)
2026 10 04
fb_force(): added a line-of-action distance tolerance (plain number or unit-tagged[tol,"unit"]); multi-name LaTeX rendering andcastext()formatting fixes- Add
fb_force(): general-purpose check for a single active force not tied to a support/contact index (direction + line-of-action-through-a-point check)
2026 10 03
fb_contact()/fb_resolve_ref():targetRefmay now be a list, so one contact can cut away several environment objects at once (e.g. two wall segments meeting at a corner)
2026 09 30
- Adjust the formatting of result strings in
fb_system()andfb_reactions() - Fix the error handling in
fb_unit() - Avoid unintended units activation in
fb_unit() - Fixed problem in
fb_coeffs()and make it bilingual - Extend
fb_dir()and addfb_reaction_name() - Adjust the signature of
fb_varsOK()to matchfb_vars()
Main Branch
2026 09 29
- Adjust a feedback string in
fb_contact()
2026 09 29
- Add
activeoption to "dir" object for choosing a coordinate direction; newsum_dir(),contributor(), and Feedback for "dir" (fb_dir()) fb_coeffs()/fb_vars()gained a coefficient tolerance parameter, filtering out numerically negligible terms before checking for missing/spurious variables- New
deg2rad()infb_value.macfor grading answers that use thedegunit symbolically - Feedback for "contact": dropped the quotes around the referenced object's name in the "not deactivated" message
2026 09 26
- Add "contact" object for free body diagrams
2026 09 22
- Fix #63, Infobox not displayed for points with children, due to a temporary regression in JSXGraph 1.12.1 and 1.12.2
2026 04 09
- Fix #57, was due to buggy version comparison
2026 04 08
- Update jsfiddle link in wiki (still with limitations)
- Fix #58 (text field size in "momentGen" and "forceGen")
2026 03 07
- Make multilingual string constants in feedback functions local (for
fb_value.mac) - Add constants for multilingual syntax hints Multilingual questions
2025 05 13
- Bilingual and separator-aware version of
fb_spline()Values and Slope of Splines
2025 03 30
- Fix grid spacing for JSXGraph 1.10.1
2025 03 28
- Fix the decimal separator in the feedback provided by fb_unit
2025 03 04
- Bilingual version of fb_unit with updated unit test question
2025 03 02
- Bilingual version of fb_vars with updated interactive and unit test questions
2025 02 18
- Handle missing decsep attribute if fbd_names object is available (as in ONYX)
2025 02 17
- Implemented #51 (decimal separator synchronized with STACK)
- Adjust placement of version info
2024 11 26
cleanupName()inmeclib.jsmodified to avoid spurious spaces
2024 11 25
fb_reactions()correctedsums_xyM()created
2024 11 24
- Add snap parameter to "crosshair", adjust layer
2024 11 21
- Fix problem with fb_bar
2024 11 16
- Re-implementation of "rope" (only in meclib.js, not in imeclib.js)
2024 10 24
- Fix "polygon" (only in meclib.js, not in imeclib.js)
2024 10 14
- Adjust color and layer of axes defined by "grid"
2024 09 24
- Takeover of dynamic objects
- Fix default of drawZero option for grid
2024 04 02
- Fix serialization of "circle" (method
data())
2024 03 08
2024 03 04
- Add MatchByParallel()
- Add fb_system()
- Fix
fb_fix1()
2024 03 02
- Fix snap behaviour of "force"
- Add fb_reactions()
2024 02 23
- Fix label offset for "rope"
2024 02 21
- Enforce snaptogrid of "force" objects when dragging the vector
2024 02 19
- Fix #46, update of input fields by "force" object
2024 02 17
- Modify behaviour of fb_vars (nonzero numeric
tansvalues now aren't ignored). - Add unit test for fb_vars.
2023 12 05
- Implement #32 (avoid zero length of force vectors)
2023 12 02
- Takeover of https://github.com/aaronamran/meclib_fork/blob/main/meclibchanges.js as imeclib.js. In this version most objects can be moved by JS scripts. See Moving objects by scripts
2023 10 06
- Enforce grid distance of one axis unit (sometimes sub-gridlines were drawn)
2023 08 03
- Switch off automatic point names (relevant for script-generated points)
2023 07 08
- Auto-correction of input in "momentGen" and "forceGen" to avoid complaints by STACK about forbidden names (with more then one character before the first underscore).
2023 06 28
- Add object "frame"
2023 06 09
- Fix issue #33 in "grid" (formatting of axes tick labels in JSXGraph 1.5)
2023 05 12
- Add option
"dotted"to "force"
2023 05 08
- Fix issue #38 in fb_unit
2023 05 04
- Adjust container sizing logics in "grid" to upcoming new STACK version
- Add "Change" event in the update() function for notification of changed input in new STACK version
2023 04 30
- Change layer of "grid" to 8. This puts axes and grid to the foreground. Grid should be in the background. See issue #37
2023 04 29
- Extend "polygon", can have multiple holes now.
- Color of "line" objects can be specified via "name" argument
- Color of "node" objects can be specified via optional argument
2023 04 16
2023 04 09
- Add unit test for fb_vars
2023 04 08
- Change the test concept for fb_unit. Test is split into an interactive one (quiz mode adaptive) and a non-interactive one (quiz mode direct). This was enforced by the non-interactive test suite failing by timeout in adaptive quiz mode, which is better for interactive tests.
- Add interactive test question for fb_vars.
- Add unit test question for Feedback for unidirectional supports.
2023 04 07
- Add fb_name to
fb_fbd.mac
2023 02 07
- Add tests T03a and T03b to unit test QA 01 for fb_unit. They adress cases with zero tolerance.
2023 01 23
- Implementation and unit test (QA 05) for fb_bar
- Fix unit test (QA 04a) for Feedback for line loads
- Fix unit test (QA 03) for Feedback for unidirectional supports
2023 01 21
- Complete conversion of Feedback for line loads to use of
castext(). Closes #27.
2023 01 17
- Fix Feedback for line loads formatting of feedback for resultant value
2023 01 16
- Fix fb_unit feedback for correct results
2023 01 13
- Deactivate
snaptopointfor inactive forces to prevent unintended misplacement.
2022 12 16
- Create function fb_bar_name and corresponding unit test (QA 02 in the Demo Moodle Course)
- Improve function
toTEX()in meclib. Better display of multi-character indices.
2022 12 11
- Improvements of unitless value handling in fb_unit
2022 12 09
- Add diagnostic message to init() function (for unknown object specifications)
2022 12 02
- Improvements of zero value input handling in fb_unit
- Streamlining of the test question for fb_unit (QA 01 in the Demo Moodle Course)
2022 11 25
- "crosshair" writes scaled coordinates to
names.
2022 11 23
- "grid" Support for inverted axes directions
- Avoid empty names in
namesinput field by converting empty names toNONAME.
2022 11 05
- Version info string modified. Now JSXGraph version and Meclib version are displayed.
2022 10 30
- "spline" with option
purehas no grid snap of the control points. This ensures that the control points are set as specified.
2022 10 16
2022 10 02
- Add check for units mismatch to fb_unit. The default feedback of the answer test can be switched off.
2022 10 01
- Introduction of boolean versions of the feedback functions for values (
fb_numberOK(),fb_varsOK(),fb_unitOK()), see e.g. fb_vars - Implementation of fb_dim, dimensional check of expressions with physical quantities.
- Handle student's answer = 0 in fb_number and fb_unit.
2022 09 22
- Consistent naming and signature of feedback functions for free body diagrams to
fb_xxx_name(obj, names, index)
2022 08 15
- Adjustment of "circle2p" to newer JSXGraph (modified signature of intersection object)
2022 08 09
- "line2p" got an optional perpendicular line (thus enabling of setting the normal to a line)
2022 08 02
- fb_vars upgraded to STACK 4.4
2022 08 02
- Move source of feedback functions for free body diagrams from the wiki to the source file
- Successful test of include mechanism in question variables and question text (new in STACK 4.4)
2022 07 31
- Adjustment to JSXGraph 1.4.5 (there were problems with text input fields)
2022 07 22
- Add state option
"silent"to "force", suppresses the infobox at the point - Make
phiargument of "q" optional (resolves #16)
2022 07 19
- Improvement of the precision feedback in fb_unit and fb_number. The percent deviation is given with just one significant figure. "Deviation is at least xxx%".
2022 05 13
- Add options for scale and decimal precision of the coordinate display of "spline" objects
- Improve the feedback function
fb_spline(), see Values and Slope of Splines
2022 05 11
- Make update of "spline" more robust
2022 05 09
- Introduction of the constant
loadColor - Enforce consistent appearance of "force", "moment" and "q" objects
- Change was required due to modified default colors in JSXGraph 1.4.3
2022 04 25
- Reorganization of Dynamic display of coordinates.
- Default scale and decimal precision can be set by "grid".
- "force" control points have decimal precision increased by one over the default value.
- Scaling parameter of "circle2p" and "line2p" is obsolete
2021 06 15
- Initial commit, project started