import { System } from '../ecs/System.js'; import { Transform } from '../components/Transform.js'; import { MeshComponent } from '../components/MeshComponent.js'; /** * RenderSystem - syncs Three.js mesh positions with Transform components */ export class RenderSystem extends System { constructor(scene) { super(); this.scene = scene; } update(_deltaTime) { const entities = this.getEntities(Transform, MeshComponent); for (const entityId of entities) { const transform = this.getComponent(entityId, Transform); const meshComp = this.getComponent(entityId, MeshComponent); // Sync mesh transform with component meshComp.mesh.position.copy(transform.position); meshComp.mesh.rotation.copy(transform.rotation); meshComp.mesh.scale.copy(transform.scale); } } }