@visutry/tryon-wechat
v0.2.3
Published
WeChat Mini Program adapter (experimental) for VisuTry SDK: camera, visionkit face tracker, offscreen-canvas renderer.
Maintainers
Readme
@visutry/tryon-wechat
WeChat Mini Program adapter (experimental) for the VisuTry AR glasses try-on SDK.
It adapts the platform-agnostic core to the WeChat Mini Program runtime using:
- Camera —
wx.createCameraContext()frame stream viaWechatCameraProvider. - Face tracking — WeChat VisionKit
VKSessionface geometry viaWechatFaceTracker. - Rendering —
wx.createOffscreenCanvasbased renderer (WechatRenderer). - Facade —
createWechatSDKcomposes the adapters behind the sharedVisuTrySDKinterface.
Because the Mini Program runtime has no DOM and wx is not available in
Node/jsdom, every adapter depends on a WechatEnvironment interface (the
default implementation reads the global wx); tests inject a mock.
This package is experimental and the API may change between minor versions.
Install
pnpm add @visutry/tryon-wechat @visutry/tryon-core
# or
npm install @visutry/tryon-wechat @visutry/tryon-coreRequires Node.js >= 20 and the WeChat Mini Program base library that supports VisionKit face geometry + offscreen canvas.
Basic usage
import { createWechatSDK } from "@visutry/tryon-wechat";
import { setLocale } from "@visutry/tryon-core";
import glassesManifest from "./glasses/aviator-classic.json";
setLocale("zh-CN");
const sdk = createWechatSDK({
canvasId: "tryon-canvas",
camera: { facingMode: "user", width: 640, height: 480, frameRate: 30 },
tracker: { maxFaces: 1, enableTransformationMatrix: true },
renderer: { width: 640, height: 480, mirror: true },
privacy: { processOnDeviceOnly: true, allowSnapshotExport: true, allowAnalytics: false },
});
sdk.on("error", (e) => console.error(e));
await sdk.initialize();
await sdk.startCamera();
await sdk.startTryOn();
await sdk.loadGlasses(glassesManifest);
// const result = await sdk.analyzeFaceShape();
// await sdk.destroy();Exports
createWechatSDK, the WechatSDK facade, the platform adapters
(WechatCameraProvider, WechatFaceTracker, WechatRenderer) and the
WechatEnvironment abstraction.
Full documentation
See the monorepo docs: https://github.com/franksunye/visutry-tryon-sdk#readme
