foo_spider_monkey_panel icon indicating copy to clipboard operation
foo_spider_monkey_panel copied to clipboard

Master task list

Open TheQwertiest opened this issue 1 year ago • 3 comments

  • [x] DOM event handling model:
    • [x] (implemented in v1 series) Decouple message processing and event processing and make event processing asynchronous.
    • [x] Make native JS objects extendable.
    • [x] EventTarget and Event
  • [x] Basic module support
    • [x] Backend support
    • [x] Basic built-in module support
    • [x] PoC modules:
      • [x] fb:playback
      • [x] fb:selection
  • [x] Core API
    • [x] Input interaction
      • [x] Simple events (e.g. blur, focus)
      • [x] MouseEvent
      • [x] WheelEvent
      • [x] KeyboardEvent
    • [x] Graphics/Canvas API #215
  • [x] Update fb2k SDK
  • [x] Update mozjs
  • [x] Implement JS job queue
  • [x] Implement object caching
  • [x] Reimplement fb2k API #219
  • [ ] Rewrite natively created promises, so that they would save their allocation site
  • [ ] menu manager module
  • [ ] console module
  • [ ] JSON config
    • [x] Research Web API alternatives
    • [ ] Backend: implement localStorage
    • [ ] API
    • [ ] UI
  • [ ] Reimplement utils API
    • [x] fs module (only parts for feature parity with v1)
    • [x] path module (only parts for feature parity with v1)
    • [ ] ~~detect-char-encoding module~~ add shims that require iconv-lite + jschardet packages
    • [x] add support for binary input in fs.writefile
    • [ ] ~~Buffer (only text conversion for feature parity)~~ see above for text conversion shims
    • [ ] smp(?) module
    • [ ] ???
  • [ ] Implement Canvas API state management
  • [ ] v1 shim
  • [ ] CustomEvent
  • [ ] Implement AbortController for async processes
  • [ ] Broadcast Channel API: simple scripts
  • [ ] Drag-n-drop (only parts for feature parity with v1)
  • [ ] Move ActiveXObject to module
  • [ ] Clipboard API (module or part of window?)(only parts for feature parity with v1)
  • [ ] Basic external module support
  • [ ] Broadcast Channel API: external modules
  • [ ] Local file storage (no usable WebAPI counterpart available): https://github.com/users/TheQwertiest/projects/1/views/1?pane=issue&itemId=29885092
  • [ ] node/os module
  • [ ] module with stuff like component detection (fb/component? fb/component-manager?)
  • [ ] Replace custom heap size tracking with built-in
  • [ ] #209
  • [ ] Dark mode support
  • [ ] Top-level await: https://gitlab.gnome.org/GNOME/gjs/-/commit/f39ceac2c5dee2e59924bda229bc256ff24a0418
  • [ ] Implement text antialiasing (and rendering mode?)
  • [ ] Add font check and font register to Canvas module
  • [ ] Reorganize all utils files
  • [ ] Image cache binary deduplication
  • [ ] TODO cleanup
  • [ ] Rename/reorganize module (e.g. dom/ -> web/? root-space everything? split into gui/fb/system?)
  • [ ] Update to latest mozjs ESR
  • [ ] test with GC zeal enabled
  • [ ] TS bindings
  • [ ] Backport any v1 fixes if any
  • [ ] Docs
    • [ ] API
    • [ ] Site

TheQwertiest avatar May 15 '23 11:05 TheQwertiest

@TheQwertiest <3, it's nice and refreshing to see you back =)

TT-ReBORN avatar May 15 '23 12:05 TT-ReBORN

Thanks :) I'm not back yet though, but it's mostly the only hobby that's available for me right now...

TheQwertiest avatar May 15 '23 12:05 TheQwertiest

Happy to see your update.

dream7180 avatar May 22 '23 05:05 dream7180