Convert native GHC build of codeworld-api to use jsaddle instead of blank-canvas
- Vorherrschende Sprache
- Haskell
- Sterne
- 1.3k
- Forks
- 201
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Currently, the native GHC build of codeworld-api depends on blank-canvas, which has very limited support for JavaScript events and expressions. Instead, I'd like for it to use jsaddle, which can run a much wider set of JavaScript expressions on the client. This should allow a lot more code sharing between the two builds.
Some problems this will solve:
1. The `codeWorldLogo` picture will work in native mode.
2. The `TextEntry` event constructor will work in native mode.
3. Multiuser (`groupActivityOf`) programs can work in native mode. This will require that the host process link in code for the relay server, as well.
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit dem Vergleich des nativen GHC-Builds von codeworld-api mit dem anderen Build und lokalisieren Sie dessen blank-canvas-Integration. Verfolgen Sie die Codepfade für codeWorldLogo, TextEntry und groupActivityOf und bestimmen Sie dann, wie der Host-Prozess Code von relay-server verknüpfen würde; als erledigt gilt die Aufgabe, wenn diese Funktionen im nativen Modus ohne blank-canvas funktionieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- haskell
- Bereich
- backend, build-system
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 30/100