foo_spider_monkey_panel
foo_spider_monkey_panel copied to clipboard
Master task list
- [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] Simple events (e.g.
- [x] Graphics/Canvas API #215
- [x] Input interaction
- [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 - [ ] ???
- [x]
- [ ] 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 <3, it's nice and refreshing to see you back =)
Thanks :) I'm not back yet though, but it's mostly the only hobby that's available for me right now...
Happy to see your update.