Reusable 3D Earth globe widget (pure OCaml + WebGL)
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Redesign sexpt with GADT-based codec (Jsont soup paper)

Replace opaque closure record with a GADT that preserves codec
structure, following the approach from Buenzli's "An Alphabet for
Your Data Soups" paper:

- GADT constructors for each S-expression sort (Atom, List, Obj,
Any, Map, Rec, Variant, Pair, Triple, etc.)
- dec_fun GADT with Type.Id for unordered record member decoding
- Heterogeneous Dict for buffering typed member values
- Structural encode/decode by pattern matching on GADT
- New query/update API: get_mem, get_nth, update_mem, delete_mem

Internal redesign only — 'a t stays abstract, all existing tests
pass unchanged.

+1
+1
lib/webgl/scene.mli
··· 73 73 show_earth : bool; 74 74 show_grid : bool; 75 75 show_orbits : bool; 76 + orbits_through_earth : bool; 76 77 show_coverage : bool; 77 78 earth_dim : float; 78 79 grid_color : Globe.Color.t;