open-index/open-npm huggingface dataset:
npm package: @linx-impulse/engage-onsite-sdk-js
Description: SDK to be used as interface over onsite api in client side application that use javascript.
Author: Ivanildo de Castro
Latest version: 0.1.4

# Linx Onsite SDK
SDK to be used as interface over onsite api in client side application that use javascript.

## Installation

### npm:
```bash
$ npm install --save @linx-impulse/engage-onsite-sdk-js
```
### yarn:
```bash
$ yarn add @linx-impulse/engage-onsite-sdk-js
```

Both above can be used as follow
- node
```javascript
const engageOnsiteSdkJs = require('@linx-impulse/engage-onsite-sdk-js');

const { pages } = engageOnsiteSdkJs;

pages.getRecommendations({...});
```

- es6 style
```javascript
import { pages } from '@linx-impulse/engage-onsite-sdk-js';

pages.getRecommendations({...});
```

### CDN:
```html
<script src="https://cdn.jsdelivr.net/npm/@linx-impulse/engage-onsite-sdk-js@0.0.0-alpha.7/dist/engage-onsite-sdk-js.js"></script>
```
> Notice! it is recommended to use the latest version.
> https://www.npmjs.com/package/@linx-impulse/engage-onsite-sdk-js


It will create a global object that can be used as follow:
```html
<script>
  var engageOnsiteSdk = window.linx.engageOnsiteSdk;

  engageOnsiteSdkJs.pages.getRecommendations({...});
</script>
```

### Release conventions
When releasing a new version of this sofware, we should follow the standards described in https://semver.org/

The commands below already follow those guidelines so you should just run:

```
npm run release
```

or

```
yarn release
```

In case of a prerelease version. We can use the optional parameter:

```
--prerelease [alpha|beta|rc]
```

When deciding the prerelease tag, we should follow the guidelines described in https://www.drupal.org/node/467020
npm package: @linx_impulse/impulse-sdk-js
Description: This is Events SDK for TypeScript and JavaScript. This project is open source and maintained by Impulse Events.
Author: Events | Linx Impulse
Latest version: 1.0.6

# Linx Impulse JS/TS SDK

This is Events SDK for TypeScript and JavaScript. This project is open source and maintained by Impulse Events.
The home page for the project is [Linx Impulse Events SDK for TypeScript and JavaScript](https://github.com/chaordic/impulse-sdk-js/).

## Installing

Use the following command to install this SDK:

```
npm install @chaordic/impulse-sdk-js
```

## Examples

Examples can be found [in the examples section](https://github.com/chaordic/impulse-sdk-js/tree/main/examples)

## Documentation

The full documentation can be seen [on the sdk for typescript and javascript documentation site](https://chaordic.github.io/impulse-sdk-doc).

## Versions Supported

The SDK for TypeScript and JavaScript currently supports NodeJS version 18 and TypeScript version 4.9.4.

## Contributing

You can provide feedback to us in several ways. Both positive and negative feedback is appreciated. If you do, please feel free to [open an issue](https://github.com/chaordic/impulse-sdk-js/issues/new) on our GitHub repository

![ts](https://badgen.net/badge/-/TypeScript?icon=typescript&label&labelColor=blue&color=555555)
![ts](https://img.shields.io/badge/Jest-323330?logo=Jest&label&labelColor=blue&color=555555)

[![Quality Gate Status](http://sonarqube.stg.event.internal/api/project_badges/measure?project=tZormRZZB67EMsA&metric=alert_status)](http://sonarqube.stg.event.internal/dashboard?id=tZormRZZB67EMsA)

[![Coverage](http://sonarqube.stg.event.internal/api/project_badges/measure?project=tZormRZZB67EMsA&metric=coverage)](http://sonarqube.stg.event.internal/dashboard?id=tZormRZZB67EMsA)
npm package: @linxai/3d-core
Description: Linx 3D Core - Platform-agnostic 3D avatar engine (Pure JS/TS)
Author: Linx
Latest version: 0.0.11

# @linx/3d-core

Pure JavaScript 3D 角色引擎核心包，无框架依赖。

## 安装

```bash
npm install @linx/3d-core three
```

## 特性

- 🎭 Character3DViewer - 主控制器类
- 📦 模型加载（GLB/FBX）
- 🎨 姿势管理
- 🎬 动画管理
- 🎯 无框架依赖
- 📘 完整 TypeScript 支持

## 快速开始

```typescript
import { Character3DViewer } from '@linx/3d-core';

// 创建容器元素
const container = document.getElementById('character-container');

// 创建 viewer 实例
const viewer = new Character3DViewer(container, {
  cameraView: 'full',
  cameraRotateEnable: true,
  lightAmbientIntensity: 2
});

// 加载角色
await viewer.showAvatar({
  url: 'https://models.readyplayer.me/your-avatar-id.glb',
  body: 'F',
  emotion: 'neutral'
});

// 开始渲染循环
viewer.start();

// 控制角色
viewer.startSpeaking();
viewer.setEmotion('happy');
await viewer.playPose('sitting', 5);
```

## API

### Character3DViewer

主控制器类。

#### 构造函数

```typescript
constructor(container: HTMLElement, options?: Character3DViewerOptions)
```

#### 方法

- `showAvatar(config: AvatarConfig): Promise<void>` - 加载并显示角色
- `start(): void` - 开始渲染循环
- `stop(): void` - 停止渲染循环
- `startSpeaking(): void` - 开始说话动画
- `stopSpeaking(): void` - 停止说话动画
- `setEmotion(emotion: string): void` - 设置情绪
- `setView(view: CameraView): void` - 设置相机视角
- `playPose(name: string, duration?: number): Promise<void>` - 播放姿势
- `playAnimation(url: string, duration?: number): Promise<void>` - 播放动画
- `playGesture(name: string, duration?: number, mirror?: boolean): void` - 播放手势
- `dispose(): void` - 销毁实例

### 管理器

#### PoseManager

姿势管理器。

```typescript
import { PoseManager } from '@linx/3d-core';

const poseManager = new PoseManager();
poseManager.registerPose('custom', poseTemplate);
const pose = poseManager.getPose('custom');
```

#### AnimationManager

动画管理器。

```typescript
import { AnimationManager } from '@linx/3d-core';

const animManager = new AnimationManager();
animManager.setEmotion('happy');
animManager.setState('talking');
```

#### ModelLoader

模型加载器。

```typescript
import { ModelLoader } from '@linx/3d-core';

const loader = new ModelLoader();
const gltf = await loader.loadGLB('model.glb');
const fbx = await loader.loadFBX('animation.fbx');
```

## 配置选项

```typescript
interface Character3DViewerOptions {
  // 相机设置
  cameraView?: 'full' | 'mid' | 'upper' | 'head';
  cameraDistance?: number;
  cameraX?: number;
  cameraY?: number;
  cameraRotateEnable?: boolean;
  cameraPanEnable?: boolean;
  cameraZoomEnable?: boolean;
  
  // 光照设置
  lightAmbientColor?: number | string;
  lightAmbientIntensity?: number;
  lightDirectColor?: number | string;
  lightDirectIntensity?: number;
  
  // 渲染设置
  pixelRatio?: number;
  fps?: number;
  
  // 角色设置
  avatarEmotion?: string;
  movementFactor?: number;
}
```

## License

MIT