@bldrs-ai/conway 1.22.969 → 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,56 +171,80 @@ 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).
180
184
 
181
- Releases are cut from `main`. Patch numbers auto-increment on every build
182
- (from `git rev-list HEAD --count` via `scripts/updateVersion.mjs`); only
183
- `major` and `minor` are bumped manually by `create-release-candidate.sh`.
185
+ ## Regression batch
184
186
 
185
- ### 1. Pre-release validation
186
- ```
187
- yarn build # full build; stamps patch version
188
- grep '"version"' package.json # should be 1 ahead of the latest tag on GH
189
- ```
190
- - Run the performance test suite — see [scripts/README.md](scripts/README.md).
191
- - Run the regression batch — see [regression/README.md](regression/README.md).
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`.
192
188
 
193
- ### 2. Publish the release candidate
194
- Run this from a release branch (not directly on `main`):
195
- ```
196
- yarn create-release-candidate <major|minor>
197
- ```
198
- This bumps `package.json` + `src/version/version.ts`, re-runs
199
- `build-incremental`, **commits the bump on the current branch**, tags
200
- that commit, pushes both branch and tag, runs `npm publish --access public`
201
- (you'll be prompted for npm OTP), and regenerates typedoc. The package is
202
- published with the default `latest` dist-tag; `stable` is added later
203
- (step 5).
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
195
+
196
+ **Releases are continuous.** Every green merge to `main` auto-tags and
197
+ publishes to npm at the default `latest` dist-tag. The version is
198
+ `<major>.<PR>.<commit>` where:
199
+
200
+ - `major` comes from `package.json` on `main` (only the first segment;
201
+ the other two are recomputed on every release)
202
+ - `PR` is the GitHub PR number that produced the merge commit
203
+ - `commit` is `git rev-list HEAD --count` at the merge commit (the
204
+ global commit position)
205
+
206
+ So a merge of PR #321 at the 985th commit on main publishes as
207
+ `1.321.985`. Each release is uniquely traceable to a PR and a commit.
208
+
209
+ The auto-publish job lives in `.github/workflows/build.yml` and runs as
210
+ `needs: [build, run-ifc-regression]` on `push: branches: [main]`. It
211
+ parses the PR number from the merge commit message, stamps the
212
+ computed version into `package.json` + `src/version/version.ts` in
213
+ CI's working tree (not committed back), rebuilds, publishes to npm,
214
+ and then tags the merge commit.
215
+
216
+ **Auth:** npm Trusted Publishing via GitHub OIDC. A Trusted Publisher
217
+ configured at npmjs.com on `@bldrs-ai/conway` is bound to this repo +
218
+ `build.yml`. No long-lived `NPM_TOKEN` secret is used; the workflow
219
+ gets a short-lived publish token per run via OIDC.
220
+
221
+ ### Normal flow: ship a change
222
+
223
+ 1. Open a PR with your change. CI runs `build` and `run-ifc-regression`.
224
+ 2. Merge once both checks are green.
225
+ 3. On main push, CI re-runs `build` + `run-ifc-regression`, then
226
+ `auto-publish` tags and ships. Watch the workflow run in the Actions
227
+ tab; the new version is on npm within ~5-10 min of the merge.
204
228
 
205
- > **Heads up:** the script publishes to npm and pushes the tag *before*
206
- > the PR in step 3 lands. If the PR is rejected, you'll need to
207
- > `npm deprecate` (or `npm unpublish` within 72h) the published version,
208
- > and either delete the pushed tag or move it once a corrected commit
209
- > lands on `main`.
229
+ ### Bumping major
210
230
 
211
- ### 3. Open the version-bump PR
212
- The bump commit is already on your release branch. Open a PR from it,
213
- add benchmark deltas to the body, wait for approval, and merge.
231
+ Edit the `version` field in `package.json` on a PR — only the first
232
+ segment matters (the `PR` and `commit` parts are recomputed). For
233
+ example, change `"version": "1.0.0"` to `"version": "2.0.0"` to start
234
+ the `2.x.x` line. The first auto-publish after that lands ships
235
+ `2.<PR>.<commit>`.
214
236
 
215
- ### 4. Roll into headless-three and Share
237
+ There is no minor bump `PR` lives in that slot — so increasing
238
+ sequential versions across the `1.x` line look like `1.300.x`,
239
+ `1.301.x`, etc., as PRs land.
240
+
241
+ ### Rolling into headless-three and Share
216
242
  The same flow applies to both — do **H3 first, then Share**:
217
243
  ```
218
- cp bldrs-ai-conway-<VERSION>.tgz $H3_DIR
219
244
  cd $H3_DIR
220
245
  git fetch upstream # or origin if not on a fork
221
246
  git checkout -b conway-<VERSION> upstream/main
222
- rm bldrs-ai-conway-<OLD>.tgz
223
- # Edit package.json dep for @bldrs-ai/conway to point at the new tarball filename.
247
+ # Edit package.json dep for @bldrs-ai/conway to "<VERSION>"
224
248
  yarn install
225
249
  yarn build && yarn test
226
250
  yarn serve
@@ -236,12 +260,55 @@ Then:
236
260
  4. Post in `#bot` or `#share`: "New Conway <VERSION> in prod" with a link
237
261
  to the changelog.
238
262
 
239
- ### 5. Cut the GitHub release and tag stable
240
- After Share prod is verified:
263
+ ### Blessing a `stable` version
264
+ After Share prod is verified on a given Conway version:
241
265
  ```
242
- # Create the GitHub release from the tag (auto-generates changelog from PRs)
266
+ # Create the GitHub release from the auto-pushed tag
243
267
  gh release create <VERSION> --generate-notes
244
268
 
245
269
  # Promote the npm package to the stable dist-tag
246
270
  npm dist-tag add @bldrs-ai/conway@<VERSION> stable
247
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).
@@ -1 +1 @@
1
- {"version":3,"file":"conway_geometry.d.ts","sourceRoot":"","sources":["../../../../dependencies/conway-geom/interface/conway_geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conway_geometry.d.ts","sourceRoot":"","sources":["../../../../dependencies/conway-geom/interface/conway_geometry.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,25 @@ function pThreadsAllowed() {
15
15
  // (SharedArrayBuffer may exist but will only work with threads if
16
16
  // crossOriginIsolated is true.)
17
17
  if (isWebPlatform()) {
18
+ if (isIosBrowser()) {
19
+ return false;
20
+ }
18
21
  return window.crossOriginIsolated === true;
19
22
  }
20
23
  return true;
21
24
  }
25
+ function isIosBrowser() {
26
+ if (typeof navigator === 'undefined') {
27
+ return false;
28
+ }
29
+ const ua = navigator.userAgent || navigator.vendor || '';
30
+ if (/\b(iPad|iPhone|iPod)\b/i.test(ua)) {
31
+ return true;
32
+ }
33
+ return navigator.platform === 'MacIntel' &&
34
+ typeof navigator.maxTouchPoints === 'number' &&
35
+ navigator.maxTouchPoints > 1;
36
+ }
22
37
  export let wasmType = "";
23
38
  let ConwayGeomWasm;
24
39
  let modulePrefix = '../Dist/';
@@ -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.22.1001";
69611
+ var versionString = "Conway Web-Ifc Shim v1.323.1029";
69612
69612
 
69613
69613
  // compiled/src/statistics/statistics.js
69614
69614
  var Statistics = class {
@@ -84006,10 +84006,23 @@ function pThreadsAllowed() {
84006
84006
  return false;
84007
84007
  }
84008
84008
  if (isWebPlatform()) {
84009
+ if (isIosBrowser()) {
84010
+ return false;
84011
+ }
84009
84012
  return window.crossOriginIsolated === true;
84010
84013
  }
84011
84014
  return true;
84012
84015
  }
84016
+ function isIosBrowser() {
84017
+ if (typeof navigator === "undefined") {
84018
+ return false;
84019
+ }
84020
+ const ua = navigator.userAgent || navigator.vendor || "";
84021
+ if (/\b(iPad|iPhone|iPod)\b/i.test(ua)) {
84022
+ return true;
84023
+ }
84024
+ return navigator.platform === "MacIntel" && typeof navigator.maxTouchPoints === "number" && navigator.maxTouchPoints > 1;
84025
+ }
84013
84026
  var wasmType = "";
84014
84027
  var ConwayGeomWasm3;
84015
84028
  var modulePrefix = "../Dist/";
@@ -85856,7 +85869,7 @@ var IfcSceneBuilder = class {
85856
85869
  };
85857
85870
 
85858
85871
  // compiled/src/version/version.js
85859
- var versionString = "Conway Web-Ifc Shim v1.22.1001";
85872
+ var versionString = "Conway Web-Ifc Shim v1.323.1029";
85860
85873
 
85861
85874
  // compiled/src/statistics/statistics.js
85862
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.22.1001";
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 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version/version.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,EAAE,MAAwC,CAAA;AAG7D,OAAO,EAAC,aAAa,EAAC,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version/version.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,EAAE,MAA0C,CAAA;AAG/D,OAAO,EAAC,aAAa,EAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- const versionString = 'Conway Web-Ifc Shim v1.22.969';
1
+ const versionString = 'Conway Web-Ifc Shim v1.323.1029';
2
2
  export { versionString };