载入中...
搜索中...
未找到
命名空间列表
这里列出了所有命名空间定义,附带简要说明:
[详情级别 12345]
| NCLI | |
| ►Ndtl | |
| ►Nutility | |
| CDrawJagged | |
| CDrawJaggedRandom | |
| CDrawJagged | |
| CDrawJaggedRandom | |
| ►Neve | |
| ►Nanimation | |
| CAnimation | Animation module — tween factory + 2D sprite-sheet / Spine + 3D skeletal playback (player / state machine / motion matching) + control-theory procedural drivers + motion trails + per-frame pump. Script: anim <- eve.Animation(); |
| CAnimClip | Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip |
| CAnimClipRegistry | Weak path→clip registry for animation hot reload |
| CAnimImporter | Import AnimSkeleton / AnimClip from an Assimp scene (FBX/glTF/etc), or from compact .eva text fixtures derived from those assets |
| CAnimLattice | CPU 3D lattice scale-deformer (晶格缩放变形) |
| CAnimPlayer | Single-clip (or cross-fading) 3D animation player. Script type: AnimPlayer |
| CAnimPose | Evaluated local (and optional world) pose for an AnimSkeleton. Script type: AnimPose |
| CAnimSkeleton | 3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK). Script type: AnimSkeleton |
| CAnimSkin | CPU linear-blend skinning binding for one mesh against an AnimSkeleton |
| CAnimStateMachine | Clip-driven animation state machine with float/bool/trigger parameters and cross-fade transitions. Script type: AnimStateMachine |
| CAnimTrail | Motion trail / afterimage recorder + 2D trajectory drawer |
| CControlAnim | Control-theory procedural animation for named scalar properties |
| CControlPose | Control-theory procedural pose driver: tracks a target AnimPose with per-channel second-order / spring / PD dynamics (same laws as ControlAnim). Script type: ControlPose |
| CDampedSpringStep | Closed-form coefficients for one damped-spring time step (Juckett) |
| CMat4 | Column-major 4x4 matrix (OpenGL / glTF / Assimp-compatible layout). Elements: m[col * 4 + row] |
| ►CMotionDatabase | Baked motion-matching feature database from one or more AnimClips. Feature layout per frame: [0..1] root velocity xz [2..7] trajectory pos xz at +0.33/+0.66/+1.0s (character space) [8..10] trajectory facing dir xz + yaw sin/cos packed as (fx,fz) for +1.0s [11..] selected joint world positions (xyz each) Script type: MotionDatabase |
| CFrame | |
| CMotionMatcher | Runtime motion matching player: builds a query feature from current pose + desired trajectory, searches MotionDatabase, cross-fades to best match. Script type: MotionMatcher |
| CSecondOrderCoeffs | Control-theory helpers for procedural animation |
| CSpineAnim | Spine animation player + 2D draw collector (region attachments) |
| CSpineAtlas | Esoteric Spine .atlas text parser (region rectangles + page metadata). Does not load image pixels — bind GPU textures by page name/index in SpineAnim. Script type: SpineAtlas |
| CSpineSkeleton | Runtime Spine skeleton pose (local + world bone transforms, slot attachments). Script type: SpineSkeleton |
| ►CSpineSkeletonData | Spine skeleton JSON data (bones / slots / skins / animations) |
| CAnimationData | |
| CAttachmentKey | |
| CBoneData | |
| CBoneTimeline | |
| CFloatKey | |
| CRegionAttachment | |
| CScaleKey | |
| CSkinData | |
| CSlotData | |
| CSlotTimeline | |
| CTranslateKey | |
| CSpriteAnim | 2D sprite-sheet clip player |
| CSpriteClip | Named 2D frame sequence referencing SpriteSheet frame indices. Script type: SpriteClip |
| CSpriteSheet | Sprite-sheet / texture-atlas frame table (pixel rects) |
| CTransformTRS | Local TRS used by skeletal animation (quaternion xyzw) |
| CTween | Property tween — interpolates named float properties from → to over time |
| ►Naudio | |
| CAudio | OpenAL audio module: device management, master listener state, and Source factory. Script: audio <- eve.Audio(); |
| CPcmChunk | 解码后待排队的一帧 PCM 数据。 |
| CSource | A playable audio source (static buffer or streaming decoder). Not thread-safe for playback control except fillPendingFromDecoder(), which is synchronized for the Audio worker thread |
| ►Navatar | |
| CAvatar | Avatar module — layered character rendering for VN / portrait use. Script: avatar <- eve.Avatar(); |
| CAvatarInstance | Unified avatar instance. Kind is a string: "image" | "live2d" | "vroid". Script-facing API avoids overloads; kind-specific methods no-op / return false when unsupported |
| CILive2DBackend | Optional Live2D runtime backend (Cubism etc.). Registered from C++ / plugins |
| CNullLive2DBackend | Built-in Live2D placeholder backend (no Cubism SDK). Stores path / parameters / expression / motion so scripts and tests can run without a proprietary runtime. Replace via Avatar::registerLive2DBackend (see examples/live2d-backend-plugin) |
| ►Nbuilding | 建筑放置模块入口:定义 / 放置世界 / 鬼影 / 变更事件的脚本绑定点。 设计文档:docs/dev/建筑放置系统设计.md |
| CBuilding | 建筑放置模块(eve.Building)。 |
| CBuildingChangeEvent | 一次成功放置变更的事件(供脚本 poll / C++ hook)。 |
| CBuildingDefinition | 建筑模板(进程级注册表中的定义)。 |
| CBuildingRegistry | |
| CGhost | |
| CPlacedBuilding | 已放置的建筑实例。 |
| CPlacementQuery | 校验上下文:传给可插拔规则。 |
| CPlacementSession | |
| ►CPlacementSystem | |
| CPlacementHit | |
| CPlacementWorld | 格子型建筑放置世界(脚本可直接操作)。 |
| CSnapResult | 吸附结果。 |
| ►Nbuildingfx | |
| CBuildingFx | |
| ►Ncamera | |
| CCamera | 摄像机模块命名空间(eve.Camera)。主要职责是把 CameraController 绑定进脚本。 |
| CCameraController | 3D 摄像机控制器(eve.Camera / eve.CameraController)。 |
| ►Ncap | |
| Ndetail | |
| ►Ncaps | |
| CIAssetReloader | |
| CIGpuInfo | |
| CIMainThreadPost | |
| CIStateProvider | Runtime-state serialization for state hot reload |
| ►Ncard | |
| CCard | 卡牌模块入口(eve.Card):定义注册、对象工厂与每帧 update/render。 |
| ►CCardData | 单张卡牌:ECS 实体,数据拆成 Identity / Stats / Visual / Layout / State。 |
| CIdentity | 稳定实例 id、显示名、种类。 |
| CLayout | 运行时布局(由 Hand 维护):中心坐标与变换。 |
| CState | 运行时交互状态。 |
| CStats | 费用 / 攻击 / 生命。 |
| CVisual | 朝向、禁用、色调、卡图。 |
| CCardDefinition | 卡牌类型定义(registerCardsFromJson 注册)。 |
| CCardEvent | 一次交互事件。 |
| ►CDeck | 牌库(栈顶在末尾)。 |
| CMembership | 有序牌堆;栈顶在 vector 末尾。 |
| ►CHand | 手牌:扇形布局 + 悬浮 + 拖拽 + 落区判定 + 渲染。 |
| CDrag | 拖拽内部状态(勿直接修改)。 |
| CMembership | 有序手牌列表。 |
| CMeta | 所有者与布局/交互开关。 |
| CLayoutConfig | UiCard 风格的布局配置(脚本可实时修改,对应 UiCard 的 Configs 面板)。 |
| ►CZone | 落牌区(手牌区 / 出牌区 / 弃牌区),用于拖放命中判定。 |
| CFilter | 接受的卡牌 kind;空 = 接受任意 kind。 |
| CRect | 区域矩形与绘制参数。 |
| ►Ncmd | |
| CBuildArgs | |
| CCleanArgs | |
| CCmdline | 命令行模块(eve.cmd):run / build / package / test / zip / dev-server 等子命令入口。 |
| CCreateArgs | |
| CDevServerArgs | |
| CDocArgs | |
| CGetArgs | |
| CHandler | One eve <subcommand> handler: CLI setup + argument parsing |
| CMcpArgs | |
| CMyFormatter | |
| CPackageArgs | |
| CRegister | 子命令静态注册器(CMD_REG 宏使用)。 |
| CRunArgs | |
| CTestArgs | |
| CZipArgs | |
| ►Ncmdline | Minimal streaming ZIP writer used by eve zip / eve package to produce a PhysFS-mountable game archive (.eve). Entries are DEFLATE-compressed (method 8) using zlib's raw deflate. The output is a standard ZIP readable by PhysFS |
| Ndetail | |
| CZipWriter | 流式 ZIP 写入器:open → addFile×N → finish。 |
| ►Ndata | |
| Nimpl | |
| CByteData | In-memory byte buffer implementing eve::Data (ref-counted) |
| CCompressedData | Stores byte data compressed via DataModule::compress |
| CCompressor | Base class for backends for different compression formats |
| CDataModule | |
| CDataView | Contains a reference to a subsection of an existing Data object |
| ►CHashFunction | |
| CValue | |
| CJsonDocument | Thin RAII wrapper over a Poco JSON value (object/array/scalar) |
| CLZ4Compressor | |
| CXmlDocument | Thin RAII wrapper over a Poco XML DOM document |
| CzlibCompressor | |
| ►Ndatabase | |
| CConnection | SQLite connection with a small ORM layer on top of Poco::Data. Tables/columns are quoted identifiers; values are bound as literals |
| CDatabase | Database module (eve.Database): SQLite connection factory. Script: db <- eve.Database(); conn <- db.connectSQLite("game.db"); |
| CField | A named field used by the small, explicit ORM mapping layer |
| CMapping | |
| CModel | Runtime ORM model exposed to Squirrel |
| CQuery | Composable filtered/sorted/paged query shared by C++ and scripts |
| CRepository | Typed active-record repository built from a Mapping<T> |
| ►Ndaynight | |
| ►CDayNight | DayNight module — a time-of-day cycle that drives the sun, sky and light |
| ►CImpl | |
| CFly | |
| ►Ndebug | |
| CIRenderTracer | Optional render-pipeline tracer. Graphics / RenderSystem call the rt* helpers; when no tracer is installed they are cheap null checks (Android/iOS keep this unset because EVDevTools is not linked there) |
| CRenderPassScope | RAII pass scope for C++ call sites |
| ►Ndemo | |
| CDemo | Optional demo-only helpers (procedural SFX / planet albedo). Built only when EVENGINE_BUILD_DEMO=ON; other games need not link or compile this |
| ►Ndev | |
| CAiLogEntry | |
| CAiPanel | In-engine AI / MCP session surface for DevTools |
| CBreakpoint | |
| CCallFrame | |
| ►CCallGraph | Runtime call graph + dynamic data-flow tracer with backward slicing |
| ►CEventsView | Chronological view over the live ring window (oldest → newest) |
| Cconst_iterator | |
| CConsoleLine | |
| CConsolePanel | In-engine runtime console / log ring buffer for DevTools |
| CDataFlowEdge | |
| CDebugAdapter | Minimal Debug Adapter Protocol (DAP) server for VS Code |
| CDebugger | Script + frame debugger: pause/step, breakpoints, watches |
| ►CDevTool | Platform-level script + render debugger / dynamic slicer front-end |
| CProfileEntry | Per-function script profile (line-hook timing) |
| CImmortal | Process-immortal singleton holder for DevTools objects |
| CInspectCapture | 一次原子快照的结果:PNG 渲染帧 + 配套几何 JSON。 |
| CInspectView | 场景巡检工具集(MCP 底层数据底座)。 |
| CMcpServer | Embedded Model Context Protocol (MCP) server for AI-assisted game development |
| CReloadSession | One state hot-reload transaction: capture → reload → restore |
| CRenderEvent | |
| ►CRenderFlow | Render-pipeline flow tracer with a Weiser-style backward slice |
| ►CEventsView | Chronological view over the live ring window (oldest → newest) |
| Cconst_iterator | |
| CRenderSliceCriterion | |
| CRenderSliceResult | |
| CRenderVision | Vision-model bridge for rendered-frame review (desktop / devtools only) |
| CSceneInspect | |
| CSliceCriterion | Criterion for a Weiser-style dynamic backward slice |
| CSliceResult | |
| CSnapshot | Script + native state snapshot for state hot reload |
| CSourceLoc | Source location in a Squirrel (or synthetic) script |
| CStackFrameInfo | |
| CTraceEvent | One recorded runtime event used by the dynamic slicer |
| CVariableInfo | |
| CWatchEntry | |
| ►Ndialogue | |
| CDataValue | Generic JSON-like value tree used by the Squirrel bridge: dialogue pools and conditions arrive as Squirrel tables and are converted into this structure so the core loader/evaluator stays script-agnostic and unit-testable |
| ►CDialogue | Visual-novel style dialogue stage. Script: dlg <- eve.Dialogue(); |
| CVarValue | |
| ►Neditor | |
| CBrush | Unity GridBrushBase-inspired tile brush. Operates on TileBuffer; exposes preview + change list for UI / undo |
| CEditor | Editor building blocks — not a shipped 3D/map editor app. Script: editor <- eve.Editor(); |
| CEditorDock | Simple editor chrome regions: left / right / top / bottom / center |
| CEditorHistory | Undo/redo stack: opaque string actions + optional tile change groups that can apply directly to a TileBuffer |
| CEditorInspector | Property sheet descriptors + values (host renders via ui) |
| CEditorToolbar | Tool strip state for assembling editor chrome with ui |
| CGizmoManager | Babylon.js-style manager: toggles which transform modes are enabled and routes pick/drag to the owned TransformGizmo (switching mode on best hit) |
| CTileBuffer | Independent GID grid for map brushes (no hard dependency on map.TileLayer) |
| CTransformGizmo | 3D transform gizmo (Three.js TransformControls + ImGuizmo style). Owns TRS + optional local bounds; interaction via world-space rays. Host renders using getPart* descriptors — no GPU dependency |
| ►Nevent | |
| ►Nsdl | |
| CEvent | |
| CEvent | |
| CIPlatformEventSink | |
| CMessage | A named event carrying an ordered list of Variant payloads. Pushed messages are heap-allocated; the queue owns them until polled, after which the caller is responsible for deleting them |
| CVariant | |
| ►Nfilesystem | |
| ►Ncppfs | |
| CFile | File which is created when a user drags and drops an actual file onto the eve game. Uses C++ stdio & filesystem. Filenames are system-dependent full paths |
| ►Nphysfs | |
| CFile | |
| CFilesystem | PhysFS 文件系统后端实现(挂载/解挂、读写、热重载)。 |
| CFile | A File interface, providing generic means of reading from and writing to files |
| CFileData | Data buffer paired with a filename (used for type identification) |
| ►CFilesystem | |
| CInfo | |
| ►CFileWatch | OS directory watch with a main-thread event queue. Desktop/mobile: backed by Poco::DirectoryWatcher (see FileWatch.cpp). WebGPU (Emscripten): the browser VFS has no native file watching, so this is a no-op stub — add()/remove() return false, poll() returns false |
| CDirWatch | |
| CEvent | |
| CHotReload | Path→reload dispatcher for soft hot reload. Driven from load.nut via pollWatch → tryReload; also used by watchTree |
| ►Nfont | |
| CFont | Resource module for decoding TrueType / OpenType fonts via FreeType. Produces FontData (CPU metrics + glyph raster); GPU upload/draw is graphics' |
| CFontData | CPU-side decoded font face (FreeType FT_Face + owned font bytes). Does not upload to GPU — rasterize glyphs to ImageData for graphics::Texture |
| ►Ngpgpu | |
| CComputeShader | Backend-agnostic compute program. Bind storage buffers then dispatch via Gpgpu::dispatch. Push constants: float[32] (same size as graphics::Shader) |
| CGpgpu | GPGPU module — compute shaders + storage buffers via the active Graphics backend. Uses the graphics queue when no dedicated compute family exists (Apple/MoltenVK) |
| CGpuBuffer | Backend-agnostic GPU buffer for compute (storage) or CPU staging transfers. Squirrel-owned; derived class destroys GPU resources in destructor |
| ►CSequence | |
| CImpl | |
| CShaderSystem | |
| CVulkanComputeShader | Vulkan 计算着色器(SPIR-V pipeline + descriptor 管理)。 |
| CVulkanGpuBuffer | Vulkan 计算缓冲区实现(storage/vertex buffer + device memory)。 |
| CVulkanSequence | |
| CWebGpuComputeShader | Compute program for the WebGPU backend. Accepts WGSL source; GLSL/SPIR-V input is rejected (browsers only accept WGSL at runtime) |
| CWebGpuGpuBuffer | Storage / staging buffer for the WebGPU backend |
| ►Ngraphics | 卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局参数。 数据模型与渲染/交互逻辑见 CardTypes.h。 |
| ►Ngrass | T3ssel8r-style stylized grass |
| CBillboardMesh | |
| CPackedAtlasInfo | Layout of a packed 2x2-per-variant sway atlas (4 grass + 2 leaf typical) |
| CPoint | |
| CSampleParams | |
| Nhair | Built-in Kajiya-Kay hair/fur card shader helpers |
| ►Nvulkan | |
| CColorVertex | |
| CGpuMesh | |
| CGpuShader | |
| CGpuTexture | |
| ►CGraphics | |
| CLitBatch | |
| CMesh3DClusteredUBO | |
| CMesh3DUBO | |
| CMeshVertex | |
| COffscreenCanvas | |
| CTexturedVertex | |
| ►Nwebgpu | |
| CGpuMesh | Vertex/index buffers for one mesh |
| CGpuShader | A compiled shader: one WebGPU pipeline + layout. Also holds the WGSL sources so custom shaders can be re-pipelined for offscreen targets |
| CGpuTexture | Texture resources backed by a wgpu texture + view + sampler + bind groups |
| ►CGraphics | |
| CLitBatch | |
| CSolidBatch | |
| CTexturedBatch | |
| CMesh3DUBO | Frame UBO for the mesh3d pipeline. Mirrors the std140 layout of the WGSL Frame block and the legacy Vulkan Mesh3DUBO (so custom shader prefixes stay compatible). See wgsl_shaders.h |
| COffscreenCanvas | Offscreen render target (RGBA8Unorm color, optional Depth32Float). 2D batches are flushed into the canvas texture by Graphics::flush2DToCanvas |
| CAmbientOcclusion | Screen-space ambient occlusion |
| CAntiAliasing | Classic image-space anti-aliasing |
| CBatcher | Accumulates solid / textured quads in logical (Y-down) coordinates. Used by RenderSystem; not a public script API |
| CBatchVertex | CPU-side vertex for 2D batching (logical or NDC depending on stage) |
| CCamera | 2D/3D 摄像机基类:持有变换栈并暴露投影矩阵。 |
| ►CCamera2D | Declarative 2D camera (viewport center + zoom) |
| CData | |
| ►CCamera3D | |
| CData | |
| CCanvas | |
| CClusteredLightConfig | Clustered forward grid (CPU assign, GPU consume) |
| CClusteredLightingUpload | CPU-built clustered lighting upload for one frame/camera. Point lights are clustered; directional lights become the primary dir (first by intensity) |
| CClusterTableEntry | |
| CDrawable | Drawable base (textures, meshes, canvases) |
| CDrawItem2D | Shared 2D draw queue item (sprites + tiles) |
| ►CFont | GPU-side font: wraps a decoded font::FontData and rasterizes a fixed set of codepoints into a single RGBA8 glyph atlas texture up front, so Graphics::print() can draw text with plain textured-quad draws |
| CGlyph | |
| CFrameDrawList3D | Double-buffered per-frame draw list written by the prep jobs and only read by the render thread. Vectors keep their capacity across frames, so the steady state does not allocate per frame |
| CGBuffer | Screen-space buffers for mid/post effects (AO, fog, stylize outline, …) |
| CGlobalIllumination | Screen-space single-bounce GI (SSGI) |
| ►CGraphics | |
| CEntityIdDraw | Per-pixel mesh entity-ID pass. Renders each EntityIdDraw's mesh with the given flat idColor (RGB encodes a stable entity id) into an offscreen target using the same viewProj, then reads it back to CPU. Pixels not covered by any entity are (0,0,0,0). Caller owns the returned ImageData*. Returns nullptr when the backend does not support offscreen ID capture |
| ►CGrassField | Dense grass + sparse dark tufts on a mesh. Caller owns GrassField*; GPU Mesh / Shader / Texture are owned by Graphics |
| CBakeParams | |
| CIGraphics2D | 2D immediate-mode drawing surface (screen or offscreen Canvas) |
| CIGraphics3D | 3D frame / mesh / light / shadow rendering surface |
| CIPostFX | Post-process / special-effect object factory |
| CIResourceFactory | Texture / mesh / shader / canvas creation and release |
| ►CLight2D | Declarative 2D light. Collected by RenderSystem (max 8 per canvas/frame). type: "point" | "dir" (≤15 chars) |
| CData | |
| CLight2DGpu | GPU light packing for lit2d (std140-friendly) |
| ►CLight3D | Declarative 3D light. Collected by RenderSystem3D (max 8 per frame). type: "point" | "dir" (≤15 chars) |
| CData | |
| CLight3DGpu | GPU light packing for mesh3d / PBR (std140-friendly) |
| CLighting2DUBO | |
| CLighting3DPack | |
| CMaterial | Packages shading method + surface parameters into one attachable asset |
| CMesh | GPU mesh handle (+ optional CPU morph targets) |
| CModelPart | One mesh + material slot on a multi-part model (Assimp mesh / body region). When Material* is null, the owning Renderable3D MeshRenderer fields are used |
| COutline | Screen-space model outline (t3ssel8r-style), computed from the GBuffer hardware depth + world-normal buffers |
| CParallaxParams | CPU reference for simple offset parallax (matches the scale / height convention of parallax_map.glsl POM; used by unit tests, not the GPU path) |
| CQuad | Pixel-space sub-rectangle of a Texture (atlas cell / sprite frame). UV conversion uses the texture's logical width/height |
| ►CRenderable2D | Default renderable entity for declarative 2D sprites / solid quads |
| CSprite | |
| CTransform2D | |
| ►CRenderable3D | |
| CMeshRenderer | |
| CTransform3D | |
| CRenderControl | Declarative, compilable 3D render control |
| CRenderItem3D | One resolved 3D draw, produced by the frame data prep jobs |
| CRenderSystem | Walks ECS Renderable2D views and draws via Graphics batch path |
| CRenderSystem3D | |
| CScreenSpaceReflection | Screen-space reflections (SSR) as a fullscreen post pass |
| CShader | Custom GPU program |
| CShadowConfig | |
| CShadowUBO | Per-frame / per-draw CSM constants (std140). Binding separate from Mesh3D Frame UBO |
| CShadowUpload | |
| CTexCellBombParams | CPU reference for texture cell-bombing math (matches tex_cell_bomb.glsl). Used by unit tests; the GPU path lives in mesh3d*.frag |
| CTexture | GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle |
| CTextureCreateInfo | Options for Graphics::newTexture / newCubemap. When generateMipmaps is true and sampler.mipmap is Disabled, mipmap mode becomes Linear |
| CTextureSampler | Sampler state for a Texture (filter, wrap, mip LOD, anisotropy). Defaults match historical engine behaviour: linear, clamp, no mips, no aniso |
| CTransform | 矩阵变换栈(2D/3D):旋转/缩放/平移 + push/pop。 |
| CVolumetric | Volumetric light + fog |
| CWater | Dynamic water surface with sky reflection and animated ripples |
| CWaterfall | Flowing waterfall (falling water sheet) rendered on a vertical plane |
| ►Ngrid | |
| CGridConfig | |
| ►Nhousegen | |
| CHouseComponent | 房屋组件模板(几何 + 连接点 + 权重)。 |
| CHouseComponentLibrary | 房屋组件注册表(按 id 索引,支持分类/风格查询)。 |
| CHouseGen | 程序化房屋生成模块(eve.HouseGen):组件库 + 布局生成。 |
| CHouseGenerator | 布局生成器:把 HouseRequest 解析为 HouseLayout(组件库驱动)。 |
| CHouseInstance | 布局中的单个组件实例(位置 + 旋转)。 |
| CHouseLayout | 一次生成的房屋布局:实例 + 房间 + 元信息,可 JSON 序列化 / 实例化。 |
| CHouseMaterialOverride | 组件材质覆盖(未设置的字段沿用默认材质)。 |
| CHouseRequest | 一次房屋生成请求(参数集)。 |
| CHouseRoom | 布局中的房间标记。 |
| CHouseSocket | 组件连接点:方向 + 类型 + 可接受类型。 |
| ►Ni18n | |
| CI18n | Game localization (i18n) module |
| ►Nik | |
| ►Ndetail | |
| CChainOptions | Options shared by the chain-scoped FABRIK solve used by Solver2D / Solver3D. These mirror the knobs of ik::solver plus wrapper-level pose blending |
| CIK | Inverse Kinematics module — wraps header-only sunxfancy/ik.hpp (FABRIK). Script: ik <- eve.IK(); |
| CSkeleton2D | Script-facing 2D skeleton + pose state (ik::skeleton2d + ik::ecs2d). Bone indices are stable after each createBone / topological refresh. Root bone is always id 0 |
| CSkeleton3D | Script-facing 3D skeleton + pose state (ik::skeleton3d + ik::ecs3d). Local angles are yaw/pitch in the parent bone frame |
| CSolver2D | FABRIK solver for Skeleton2D. Script type: Solver2D |
| CSolver3D | FABRIK solver for Skeleton3D. Script type: Solver3D |
| ►Nimage | |
| CImage | This module is responsible for decoding files such as PNG, GIF, JPEG into raw pixel data, as well as parsing compressed formats which are designed to be uploaded to the GPU and rendered without being un-compressed. This module does not know how to draw images on screen; only love.graphics knows that |
| ►CImageData | Represents raw pixel data |
| CPixel | |
| CRow | |
| ►Ninventory | 运行时容器:固定格数的背包 / 箱子 / 商店栏等。 行为由 InventorySystem 提供;本类暴露便于脚本绑定的薄封装方法。 |
| CBag | 格子型物品容器(脚本可直接操作)。 |
| CEquipmentSet | |
| CInventory | 背包模块(eve.Inventory)。 |
| CInventoryChangeEvent | 一次成功库存变更的事件(供脚本 poll / C++ hook)。 |
| CInventorySystem | |
| CItemDefinition | 物品模板(进程级注册表中的定义,不含运行时数量)。 |
| CItemRegistry | |
| CItemStack | 容器中的一格堆叠(空槽:itemId 为空或 quantity <= 0)。 |
| ►Njoystick | |
| ►Nsdl | |
| CJoystick | SDL 摇杆/手柄模块后端实现(设备枚举与映射)。 |
| CPad | SDL 手柄/摇杆后端实现(含 GameController 与振动)。 |
| CJoystick | Joystick / gamepad manager. Tracks connected pads and gamecontroller mappings |
| CPad | One connected (or previously connected) joystick / gamepad device. Gamepad axis/button names follow SDL GameController strings (e.g. "leftx", "a", "dpup"). Hat directions: c/u/d/l/r/lu/ld/ru/rd |
| ►Njson | |
| CDocument | |
| CNode | |
| CValue | |
| ►Nkeyboard | |
| ►Nsdl | |
| CKeyboard | SDL 键盘后端实现。 |
| CKeyboard | Keyboard input. Key / scancode names follow SDL naming (SDL_GetKeyName / SDL_GetScancodeName), e.g. "A", "Return", "Left Ctrl" |
| ►Nmap | 放置世界:格子占用(多通道)+ 地形语义 + 已放置建筑实例。 行为由 PlacementSystem 提供;本类暴露便于脚本绑定的薄封装方法。 坐标换算统一走 eve::grid(支持 rectangle / iso / staggered / hex 与 XY/XZ 平面轴)。 |
| CDualGridOptions | Dual-grid autotile (Oskar Stålberg style) |
| CFlowField | Integration + direction field for group pathfinding to a single goal. nextX/nextY point to the neighboring cell with lower cost (toward goal). At the goal, next points to itself |
| ►CFov | Dynamic field-of-view / fog-of-war facade. Phase A: 2D shadowcast + multi-revealer + explored memory. Phase B: raycast/permissive, heightmap, volume, dirty-skip, CPU masks. Phase C: hex topology FOV, rectangle-based FOV, perception/stealth detection helpers, GPU mask Texture upload |
| ►CImpl | |
| CAngleShadow | |
| CRect | |
| CRevealer | |
| CMap | Map module — factory + script binding for 2D tilemaps. Per-frame: TileConfigSystem (hot reload) → unified sprite+tile render. Pathfinding: newPathfinder / newPathfinderSize → A* + Flow Field group paths. FOV: newFov / newFovSize → shadowcast visibility + explored memory |
| CMapObject | A named, typed rectangle object from a Tiled objectgroup layer. Used by Map::setObjects / getObject* for gameplay spawn points, triggers, etc |
| ►CPath | Ordered tile-index waypoints from start to goal (inclusive) |
| CCell | One waypoint |
| ►CPathfinder | Pathfinding facade. Single-agent: A*. Group (same goal): Flow Field + follow. Grid/topology internals stay out of the public ABI (Windows export limit) |
| CImpl | |
| CTileConfigSystem | Polls bound config files (Resource.path) and hot-reloads when modtime changes. Returns number of layers reloaded |
| ►CTileLayer | ECS tile layer entity. Script mutates tile GIDs / tileset / draw; TileRenderSystem batch-draws atlas quads (or solid debug colors when no texture) |
| CConfig | |
| CDraw | |
| CResource | |
| CTiles | |
| CTileset | |
| CTileRenderSystem | Draws all visible TileLayer entities via Graphics batch path (UV atlas quads) |
| ►Nmath | |
| CMat4 | Column-major 4x4 matrix wrapping glm::mat4 |
| CMath | Math module — glm-backed vectors/matrices, noise, bezier, random. Script: math <- eve.Math(); |
| CVec2 | 2D float vector (script-facing math module value) |
| CVec3 | 3D float vector (script-facing math module value) |
| ►Nmodel3d | |
| CEveFileSystem | Medialoader::FileSystem adapter over eve::filesystem (physfs / VFS) |
| CModel3D | Resource module for decoding 3D models via medialoader (Assimp). Produces ModelData; GPU upload is graphics' responsibility |
| CModelData | CPU-side decoded 3D model (Assimp scene owned via medialoader::ModelScene). Does not upload to GPU — use graphics::Graphics::newMeshFromAssimp on getMesh() |
| CModelLoadOptions | Toggles for the Assimp post-processing steps applied by medialoader on decode. All default to on (matches the historical behavior); disabling a step changes vertex/triangle layout (e.g. joinIdenticalVertices=false keeps per-face vertices for hard-edged flat shading). Normals are generated with aiProcess_GenSmoothNormals when a mesh lacks them (see the configure-time medialoader patch in CMakeLists.txt), keeping hard seams beyond the 80-degree smoothing angle |
| CModelRenderOptions | |
| ►Nmouse | |
| ►Nsdl | |
| CCursor | SDL 鼠标光标实现(自定义图像或系统光标)。 |
| CMouse | SDL 鼠标后端实现。 |
| CCursor | |
| CMouse | Interface for querying and manipulating the mouse cursor. It can also be used to create custom cursors |
| ►Nnetwork | |
| CChannel | Length-prefixed (big-endian uint32) message framing over a TcpSocket. sendMsg() writes one framed message; feed() consumes bytes and emits received frames as "chmsg" events on the main thread via the Event module |
| CHttpRequest | Asynchronous HTTP request (Poco-based). Configure headers/body, call submit(), then receive the response through Network::pump as a NetEvType::HttpResp completion |
| CNetCompletion | One asynchronous network result/event. handle points at the originating TcpSocket/UdpSocket/HttpRequest/Channel; bytes carries received data; peer/reason/status describe connection context |
| CNetHost | |
| CNetReader | |
| CNetRpc | |
| CNetwork | Network module: TCP/UDP/HTTP factories, background worker, and completion event plumbing. Script: net <- eve.Network(); |
| CNetWorker | Background thread that runs blocking socket I/O and HTTP jobs. Completions are queued and drained by Network::pump on the main thread |
| CNetWriter | |
| CSession | Named collection of Channels (a "session"). Lookup by name, close all. Does not own the channels; the caller owns them |
| CTcpSocket | TCP socket backed by Poco::Net; supports both client (connect) and server (listen/accept) roles. Data arrives via Network::pump as NetCompletion |
| CUdpLink | |
| CUdpSocket | UDP socket backed by Poco::Net; supports connect/bind and datagram send |
| ►Nparticles | |
| CColorStop | Color gradient stop at normalized lifetime t in [0, 1] |
| CCurvePoint | Scalar curve point at normalized lifetime t in [0, 1] |
| CParticle | Single live particle (CPU simulation) |
| CParticleConfigSystem | Polls bound config files (Resource.path) and hot-reloads when modtime changes. Returns number of emitters reloaded |
| CParticleCurve | Multi-point scalar curve sampled with linear interpolation between points. Empty curve means "use the legacy two-point linear fallback" |
| ►CParticleEmitter | ECS emitter entity. Script configures components; ParticleSimSystem / ParticleRenderSystem drive per-frame update & draw |
| CAttach | Optional bone attachment. When enabled, syncAttach() writes Config.x/y (and optionally direction) from a live skeleton each frame. Particles remain 2D; 3D bone XYZ is projected via plane + scale |
| ►CConfig | |
| CBurst | Timed burst emission (fired once while the emitter is active) |
| CForceField | Radial attract/repel force fields (strength > 0 attract, < 0 repel) |
| CLightCfg | Emitter-level 2D light emission (pooled Light2D entities) |
| CSubEmitter | Script-linked sub-emitters (birth / death / collision triggers) |
| CDraw | |
| CGpuSim | GPU-accelerated simulation state (see ParticleGpuKernel.h for layout) |
| CLights | Pooled Light2D entities driven by ParticleLightSystem (lights.enabled) |
| CResource | Bound config file for hot reload (empty path = unbound) |
| CSim | |
| CSkinSource | Optional skinned-mesh surface source. When enabled, newly spawned particles sample random (optionally bone-filtered) skinned vertices |
| CParticleGradient | Multi-stop color gradient sampled with linear interpolation between stops. Stops are kept sorted by t. Empty gradient means "use the legacy colorStart/colorEnd two-point lerp" |
| CParticleLightSystem | Syncs pooled Light2D entities with alive particles (emitters with lights.enabled) |
| CParticleRenderSystem | Draws all visible ParticleEmitter entities via Graphics batch path |
| CParticles | Particles module — factory + script binding. Per-frame: ParticleConfigSystem (hot reload) → ParticleSimSystem → ParticleRenderSystem. Module update/render forward to Systems |
| CParticleSimSystem | Advances all ParticleEmitter Sim components |
| ►Nphysics | |
| CBody | 2D rigid body (Box2D) in pixel-space coordinates. Owned by a World; create shapes with newRectangleFixture/newCircleFixture |
| CBody3D | 3D rigid body (Box3D) in meter-space coordinates (+Y up by convention). Owned by a World3D; create shapes with newBoxShape/newSphereShape/newCapsuleShape |
| CCloth | Interactive 2D cloth — Verlet particles + distance constraints. Pixel space (same convention as Box2D World). Script-owned |
| CContactRelay | |
| CDebugDraw | |
| CFixture | 2D fixture: a shape attached to a Body with material + filter settings. Also carries a string tag used by contact events |
| CFluid | Interactive 2D particle fluid (double-density relaxation) in pixel space. Script-owned; independent of Box2D World |
| CPhysics | Physics module — Box2D (2D) + Box3D (3D) rigid bodies, plus interactive cloth / SPH fluid. Script: physics <- eve.Physics(); world <- physics.newWorld(0, 900); world3 <- physics.newWorld3D(0, -9.8, 0); |
| CShape3D | 3D shape (box/sphere/capsule) attached to a Body3D with material settings. Created via Body3D::new*Shape; owned by the world |
| ►CWorld | Box2D world wrapper (2D physics) with pixel-space coordinates. Handles stepping, gravity, raycasts, AABB queries and contact/impact events |
| CContactEvent | |
| CImpactEvent | |
| CWorld3D | Box3D rigid-body world. Script coordinates are meters (Box3D native), unlike 2D World which uses pixels + Physics.setMeter |
| ►Nplugins | |
| CPlugins | 加载导出 eve_plugin_init 的原生动态库(dll / so / dylib)。 |
| ►Nprocgen | |
| Ndtlutil | |
| NSemantic | Stable semantic cell ids stored in Grid2D.cells (not tile GIDs) |
| ►CCloudField | Deterministic, seamlessly-tiling, time-animated procedural cloud field |
| CParams | |
| ►CCloudShadow | Cloud shadows cast onto the ground plane |
| CParams | |
| ►CColorRamp | Piecewise-linear color ramp in t∈[0,1], with optional hard banding |
| CStop | |
| CGeneratorRegistry | |
| CGrid2D | Intermediate 2D generation result. cells store semantic ids (see Semantic.h), not tile GIDs — convert via Palette when applying to a TileLayer |
| CHeightmap | In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from a TerrainSampler or filled by hand |
| CMeshBuild | CPU triangle mesh from procedural mesh recipes (e.g. marching cubes). Positions/normals are xyz-packed; uvs are st-packed; indices are triangles |
| CMeshRecipeRegistry | |
| CNoiseField | Deterministic value-noise helpers for pixel textures. When periodX/periodY > 0, lattice wraps for seamless tiling |
| COutputSpec | Configurable generation sink. target: "grid" | "tilelayer" | "json" |
| CPaletteTable | Named palette: semantic name -> tile GID. Unmapped semantics become GID 0 |
| CParams | Generation parameters. Algorithm-specific keys live in values as strings (no overloads; typed setters/getters for script convenience) |
| CPbrParams | PBR surface defaults for a generated material. Every map in a PBR set is derived from the same displacement field (see TextureRecipeDef) |
| CPbrRecipeRegistry | |
| CPbrTextureSet | Full metallic-roughness PBR map set. All maps are caller-owned; call destroy() (or delete each pointer) when done. Maps are derived from one shared displacement field so albedo, normal, height, roughness, metallic and AO line up pixel-for-pixel |
| CProcgen | Procedural generation module. Phase A: runtime maps (semantic Grid2D → TileLayer). Phase B: runtime textures (ImageData / Texture). Phase C (partial): mesh recipes (Marching Cubes → MeshBuild / Mesh). Script: procgen <- eve.Procgen(); |
| CRgba8 | |
| CTerrainBands | |
| CTerrainSampler | Deterministic terrain height sampling (Red Blob Games / Perlin fBm recipe) |
| CTextureGenContext | |
| CTextureRecipeDef | A procedural texture is fully described by an albedo ramp + a displacement field + PBR knobs. From one definition both an albedo recipe (ImageData) and a full PBR set (albedo/normal/roughness/metallic/height/ao) are produced |
| CTextureRecipeRegistry | |
| ►Nrpg | RPG 模块入口:属性 / 效果 / 状态 / 技能 / 结算五套系统的脚本绑定与帧调度点。 |
| CAttributeModifier | 单条修改器。附加在某个属性上,参与最终值计算。 |
| CAttributeOpTable | 自定义 op 注册表:opName -> f(currentResult, modifierValue) -> newResult。 |
| CAttributeSystem | 面向 RPGActor 的属性操作静态入口。数据本身存放在 RPGActor::Attributes 组件里, 这里只是围绕组件的一组无状态操作函数(+ 一张全局自定义 op 表)。 |
| CAttributeValue | 单个属性的完整状态:基础值 + 修改器列表 + 计算结果缓存。 |
| CCastingState | 施法状态:同一时间每个 actor 只有一个进行中的引导/读条(可按需扩展为多槽)。 |
| CEffectDefinition | |
| CEffectModifierSpec | 效果里携带的一条属性修改规格(应用到 AttributeSystem::addModifier)。 |
| CEffectRegistry | 全局效果定义表:进程级单例,供任意模块 / 脚本按 id 引用。 |
| CRPG | RPG 模块(eve.RPG):Actor 工厂 + 定义注册 + 帧调度 + 事件缓存。 |
| ►CRPGActor | 属性 / 状态 / 技能三表合一的 ECS 实体。 |
| CAttributes | 属性表:任意字符串 -> AttributeValue(base + modifiers)。 |
| CSkills | 已学会技能的冷却状态 + 当前读条状态。 |
| CStatuses | 状态(buff/debuff)运行时列表 —— ECS 组件,游戏侧常称 Buffs。 |
| CSettlementContext | 结算上下文:通用的读写数据袋,字段完全由调用方与各阶段自行约定。 |
| CSettlementPipeline | |
| CSkillCastEvent | 技能释放结算事件:由 SkillSystem 在读条完成 / 瞬发技能释放时产生。 |
| CSkillCostSpec | |
| CSkillDefinition | |
| CSkillRegistry | |
| CSkillRuntime | 单个已学会技能的运行时状态(冷却)。 |
| CSkillSystem | |
| CStatusChangeEvent | 状态生命周期变更事件(施加 / 刷新 / 叠层 / 延长 / 移除 / 到期 / 拒绝)。 与 StatusTickEvent 分开:tick 是周期性数值触发,change 是实例结构变化。 |
| CStatusInstance | 状态实例:某个 Effect 施加到某个 actor 后的运行时记录。 |
| CStatusSystem | |
| CStatusTickEvent | 周期性状态触发的 tick 事件。周期效果(period > 0)不会自动修改属性, 而是每个周期产生一个 tick 事件交给上层(脚本或 C++ 结算系统)处理—— 这样伤害/治疗类周期效果可以完整地走 Settlement 流水线(护甲、抗性、暴击……), 而不是被引擎硬编码为直接扣血。 |
| ►Nrx | |
| CAnonymousObservable | Internal: observable built directly from a subscribe function |
| CBehaviorSubject | Subject that replays the latest value to every new subscriber. setValue()/onNext() update the stored value and push it to observers |
| CObservable | Push-based stream source. Operators return a new (caller-owned) Observable; subscribe() returns a Subscription used to cancel |
| CObserver | Callback bundle pushed to a subscriber. Once error() or completed() fires the observer is stopped and later notifications are ignored |
| CReactiveProperty | Observable value backed by a BehaviorSubject. get() returns the current value; set() stores and pushes it to subscribers |
| CReplaySubject | Subject that buffers up to capacity values (0 = unlimited) and replays the buffer to every new subscriber |
| CRx | |
| CSubject | Multicast push-based stream: both an Observable and a push source. Thread-safe: onNext/onError/onCompleted/subscribe are mutex-protected |
| CSubscription | RAII-style dispose handle for an active stream subscription. Disposing unsubscribes from the source; move-only |
| CValue | Runtime variant used by the script-facing (Squirrel) streams. The C++ core is templated (Observer<T>/Observable<T>/Subject<T>); the module binds a Value-typed specialization so scripts can push nil/int/float/bool/ string/ptr |
| ►Nscene | |
| CAABB3f | Axis-aligned box in world space |
| CLinkOps | |
| CNodeDesc | Declarative scene-node description (build once / on dirty → flatten into SceneHost::Tree). Isomorphic to eve::ui::WidgetDesc |
| CScene | Declarative scene module (eve.Scene) |
| CSceneComponent | React-style scene component: implement build(), call setState / markDirty, then rebuild(). Mounts onto a named SceneHost via mountAs / attach. Isomorphic to eve::ui::Component |
| ►CSceneHost | ECS mount point for one scene graph (full scene or nested subtree root). Isomorphic to eve::ui::UIHost |
| CMeta | |
| CTree | |
| CSceneLink | |
| CSceneNode | Retained scene node (arena). Conceptual GameObject; isomorphic to eve::ui::UINode |
| CSceneNodeRef | Script handle to a scene node (hostName + nodeId). Deliberately holds strings rather than arena pointers, so it stays valid across rebuilds/reconcile. Node-level entity bindings are forwarded through the Scene module |
| ►CSceneObject | Per-node ECS identity (created lazily when a node needs script bindings or engine components). A node's stable string id (hostName + nodeId) is mirrored here so ECS systems can address scene nodes and vice versa |
| CMeta | |
| CScriptBindings | |
| CTransformSystem | Propagates local TRS → world matrices for all SceneHost trees (or one host). Call after mount/reconcile or local transform edits |
| ►Nsceneloader | |
| CLoadOptions | Options controlling how a 3D scene file is decoded and mounted |
| CMeshSlot | A GPU mesh reference for one Assimp mesh referenced by an aiNode. The loader uploads one Renderable3D (with its own mesh + material) per aiMesh, so every mesh is an independently diffable GameObject and unchanged meshes are never re-uploaded across a hot reload. With LoadOptions::sharedMeshes the same aiMesh referenced by several nodes uploads a single GPU buffer |
| CSceneDiff | |
| CSceneDiffEntry | SceneDiffEntry / SceneDiff |
| ►CSceneLoader | Loads a 3D scene (glTF / OBJ / FBX / GLB ... via Assimp/medialoader) into the ECS scene tree |
| CCpuImage | CPU-decoded texture (RGBA8) keyed by the same source+suffix key as TextureCache |
| ►Nscript | |
| CScriptErrorContext | Structured snapshot of a script error: message, throw site and stack |
| CScriptFrame | One call-stack frame captured while the script error is still live |
| ►Nsound | |
| CDecoder | Streaming audio decoder (medialoader-backed). Owns the raw encoded bytes and decodes incrementally via decode() |
| CSound | Sound module: decodes compressed audio and produces SoundData buffers. Script: sound <- eve.Sound(); |
| CSoundData | Raw PCM audio buffer with format metadata (samples/rate/bit depth/channels) |
| ►Nspatial | |
| CAABB2 | |
| CAABB3 | |
| CBSPTree2D | Binary space partition tree (kd-style AABB splits) for 2D culling. Alternating X/Y splits at node midplanes; spanning items stay on the node |
| CBSPTree3D | Binary space partition tree (kd-style AABB splits) for 3D culling. Alternating X/Y/Z splits at node midplanes |
| COctree | Region octree for 3D AABB broad-phase / scene culling. Same storage rules as QuadTree (smallest fully-containing node) |
| CQuadTree | Region quadtree for 2D AABB broad-phase / map culling. Items are stored in the smallest node that fully contains them; spanning items stay at the parent. Scripts use insert/remove/query* + getResult* |
| CQueryIds | Last-query hit buffer shared by spatial indexes. Script pattern: call query* → getResultCount / getResultId(i) |
| CSpatial | Spatial index module — broad-phase / map culling structures. Script: spatial <- eve.Spatial(); |
| CSpatialHash2D | Uniform-grid spatial hash for 2D AABB queries (map / particle / entity culling). Items are registered in every overlapped cell |
| CSpatialHash3D | Uniform-grid spatial hash for 3D AABB / sphere queries |
| ►Nspritestack | |
| CSliceInput | CPU inputs for slicing a triangle mesh into sprite-stack layers |
| CSliceOptions | Slicer options. The mesh is cut into layerCount thin slabs along axis ("x" | "y" | "z"); each slab is orthographically projected into an RGBA image. Slab thickness defaults to AABB extent / layerCount when 0 |
| CSpriteStack | SpriteStack module: CPU slicing + SpriteStack3D factory |
| ►CSpriteStack3D | A renderable pseudo-3D sprite stack: a column of layer textures drawn as alpha-blended slices inside the 3D forward pass (call render() after gfx.render3D() / RenderSystem3D::render and before present) |
| CSliceDraw | One slice instance with its baked world transform and layer UV rect |
| CSpriteStackBatch | Multi-stack batching: draws every visible slice of the registered stacks as ONE draw call per (texture, tint) group (all slice transforms and UV rects are baked into a shared mesh, uploaded in place via Graphics::updateMeshVertices) |
| ►Nstylize | |
| CStyleChain | Ordered multi-pass stylize pipeline (extension point) |
| CStylePass | One stylized post-process pass bound to a style id (built-in or custom label). Draws a full-quad of the source texture through a style fragment shader |
| CStylize | Stylized / NPR rendering module — stable public surface for future expansion |
| ►Nsystem | |
| CSystem | System module — OS / hardware / wall-clock / clipboard / optional GPU info. Frame timing stays on Timer; this is host/environment queries |
| ►Ntensor | |
| Nkernels | |
| ►Nq | |
| CQuantPayload | |
| CCompiledFunction | Optimized / scheduled graph ready to run with feeds |
| CFunc | Trace builder — TF2 tf.function analogue (tf.func in scripts). While active, TF ops record into this graph |
| CFusedGroup | |
| ►CGpuProgram | GPU execution of a compiled tensor Graph via generated compute shaders |
| ►CImpl | |
| CGroupRuntime | |
| CGraph | |
| CGraphNode | |
| CKernelSpec | |
| COptimizedGraph | |
| CTensor | Float32 / int32 tensor (rank 1–6), row-major. Eager: owns a buffer. Symbolic: node in a Func graph (no buffer until run) |
| CTF | TF2-like namespace module. Script: tf <- eve.TF(); Default eager; tf.func() traces a graph for compile/run |
| ►Nthread | |
| CChannel | Thread-safe message queue (love2d-style Channel). Values are strings so the API stays overload-free for Squirrel bindings. Exposed to scripts as "ThreadChannel" (network already owns "Channel") |
| CJob | Handle to a single job inside a JobSystem |
| CJobSystem | Abstract job scheduler: dependencies, parallel_for, task_group, arena |
| ►CJobSystemThreadPool | Default JobSystem backend: a dependency-aware scheduler over the existing ThreadPool worker pool |
| CState | |
| CTask | A job executed by a ThreadPool worker. Status strings (no enums): "pending" | "running" | "done" | "failed" |
| CTaskGroup | Fork/join group: fork() spawns scheduled children, wait() joins them |
| CThread | Thread module: default pool, named channels, pool factory. Script: eve.Thread() → getPool / newThreadPool / getChannel / newChannel |
| ►CThreadPool | Fixed-size worker pool. Owns worker std::threads; tasks run FIFO. Squirrel VM is not thread-safe — do not call into scripts from workers |
| CState | |
| ►Ntimer | |
| CTimer | High-resolution frame/elapsed timer backed by SDL_GetPerformanceCounter(). Script: timer <- eve.Timer(); |
| ►Ntouch | |
| ►Nsdl | |
| CTouch | SDL 触摸后端实现(状态由事件驱动更新)。 |
| ►CTouch | |
| CTouchInfo | |
| ►Nui | |
| CComponent | React-style UI component: implement build(), call setState / markDirty, then rebuild(). Mounts onto a named UIHost via mountAs / attach |
| ►CEditorHost | Headless MCP editor host (MVVM) |
| CImpl | |
| CFlexItemSpec | |
| CFlexRect | |
| CFlexResult | |
| CImGuiBackend | Dear ImGui + SDL input + Vulkan present overlay |
| CTheme | Unified UI design tokens (colors, geometry, typography). Applied to ImGui each frame via applyThemeToImGui; metrics are design-time units at uiScale=1 and are multiplied by the current UI scale |
| CUI | Declarative UI module (eve.UI) |
| CUIBackend | Platform / renderer backend for declarative UI. Concrete implementations live under ui/<backend>/ (e.g. ui/imgui) |
| CUIChange | Value/text/toggle change for script: "hostName/nodeId" |
| CUIClick | One script-facing click: "hostName/nodeId" |
| CUIEvent | |
| ►CUIHost | ECS mount point for one UI panel/screen. Subclass to attach UI to game entities, e.g. class Hud : public UIHost. UISystem walks ecs::View<UIHost, Meta, Tree> (includes subclasses) |
| CMeta | |
| CTree | |
| CUINode | Retained UI widget node (arena tree). Conceptual counterpart of eve::scene::SceneNode; built declaratively from WidgetDesc |
| CUIStats | |
| CUISystem | |
| CViewportState | |
| CWidgetDesc | Declarative widget description (build once / on dirty → flatten into UIHost::Tree) |
| ►Nvirtualgeometry | |
| ►Nvulkan | |
| CVgState | |
| CVgBackend | Opaque backend state for one virtual-geometry renderer. Owned by VirtualGeometryRenderer; allocated/freed by the active backend |
| CVgCluster | CPU-side processed cluster (before packing into VgGpuCluster) |
| CVgGpuCluster | GPU-mirrored cluster node layout (std430, matches shaders/vg_*.comp). Exactly 4 x uvec4 per cluster: |
| CVgUniforms | |
| CVirtualGeometry | Virtual-geometry module — Nanite-style virtualized geometry rendering on top of the active Graphics backend (Vulkan). See docs/dev/VIRTUAL_GEOMETRY.md |
| CVirtualGeometryAsset | Fully processed virtual-geometry asset (CPU representation). Produced by Builder from a Mesh; uploaded to GPU SSBOs by the backend |
| ►CVirtualGeometryBuilder | CPU preprocessor that builds a Nanite-style hierarchical cluster DAG from a triangle mesh: |
| CMeshInput | |
| COptions | |
| CVirtualGeometryRenderer | A virtual-geometry renderer: preprocesses a mesh into a cluster DAG, uploads it to the GPU, then each frame runs GPU-driven culling + a software rasterizer into a visibility buffer |
| ►Nvoxel | 方块类型定义:名字、各面图集纹理、方向性、组合声明。 方向性方块在注册时按 orientation 绕 Y 轴展开成多个"具体类型"变体, 每个变体持有旋转后的各面纹理;渲染端只消费纹理 id,不接触 orientation。 |
| CChunk | One 32³ voxel chunk with six direction-sorted packed-rect instance buffers. Coordinates: chunk (cx,cy,cz) → world origin (cx*32, cy*32, cz*32) |
| CCubeType | |
| CCubeTypeRegistry | |
| CDecodedRect | One decoded face rectangle in world space (mirrors voxel_rect.vert) |
| CDrawBatch | One draw batch: all packed rects of one face direction for one chunk |
| CFrustum | Six frustum planes in ax+by+cz+d >= 0 form (normals point inward) |
| CGreedyMesher | Greedy rectangle mesher for one 32³ dense voxel volume. Voxel storage: index = x + y*32 + z*32*32. Value 0 = air; 1..255 = type id |
| CPackedRect | Packed face-rectangle instance (exactly 32 bits): bits 0..4 : x (0..31) bits 5..9 : y (0..31) bits 10..14 : z (0..31) bits 15..19 : width - 1 (0..31 → size 1..32) bits 20..24 : height - 1 (0..31 → size 1..32) bits 25..31 : texture index (0..127) |
| CStreamStats | Result of a streaming pass |
| CVoxel | High-performance voxel rendering module |
| CVoxelWorld | Sparse chunk map + visibility selection (frustum + distance + face orientation). Meshing is neighbor-aware (cross-chunk seam culling), parallel-capable and script-friendly via getVisible getters and raycast helpers |
| ►Nweather | |
| ►CWeather | Weather module — real-time precipitation / lightning / wind system |
| CImpl | |
| ►Nwindow | |
| ►Nsdl | |
| CWindow | |
| ►CWindow | Platform window interface (SDL implementation on desktop/mobile). Script: win <- eve.Window(); |
| CMessageBoxData | |
| CWindowSize | |
| CWindowSettings | Display settings for window creation/resize. width/height == 0 selects the desktop display mode size |
| CData | |
| CException | |
| CIAudioQuery | Audio control surface (provided by the audio module) |
| CIEditorHost | Declarative editor-host control (provided by the ui module) |
| CIParticlesQuery | Particle system query surface (provided by the particles module) |
| CIPhysicsQuery | 2D physics world query surface (provided by the physics module) |
| CIProcgenQuery | Procedural generation query surface (provided by the procgen module) |
| CIRenderCapture | Frame capture + camera + visible-entity inspection (graphics) |
| CISceneQuery | Scene graph query/mutation surface (provided by the scene module) |
| CIWindowSurfaceHost | Render-surface host for the window module (provided by graphics) |
| CModel | Script-backed model: wraps a Squirrel object (table/class instance) |
| CModelClass | Model with a list of Squirrel attribute objects |
| CModelManager | Registry tracking Model → Object relationships |
| CModelMap | Model that maps to a Squirrel table (key/value) |
| CModelVector | Model that maps to a Squirrel array |
| CModule | |
| ►CModuleManager | |
| CModuleInfo | |
| CModuleRegister | |
| CObject | Object is the base class for all game objects. It provides reference counting and dirty flag for update |
| CRayHitInfo | Ray-cast result (value type) |
| CRect | Axis-aligned integer rectangle (screen/tile space) |
| Cref | Ref is a smart pointer that automatically calls ref() and unref() on the object. Type T must be a subclass of Object |
| CReflectedAttribute | |
| CReflectedClass | |
| CReflectedMember | |
| CRenderStatusInfo | Render surface / frame state snapshot (value type) |
| CResource | Resource is a game object that is managed by the ResourceManager. It can be loaded from a file or generated at runtime. If the resource is loaded from file, a monitor will be created to watch the file changes. When the file is modified, the resource will be reloaded. If the resource is generated at runtime, it can depend on a few other resources and the ResourceManager will update the resource when the dependencies are changed |
| CResourceManager | ResourceManager is a singleton that manages all resources in the game. It provides a way to load, reload, and unload resources |
| ►CRuntime | |
| CScope | Pushes this Runtime on the current thread's runtime stack |
| CScriptRecord | |
| CStackGuard | Restores the native Squirrel stack when a binding operation leaves scope |
| CSceneNodeInfo | Serializable snapshot of one scene node (value type, no scene types) |
| CScriptException | Exception raised at the public Runtime boundary |
| CScriptInfo | |
| CStartupStage | |
| CStateValue | JSON-compatible state value tree used by state hot reload |
| RDerivedFromObject | |
| NImGui | |
| Nmedialoader | |
| ►NPoco | |
| NData | |
| NJSON | |
| NNet | |
| ►Nssq | EVEngine ECS 集成层:底层实现使用 sunxfancy/ECS.hpp https://github.com/sunxfancy/ECS.hpp |
| Ndetail |