Справочник API
Полный справочник API для проектов le.codes. Всё здесь — глобальные значения без импортов:
пользовательский код обращается к UIScreen, Scene, Sprite, fetch, … напрямую, а сборка
подставляет реализацию и вырезает то, что проект не использует.
Начни со страницы Соглашения — единицы измерения, системы координат,
семантика значений, зависимость от хоста, запрет top-level await и правила жизненного цикла, на
которые опирается каждая страница. Большинство приложений — UI-приложения: точка входа в UI-слой —
Модель элементов (модель элементов плюс устройство типичного приложения:
модуль токенов с theme(), экраны, каркас вкладок).
Это справочник по поверхности API: сигнатуры, единицы, крайние случаи. Учиться удобнее по Гайду — он ведёт через сборку приложения и по дороге ссылается сюда.
Вся поверхность одним взглядом
Одна строка на глобал. Жирная ссылка — страница, которая его документирует.
UI
- модель элементов: фабрики, цепочки, ссылки, условные дети, устройство приложения — Модель элементов
- модель
.style(): свойства, единицы, безопасные зоны, animateTo — Стилизация theme— стилевые переменные на всё приложение (var()), ключи кита, живая смена темы — Тема — theme()- классы стилей: блоки состояний
$name,el.class, каскад, зарезервированные$hovered/$pressed/$focused/$landscape/$portrait— Классы стилей UIRow,UIColumn,UIBox(центрирование),UIScrollable,UISpacer— КонтейнерыUIText,UIImage,UIVideo,assetIcon— Текст, изображения, видеоUIButton,UIInput,UITextArea— Кнопки и поля вводаUIScreen,Router,Presentable— экраны, стек навигации, переходы между экранами, цепочка обработки «назад» — UIScreen · RouterUIPager,UITabs,defineTabs— вкладки со своим стеком в каждой;UITabs— стандартный каркас нижних вкладок,defineTabs— его панель для дизайн-макетов — UIPager · UITabsUIWidget— плавающие оверлеи (+ диалогиUIModal, привязанные менюUIPopover,UIBottomSheet) — UIWidgetUIVirtualizedList— оконные списки для длинных данных — UIVirtualizedListNativeView— платформенные вью, зарегистрированные хостом (карта, камера, …) — NativeViewfont,registerFont— шрифты — Шрифты
3D-движок
Scene,VRScene— 3D-мир: IBL / небо / туман / TAA, графические настройки в рантайме, оверлеи, прогрев;VRScene— для шлема — Scenescene.postProcessing— внешний вид картинки: тональная компрессия, цветокоррекция, LUT из.cube, bloom, виньетка, ambient occlusion, screen-space-отражения, глубина резкости;apply()/reset()— ПостобработкаARScene— AR-сессия (хосты iOS / Android; в остальных бросает исключение): якоря, элементы размещения — ARSceneNode— базовый узел: трансформ, иерархия, события, твины, владение — NodeCamera— объектив, экспозиция, лучи с экрана,follow, мир→экран (черезscene.camera) — CameraMesh,InstancedMesh— фабрики box / sphere / cylinder / capsule / plane, своя геометрия, одна геометрия N раз — MeshModel— загрузка GLB; проигрывание клипов через заранее подключённый Animator (model.anim) — ModelAnimationClip,Animator,Playback,Loop,Layer— система анимации: клипы из других файлов / кривых / производные (окно, зеркало), циклы и 1D/2D-блендинг, one-shot'ы с промисами передачи, слои (маски, аддитивные), события клипов, root motion, замерыclipInfo— Анимация — AnimatorIK,Feet— двухкостные / look-at цепочки на костях (сокеты, зафиксированные руки),anim.feet: фиксация стоп, IK по земле, события шагов — IK · FeetLocomotion,Warp— движение персонажа от намерения (старты, остановки, повороты, бленд походок, действия) +anim.warp: варпинг шага и ориентации — Locomotion · WarpDynamicBone,DynamicBoneCollider— вторичное движение: хвосты, уши, волосы, верёвки, плащи — DynamicBoneGeometry— сырые вершинные данные, построители примитивов, файлы геометрии (Geometry.load) — GeometryMaterial,defineMaterial,MaterialHandle— встроенные материалы по имени (lit / unlit / shadow / video …), шейдеры проекта.mat, ассеты материалов (*.material.ts) — MaterialTexture— картинка 3D-материала: PNG / JPG / KTX2, сырые пиксели, анизотропия и предел размера на весь движок (не взаимозаменяема сTexture2D) — TextureLight— направленный светLight.sun()+ тени, лампыLight.point(), конусыLight.spot()(ambient даёт IBL сцены) — LightLightmap— запечённый свет (солнце, небо, лампы, отскоки) для статичной геометрии + световая сетка для движущихся объектов (lecodes lightmap bake) — LightmapFoliage— растительность: ветер, растения, отклоняющиеся от героя, затухание по дистанции, tint на каждую копию (Model.load { foliage }) — FoliageTerrain— рельеф по карте высот: четыре слоя сплата (roughness на пиксель в альфе альбедо), скульпт / покраска / дороги / дыры, файлы.terrain, коллайдерheightfield— TerrainShape,Physics,Trigger,CharacterController— тела Jolt, сенсоры, рейкасты, контроллер персонажа — Физика 3DVehicle,Wheel,Tire,resolveTire— физика машины как железо: двигатель, сцепление, рулевая колонка, подвеска и кривые шин на каждое колесо, входы + показания (коробка передач и позы колёс — на стороне игры) — VehicleRagdoll— скелет скиннед-модели, отданный физике: падения, управляемые реакции на удар, возврат аниматору — RagdollNavMesh,NavAgent,NavCrowd— запечённая навигационная сетка (lecodes navmesh bake), запросы пути, области, агенты толпы — NavMesh · NavAgentParticles,Trail,curve,colorCurve— GPU-системы частиц, ленточные следы, кривые по времени жизни частицы — ParticlesDecalSet,DecalTrail— проецируемые декали: следы пуль, следы ног, следы торможения — DecalSet · DecalTrailAudioSource,AudioZone,SceneAudio— 3D-звук: эмиттеры на узлах (дистанция, конус, доплер, окклюзия),audio.playAt, зоны реверберации, слушатель (scene.audio), HRTF — 3D-звукRay,Plane,Noise— пикинг и процедурные хелперы — Ray · Plane · NoisedefineScene,use,ref,make,SceneHandle,CameraPlace,Gizmos,InspectorUI,EDITOR— сцены как данные (.scene.ts, формат редактора сцен): узлы, префабы,instantiate, положение камеры, аспекты-генераторы, карточки инспектора — Файлы сцен — defineSceneLevel— процедурная расстановка для фабрикmake(): line / grid / ring / scatter / place, с сидом — LevelMoveTo,FollowPath,Spin,LookAt,PlayAnimation— готовые no-code поведения — Сценарные аспектыregisterEditorWindow,registerEditorTool— плагины редактора сцен (*.editor.ts): окна, инструменты click / drag / hover — Плагины редактора
2D-движок
Scene2D— 2D-мир: фон, слои, Y-сортировка, пикинг, системы,UIImage(scene)— Scene2DNode2D— базовый узел: трансформ, иерархия, события,animateTo— Node2DCamera2D— позиция, зум, экран↔мир (черезscene.camera) — Camera2DSprite— узел с текстурой; кадры, tint, flip — SpriteSpriteAnimation— аспект клипов по спрайт-листу (node.anim) — SpriteAnimationdefineSpriteSheet,SpriteSheet— листы.sprite.ts: именованные области, нарезка сеткой, клипы,make()— Спрайт-листы — defineSpriteSheetdefineScene2d,Scene2dHandle,cells,encodeCells,CameraFollow— сцены.scene2d.ts: узлы sprite/tilemap/camera/make, слои, аспекты, следящая камера — Файлы сцен — defineScene2dShape2D,Physics2D,Trigger2D,OneWay2D,CharacterController2D,PhysicsGroup2D— тела Box2D, сенсоры, односторонние платформы, контроллер персонажа, группы коллизий, запросы — Физика 2DTilemap— тайловая сетка по атласу, нативный каллинг — TilemapdefineTileset,Tileset,Autotile2D,rawCell/isRawCell/rawIndex,rot90/rot180/rot270/flipX/packTile/tileIndex/tileTurns/tileFlip/tileOriented— автотайл-материалы.tiles.ts, сырые и ориентированные значения тайлов — Тайлсеты — defineTilesetTexture2D— загрузка 2D-изображений — Texture2D
Ядро
signal,computed,effect— реактивное состояние; биндинги() => valueв тексте и стилях UI — signal · computed · effectAspect— подключаемые способности узлов;node.aspect(Class, opts), фазыupdateBefore/updateFixed/update, порядок черезstatic after/updateOrder, события,Aspect.all— AspectSystem— аспект всей сцены (ввод, пулы эффектов, HUD, игровой режим):scene.system(Class)— SystemTime— игровые часы:Time.scale,Time.paused,Time.dt/unscaledDt/fixedDt,now,frame— TimeStateMachine,defineStates— иерархический конечный автомат одной декларативной таблицей: условия, переходы по таймеру, события,$back; мозги NPC, оружие, игровые режимы — StateMachineCanvas,Bitmap— retained-2D-рисование, запекается в текстуры (2D/3D/UI);loadImage(SVG / байты картинки),toBitmap,toFile— Canvas- паттерн
addEventListener, общий для сцен, узлов,device,app,Router, плееров, голосов и сокетов — События
Рантайм
device— платформа (модель ввода: web / ios / android / desktop), язык, размер, pixelRatio, resize, связность, точный touch, вибрация, датчик движения, HDR (пока не реализован) — deviceapp,clipboard,openURL— жизненный цикл (pause/resume), диплинки, блокировка ориентации, запасной обработчик «назад» (app.onBack), перезапуск / выход, отступ клавиатуры,sdkVersion, системный буфер, внешние URL — app · clipboard · openURLInput,InputChannel— клавиатура / мышь / геймпад: опросInput.key(code)(кнопки мыши и геймпада — тоже клавиши), событияInput.on('keydown'),Input.mouse.delta+ захват указателя +onUI,Input.gamepad(i).axis()/.rumble();InputChannel— id каналов хоста — InputClickEvent,TouchStartEvent,LongPressEvent,MouseEnterEvent— события указателя, драги и ховеры черезev.track()— События касанийfetch,fetchLocal,FormData,File— HTTP через хост; синхронное чтение тела;fetchLocal— файл хоста по имени — fetch · WebSocketWebSocket— текстовые сокеты как в браузере — fetch · WebSocketlocalStorage— персистентные строки ключ/значение — localStorageAudioPlayer,VideoPlayer— потоковые плееры платформы (музыка, озвучка, видео); видео-как-текстура — Аудио и видеоSound,Voice,Bus,REVERB_PRESETS,audio— игровой звук: клипы декодируются заранее, пул голосов (audio.play, циклы, питч, варианты), шины с low-pass / эхо / реверберацией; зависит от хоста (audio.supported) — Игровой звук — audioopenFilePicker,share,files— выбор файлов, системный шеринг, собственные файлы приложения (desktop, iOS) — Файлы и шерингtoast,SvgSource— нативный тост; SVG как источник изображения — toast · SvgSourcedate— даты в стиле dayjs: формат, относительное время, арифметика, сравнение (английский + русский) — dateNet,NetPlayer,Replicated,NetEntity— мультиплеер с авторитетным сервером: роли (offline / host / client / выделенный сервер), игроки, JSON-сообщения, ввод по тикам, реплицируемые сущности с предсказанием и интерполяцией — Мультиплеер — NetRpcError— серверные функции: эндпоинты и каналы*.server.tsна бэкенде приложения le.codes — Серверные функции- только серверный код:
model,t,defineDb,ref— база данных бэкенда: модели, запросы, записи, транзакции — База данных - только серверный код:
t.file(),t.image(), параметрFile— файлы, которые приложение загружает, а бэкенд хранит: фото, аватары, вложения — Хранимые файлы - только серверный код:
db.auth— аккаунты: пароли, коды на email, свой вход, гости, устройства — Вход и аккаунты
Анимация
animate— твин произвольного значения (мс): числа, CSS-цвета, векторы, кватернионы, матрицы →onUpdate; возвращает хэндлAnimation— animateTimeline— хореография на одних часах: треки на UI-элементах, 3D / 2D-узлах, источниках света, камере; метки, вызовы, паузы, stagger — TimelineeaseIn,easeOut,easeInOut,cubicBezier— функции сглаживания + имена кривых, которые принимает любой твин ('outCubic',[x1,y1,x2,y2],'steps(n)') — Функции сглаживания
Математика
Mathf— скалярные хелперы: clamp, lerp, damp, remap, random — MathfVec2,Vec3— флюентные векторы; мутабельные поля, чистые методы, кортежи — Vec2 и Vec3Quat— вращения: fromEuler, fromAxisAngle, slerp, lookRotation — QuatMat4— матрица 4×4: compose/decompose, lookAt, perspective; открытый.m— Mat4Color— парсинг и конвертация любых формColorInput— Color
Плагины
CameraView— превью камеры устройства + фото (JPEG-File) — CameraViewQRScanner— сканирование QR (зависит от хоста) — QRScannerGeolocation— позиция устройства (разово + наблюдение) — GeolocationMapView— векторная карта (maplibre-native; maplibre-gl в веб-плеере): стиль (по умолчанию бесплатный готовый), слои маркеров/линий, камера, маркер пользователя — MapViewPush— удалённые push-уведомления (регистрация + события полезной нагрузки; отправку релеит le.codes) — PushService— сырой канал к headless-сервисам хоста (локальным и сторонним) — Service
Глобалы хоста — Глобалы хоста
setLoop/clearLoop— покадровый цикл хоста;dtв секундах, без масштаба времени (игровая логика →Aspect/System)setTimeout/setInterval/clearTimeout/clearInterval— таймеры (мс; на нативном рантайме разрешение в один кадр и обязательная задержка)console— log / warn / info / errorasset()— compile-time-макрос: путь к файлу проекта → ссылка на ресурс в бандле (.json→ его данные,.svg→SvgSource)DEG2RAD/RAD2DEG— compile-time-константы угловStyle<T>— вспомогательный тип для переиспользуемых объектов стилей (только для редактора)
Как читать сигнатуры
Сигнатуры записаны как упрощённый TypeScript — без шума перегрузок и вспомогательных дженериков.
Значения по умолчанию показаны комментарием (// по умолчанию 1), необязательные параметры
помечены ?, а единицы измерения всегда названы там, где число пересекает границу API: секунды или
миллисекунды, градусы или радианы, логические пиксели или мировые единицы.
Mathf.lerp(a, b, t): number // a + (b − a)·t
sprite.setFramePx(x, y, w, h): this // под-прямоугольник в пикселях текстуры
animate(target, to, 300) // длительность в миллисекундахСлева — полное дерево навигации по всем разделам. Справочник переведён целиком — все страницы доступны на русском и английском.