Skip to main content

Changelogs

@buerli.io/classcad

1.2.0​

Minor Changes​

  • Added WSClient, a client for the ClassCAD Drogon WebSocket protocol, with multi-client session sharing. createInvite / revokeInvite issue and revoke edit/view invites, peers / invites expose the session state, and sendPresence plus the presence event share viewpoints and cursors between clients. Helpers for share URLs (buildShareUrl, getShareTokenFromUrl, getSessionShareState, subscribeSessionShare) are exported as well.
  • Session sharing reaches engines that run in the page, and carries more than the model. A WASMClient hosts its session itself (SessionHost): createInvite / revokeInvite, peers, invites and presence work as on a WSClient, and guests join with ?invite=<token> where a ClassCAD MCP on the same machine introduces them (sessionUrl, default DEFAULT_SESSION_URL). Added syncSelection(client), which shares a drawing's selection with its session and selects what a peer asks for (readSelection, applySelection, the selection and select presence channels), and client identities: a client given an identity says who it is, and every client collects what the others said (identities, the identities_changed event, SessionShareState.identities). A WSClient takes a URL without a scheme (/session) as an address on the server the page came from, and every client has a drawingId.
  • WASMClient takes an access token instead of a key: new WASMClient(drawingId, { token: 'ccpk_…' }). The engine's key is fetched from ClassCAD's token exchange when the engine starts, cached until shortly before it expires, renewed in the background, and kept when the service cannot be reached. getKey lets an app supply keys from its own sign-in; classcadKey works as before. resolveEngineKey and requestEngineKey are exported for other hosts.
  • Added per-connection emission config: getEmissionConfig / setEmissionConfig on the ComClient and BuerliCadFacade.utils, plus BuerliCadFacade.utils.withEmissionConfig to run a script with a temporary config. On engines without support the calls reject with an error named EMISSION_CONFIG_UNSUPPORTED.
  • Added BuerliCadFacade.tree() and BuerliCadFacade.graphic() to read the structure tree and the current tessellation of a drawing. Both are also returned by useBuerliCadFacade.

Patch Changes​

  • Updated dependencies
    • @buerli.io/core@1.2.0

1.1.0​

Minor Changes​

  • Added an optional xAxis parameter to circle method in Curve API. This parameter can be used to define the parametric start of an arc.
  • Added an optional 'silent' flag to the evaluateExpression API function in the Common API.
  • Deprecated splitAllCurves, trimCurves and splitCurvesMergeBack in the Sketch API. Use preTrim, trim and postTrim instead.
  • Added an optional isConstruction parameter to line, circle, arcByCenter, and arcBy3Points methods in the Sketch API. When set to true, the created curves are created as construction geometry in the sketch.
  • Added new methods to Sketch API to get diagnostic information of the sketch. New methods are getGlobalState, getDiagnosticsInfo, getObjectsLists, getObjectInfo and getTopologyInfo.
  • Deprecated splitCurves in the Sketch API. Use splitCurve instead which returns a more structured result.

Patch Changes​

  • Updated @classcad/api-js version to 21.2.0
  • Updated dependencies
    • @buerli.io/core@1.1.0

0.13.0​

Minor Changes​

  • Add useCurrentTransform flag for updateFastenedConstraints and updateFastenedOriginConstraints
  • Add SphericalConstraint and GearRelation. SphericalConstraint connects two mates, restricting translational degrees of freedom, but leaving rotational degrees of freedom. GearRelation connects rotation values of two RevoluteConstraints, allowing to set a linear relationship between them.
  • Add new assembly constraints: GroupConstraint, LinearPatternConstraint and CircularPatternConstraint. GroupConstraint fixes relative transforms of selected instances to each other. LinearPatternConstraint makes copies of selected instance and fixes their relative transforms to each other in a linear pattern. CircularPatternConstraint makes copies of selected instance and fixes their relative transforms to each other in a circular pattern.

Patch Changes​

  • @buerli.io/core@0.13.0

0.12.0​

Minor Changes​

  • Add new feature CompositeCurve to buerli. This allows to create curves composed of brep edges and sketch curves. New method updateCompositeCurve() has been added to FeatureAPI.

Patch Changes​

  • @buerli.io/core@0.12.0

0.11.0​

📝 Note: To use version 0.11.0 of @buerli.io/classcad, you must install @classcad/windows-x64, @classcad/linux-x64 or @classcad/linux-arm64 at version 0.0.8 to be compatible.

Minor Changes​

  • Add new API method setAppearance() to BaseModelerAPI and CommonAPI. It allows to set color, transparency and tessellation settings on entities (e.g. solids) in one single call.
  • Add new feature Twist to buerli. This allows to create twisted extrusions. New method updateTwist() has been added to the FeatureAPI
  • Change type of parameter for API method addDimensions() in Drawing2DAPI. This improves the flexibility of adding different dimensions to the model. This change breaks the API.
  • Due to the new API method setAppearance() the methods setColor() and setTransparency() in the BaseModelerAPI and CommonAPI are set as deprecated and will be removed in a future release.
  • Add two new methods called setDatabaseSettings() and getDatabaseSettings() to the CommonAPI. With this methods it's possible to control different settings about tessellation and graphics in general on ClassCAD server.

Patch Changes​

  • Updated dependencies
    • @buerli.io/core@0.11.0