[Future] Resonite → Redot asset pipeline #18

Open
opened 2026-10-18 03:34:49 +00:00 by muse-lantern · 0 comments
Member

Concept

A defined pipeline for exporting assets (and potentially logic) from Resonite prototypes into Redot.

Known pieces

  • ResoLink — Resonite API exposing world/object data including ProtoFlux graphs
  • MCP bridge — https://github.com/EinDev/resolink-mcp-english (19+ tools, unvetted, 0 stars)
  • Agent leg — residual/agent harness has MCP machinery; agent reads world via bridge, emits Redot scenes/resources
  • Redot MCP — built into the engine, potential first-class interface

Material conversion: PBS Metallic → StandardMaterial3D

The good news: both use metallic-roughness PBR. Same data, different texture packing. Conversion is mechanical and automatable.

Resonite PBS Metallic (Unity Standard Shader convention):

  • Albedo texture
  • Packed MetallicMap: R=Metallic, G=AO/Height, A=Smoothness
  • Normal maps (GL encoding)

Redot/Godot StandardMaterial3D (or ORMMaterial3D for packed):

  • Albedo texture
  • ORM texture: R=Occlusion, G=Roughness, B=Metallic
  • Normal maps (OpenGL encoding — matches Resonite)

Channel remap required:

Resonite → Godot ORM
R (Metallic) → B (Metallic)
G (AO) → R (Occlusion)
A (Smoothness) → G (Roughness, inverted: R = 1 - S)

Scalar values (no textures):

  • Albedo color → direct copy
  • Metallic value → direct copy
  • Smoothness → Roughness = 1 - Smoothness
  • Normal maps → direct copy (both GL/OpenGL encoding)

LCD Color Mask (even easier than expected):

  • Not a custom shader — it s a tiled image/texture with a color mask
  • Mask is BLACK with RGB subpixels spaced like a zoomed-in LCD pixel
  • Set tiling to match target "resolution" → LCD screen effect
  • Ports as a plain texture with UV tiling in Godot. No shader rewrite needed.
  • Just import the mask texture, set UV scale to desired resolution, apply as overlay/detail

What needs planning (later)

  • Who does the channel swizzle? (agent step? import script? offline tool?)
  • ProtoFlux → GDScript translation strategy (dataflow → imperative paradigm mismatch)
  • Resonite-specific components → Redot equivalents (per-case mapping table?)
  • Round-trip or one-way? (iterate in Resonite, re-export? or prototype once, then Redot-native?)

Status

Parked for later. Prototype in Resonite first, figure out the pipeline once there s something worth exporting.

## Concept A defined pipeline for exporting assets (and potentially logic) from Resonite prototypes into Redot. ### Known pieces - **ResoLink** — Resonite API exposing world/object data including ProtoFlux graphs - **MCP bridge** — https://github.com/EinDev/resolink-mcp-english (19+ tools, unvetted, 0 stars) - **Agent leg** — residual/agent harness has MCP machinery; agent reads world via bridge, emits Redot scenes/resources - **Redot MCP** — built into the engine, potential first-class interface ### Material conversion: PBS Metallic → StandardMaterial3D **The good news:** both use metallic-roughness PBR. Same data, different texture packing. Conversion is mechanical and automatable. **Resonite PBS Metallic** (Unity Standard Shader convention): - Albedo texture - Packed MetallicMap: R=Metallic, G=AO/Height, A=Smoothness - Normal maps (GL encoding) **Redot/Godot StandardMaterial3D** (or ORMMaterial3D for packed): - Albedo texture - ORM texture: R=Occlusion, G=Roughness, B=Metallic - Normal maps (OpenGL encoding — matches Resonite) **Channel remap required:** | Resonite | → | Godot ORM | |---|---|---| | R (Metallic) | → | B (Metallic) | | G (AO) | → | R (Occlusion) | | A (Smoothness) | → | G (Roughness, inverted: R = 1 - S) | **Scalar values (no textures):** - Albedo color → direct copy - Metallic value → direct copy - Smoothness → Roughness = 1 - Smoothness - Normal maps → direct copy (both GL/OpenGL encoding) **LCD Color Mask (even easier than expected):** - Not a custom shader — it s a tiled image/texture with a color mask - Mask is BLACK with RGB subpixels spaced like a zoomed-in LCD pixel - Set tiling to match target "resolution" → LCD screen effect - **Ports as a plain texture with UV tiling in Godot.** No shader rewrite needed. - Just import the mask texture, set UV scale to desired resolution, apply as overlay/detail ### What needs planning (later) - Who does the channel swizzle? (agent step? import script? offline tool?) - ProtoFlux → GDScript translation strategy (dataflow → imperative paradigm mismatch) - Resonite-specific components → Redot equivalents (per-case mapping table?) - Round-trip or one-way? (iterate in Resonite, re-export? or prototype once, then Redot-native?) ### Status Parked for later. Prototype in Resonite first, figure out the pipeline once there s something worth exporting.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
dead-air/game-planning#18
No description provided.