Skip to content

A new Ginga Developer Ecosystem with ginga.org.br portal, ginga-playground and ginga-code tools

Alan L. V. Guedes
University of Reading
Paulo Victor Borges
PUC-Rio
Daniel Moraes
PUC-Rio
Sergio Colcher
PUC-Rio
WTVDI 2026

Abstract

Interactive development and debugging of Nested Context Language (NCL) applications remain challenging due to the traditional decoupling between document authoring tools and runtime execution engines. In this paper, we present the new Ginga Developer Ecosystem, a unified suite combining the official portal ginga.org.br, the web-native ginga-playground (powered by Monaco Editor, debounced compilation, and CanvasKit WebAssembly graphics), and ginga-vscode (a Visual Studio Code extension providing WebSocket Debug Bridge integration, deterministic Virtual Clock time-stepping, live sourcemapped link highlighting, and reactive property inspection).

Ecosystem Pillars

  1. ginga.org.br Official Portal: Interactive tutorial embedding, deep-linking parameter passing (?ncl=, ?code=), and portal-wide documentation integration.
  2. ginga-playground Workbench: In-browser live authoring environment running ncl_doc compiled to WebAssembly with 60 FPS CanvasKit GPU rendering.
  3. ginga-vscode Extension: Full IDE development workflow featuring Webview player tabs, WebSocket Debug Bridge, and sub-millisecond Virtual Clock control.

Selected Applications


NCL with basic links (video.ncl)

NCL with videos grid (video_grid.ncl)

NCL embedded with NCL (emb_ncl.ncl)

NCL with focus navigation and selection (focus_nav.ncl)

NCL with lua canvas drawing and keys (lua_canvas.ncl)

HTML with CCWS /current-service/ (current_service.html)

NCL with embedded HTML document (emb_html.ncl)

NCL with multi-user profile switching and targeted advertising (multiuser_profile/main.ncl)

Multi-platform Demos


Windows

Android

Chrome

CLI (headless execution)

Citation

@inproceedings{ginga_ecosystem2026,
  author    = {Guedes, Alan L. V. and Borges, Paulo Victor and Moraes, Daniel and Colcher, Sergio},
  title     = {A new Ginga Developer Ecosystem with ginga.org.br portal, ginga-playground and ginga-code tools},
  booktitle = {Anais Estendidos do XXXII Simpósio Brasileiro de Sistemas Multimídia e Web (WTVDI 2026)},
  location  = {Lavras, Brazil},
  year      = {2026},
  pages     = {233--235},
  publisher = {SBC},
  address   = {Porto Alegre, RS, Brasil},
  doi       = {10.5753/webmedia_estendido.2026.34168},
  url       = {https://doi.org/10.5753/webmedia_estendido.2026.34168}
}