From e7eaee98a88f63a2089fbed4b5df40ef10753124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20Zim=C3=A1nyi?= Date: Tue, 8 Sep 2026 07:35:52 +0200 Subject: [PATCH] Project the surface MEOS publishes today MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The generated wrappers are the catalog's projection at MobilityDB 6209a11ce88dfa4897c8c3905e693712ef08159e. `mindistance_tgeo_tgeo` and the `raster_sample_fn` typedef leave them: MEOS declares neither, and the committed `bindings.c` named both, so `emcc` refused the translation unit with `call to undeclared function 'mindistance_tgeo_tgeo'` and five `unknown type name 'raster_sample_fn'`. The module could not be built at all. Nothing in the repository depended on the module, so three jobs reported success over a binding that no longer compiled. What the module is FOR — running the suite against it — is what surfaces this, and that job is the one this change makes buildable again. 3472 wrappers generated, 0 skipped, 0 duplicates, over a catalog of 4838 functions. --- core/c-src/bindings.c | 42 +++++++++++++++---------- core/functions/functions.generated.ts | 44 +++++++++++++++++---------- 2 files changed, 54 insertions(+), 32 deletions(-) diff --git a/core/c-src/bindings.c b/core/c-src/bindings.c index a0f8da7..4019865 100644 --- a/core/c-src/bindings.c +++ b/core/c-src/bindings.c @@ -4878,7 +4878,7 @@ int * tint_values_w(const Temporal * temp, int * count) { } EMSCRIPTEN_KEEPALIVE -int64_t * tbigint_values_w(const Temporal * temp, int32 * count) { +int64_t * tbigint_values_w(const Temporal * temp, int * count) { return tbigint_values(temp, count); } @@ -7550,6 +7550,11 @@ double geom_azimuth_w(const GSERIALIZED * gs1, const GSERIALIZED * gs2) { return r; } +EMSCRIPTEN_KEEPALIVE +double geom_area_w(const GSERIALIZED * gs) { + return geom_area(gs); +} + EMSCRIPTEN_KEEPALIVE double geom_length_w(const GSERIALIZED * gs) { return geom_length(gs); @@ -9597,11 +9602,6 @@ GSERIALIZED * shortestline_tgeo_tgeo_w(const Temporal * temp1, const Temporal * return shortestline_tgeo_tgeo(temp1, temp2); } -EMSCRIPTEN_KEEPALIVE -double mindistance_tgeo_tgeo_w(const Temporal * temp1, const Temporal * temp2, double threshold) { - return mindistance_tgeo_tgeo(temp1, temp2, threshold); -} - EMSCRIPTEN_KEEPALIVE double mindistance_tgeoarr_tgeoarr_w(const Temporal ** arr1, int count1, const Temporal ** arr2, int count2) { return mindistance_tgeoarr_tgeoarr(arr1, count1, arr2, count2); @@ -12973,6 +12973,16 @@ uint32_t pcpatch_npoints_w(const Pcpatch * pa) { return pcpatch_npoints(pa); } +EMSCRIPTEN_KEEPALIVE +Pcpoint * pcpatch_point_n_w(const Pcpatch * pa, int n) { + return pcpatch_point_n(pa, n); +} + +EMSCRIPTEN_KEEPALIVE +Pcpoint ** pcpatch_points_w(const Pcpatch * pa, int * count) { + return pcpatch_points(pa, count); +} + EMSCRIPTEN_KEEPALIVE uint32_t pcpatch_hash_w(const Pcpatch * pa) { return pcpatch_hash(pa); @@ -15453,28 +15463,28 @@ int raquet_gt_w(const Raquet * rq1, const Raquet * rq2) { } EMSCRIPTEN_KEEPALIVE -Temporal * raster_value_w(const Temporal * traj, const STBox * box, raster_sample_fn sample, void * ctx) { - return raster_value(traj, box, sample, ctx); +Temporal * raster_value_w(const Temporal * traj, const Raster * rast, int band) { + return raster_value(traj, rast, band); } EMSCRIPTEN_KEEPALIVE -Temporal * raster_at_value_w(const Temporal * traj, const STBox * box, raster_sample_fn sample, void * ctx, const Span * vspan) { - return raster_at_value(traj, box, sample, ctx, vspan); +Temporal * raster_at_value_w(const Temporal * traj, const Raster * rast, int band, const Span * vspan) { + return raster_at_value(traj, rast, band, vspan); } EMSCRIPTEN_KEEPALIVE -Temporal * raster_minus_value_w(const Temporal * traj, const STBox * box, raster_sample_fn sample, void * ctx, const Span * vspan) { - return raster_minus_value(traj, box, sample, ctx, vspan); +Temporal * raster_minus_value_w(const Temporal * traj, const Raster * rast, int band, const Span * vspan) { + return raster_minus_value(traj, rast, band, vspan); } EMSCRIPTEN_KEEPALIVE -int eraster_value_w(const Temporal * traj, const STBox * box, raster_sample_fn sample, void * ctx, const Span * vspan) { - return eraster_value(traj, box, sample, ctx, vspan); +int eraster_value_w(const Temporal * traj, const Raster * rast, int band, const Span * vspan) { + return eraster_value(traj, rast, band, vspan); } EMSCRIPTEN_KEEPALIVE -int araster_value_w(const Temporal * traj, const STBox * box, raster_sample_fn sample, void * ctx, const Span * vspan) { - return araster_value(traj, box, sample, ctx, vspan); +int araster_value_w(const Temporal * traj, const Raster * rast, int band, const Span * vspan) { + return araster_value(traj, rast, band, vspan); } EMSCRIPTEN_KEEPALIVE diff --git a/core/functions/functions.generated.ts b/core/functions/functions.generated.ts index 5f17e08..bf3c5ff 100644 --- a/core/functions/functions.generated.ts +++ b/core/functions/functions.generated.ts @@ -8798,6 +8798,12 @@ export function geom_azimuth(gs1: Ptr, gs2: Ptr): number { return _r; } +export function geom_area(gs: Ptr): number { + const _r = call('geom_area_w', 'number', [ptrArgType()], [ptrArgVal(gs)]); + checkMeosError(); + return _r; +} + export function geom_length(gs: Ptr): number { const _r = call('geom_length_w', 'number', [ptrArgType()], [ptrArgVal(gs)]); checkMeosError(); @@ -11216,12 +11222,6 @@ export function shortestline_tgeo_tgeo(temp1: Ptr, temp2: Ptr): Ptr { return _r; } -export function mindistance_tgeo_tgeo(temp1: Ptr, temp2: Ptr, threshold: number): number { - const _r = call('mindistance_tgeo_tgeo_w', 'number', [ptrArgType(), ptrArgType(), 'number'], [ptrArgVal(temp1), ptrArgVal(temp2), threshold]); - checkMeosError(); - return _r; -} - export function mindistance_tgeoarr_tgeoarr(arr1: Ptr, count1: number, arr2: Ptr, count2: number): number { const _r = call('mindistance_tgeoarr_tgeoarr_w', 'number', [ptrArgType(), 'number', ptrArgType(), 'number'], [ptrArgVal(arr1), count1, ptrArgVal(arr2), count2]); checkMeosError(); @@ -15202,6 +15202,18 @@ export function pcpatch_npoints(pa: Ptr): number { return _r; } +export function pcpatch_point_n(pa: Ptr, n: number): Ptr { + const _r = callPtr('pcpatch_point_n_w', [ptrArgType(), 'number'], [ptrArgVal(pa), n]); + checkMeosError(); + return _r; +} + +export function pcpatch_points(pa: Ptr, count: Ptr): Ptr { + const _r = callPtr('pcpatch_points_w', [ptrArgType(), ptrArgType()], [ptrArgVal(pa), ptrArgVal(count)]); + checkMeosError(); + return _r; +} + export function pcpatch_hash(pa: Ptr): number { const _r = call('pcpatch_hash_w', 'number', [ptrArgType()], [ptrArgVal(pa)]); checkMeosError(); @@ -18127,32 +18139,32 @@ export function raquet_gt(rq1: Ptr, rq2: Ptr): boolean { return _r; } -export function raster_value(traj: Ptr, box: Ptr, sample: number, ctx: Ptr): Ptr { - const _r = callPtr('raster_value_w', [ptrArgType(), ptrArgType(), 'number', ptrArgType()], [ptrArgVal(traj), ptrArgVal(box), sample, ptrArgVal(ctx)]); +export function raster_value(traj: Ptr, rast: Ptr, band: number): Ptr { + const _r = callPtr('raster_value_w', [ptrArgType(), ptrArgType(), 'number'], [ptrArgVal(traj), ptrArgVal(rast), band]); checkMeosError(); return _r; } -export function raster_at_value(traj: Ptr, box: Ptr, sample: number, ctx: Ptr, vspan: Ptr): Ptr { - const _r = callPtr('raster_at_value_w', [ptrArgType(), ptrArgType(), 'number', ptrArgType(), ptrArgType()], [ptrArgVal(traj), ptrArgVal(box), sample, ptrArgVal(ctx), ptrArgVal(vspan)]); +export function raster_at_value(traj: Ptr, rast: Ptr, band: number, vspan: Ptr): Ptr { + const _r = callPtr('raster_at_value_w', [ptrArgType(), ptrArgType(), 'number', ptrArgType()], [ptrArgVal(traj), ptrArgVal(rast), band, ptrArgVal(vspan)]); checkMeosError(); return _r; } -export function raster_minus_value(traj: Ptr, box: Ptr, sample: number, ctx: Ptr, vspan: Ptr): Ptr { - const _r = callPtr('raster_minus_value_w', [ptrArgType(), ptrArgType(), 'number', ptrArgType(), ptrArgType()], [ptrArgVal(traj), ptrArgVal(box), sample, ptrArgVal(ctx), ptrArgVal(vspan)]); +export function raster_minus_value(traj: Ptr, rast: Ptr, band: number, vspan: Ptr): Ptr { + const _r = callPtr('raster_minus_value_w', [ptrArgType(), ptrArgType(), 'number', ptrArgType()], [ptrArgVal(traj), ptrArgVal(rast), band, ptrArgVal(vspan)]); checkMeosError(); return _r; } -export function eraster_value(traj: Ptr, box: Ptr, sample: number, ctx: Ptr, vspan: Ptr): number { - const _r = call('eraster_value_w', 'number', [ptrArgType(), ptrArgType(), 'number', ptrArgType(), ptrArgType()], [ptrArgVal(traj), ptrArgVal(box), sample, ptrArgVal(ctx), ptrArgVal(vspan)]); +export function eraster_value(traj: Ptr, rast: Ptr, band: number, vspan: Ptr): number { + const _r = call('eraster_value_w', 'number', [ptrArgType(), ptrArgType(), 'number', ptrArgType()], [ptrArgVal(traj), ptrArgVal(rast), band, ptrArgVal(vspan)]); checkMeosError(); return _r; } -export function araster_value(traj: Ptr, box: Ptr, sample: number, ctx: Ptr, vspan: Ptr): number { - const _r = call('araster_value_w', 'number', [ptrArgType(), ptrArgType(), 'number', ptrArgType(), ptrArgType()], [ptrArgVal(traj), ptrArgVal(box), sample, ptrArgVal(ctx), ptrArgVal(vspan)]); +export function araster_value(traj: Ptr, rast: Ptr, band: number, vspan: Ptr): number { + const _r = call('araster_value_w', 'number', [ptrArgType(), ptrArgType(), 'number', ptrArgType()], [ptrArgVal(traj), ptrArgVal(rast), band, ptrArgVal(vspan)]); checkMeosError(); return _r; }