spec.md 5.5 KB

ADDED Requirements

Requirement: Rectangle shimmer walls must remain compatible with logarithmic depth map scenes

The rectangle shimmer wall material pipeline MUST remain visible and render correctly in scenes where the renderer enables logarithmicDepthBuffer.

Scenario: Render rectangle shimmer walls on a map scene

  • WHEN rectangleShimmerComponent is rendered in a scene that enables renderer.logarithmicDepthBuffer
  • THEN the wall effect MUST render through a built-in-material-compatible shader path instead of relying on raw TresShaderMaterial

Scenario: Preserve rectangle wall appearance after compatibility fix

  • WHEN a developer adjusts wall colors, opacities, height, and gradient progress
  • THEN the walls MUST keep the same bottom-to-top gradient behavior after the compatibility change

Requirement: Flowing smoke particles must remain compatible with logarithmic depth map scenes

The flowing smoke particle material pipeline MUST remain visible and render correctly in scenes where the renderer enables logarithmicDepthBuffer.

Scenario: Render flowing smoke on a map scene

  • WHEN flowingSmokeComponent is rendered in a scene that enables renderer.logarithmicDepthBuffer
  • THEN the smoke effect MUST render through a built-in-material-compatible shader path instead of relying on raw ShaderMaterial

Scenario: Preserve smoke motion after compatibility fix

  • WHEN a developer adjusts density, direction, flow rate, spread, opacity, particle size, and life range
  • THEN the smoke effect MUST preserve the existing motion, dissipation, and size behavior after the compatibility change

Requirement: Super energy shield shell must remain compatible with logarithmic depth map scenes

The super energy shield material pipeline MUST remain visible and render correctly in scenes where the renderer enables logarithmicDepthBuffer.

Scenario: Render super energy shield on a map scene

  • WHEN superEnergyShieldComponent is rendered in a scene that enables renderer.logarithmicDepthBuffer
  • THEN the shield effect MUST render through a built-in-material-compatible shader path instead of relying on raw ShaderMaterial

Scenario: Preserve shield controls after compatibility fix

  • WHEN a developer adjusts shield color, opacity, fresnel, noise, flow, hex, and hit-wave parameters
  • THEN the shield effect MUST preserve the existing controls and exposed impact-registration behavior after the compatibility change

Requirement: Charged orb gather shells must remain compatible with logarithmic depth map scenes

The charged orb gather material pipeline MUST remain visible and render correctly in scenes where the renderer enables logarithmicDepthBuffer.

Scenario: Render charged orb gather in a map scene

  • WHEN chargeOrbGatherComponent is rendered in a scene that enables renderer.logarithmicDepthBuffer
  • THEN the orb shell effect MUST render through a built-in-material-compatible shader path instead of relying on raw ShaderMaterial

Scenario: Preserve charged orb gather controls after compatibility fix

  • WHEN a developer adjusts glow, fresnel, noise-flow, and charge-progress related parameters
  • THEN the orb shell effect MUST preserve the existing orb scale, color, and gather-particle behavior after the compatibility change

Requirement: Charged blast release rings must remain compatible with logarithmic depth map scenes

The charged blast release ring material pipeline MUST remain visible and render correctly in scenes where the renderer enables logarithmicDepthBuffer.

Scenario: Render charged blast release rings on a map scene

  • WHEN chargedBlastRingsComponent is rendered in a scene that enables renderer.logarithmicDepthBuffer
  • THEN the ring effect MUST render through a built-in-material-compatible shader path instead of relying on raw ShaderMaterial

Scenario: Preserve charged blast ring behavior after compatibility fix

  • WHEN a developer adjusts ring count, interval, lifetime, radius, gradient, direction, and speed parameters
  • THEN the ring burst effect MUST preserve the existing instanced expansion and carrier-following behavior after the compatibility change

Requirement: Charged blast projectile shells must remain compatible with logarithmic depth map scenes

The charged blast projectile and trail material pipelines MUST remain visible and render correctly in scenes where the renderer enables logarithmicDepthBuffer.

Scenario: Render charged blast projectile on a map scene

  • WHEN chargedBlastProjectileComponent is rendered in a scene that enables renderer.logarithmicDepthBuffer
  • THEN the projectile and trail effects MUST render through a built-in-material-compatible shader path instead of relying on raw ShaderMaterial

Scenario: Preserve charged blast projectile controls after compatibility fix

  • WHEN a developer adjusts projectile colors, fresnel, pulse, trail, direction, and fire-speed parameters
  • THEN the projectile effect MUST preserve the existing flight, pulse, and trail behavior after the compatibility change

Requirement: Explicit shader wrapper dependencies must be declared

Any package imported directly by application source for shader compatibility MUST be declared as a direct dependency of the project.

Scenario: Import shader wrapper package from source

  • WHEN a source file imports three-custom-shader-material
  • THEN package.json MUST declare that package directly under project dependencies