Skip to content

Technical Notes

  • Primary Libraries:
    • Math.js: For numerical calculations, matrix algebra, unit conversions, expression parsing.
    • Nerdamer.js (specifically the nerdamer.all.min.js bundle, often from the nerdamer-prime fork): For symbolic mathematics including equation solving, calculus, and algebraic manipulation.
  • Manifest Version: Chrome Manifest V3.
  • Storage:
    • chrome.storage.local: Used for persisting calculator state such as calculation history, user-defined variables, and user-defined functions.
    • chrome.storage.sync: Used for storing user-configurable options (e.g., font sizes, pop-out window dimensions) to allow potential synchronization across a user's Chrome profiles.
  • Permissions:
    • storage: Essential for saving user data (history, variables, options) locally.
    • clipboardWrite: Enables the user-initiated "copy result to clipboard" feature (Ctrl/Cmd+Click on a result).