Skip to content

PHO-16: Add LumosRenderer interface and VoxelFrame data class#36

Merged
wow-miley merged 1 commit into
mainfrom
miley/pho-16-add-lumosrenderer-interface-and-voxelframe-data-class
May 25, 2026
Merged

PHO-16: Add LumosRenderer interface and VoxelFrame data class#36
wow-miley merged 1 commit into
mainfrom
miley/pho-16-add-lumosrenderer-interface-and-voxelframe-data-class

Conversation

@wow-miley
Copy link
Copy Markdown
Contributor

Summary

  • Adds the parallel renderer abstraction for :phosphor-lumos: LumosRenderTarget enum (VOXEL_NATIVE, VOXEL_TERMINAL reserved for Wave 2), LumosRenderer<out T> interface, and @Serializable VoxelFrame / VoxelCell / VoxelAmbient / optional VoxelGlyphState.
  • Sibling to PhosphorRenderer / SimulationFrame — both pipelines coexist because the voxel and cell-based renderers produce different geometric primitives; KDoc cross-references both directions. No concrete renderer or VoxelFrameBuilder (those are PHO-17 / PHO-18).
  • Declares kotlinx-serialization-core and -json explicitly in phosphor-lumos/build.gradle.kts since :phosphor-core exposes them as implementation.

Test plan

  • ./gradlew :phosphor-lumos:jvmTest — JSON round-trip (full / null-glyph / empty cells), per-field equality, enum exhaustiveness + valueOf all green
  • ./gradlew :phosphor-lumos:buildallTests across JVM/JS/WasmJS and the iOS compile gate green
  • ./gradlew ktlintFormat — clean

🤖 Generated with Claude Code

Introduces the parallel renderer abstraction for :phosphor-lumos:
LumosRenderTarget enum, @serializable VoxelFrame (with VoxelCell,
VoxelAmbient, optional VoxelGlyphState), and LumosRenderer<T>
interface. Sibling to PhosphorRenderer/SimulationFrame; both pipelines
coexist. Adds explicit kotlinx-serialization-core/json deps since
phosphor-core declares them as implementation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@wow-miley wow-miley merged commit 08c7fad into main May 25, 2026
3 checks passed
@wow-miley wow-miley deleted the miley/pho-16-add-lumosrenderer-interface-and-voxelframe-data-class branch May 25, 2026 00:26
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