How roborisendev/entryjs works
EntryJS is a browser-based visual programming environment. A user initializes a workspace, edits a project with blocks and objects, then runs it in the engine; projects can also be loaded and exported. The repository includes text-to-block conversion, graphics and image resources, AI learning/use blocks, and hardware integrations. Relationships among unsampled subsystems are omitted or marked unverified; the atlas and engine links below are supported by excerpts or the source index.
Main entry points: PIXIAtlasManager.ts Resource Manager · parser.js Text Parser · playground Block Workspace · entry.js Entry API
Components 24
Workspace Editing
- Entry API
src/entry.js - Block Workspace
src/playground - Block Definitions
src/playground/blocks
Project Runtime
- Project State
src/class/project.js - Execution Engine
src/class/engine.js - Event System
src/core/event.js
Graphics Resources
- Graphic Engine
src/graphicEngine/GEHelper.ts - Resource Manager
src/class/pixi/atlas/PIXIAtlasManager.ts - Image Loader
src/class/pixi/atlas/loader/AtlasImageLoader.ts - Image Load State
src/class/pixi/atlas/loader/AtlasImageLoadingInfo.ts - Atlas Helpers
src/class/pixi/atlas/PIXIAtlasHelper.ts - Scene Textures
src/class/pixi/atlas/SceneBins.ts - Texture Options
src/class/pixi/atlas/EntryTextureOption.ts - Image Geometry
src/class/maxrect-packer/geom/ImageRect.ts - Atlas Packing
src/class/maxrect-packer/maxrects_packer.ts
Text Coding
- Text Parser
src/textcoding/parser.js - Text Conversion
src/textcoding/parser/core/text/jsToBlock.js - Python Conversion
src/textcoding/parser/core/text/pyToBlock.js
AI and Hardware
- AI Learning
src/class/learning - AI Blocks
src/playground/blocks - Hardware Blocks
src/playground/blocks/hardware - Hardware Connectors
src/class/hardware - Bluetooth Services
src/class/hardware/bluetoothServices
Other components
- Workspace User
Connections 24
- Workspace User → Entry API: initializes
README.md - Entry API → Block Workspace: injects workspace
- Workspace User → Block Workspace: edits project
- Block Workspace → Block Definitions: uses blocks
- Workspace User → Project State: loads or exports
README.md - Workspace User → Execution Engine: runs project
README.md - Execution Engine → Graphic Engine: uses
src/class/engine.js - Workspace User → Text Parser: converts text
- Text Parser → Text Conversion: calls conversion
src/textcoding/parser.js - Text Parser → Python Conversion: calls conversion
src/textcoding/parser.js - Graphic Engine → Resource Manager: uses resources
- Resource Manager → Scene Textures: creates scenes
src/class/pixi/atlas/PIXIAtlasManager.ts - Resource Manager → Image Loader: creates loader
src/class/pixi/atlas/PIXIAtlasManager.ts - Resource Manager → Texture Options: configures
src/class/pixi/atlas/PIXIAtlasManager.ts - Resource Manager → Scene Textures: adds loaded image
src/class/pixi/atlas/PIXIAtlasManager.ts - Image Loader → Image Load State: creates load state
src/class/pixi/atlas/loader/AtlasImageLoader.ts - Image Load State → Atlas Helpers: resolves image path
src/class/pixi/atlas/loader/AtlasImageLoadingInfo.ts - Atlas Helpers → Image Geometry: creates geometry
src/class/pixi/atlas/PIXIAtlasHelper.ts - Texture Options → Atlas Packing: creates packer
src/class/pixi/atlas/EntryTextureOption.ts - Workspace User → AI Learning: uses AI learning
- AI Blocks → AI Learning: invokes models
- Workspace User → Hardware Blocks: selects hardware blocks
- Hardware Blocks → Hardware Connectors: dispatches device actions
- Hardware Connectors → Bluetooth Services: uses services
src/class/hardware/bluetoothServices/service-helper.ts