## General Category Capabilities

General category capabilities consist of two parts: **"Built-in Capabilities of Basic Library"** and **"Panel SDK Development Kit"**, aiming to improve the development efficiency of panel mini programs through standardized interaction and refined development models.

### Capability Matrix

| Dimension | Implementation Entity | Module Name | Description | Documentation |
| :--- | :--- | :--- | :--- | :--- |
| **Standard Core Capabilities** | **Basic Library** | **Panel Environment Initialization** | Automatically handles offline pop-ups, Bluetooth connection, OTA upgrade, fault reminders, etc. | [Overview and Initialization](./common/init-panel-environment) |
| | | **Connectivity and Offline** | Guidance for offline masks and automatic Bluetooth reconnection behavior. | [Connectivity and Offline Logic](./common/init-panel-environment/connectivity) |
| | | **OTA Upgrade** | Firmware detection, mandatory/reminder upgrade logic. | [OTA Upgrade Description](./common/init-panel-environment/ota) |
| **Panel Development Kit** | **Panel SDK** | **Smart Device Model (SDM)** | OOP-based smart device programming model, simplifying data management and control logic. | [Smart Device Model](./common/sdm) |
| | | **Smart Group Model (SGM)** | OOP-based smart group programming model. | [Smart Group Model](./common/sgm) |
| | | **Multi-Device Management** | Freely manage multiple independent device instances within a single miniapp, supporting batch status reading and command issuing. | [Multi-Device Management](./common/multi-device) |
| | | **Panel Multi-language** | Panel-exclusive internationalization adaptation solution, supporting cloud entry synchronization. | [Multi-language Configuration](./common/multi-language) |
| | | **Function Point Parsing Set** | Parsing and conversion tools for common function point protocols. | [Function Point Parsing Set](./common/protocol) |
| | | **Hooks & Utils** | Common React Hooks and utility functions refined from business logic. | [Hooks](./common/hooks) |

---

#### 1. Built-in Capabilities of Basic Library

Built-in capabilities of the basic library are the **standard interaction specification** implementation of the Tuya Panel MiniApp. It is directly driven by the basic library, requiring no additional dependencies (DeviceKit needs to be introduced), mainly solving common interaction issues in the device lifecycle (e.g., how to remind users of device offline, how to guide firmware upgrades).

*   **Features**: Ready to use, unified interaction, closed and secure logic.
*   **Core Entry**: [initPanelEnvironment](./common/init-panel-environment)

#### 2. Panel SDK Development Kit

Panel SDK is an extension kit designed to enhance the **programming experience** of developers. It provides a set of programming models more in line with modern front-end development habits (OOP/Hooks) through the abstract encapsulation of device DPs, groups, multi-languages, and other underlying data.

*   **Features**: Significant efficiency improvement, flexible expansion, on-demand introduction.
*   **Installation Dependency**:

### Installation

```shell
$ yarn add @ray-js/panel-sdk
# or
$ npm install @ray-js/panel-sdk
```

### Use

```typescript
// Import standard environment initialization (Basic Library capability)
import { initPanelEnvironment } from '@ray-js/ray';

// Import Panel SDK tools (SDK capability)
import { useProps, useActions } from '@ray-js/panel-sdk';
```
