New:Socket for Asana Is Now Available.Learn more
Get Started

@holoscript/core

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@holoscript/core

Core parser, AST, type/trait system, compiler infrastructure, and runtime for the HoloScript general-purpose semantic systems language

Source
npmnpm
Version
8.0.19
Version published
Weekly downloads
118
-5.6%
Maintainers
1
Weekly downloads
 
Created
Source

@holoscript/core

The semantic engine at the heart of HoloScript. Traits describe any domain entity — spatial, AI, services, IoT — and the compiler fleet translates them to platform-specific code. Read the V6 Vision →

Core parser, AST, compiler infrastructure, and trait system.

Installation

npm install @holoscript/core

Usage

// Parse HoloScript+ files (.hsplus)
import { HoloScriptPlusParser } from '@holoscript/core';

const parser = new HoloScriptPlusParser();
const result = parser.parse(source);

// Parse .holo composition files
import { HoloCompositionParser } from '@holoscript/core';

const holoParser = new HoloCompositionParser();
const composition = holoParser.parse(source);

// Compile to a specific target
import { UnityCompiler } from '@holoscript/core';

const compiler = new UnityCompiler();
const output = compiler.compile(composition.ast);

Features

  • Multi-format Parser - Supports .hs, .hsplus, and .holo files
  • Complete AST - Full abstract syntax tree representation
  • Validation - Comprehensive error checking with recovery
  • Compile Targets - R3F generated TSX, Unity, Unreal, Godot, iOS, Android, Vision Pro, WebGPU, WASM, VRChat, OpenXR, URDF, DTDL, SDF, and more; verify live targets via the ExportTarget enum and MCP health.
  • Traits - Modularized across category files covering VR interactions, physics, networking, AI, scripting, automation, animation, nature, magic, sci-fi, emotions, and more; pull live counts from the repository.
  • AI Integration - Adapters for OpenAI, Anthropic, Gemini, Ollama, and more
  • Reactive State - reactive(), computed(), effect(), bind()

Parsers

ParserFile TypesUse Case
HoloScriptPlusParser.hsplusExtended syntax with TypeScript modules
HoloCompositionParser.holoScene-centric composition files
HoloScript2DParser.hsBasic logic and protocols
HoloScriptParser.hsStandard semantic parser

Compilers (verify live targets via health + ExportTarget enum)

CompilerTargetOutput
UnityCompilerUnity EngineC# + Prefab
UnrealCompilerUnreal Engine 5C++ + Blueprint
GodotCompilerGodot 4GDScript + .tscn
SceneIRCompiler + emitSceneIRTsxReact Three FiberSceneIR + generated TSX shell
OpenXRCompilerOpenXR StandardC++
VRChatCompilerVRChatUdonSharp C#
VisionOSCompilerApple Vision ProSwift
AndroidXRCompilerAndroid XRKotlin
IOSCompileriOS / ARKitSwift
AndroidCompilerAndroid / ARCoreKotlin
WASMCompilerWebAssembly.wasm + .js
WebGPUCompilerWebGPU ComputeWGSL + TypeScript
URDFCompilerRobotics (URDF).urdf XML
SDFCompilerGazebo SDF simulation XML.sdf XML
DTDLCompilerDigital TwinsJSON-LD
StateCompilerReactive StateJSON
A2AAgentCardCompilerA2A Agent CardsJSON
NIRCompilerNeuromorphic IRJSON
AIGlassesCompilerAI GlassesKotlin Compose
GLTFPipelineglTF.glb / .gltf
NFTMarketplaceCompilerNFT MarketplaceSolidity
USDPhysicsCompilerUSD Physics.usda
TSLCompilerTrait Shader LanguageWGSL + TS pipeline
SCMCompilerStructural Causal ModelJSON DAG
QuiltCompilerLooking Glass HologramMulti-view PNG
MVHEVCCompilerMV-HEVC HologramSwift + .mov

Trait System

VR traits are modularized under src/traits/constants/:

CategoryFileTraits
Core VRcore-vr-interaction.tsgrabbable, throwable, pointable, ...
Humanoidhumanoid-avatar.tsskeleton, body, face, ...
Game Mechanicsgame-mechanics.tscollectible, destructible, healable, ..
Magic & Fantasymagic-fantasy.tsenchantable, cursed, blessed, ...
Animalsanimals.tscat, dog, horse, dragon, ...
...58 more categoriesSee src/traits/constants/index.ts

Import individual categories or the combined set:

import { VR_TRAITS } from '@holoscript/core';
import { AUDIO_TRAITS } from '@holoscript/core'; // Just audio traits
import { MAGIC_FANTASY_TRAITS } from '@holoscript/core'; // Just magic/fantasy

Language Features

HoloScript v4.1 adds five production-ready language features. See LANGUAGE_FEATURES.md for the full reference.

Module System (@import / @export)

@import { PhysicsSystem, Gravity } from './physics.hs'
@import * as UI from './ui-components.hs'

@export PhysicsSystem

Trait Composition

// Compose multiple traits into one named trait
@HoverVehicle = @physics + @navmesh + @propulsion
@Warrior = @combat + @inventory + @stats
import { TraitCompositionCompiler, TraitComposer } from '@holoscript/core';

// Low-level API
const compiler = new TraitCompositionCompiler();
const [hovercraft] = compiler.compile(
  [{ name: 'Hovercraft', components: ['physics', 'navmesh'], overrides: { gravity: 0.1 } }],
  (name) => registry.get(name),
  traitGraph
);

// High-level composer (with lifecycle dispatch)
const composer = new TraitComposer(graph);
const result = composer.compose('Warrior', handlers, ['combat', 'inventory', 'stats']);
// result.handler.onAttach dispatches to all in order; onDetach is reversed

Reactive State

@state {
  hp: 100,
  shield: 50,
}
import { reactive, computed, effect } from '@holoscript/core';

const state = reactive({ hp: 100 });
const isAlive = computed(() => state.hp > 0);
effect(() => console.log('HP changed:', state.hp));

LLM Agent Trait

@llm_agent {
  model: "gpt-4",
  system_prompt: "You are a game NPC",
  tools: [{ name: "move", ... }],
  bounded_autonomy: true,
  max_actions_per_turn: 3,
}

Gaussian Splat Trait

@gaussian_splat {
  source: "./assets/scene.ply",
  quality: "ultra",
  sh_degree: 3,
  sort_mode: "distance",
  streaming: true,
}

Codebase Intelligence (GraphRAG)

Built-in pipeline for semantic code analysis:

CodebaseScanner → CodebaseGraph → EmbeddingIndex → GraphRAGEngine
ClassFilePurpose
CodebaseScannersrc/codebase/CodebaseScanner.tsScan repositories, extract symbols/imports/calls
CodebaseGraphsrc/codebase/CodebaseGraph.tsGraph of nodes (symbols) + edges (dependencies), community detection
EmbeddingIndexsrc/codebase/EmbeddingIndex.tsVector index (OpenAI/BM25/Ollama), binary cache for 42x speedup
GraphRAGEnginesrc/codebase/GraphRAGEngine.tsGraph traversal + semantic search + LLM synthesis
CodebaseSceneCompilersrc/codebase/visualization/3D visualization of codebase graphs
import { CodebaseScanner, CodebaseGraph, EmbeddingIndex, GraphRAGEngine } from '@holoscript/core';

const scanner = new CodebaseScanner();
const graph = await scanner.scan('./src');
const index = new EmbeddingIndex();
await index.buildIndex(graph);
const engine = new GraphRAGEngine(graph, index);
const answer = await engine.queryWithLLM('How does the parser work?');

Runtime & ECS

ClassFilePurpose
SceneRunnersrc/runtime/SceneRunner.tsWalks AST, spawns entities, runs compositions
HeadlessRuntimesrc/runtime/profiles/HeadlessRuntime.tsNo-GUI execution for tests/CI/servers
RuntimeBridgesrc/runtime/RuntimeBridge.tsConnects SceneRunner to renderers
RuntimeRenderersrc/runtime/RuntimeRenderer.tsPBR materials, particle systems, post-FX

MCP Integration

Two MCP layers:

  • External (packages/mcp-server): Exposes holo_absorb_repo, holo_query_codebase, holo_semantic_search for AI agents
  • Internal (src/mcp/ + src/agents/spatial-comms/): MCPOrchestrator, Layer3MCPClient, SPATIAL_MCP_TOOLS for agent-to-agent spatial comm

Smart Assets

ClassFilePurpose
SmartAssetLoadersrc/assets/SmartAssetLoader.tsLoad/configure/bundle assets with load(), doLoad(), getConfig()
LoaderConfigsrc/assets/SmartAssetLoader.tsConfiguration interface for asset loading

Extension System

ClassFilePurpose
ExtensionRegistrysrc/extensions/ExtensionRegistry.tsRegister and load plugin extensions
ExtensionInterfacesrc/extensions/ExtensionInterface.tsExtension lifecycle context

Note: "Extension" has multiple meanings in the codebase — plugin extensions (ExtensionRegistry), glTF extensions (GLTFTrait), LSP file extensions (ImportResolver.EXTENSIONS), and OpenXR required extensions. See Extension System Architecture.

Package boundary & release posture

@holoscript/core is the foundational public library for external developers and agent frameworks building on HoloScript: the parser, AST, trait system, identity, physics, and the compile_to_* compiler surface. It is a library — it ships no server, no founder-local workspace, and no baked credentials. Where a compiler emits an operational default (e.g. a serving endpoint or a trace directory), that value is caller-owned: you bring your own via the compiler's config options and environment variables, and any host/path in a generated artifact is a generic reference, not the package default.

Known limitations: the compiler target set is broad but evolving; some targets are v0-preview and their emitted contracts may change before the v1 release. Validate a target's output with the package's own checks (e.g. pnpm test / the consumption gate) before depending on it in production.

License

MIT

Keywords

holoscript

FAQs

Package last updated on 01 Aug 2026

Related posts