google / google/codeworld

Convert native GHC build of codeworld-api to use jsaddle instead of blank-canvas

Offen
#906 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
discussion
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.