Skip to content

Add "shadows" enumeration field to effects-settings in VEML. xsd and update for schema version 3.1 #89

@dyfios

Description

@dyfios

Is your feature request related to a problem? Please describe.
Current VEML schema does not allow standardized global shadow settings in effects-settings. We need better control over light shadow behavior for the world.

Describe the solution you'd like

  • Add an enumeration field shadows to effects-settings in @Five-Squared-Interactive/VEML/files/VEML. xsd, supporting the values: "off", "on", and "preserve".
  • Update schema version to 3.1.
  • Update all relevant Languages files to reflect the new field and schema.
  • In the WebVerse-Runtime codebase, add a new V3_1 directory for the updated schema under Assets/Runtime/Handlers/VEMLHandler/Schema/.
  • Update VEMLHandler (likely Assets/Runtime/Handlers/VEMLHandler/Scripts/VEMLHandler.cs) to:
    • Support the new shadows field in effects-settings.
    • If shadows is off, disable shadows for all lights in the world.
    • If shadows is on, enable soft shadows for all lights in the world.
    • If shadows is preserve, leave shadow settings for lights unchanged.
  • Integrate VEML schema version 3.1 with WebVerse Runtime effects/environment parsing.

Describe alternatives you've considered

  • Set shadows per light rather than globally (more complex, less standardized)
  • Ignore schema updates and set shadows via runtime configuration only

Additional context

  • See prior handling of effects-settings and version updates in Assets/Runtime/Handlers/VEMLHandler/Schema/V3.0/VEML.cs and similar versioned files.
  • VEMLHandler processes effects using ProcessEffects (see VEMLHandler.cs), consider how litefog is processed for reference when extending to shadows.
  • Remember to update conversion and utilities as needed.
  • See also VEMLUtilities.cs and how schema upgrades/migration are handled.
  • Updates may need to be made to @Five-Squared-Interactive/StraightFour to facilitate this.

Impact

  • This enables worlds to define global shadow policies and improves scene visual consistency.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions