# stevesun-qixing/chipsecosystem-project-13-2-f architecture

> Architecture diagram of the GitHub repository stevesun-qixing/chipsecosystem-project-13-2-f, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/stevesun-qixing/chipsecosystem-project-13-2-f
- Repository: https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f

## Overview

This is a multi-product Chips workspace: it contains end-user apps, a shared host rendering engine, plugins, and community-platform services rather than one single runtime. A representative user workflow is opening an EPUB, mounting it in the reader engine, and navigating or searching its contents. The excerpts support that reader flow and parts of rendering and upload-session processing; the README provides no useful architecture detail, so unsampled product connections are omitted or marked unverified.

Main entry points: [`Chips-BookReader/src/engine/document-controller.ts`](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/document-controller.ts) (Document controller), [`Chips-Host/packages/unified-rendering/src/engine.ts`](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/engine.ts) (Render engine), [`Chips-CommunityPlatformServer/packages/server/src/services/upload-session.service.ts`](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/services/upload-session.service.ts) (Upload sessions), [`Chips-BookReader/src/hooks/useReaderEngine.ts`](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/hooks/useReaderEngine.ts) (Reader engine hook)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_reader["Book reading"]
  node_reader_engine_hook["Reader engine hook<br/>[useReaderEngine.ts]"]
  node_document_controller["Document controller"]
  node_pagination["Pagination engine"]
  node_position["Position tracker"]
  node_scroll["Scroll engine<br/>[scroll-engine.ts]"]
  node_reader_search["Book search<br/>[search-engine.ts]"]
  node_epub_archive["EPUB archive<br/>[archive.ts]"]
  node_reader_book["Virtual book<br/>[virtual-book.ts]"]
end

subgraph group_host["Host rendering"]
  node_render_engine["Render engine<br/>[engine.ts]"]
  node_render_contracts["Contract validation"]
  node_render_layout["Layout computation<br/>[layout-compute.ts]"]
  node_render_queue["Render queue<br/>[render-queue.ts]"]
end

subgraph group_community["Community services"]
  node_upload_service["Upload sessions"]
  node_upload_database[("Session database<br/>[upload-sessions.ts]")]
  node_object_storage["Object storage<br/>[s3.ts]"]
  node_bucket_config["Storage buckets<br/>[buckets.ts]"]
end

subgraph group_apps["Creative apps"]
  node_video_controller["Video playback"]
  node_music_controller["Music playback"]
  node_drag_drop["Drag-and-drop manager"]
end

node_reader_user(("Reader user"))

node_reader_user -.->|"opens reader"| node_reader_engine_hook
node_reader_engine_hook -->|"creates and updates"| node_document_controller
node_document_controller -->|"delegates to"| node_pagination
node_document_controller -->|"uses"| node_position
node_document_controller -->|"uses"| node_scroll
node_reader_search -->|"reads section text"| node_epub_archive
node_render_engine -->|"validates contracts"| node_render_contracts
node_render_engine -->|"computes layout"| node_render_layout
node_render_engine -->|"schedules rendering"| node_render_queue
node_upload_service -->|"reads and writes"| node_upload_database
node_upload_service -->|"presigns and verifies"| node_object_storage
node_upload_service -->|"selects bucket"| node_bucket_config

click node_reader_engine_hook "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/hooks/useReaderEngine.ts"
click node_document_controller "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/document-controller.ts"
click node_pagination "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/pagination-engine.ts"
click node_position "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/position-tracker.ts"
click node_scroll "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/scroll-engine.ts"
click node_reader_search "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/search-engine.ts"
click node_epub_archive "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/domain/epub/archive.ts"
click node_reader_book "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/domain/book/virtual-book.ts"
click node_render_engine "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/engine.ts"
click node_render_contracts "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/contract-validator.ts"
click node_render_layout "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/layout-compute.ts"
click node_render_queue "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/render-queue.ts"
click node_upload_service "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/services/upload-session.service.ts"
click node_upload_database "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/db/schema/upload-sessions.ts"
click node_object_storage "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/storage/s3.ts"
click node_bucket_config "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/storage/buckets.ts"
click node_video_controller "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-VideoPlayer/src/hooks/useVideoPlayerController.ts"
click node_music_controller "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-MusicPlayer/src/hooks/useMusicPlayerController.ts"
click node_drag_drop "https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-EditingEngine/src/core/drag-drop-manager.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_reader_engine_hook,node_document_controller,node_pagination,node_position,node_scroll,node_reader_search,node_epub_archive,node_reader_book,node_reader_user toneBlue
class node_render_engine,node_render_contracts,node_render_layout,node_render_queue toneAmber
class node_upload_service,node_upload_database,node_object_storage,node_bucket_config toneMint
class node_video_controller,node_music_controller,node_drag_drop toneRose
```

## Components

### Book reading

- [Reader engine hook](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/hooks/useReaderEngine.ts): `Chips-BookReader/src/hooks/useReaderEngine.ts`
- [Document controller](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/document-controller.ts): `Chips-BookReader/src/engine/document-controller.ts`
- [Pagination engine](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/pagination-engine.ts): `Chips-BookReader/src/engine/pagination-engine.ts`
- [Position tracker](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/position-tracker.ts): `Chips-BookReader/src/engine/position-tracker.ts`
- [Scroll engine](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/scroll-engine.ts): `Chips-BookReader/src/engine/scroll-engine.ts`
- [Book search](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/engine/search-engine.ts): `Chips-BookReader/src/engine/search-engine.ts`
- [EPUB archive](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/domain/epub/archive.ts): `Chips-BookReader/src/domain/epub/archive.ts`
- [Virtual book](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-BookReader/src/domain/book/virtual-book.ts): `Chips-BookReader/src/domain/book/virtual-book.ts`

### Host rendering

- [Render engine](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/engine.ts): `Chips-Host/packages/unified-rendering/src/engine.ts`
- [Contract validation](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/contract-validator.ts): `Chips-Host/packages/unified-rendering/src/contract-validator.ts`
- [Layout computation](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/layout-compute.ts): `Chips-Host/packages/unified-rendering/src/layout-compute.ts`
- [Render queue](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-Host/packages/unified-rendering/src/render-queue.ts): `Chips-Host/packages/unified-rendering/src/render-queue.ts`

### Community services

- [Upload sessions](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/services/upload-session.service.ts): `Chips-CommunityPlatformServer/packages/server/src/services/upload-session.service.ts`
- [Session database](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/db/schema/upload-sessions.ts): `Chips-CommunityPlatformServer/packages/server/src/db/schema/upload-sessions.ts`
- [Object storage](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/storage/s3.ts): `Chips-CommunityPlatformServer/packages/server/src/storage/s3.ts`
- [Storage buckets](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-CommunityPlatformServer/packages/server/src/storage/buckets.ts): `Chips-CommunityPlatformServer/packages/server/src/storage/buckets.ts`

### Creative apps

- [Video playback](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-VideoPlayer/src/hooks/useVideoPlayerController.ts): `Chips-VideoPlayer/src/hooks/useVideoPlayerController.ts`
- [Music playback](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-MusicPlayer/src/hooks/useMusicPlayerController.ts): `Chips-MusicPlayer/src/hooks/useMusicPlayerController.ts`
- [Drag-and-drop manager](https://github.com/stevesun-qixing/chipsecosystem-project-13-2-f/blob/develop/Chips-EditingEngine/src/core/drag-drop-manager.ts): `Chips-EditingEngine/src/core/drag-drop-manager.ts`

### Other components

- **Reader user**

## Connections

- Reader user → Reader engine hook: opens reader
- Reader engine hook → Document controller: creates and updates (evidence: `Chips-BookReader/src/hooks/useReaderEngine.ts`)
- Document controller → Pagination engine: delegates to (evidence: `Chips-BookReader/src/engine/document-controller.ts`)
- Document controller → Position tracker: uses (evidence: `Chips-BookReader/src/engine/document-controller.ts`)
- Document controller → Scroll engine: uses (evidence: `Chips-BookReader/src/engine/document-controller.ts`)
- Book search → EPUB archive: reads section text (evidence: `Chips-BookReader/src/engine/search-engine.ts`)
- Render engine → Contract validation: validates contracts (evidence: `Chips-Host/packages/unified-rendering/src/engine.ts`)
- Render engine → Layout computation: computes layout (evidence: `Chips-Host/packages/unified-rendering/src/engine.ts`)
- Render engine → Render queue: schedules rendering (evidence: `Chips-Host/packages/unified-rendering/src/engine.ts`)
- Upload sessions → Session database: reads and writes (evidence: `Chips-CommunityPlatformServer/packages/server/src/services/upload-session.service.ts`)
- Upload sessions → Object storage: presigns and verifies (evidence: `Chips-CommunityPlatformServer/packages/server/src/services/upload-session.service.ts`)
- Upload sessions → Storage buckets: selects bucket (evidence: `Chips-CommunityPlatformServer/packages/server/src/services/upload-session.service.ts`)
