Files
lucidia-metaverse/node_modules/three/examples/jsm/transpiler/AST.js
Alexa Louise 47cf47f624 Initial commit: Lucidia Metaverse
Complete 3D metaverse platform with:
- Three.js 3D rendering
- Cannon.js physics engine
- Pointer lock controls
- Procedural cityscape
- Floating islands
- Portal system
- Particle effects
- WebXR/VR support ready
- Multiplayer ready (Socket.io)

Features:
- First-person controls (WASD + mouse)
- Jump and run mechanics
- Chat system
- Real-time HUD
- Loading screen
- Responsive design

Built with Vite for fast builds and hot reload.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-22 19:02:56 -06:00

270 lines
3.0 KiB
JavaScript

export class Program {
constructor() {
this.body = [];
this.isProgram = true;
}
}
export class VariableDeclaration {
constructor( type, name, value = null, next = null, immutable = false ) {
this.type = type;
this.name = name;
this.value = value;
this.next = next;
this.immutable = immutable;
this.isVariableDeclaration = true;
}
}
export class Uniform {
constructor( type, name ) {
this.type = type;
this.name = name;
this.isUniform = true;
}
}
export class Varying {
constructor( type, name ) {
this.type = type;
this.name = name;
this.isVarying = true;
}
}
export class FunctionParameter {
constructor( type, name, qualifier = null, immutable = true ) {
this.type = type;
this.name = name;
this.qualifier = qualifier;
this.immutable = immutable;
this.isFunctionParameter = true;
}
}
export class FunctionDeclaration {
constructor( type, name, params = [] ) {
this.type = type;
this.name = name;
this.params = params;
this.body = [];
this.isFunctionDeclaration = true;
}
}
export class Expression {
constructor( expression ) {
this.expression = expression;
this.isExpression = true;
}
}
export class Ternary {
constructor( cond, left, right ) {
this.cond = cond;
this.left = left;
this.right = right;
this.isTernary = true;
}
}
export class Operator {
constructor( type, left, right ) {
this.type = type;
this.left = left;
this.right = right;
this.isOperator = true;
}
}
export class Unary {
constructor( type, expression, after = false ) {
this.type = type;
this.expression = expression;
this.after = after;
this.isUnary = true;
}
}
export class Number {
constructor( value, type = 'float' ) {
this.type = type;
this.value = value;
this.isNumber = true;
}
}
export class String {
constructor( value ) {
this.value = value;
this.isString = true;
}
}
export class Conditional {
constructor( cond = null ) {
this.cond = cond;
this.body = [];
this.elseConditional = null;
this.isConditional = true;
}
}
export class FunctionCall {
constructor( name, params = [] ) {
this.name = name;
this.params = params;
this.isFunctionCall = true;
}
}
export class Return {
constructor( value ) {
this.value = value;
this.isReturn = true;
}
}
export class Accessor {
constructor( property ) {
this.property = property;
this.isAccessor = true;
}
}
export class StaticElement {
constructor( value ) {
this.value = value;
this.isStaticElement = true;
}
}
export class DynamicElement {
constructor( value ) {
this.value = value;
this.isDynamicElement = true;
}
}
export class AccessorElements {
constructor( property, elements = [] ) {
this.property = property;
this.elements = elements;
this.isAccessorElements = true;
}
}
export class For {
constructor( initialization, condition, afterthought ) {
this.initialization = initialization;
this.condition = condition;
this.afterthought = afterthought;
this.body = [];
this.isFor = true;
}
}