Skip to content

v0.0.4

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Apr 11:00
· 5 commits to master since this release

πŸš€ CraftEngine VS Code Extension v0.0.4 Release

πŸ“… Release Date

April 1, 2026

πŸŽ‰ Version Highlights

  • Architecture Rewrite
  • Schema-Driven Completion System
  • Diagnostic & Code Action Providers
  • Minecraft Model Rendering
  • Data & Schema System
  • Domain Model
  • CI/CD & Tooling
  • Commands

✨ New Features

  • Complete migration to 5-layer clean architecture: Core β†’ Domain β†’ Application β†’ Infrastructure β†’ Presentation
  • Dependency injection system with ServiceContainer and SERVICE_TOKENS (Symbol-based)
  • Event-driven architecture with EventBus supporting wildcard subscriptions and Trie-based pattern matching
  • Performance monitoring with PerformanceMonitor for automatic operation profiling
  • Hierarchical logging system with multiple output targets (console, file, OutputChannel)
  • Strategy-based completion framework with priority system (schemaAware: 90, schemaKey: 85, delegates: 75)
  • 7 delegate strategies: templateName, templateParameters, translationKey, filePath, itemId, categoryReference, versionCondition
  • Rich text completion with MiniMessage tag support (40+ tags, 18 colors, click/hover actions, keybinds)
  • AST-based YAML path parsing with 98% accuracy (improved from 85%)
  • LRU caching for 90%+ performance improvement on repeated queries
  • Category reference validation with go-to-definition and quick fixes
  • Item ID validation with Minecraft namespace support and built-in item database
  • MiniMessage rich text format validation (colors, click/hover actions, formatting tags)
  • Translation key validation with cross-workspace reference finding
  • Version condition validation with range and comparison support
  • File path validation with existence checking, similar path suggestions, and auto-create
  • Extended parameter type validation: self_increase_int, condition, when, expression
  • Quick fixes: add missing properties, remove unknown properties, fix enum values, swap from/to values
  • 3D model rendering engine with perspective projection (512x512 internal, 128x128 export)
  • Item model resolution with condition, range dispatch, and select evaluators
  • Model cache system (ModelCache, ResolvedModelCache, TextureCache)
  • Worker pool for multi-threaded parallel rendering
  • WebGL-based model preview panel with camera controls
  • Pre-bundled Minecraft assets: block models, item models, textures with tint support
  • JSON Schema validation system with $ref resolution, circular reference detection, and draft-07 compliance
  • External data configuration: completion priorities, extended types, performance/timing config, version conditions
  • Minecraft data loading with multi-source fallback (Prismarine, GitHub mirrors)
  • Minecraft version service supporting 1.20–1.21.11 (pack formats 15–75)
  • MiniMessage data loader with tag definitions, colors, and action completions
  • 20 JSON schema files covering items, recipes, loot tables, events, furniture, templates, translations
  • Template entity with immutable properties, self-validation, and parameter management
  • DataStoreService as unified facade implementing template, translation, item, and category repositories
  • Specialized stores: TemplateStore, TranslationStore, ItemStore, CategoryStore with indexed queries
  • Minecraft item model system with tint sources, condition properties, and registry pattern
  • Template expansion with recursive reference resolution, circular reference detection, and parameter substitution
  • Unified build and release workflow (unified-release.yml) replacing the old build-and-release.yml
  • GitHub Actions composite actions: determine-package-type and setup-build-env
  • Platform-specific build scripts (build-platform.js, build-universal.js)
  • Build utilities: dependency analysis (analyze-dependencies.js), dependency copy (copy-dependencies.js), build verification (verify-build.js), cache management (cache-manager.js)
  • New esbuild configuration (esbuild.config.mjs)
  • Package manager migration from npm to pnpm
  • Build system migration to esbuild with custom build script
  • Vitest test framework with VS Code mock, benchmarks, and coverage reporting
  • craftengine.previewModel / craftengine.refreshModelPreview: Model preview panel
  • craftengine.createTemplate / craftengine.extractTemplate: Template creation from selection
  • craftengine.reloadSchemas / craftengine.validateDocument: Schema management
  • craftengine.getStatistics / craftengine.showStatistics: Extension statistics

πŸ”§ Improvements

  • Migrated from monolithic single-file architecture to 5-layer clean architecture
  • Replaced all legacy providers with layered implementations using strategy pattern
  • Updated entry point from extension.js to extension-complete.js
  • Decomposed SchemaService.ts (864 lines) into 11 modular sub-services with Facade pattern
  • Decomposed ExtensionService into 8 specialized sub-components
  • Extracted SchemaLoaderService sub-modules: SchemaEventHandler, SchemaFileManager, SchemaUpdateCoordinator
  • Extracted FileIndexingOrchestrator sub-modules: FileChangeHandler, FileLockManager, WorkspaceInitializer
  • Extracted NamespaceDiscoveryService sub-modules: NamespaceCache, NamespaceValidator, ResourceLocationParser
  • Extracted YamlPathParser sub-modules: AstPathParser, IndentPathParser, PathParserCache
  • Extracted ModelGenerationService sub-modules: ModelJsonBuilder, ModelPathExtractor, SimplifiedConfigConverter
  • Introduced Prettier toolchain with unified code formatting across entire codebase
  • Applied type-only imports throughout the codebase for optimized TypeScript compilation
  • Extracted new interfaces for enhanced dependency inversion and module decoupling
  • Migrated test framework from Mocha to Vitest with comprehensive VS Code API mock
  • Migrated package manager from npm to pnpm
  • Enhanced package.json for marketplace readiness (publisher: craftengine)
  • Updated extension ID to craftengine.craftengine-vsc

πŸ› Bug Fixes

  • Resolved 11 CodeQL security alerts from PR#1
  • Fixed dependency security vulnerabilities
  • Fixed vsce package build pipeline issues:
  • Missing vsce package invocation in package script
  • Added @vscode/vsce dependency and fixed package script commands
  • Resolved vsce package and vscode:prepublish infinite recursion
  • Fixed pnpm project vsce package dependency check failures
  • Removed minimatch override to fix vsce package failures
  • Fixed Schema Validation CI workflow
  • Fixed Benchmark workflow base branch installation failure
  • Allowed package job to run on PR events
  • Resolved all TypeScript compilation errors and circular dependency issues
  • Fixed service registration order and dependency injection lifecycle conflicts
  • Fixed YAML path parsing accuracy (85% β†’ 98%) using AST-based approach
  • Fixed enum value escaping for special characters (|, ,, \, $, })
  • Fixed LRU cache invalidation on schema reload, preventing memory leaks
  • Fixed duplicate completion suggestions with smart key filtering
  • Fixed E2E test setup: extension ID, Mocha config, module path resolution, Windows compatibility
  • Improved variable naming for better readability

πŸ“¦ Installation

Method 1: Install from GitHub Release

  1. Visit the Releases page
  2. Download the craftengine-vsc-0.0.4.vsix file
  3. Open VS Code and press Ctrl+Shift+P to open the command palette
  4. Type Extensions: Install from VSIX...
  5. Select the downloaded .vsix file to install

Method 2: Manual Installation

# Download the extension file
wget https://github.com/INSide-734/craftengine-vsc/releases/download/v0.0.4/craftengine-vsc-0.0.4.vsix

# Install to VS Code
code --install-extension craftengine-vsc-0.0.4.vsix

πŸ”„ Upgrade Instructions

If you have an older version installed, please follow these steps to upgrade:

  1. Uninstall the old version:

    • Open VS Code Extensions panel (Ctrl+Shift+X)
    • Search for "CraftEngine"
    • Click the uninstall button
  2. Install the new version:

    • Follow the installation methods above

πŸ› οΈ Technical Details

  • Node.js Version: 22+
  • VS Code Version: 1.103.0+
  • TypeScript Version: 5.9+
  • Build Tool: GitHub Actions

🀝 Contributors

Thanks to all developers who contributed to this release!

πŸ“š Related Links


CraftEngine VS Code Extension - Making CraftEngine template development more efficient! 🎯

πŸ’‘ Tip: If you encounter any issues while using the extension, please visit the Issues page to submit feedback.