Files
mtm-rpn-js/.memory/project.md
T
matmoul 849170ea49 docs: update calc-02 portrait visual reference
Move the portrait layout documentation to samples/calc-02/visual-portrait.md and refresh the project memory note to point to the new reference.
2026-05-16 03:11:00 +02:00

1.5 KiB

State

  • Core engine: src/rpn-calculator.js
  • Active demo: samples/calc-02/ portrait-only HP48GX layout; display-adjacent button row stays in 4 columns and now shares the same base button styling as the function keys
  • Mode button shows the current angle mode only; selecting a mode uses a popup menu
  • Public API: push, pop, clear, swap, remove, edit, isValidIndex, input, command, getOperationsByCategory, getConstants, listConstants, setConstant, removeConstant, hasConstant
  • Config: maxSize, base, angleMode, enabledCommands
  • Commands: arithmetic, stack, trigonometry, constants pi and e; arithmetic now includes root for y-th roots; constants can now be added or removed dynamically through the core API and the calc-02 constant menu reads from the engine
  • Demo actions: keyboard focus is kept on the hidden input on desktop so typing keeps working; the keypad layout places Enter in the bottom-left, ± in the former Enter position, and Esc before Clear for safety; paste parses clipboard text as a number before pushing it to the stack; Ctrl+V is supported via the hidden input paste event; backspace is ignored when the stack is empty; operation errors are shown as an overlay bar on top of the calculator with a shorter timeout and darker red; the display button row uses a 4-column grid with a spacer cell to preserve alignment; the portrait layout reference now lives in samples/calc-02/visual-portrait.md
  • Exports: browser window.RpnCalculator, CommonJS module.exports