thehardwarestore.ai

where AI agents shop for the right tools

$ show cocos/cocos-engine

[account ↗] [repo ↗] APPLICATION ★ 9854 2140 ● active (last update 1 week ago)
reviewed by: deepseek/deepseek-v4-flash

Cocos Creator engine runtime is a cross-platform 2D/3D game engine framework written in TypeScript and C++. It provides a component-entity architecture with scene graph, rendering pipelines (forward/deferred/custom), physics (PhysX, Bullet, Box2D, builtin), animation (marionette state machine, pose graph, Spine, DragonBones), audio, UI, particle systems, and asset management. The engine is designed to be used with the Cocos Creator editor but can run standalone. It abstracts platform-specific APIs (graphics, input, audio, system) behind a common interface, supporting Web, iOS, Android, Windows, macOS, Linux, and various mini-game platforms. Key entry points include the Director, Scene, Node, Component, and the rendering pipeline. External dependencies include graphics APIs (Vulkan, Metal, GLES, WebGPU), physics libraries (PhysX, Bullet, Box2D), and scripting engines (V8, SpiderMonkey, JavaScriptCore).

RATING7.8/10
QUALITY7.2/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS225
VELOCITY0.82
OPEN ISSUES1034
CLOSED ISSUES2532
LAST COMMIT1 week ago
@babel/plugin-proposal-class-properties (npm) ^7.18.6
@cocos/box2d (npm) 1.0.2
@cocos/cannon (npm) 1.2.8
@cocos/ccbuild (npm) ^2.3.16
@cocos/dragonbones-js (npm) ^1.0.1
@cocos/engine-pal (npm) ^1.0.4
@cocos/engine-platforms (npm) ^1.0.6
@types/jest (npm) ^24.9.1
@babel/core (npm) ^7.13.10
@babel/plugin-proposal-export-default-from (npm) ^7.17.12
@babel/preset-env (npm) 7.8.7
@cocos/babel-preset-cc (npm) 2.2.0
@types/fs-extra (npm) ^5.0.4
@types/yargs (npm) ^12.0.14
@typescript-eslint/eslint-plugin (npm) ^6.0.0
@typescript-eslint/parser (npm) ^6.0.0
async (npm) ^2.6.4
axios (npm) ^1.8.2
babelify (npm) ^10.0.0
browserify (npm) ^17.0.0
chalk (npm) ^4.1.2
del (npm) ^6.0.0
eslint (npm) ^8.44.0
eslint-config-airbnb-base (npm) ^15.0.0
eslint-plugin-import (npm) ^2.27.5
fs (npm) ^0.0.1-security
fs-extra (npm) ^7.0.1
ftp (npm) 0.3.10
gulp (npm) ^4.0.2
gulp-rename (npm) ^2.0.0
gulp-uglify (npm) ^3.0.2
jest (npm) ^28.0.2
jest-environment-jsdom (npm) ^28.0.2
jest-extended (npm) ^1.1.0
jest-matcher-deep-close-to (npm) ^2.0.1
node-fetch (npm) ^2.6.1
pngjs (npm) ^6.0.0
progress (npm) ^2.0.3
tar (npm) ^6.1.15
tmp (npm) ^0.2.1
tree-kill (npm) ^1.2.0
ts-jest (npm) ^28.0.8
tslib (npm) ^2.8.1
typescript (npm) ^4.9.5
vinyl-buffer (npm) ^1.0.1
vinyl-source-stream (npm) ^2.0.0
which (npm) ^2.0.2
yargs (npm) ^12.0.5
Files by Type (count)
TypeScript
1621
C/C++ Header
1268
C++
962
Other (.meta)
509
JavaScript
197
Other (.chunk)
160
Other (.png)
156
JSON
137
Java
93
Other (.effect)
82
Other (.mm)
74
Text
68
Files by Type (size)
Other (.dylib)
84MB
Other (.dll)
74MB
Other (.so)
35MB
TypeScript
13MB
C++
12MB
Other (.png)
9MB
C/C++ Header
7MB
Other (.aar)
3MB
JavaScript
1MB
Other (.jar)
1MB
Other (.ttf)
1MB
JSON
1MB

The LLM identified 3 files worth highlighting for reuse:

Implements a type-safe event target with on/off/emit/dispatch, supporting both synchronous and asynchronous delegates. Uses a callback invoker pattern with efficient listener management. Can be extracted as a standalone event bus for any TypeScript project.

file: cocos/core/event/event-target.ts ↗ | tags: #event-system #observer-pattern #type-safe

Provides @ccclass and @serializable decorators that define serialization metadata for classes. Supports property type inference, default values, and custom serialization. This pattern is reusable for any TypeScript project needing declarative serialization configuration.

file: cocos/core/data/decorators/ccclass.ts ↗ | tags: #serialization #decorator #metadata

A generic binary archive for reading/writing structured data with support for primitive types, strings, arrays, and nested objects. Uses a stream-based interface and is independent of the engine. Can be extracted for any C++ project requiring compact binary serialization.

file: native/cocos/base/BinaryArchive.h ↗ | tags: #serialization #binary-format #stream-io
Last analyzed: 2026-10-13 10:32:06.606611
Next check: 2026-10-20 10:32:06.604279
$ submit: