@bldrs-ai/conway 1.322.1027 → 1.323.1029

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -149,7 +149,7 @@ Profiling Conway, including building a Conway-Geom WASM binary with DWARF inform
149
149
  1. Run *build-profile-conway_geom* from Conway's package.json
150
150
  2. Profile your app:
151
151
  ```
152
- node --prof --experimental-specifier-resolution=node /Users/soar/Documents/GitHub/conway/compiled/src/ifc/ifc_command_line_main.js /Users/soar/Downloads/Schependomlaan.ifc -g
152
+ node --prof --experimental-specifier-resolution=node ./compiled/src/ifc/ifc_command_line_main.js <model.ifc> -g
153
153
  ```
154
154
  3. An isolate*.log file will be generated. Run:
155
155
  ```
@@ -171,12 +171,27 @@ You may also wish to use a low rename threshold no-commit merge strategy for som
171
171
  git merge -X rename-threshold=25 --no-commit
172
172
  ```
173
173
 
174
- # Regression Testing Framework
174
+ # CI and Testing
175
175
 
176
- Conway also has a regression testing framework, which can be run on individual model files in a digest or verbose mode, or as a large batch across several models at the same time. For more details see the [documentation](regression/README.md).
176
+ Every PR is gated on two checks defined in `.github/workflows/build.yml`:
177
177
 
178
+ | Job | What it does |
179
+ |---|---|
180
+ | `build` | `yarn install`, WASM + TS compile (WASM cached on the `conway-geom` submodule SHA), `yarn test`, `yarn lint`. |
181
+ | `run-ifc-regression` | `needs: build`. Reuses the same WASM cache. Runs the regression batch against the pinned `test-models` tag, posts a per-PR comment with `failed.csv` / `errors.csv` summaries, and uploads the candidate npm tarball as a workflow artifact. |
178
182
 
179
- # Release Steps
183
+ A merge to `main` re-runs those two jobs and then chains into `auto-publish` (see [Releases](#releases) below).
184
+
185
+ ## Regression batch
186
+
187
+ The same batch the regression CI job runs can be invoked locally — see [regression/README.md](regression/README.md) for digest / verbose / batch modes and the catalog of model fixtures. The CI pinned tag is `TEST_MODELS_TAG` near the top of `build.yml`.
188
+
189
+ ## Performance benchmarks (local only today)
190
+
191
+ Perf isn't wired into CI yet. The current flow is a local `scripts/performance_test.sh` against a checkout of [headless-three](https://github.com/bldrs-ai/headless-three) cross-linked via `yarn link` against the working tree; see [scripts/README.md](scripts/README.md). Wiring perf into CI is tracked in #314 — see [Roadmap](#roadmap).
192
+
193
+
194
+ # Releases
180
195
 
181
196
  **Releases are continuous.** Every green merge to `main` auto-tags and
182
197
  publishes to npm at the default `latest` dist-tag. The version is
@@ -254,3 +269,46 @@ gh release create <VERSION> --generate-notes
254
269
  # Promote the npm package to the stable dist-tag
255
270
  npm dist-tag add @bldrs-ai/conway@<VERSION> stable
256
271
  ```
272
+
273
+
274
+ # Roadmap
275
+
276
+ The CI / release pipeline is now continuous, but there are tracked
277
+ follow-ups to deepen its coverage. Big items first.
278
+
279
+ ### #314 — Performance benchmarks in CI
280
+
281
+ Today perf only runs locally before a major release, against a
282
+ [headless-three](https://github.com/bldrs-ai/headless-three) checkout
283
+ cross-linked via `yarn link`. That makes perf regressions easy to miss
284
+ and impossible to gate merges on.
285
+
286
+ Wiring perf into CI as a third job (`needs: build`, parallel to
287
+ `run-ifc-regression`) is the biggest open improvement. The blocker is
288
+ deciding how to host the H3 dependency in the runner — three
289
+ candidates:
290
+
291
+ - **Vendor H3 as a submodule** of conway. Tight coupling but simplest
292
+ build chain.
293
+ - **Pre-built H3 container image** that the perf job pulls. Looser
294
+ coupling, slower runner startup, more infra.
295
+ - **A Conway-only perf harness** that bypasses H3 entirely — measure
296
+ parse + geometry timings directly off the CLI. Less faithful to the
297
+ Share end-to-end picture but the easiest to land.
298
+
299
+ Once perf runs in CI, the comment posted on each PR should include a
300
+ delta vs. main so regressions show up alongside the regression-batch
301
+ results.
302
+
303
+ ### #315 — Bump pinned `TEST_MODELS_TAG`
304
+
305
+ The regression batch in `build.yml` is pinned to `test-models@0.13.802`.
306
+ If newer stable tags exist, bumping picks up coverage of more recent
307
+ fixtures. The bump itself is a one-line change; the work is triaging
308
+ whatever new diffs appear on a no-op PR run.
309
+
310
+ ### #316 — CI waterfall
311
+
312
+ Mostly done: `build → run-ifc-regression` is in place and shares the
313
+ WASM cache. The only remaining piece is #314 above (the third leg of
314
+ the waterfall).
@@ -69608,7 +69608,7 @@ var IfcStepParser = class extends StepParser {
69608
69608
  IfcStepParser.Instance = new IfcStepParser();
69609
69609
 
69610
69610
  // compiled/src/version/version.js
69611
- var versionString = "Conway Web-Ifc Shim v1.322.1027";
69611
+ var versionString = "Conway Web-Ifc Shim v1.323.1029";
69612
69612
 
69613
69613
  // compiled/src/statistics/statistics.js
69614
69614
  var Statistics = class {
@@ -85869,7 +85869,7 @@ var IfcSceneBuilder = class {
85869
85869
  };
85870
85870
 
85871
85871
  // compiled/src/version/version.js
85872
- var versionString = "Conway Web-Ifc Shim v1.322.1027";
85872
+ var versionString = "Conway Web-Ifc Shim v1.323.1029";
85873
85873
 
85874
85874
  // compiled/src/statistics/statistics.js
85875
85875
  var Statistics = class {
@@ -69606,7 +69606,7 @@ var IfcStepParser = class extends StepParser {
69606
69606
  IfcStepParser.Instance = new IfcStepParser();
69607
69607
 
69608
69608
  // compiled/src/version/version.js
69609
- var versionString = "Conway Web-Ifc Shim v1.322.1027";
69609
+ var versionString = "Conway Web-Ifc Shim v1.323.1029";
69610
69610
 
69611
69611
  // compiled/src/statistics/statistics.js
69612
69612
  var Statistics = class {
@@ -1,2 +1,2 @@
1
- const versionString = 'Conway Web-Ifc Shim v1.322.1027';
1
+ const versionString = 'Conway Web-Ifc Shim v1.323.1029';
2
2
  export { versionString };