Newer
Older
rpg / v2 / packages / engine / src / index.ts
/**
 * @rpg/engine v2 — воксельный движок (скелет).
 *
 * Принципы (docs/plan.md, «Направление v2» и «Уроки черновика»):
 * - three.js — только низкоуровневый рендер-бэкенд; ядро движка о нём не знает.
 * - Все позиции/направления — в одном мировом пространстве; проекция/рендер —
 *   единственная точка преобразования на границе (урок v1 «летающих» объектов).
 * - Чистая математика — отдельно от вьюх, тестируется без рендера.
 * - Агентный мост и CLI-проверки — часть ядра, а не надстройка.
 *
 * Модули (появятся по мере треков v2): мир/чанки, модели (JSON + .vox),
 * рига/анимация (кривые), генераторы моделей, агентный мост.
 */

/** Версия движка v2 (синхронизируется с package.json). */
export const ENGINE_VERSION = '2.0.0-alpha.0';

export { VoxelGrid, hexToRgb } from './voxel/grid';
export type { VoxelPalette } from './voxel/grid';
export { meshVoxels, meshRegion } from './voxel/mesher';
export type { VoxelMesh, MeshOptions, VoxelAt, RegionBounds } from './voxel/mesher';
export { VoxelWorld } from './world/world';
export { meshChunk, chunkBounds } from './world/worldMesher';
export { Chunk, CHUNK_SX, CHUNK_SZ } from './world/chunk';
export { VoxelRenderer } from './render/voxelRenderer';
export type { VoxelRendererOptions } from './render/voxelRenderer';
export { Rng } from './math/rng';
export { encodeModel, decodeModel, validateModel, assertModelValid } from './models/format';
export type { VoxelModel } from './models/format';
export { treeModel, boulderModel } from './models/generators';
export type { Variant } from './models/generators';
export { stampModel } from './models/stamp';
export type { StampClip } from './models/stamp';