Here is the translation of the text into English while maintaining the Markdown format:

## Key Dependency Modules

To allow developers to focus more on UI-level handling without needing to worry too much about other process logic, we have modularized the robot vacuum, separating the underlying implementation from business calls. Currently, the main packages relied upon by the robot vacuum panel are as follows:

**@ray-js/robot-map** Directly called by the business layer, it provides WebView map component and Rjs map component, and exposes common methods for map operations.

**@ray-js/robot-data-stream** Directly called by the business layer, it encapsulates the P2P transmission methods between the panel and the device. Developers can ignore the complexities of the P2P communication process and focus only on the business logic itself.

**@ray-js/robot-protocol** Directly called by the business layer, it provides complete protocol parsing capabilities, encapsulating the parsing and encoding processes of the more complex raw type dp points in the robot vacuum protocol.

**@ray-js/webview-invoke** A lower-level dependency that provides communication capabilities between the mini-program and the underlying SDK, generally requiring no modifications.

For typical robot vacuum requirements, developers primarily focus on application business logic and UI presentation, without needing to concern themselves with the implementations within the internal dependency packages. Upgrades to these packages will be backward compatible, allowing for individual upgrades within the project.
