Canvas 2D 探索

Canvas 2D 程序化绘制与实时交互技术研究

项目概述

这是一个个人独立开发的技术研究项目。采用纯前端技术栈,探索 Canvas 2D 程序化绘制 在实时交互场景中的表现力与性能边界。 所有视觉元素均通过 Phaser Graphics API 以纸笔手绘风格实时生成,不使用任何外部图片素材。

项目研究重点包括:多智能体路径规划、实时碰撞处理、 基于地形数据的动态寻路算法、以及纯前端离线应用架构方案。

技术栈

Phaser 4 TypeScript 6 Vite 8 Canvas 2D Programmatic Rendering A* Pathfinding Multi-Agent Simulation Collision Detection LOS Algorithm PWA Service Worker Vitest localStorage

研究方向

程序化绘制与实时渲染

探索在无纹理/无精灵图的情况下,通过 Canvas Graphics API 实时绘制动态元素,研究不同视口比例下的渲染效率、帧率稳定性与视觉一致性。

A* 路径规划在多智能体环境中的应用

在多智能体动态碰撞环境中实现 A* 路径规划,结合动态阻挡检测、路径重算、寻路定时器控制等机制,研究实时场景下路径规划算法的性能与鲁棒性。

视线遮挡检测算法

基于线段相交测试实现实时视线遮挡(LOS)判定,支持多遮挡物环境下的分段遮挡查询,研究其在不同密度障碍场景下的计算开销。

纯前端离线应用架构

所有计算逻辑、数据存储、渲染均在浏览器端完成,研究 PWA + Service Worker 方案下的单机离线应用实现路径,包括资源预缓存、版本管理、跨会话状态持久化。

系统架构

🎮

场景管理层

基于 Phaser Scene 的多场景路由管理,负责场景生命周期与状态传递

⚙️

实时交互核心

交互逻辑(寻路/碰撞/状态更新)与渲染循环分离设计,帧增量驱动更新

🗺️

地形数据层

基于网格的地形数据管理,支持动态障碍物查询、视线检测、高地/减速区域

🧩

实体管理

多智能体(Multi-Agent)注册、销毁、批量更新,A* 路径规划与碰撞推挤

🧪

测试与验证

Vitest 单元测试覆盖核心交互逻辑,验证多智能体运动和状态更新的正确性

💾

持久化层

localStorage 状态持久化 + 版本迁移兼容 + PWA Service Worker 离线缓存

关键技术实现

关于

该项目是个人独立开发的技术研究项目。 旨在探索 Canvas 2D 程序化绘制在实时交互场景中的应用边界, 以及无外部资源的纯前端渲染方案的可行性与表现力。 项目侧重于算法实现、渲染性能与前端架构设计的实践验证。
— 独立开发者