Post by Frantz Maerten
Lead Scientist @ Look Up Geoscience | Visiting researcher | Co-fondateur Terinov, YouWol & Igeoss
๐๐ง๐โ๐++โ๐ฅ๐ข๐๐ซ๐๐ซ๐ฒ,โ๐๐ข๐ฏ๐โ๐ฅ๐๐ง๐ ๐ฎ๐๐ ๐๐ฌโโโ๐ณ๐๐ซ๐จโ๐ก๐๐ง๐โ๐ฐ๐ซ๐ข๐ญ๐ญ๐๐งโ๐ฐ๐ซ๐๐ฉ๐ฉ๐๐ซ๐ฌ. Today, ๐ซ๐จ๐ฌ๐๐ญ๐ญ๐ (built on C++26 reflection, P2996) is used to bind Bruno Lรฉvy's ๐๐๐จ๐ ๐ซ๐๐ฆ (INRIA) โ one of the best geometry-processing libraries out there โ to ๐๐ฒ๐ญ๐ก๐จ๐ง, ๐๐จ๐๐.๐ฃ๐ฌ, ๐๐๐๐๐ฌ๐ฌ๐๐ฆ๐๐ฅ๐ฒ, ๐๐ฎ๐ and ๐๐ฒ๐ฉ๐๐๐๐ซ๐ข๐ฉ๐ญ. The whole binding surface is described in a single manifest.json. Rosetta reflects over ๐๐๐จ๐ ๐ซ๐๐ฆ's own headers and emits the pybind11 / N-API / embind / sol2 projects automatically โ without touching a line of ๐๐๐จ๐ ๐ซ๐๐ฆ's source. What's exposed today: โข CSG โ evaluate OpenSCAD-style programs โข Exact boolean operations (union, intersection, difference) โข Isotropic CVT remeshing, repair, hole filling โข UV-atlas generation (LSCM + xatlas) with texture-coordinate read-back โข Co3Ne surface reconstruction from bare point clouds The same demo pipeline runs in every language and prints the same numbers โ from a ๐๐ฒ๐ญ๐ก๐จ๐ง ๐๐๐ฌ๐ค๐ญ๐จ๐ฉ ๐ฏ๐ข๐๐ฐ๐๐ซ remeshing a 55k-triangle model in 0.4 s, to the identical workflow running fully in the ๐๐ซ๐จ๐ฐ๐ฌ๐๐ซ ๐ฏ๐ข๐ ๐ฐ๐๐ฌ๐ฆ. The point isn't ๐๐๐จ๐ ๐ซ๐๐ฆ specifically: it's that with static reflection, multi-language bindings become a build artifact, not a maintenance burden. ๐ Geogram: https://lnkd.in/eT5iaJuR ๐ Rosetta: https://lnkd.in/e5jDSTeT ๐ Geogram-Rosetta: https://lnkd.in/ejKBnUrh #cpp #reflection #geometryprocessing #python #webassembly #lua #node #javascript #opensource #geogram #rosetta