Skip to content

Latest commit

 

History

History
120 lines (119 loc) · 3.55 KB

todo.md

File metadata and controls

120 lines (119 loc) · 3.55 KB

To Do

  • General
    • Move rows and columns
    • Compress sheet in URL
    • Project title
    • Service worker for caching
    • Process formulas in web worker?
    • Lazily render cells
    • Typescript
    • Work on multiple monitors
    • XSS and phishing disclaimer
    • File menu at the top
    • CSV import and export
    • Python formulas using pyodide
    • Button to reset window locations
    • Import from Google Sheets
    • Export to Google Sheets
    • Formula draggy thing
    • Reformat for printing and export
    • Formula inline edit textarea can grow and is visible above other cells
    • Separate logging system with tracebacks for formula errors
    • Toolbar with buttons (editable)
    • Click cell while editing formula to insert it
    • Add conveniences for LLMs
    • Event hooks
  • Settings window
    • Change colors
    • Change debounce save timeouts
  • Window system
    • Track state
      • List of Windows
      • Window position (x, y)
      • Per window
        • Open/closed
        • Minimized
        • Title
        • HTML contents
        • Snapped or free
    • List open and minimized windows at the bottom
    • Snap windows
    • Focus order for z-index stacking
  • Code editor
    • Syntax highlighting
    • Auto-complete quotes, parentheses, etc.
    • Automatic indent
    • Line numbers
    • Turn on manual save instead of auto save
  • Formula processing
    • "symbols" in formulas
    • Namespaced formula functions
  • Local storage
    • Save sheets
    • Load sheets
    • Display tutorial on first visit
  • Standard library formula functions
    • LIST
    • PYTHON
    • PRINTF
    • REGEX
    • JQ
    • LINK/URL
    • DEBUG?
    • Standard way to include external scripts and wait for them to load
  • Keyboard shortcuts
    • Stay in insert mode when cells clicked
    • Editable keybindings by importing objects and having them in scope at eval
    • Tab stays in insert mode
    • Navigate windows/sheets
      • gt and gT
      • i3 type key commands
    • Vim keybindings in code editor
    • I, a, and A
    • H, M, L
    • W, E, B
    • Ctrl+u and ctrl+d
    • Refactor keyboard shortcuts
    • Number + gg
    • y and yy (and y with all motions) and p and P
    • d and c and cc and S (along with dw, de, db, cw, ce, cb, etc.)
    • r and R
    • J
    • Visual mode o and O
    • and << and insert mode Ctrl+t and ctrl+d and visual mode > and <

    • Ctrl+i and ctrl+o and g; and g,
    • Searching, finding, and replacing
    • Record macros
    • Allow remapping
  • Testing
    • Playwright
    • Integrate Playwright coverage with vitest coverage
    • Test parsers and classes in formulas
  • Push to versioned folders on Pages based on git tags
  • Documentation
    • README
      • Description and introduction
      • Examples
      • Known Issues
    • Tutorial
  • Bugs
    • Cannot select on mobile
      • Is this necessary to fix?
    • Scrolling up or left with selection doesn't work, scrolling down and right only kind of works
      • Will be fixed automatically when lazy scrolling
    • Dialog X button is not square
      • <Button> square attribute doesn't work because the button is mounted with display: none, and therefore has zero width and height at mount time
      • Using <Button> has too much shadow
    • Context menu does not activate on iOS
      • Manually have to detect long press
    • The bottom border of sheet tabs do not adjust after renaming
      • Will be fixed automatically when using windows instead of tabs
    • If all sheets are deleted, it glitches
    • Right click menu for tabs is placed incorrectly
    • Reference value changes re-run, but argument function calls to set don't force re-run
    • Interacting with cells on mobile scrolls
    • Serializing values that are not serializable fails