/gblocks

Go(pherjs) wrapper for Blockly

Primary LanguageGoMIT LicenseMIT

gblocks

A gopherjs wrapper for Blockly.

The impetuous for this library is to provide a visual editor for iffy - an interactive fiction engine. Gblocks, the editor, and iffy are all works in progress.

NOTE: I've archived this project. After working with Blockly for quite a while, and on this adapter, I don't feel it's the best match for iffy. If i had the time for both projects, I would love to make this more usable. Blockly is a great tool for certain uses.

Goals

  1. Define blocks using Go-lang types.
  2. Simplify mutations to reduce the need for per-block custom code.
  3. Build toolboxes from Go-lang instances.
  4. Mirror Go-lang data to/from Blocky blocks ( to provide alternative serialization and processing. )

In progress

  • refactor to omit mirror: esp. domToMutation, mutationToDom, decompose, compose, saveConnections, toolbox instance generation.
    • this should fix the issues with temporary blocks on flyouts not being able to mirror properly.
  • consider changing mutation lists to next/prev to properly handle the first block check statements in mutation ui
  • consider changing registration to implicitly register blocks via toolbox, and mutation palette definitions
  • evaluate possibly unification of compose and domToMutation in some fashion.
  • future: re-enable mirroring