Skip to content

VFX System & UI Docking Improvements - #109

Draft
HollowHorizon wants to merge 19 commits into
devfrom
feature/vfx-editor
Draft

HollowHorizon wants to merge 19 commits into
devfrom
feature/vfx-editor

Conversation

@HollowHorizon

Copy link
Copy Markdown
Collaborator

No description provided.

This change adds split side-panel docking, draggable stripe/window reordering, preview overlays, and a refreshed IDE status bar. It also moves the bottom tool window to a Problems-focused console page, adds hover-aware scrollbar styling, supports dashed borders, and updates editor/tree/scroll visuals with the new font and line-height behavior.

The patch includes related test coverage for docking, tree guide layout, border dash rendering, and scrollbar hover/resize behavior.
Introduce a full VFX subsystem: new runtime model (VfxInstance, VfxNodeRuntime, node behaviors), render pipeline (quad/mesh/ribbon renderers, post-processing, scene copies), preview/editor integration, shader declarations and core shader assets, model-surface sampling, and UI inspectors/editors for VFX. Replace string-based animatable IDs with typed VfxProperty and update timeline/driven systems accordingly. Add resource reload hooks, Iris integration points, many example .vfx files and localization updates, and update tests to validate format/compilation. This change improves flexibility, shader support, and batching for particle/model/ribbon effects.
Large refactor and feature work across the IDE, VFX system and gizmo code. Highlights:
- Make gizmo projection/manipulation instance-based (GizmoProjector, GizmoGeometry, GizmoManipulator) and add GizmoRenderer.
- Add VfxTransformGizmo for preview-panel transforms and VfxMaterialPreview component.
- Introduce VfxParticleLook (per-renderer particle look buffer) and adapt VfxEmitter/VfxParticles/renderers to use look channels.
- Move asset picker/asset-path field and diagnostics into inspector; add AssetPickerDialog and UI host wiring.
- Timeline and inspector UI polish: new icons, styles, controls (jump-to-key, frame-fit, toolbar improvements).
- Add VFX scene tree, node move/duplicate logic and tests; multiple VFX format/data files updated.
This change introduces a shared ExpressionEditing helper for animator and VFX expression fields, unifying token highlighting, completions, and diagnostics under one API. It also replaces hardcoded IDE menu/file icons with a centralized IconHelper-based mapping and adds the new action/file SVG assets used across the project tree and context menu. The notification stack style was updated to match the IDE's monospace look.
Add English and Russian VFX docs, expand IDE and project-export guides for the new workspace and console workflow, and refresh related screenshots. This also documents HSS imports/variables and the updated project export/import flow.
Adds sub-emitter support and a glow/soft-edge rendering pipeline.

Key points:
- Sub-emission API: VfxSubEmission, VfxParticleEvent, VfxSubEmitters runtime classes and VfxSubEvents; emitter can spawn from parent particle events and carry parent_random into children.
- VfxEmitter updated to handle sub-emitter inputs, event queuing, spawning, and particle firing; tests added (VfxSubEmitterTest).
- UI: editor fields for sub-emission, icon, and tooltips; language entries added.
- Materials/shaders: per-material softness and glow fields; engine shaders/uniforms extended; include hollowengine_vfx.glsl for soft-edge calculation.
- Glow pass: VfxGlow implements bloom-like pass (down/upsample shaders); renderers updated to draw glow pass and respect GlowPass uniform.
- Misc: refactors (VfxEmitterShape, VfxScreenQuad), resource additions (example vfx, shader files, icons).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant