@thatopen/services 0.25.0 → 0.26.1

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.
@@ -427,9 +427,20 @@ To AUTHOR a suggestion's payload, `OperationBuilder` (same import) writes the
427
427
  operation .frag: `new OperationBuilder(target).add(attrs, placement)` /
428
428
  `.set(id, attrs)` / `.remove(id)`, then `await builder.build(opId)` gives the
429
429
  bytes for `suggest({ payload })`. Attributes go in the TARGET app's own terms
430
- and units, untranslated. It needs the optional peers `flatbuffers` and
431
- `@thatopen/fragments` installed (loaded only when `build()` runs — nothing
432
- else in the package needs them).
430
+ and units, untranslated. To READ a .frag's data without rendering anything,
431
+ `readFrag(bytes)` answers its metadata and items (guids, categories,
432
+ attributes). Both need the optional peers `flatbuffers` and
433
+ `@thatopen/fragments` resolvable (loaded only when they run — nothing else in
434
+ the package needs them; in plain Node, fragments also pulls `web-ifc`).
435
+
436
+ BUILT-IN RECIPES ship with the SDK — proof that interoperability works
437
+ without writing anything, and the templates to copy:
438
+ `registerBuiltinRecipes(client)` registers `rhino-to-revit` (a Rhino layer's
439
+ placed objects become instances of a chosen Revit type, reconciled on re-run),
440
+ `ifc-to-revit` and `frag-to-revit` (the platform's own records — columns and
441
+ free-standing instances today, more as the Revit applier grows; walls and
442
+ slabs are read and tallied, proposing nothing yet). Every proposal is a
443
+ suggestion: nothing changes in the native app until its owner accepts there.
433
444
 
434
445
  This surface is the only supported way in: the storage underneath is private
435
446
  and will move. Never list or write the `bimterop` files directly. The full
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "access": "public"
16
16
  },
17
17
  "private": false,
18
- "version": "0.25.0",
18
+ "version": "0.26.1",
19
19
  "main": "dist/index.cjs.js",
20
20
  "module": "dist/index.es.js",
21
21
  "types": "dist/index.d.ts",
@@ -72,6 +72,7 @@
72
72
  "vite-plugin-dts": "^3.9.1",
73
73
  "vite-plugin-eslint": "^1.8.1",
74
74
  "vitest": "^4.1.4",
75
+ "web-ifc": "^0.0.78",
75
76
  "zod": "^3.25.76"
76
77
  },
77
78
  "dependencies": {