feat(p10-reframe-w2): CPU wax-blob lava physics + 2D collision; smin metaball render
This commit is contained in:
@@ -58,7 +58,10 @@ public partial class MixWaveformVisualizer : ComponentBase, IAsyncDisposable
|
||||
// datum-fetch / subscription / playback-coupling seams log to the browser console (prefixed
|
||||
// `[MixVisualizer]`, same as the JS logs so the two interleave into one timeline). These pinpoint
|
||||
// which upstream link is broken when the ribbon stays blank — set false once confirmed healthy.
|
||||
private static readonly bool Debug = false;
|
||||
// ON for the Phase 10 reframe Wave R2 lava test (matches the JS-side DEBUG in
|
||||
// MixVisualizer.ts). Daniel evaluates the physics in-browser; flip back to false at
|
||||
// reframe close along with the JS flag.
|
||||
private static readonly bool Debug = true;
|
||||
private const string Tag = "[MixVisualizer]";
|
||||
|
||||
private static void DebugLog(string message)
|
||||
@@ -188,7 +191,9 @@ public partial class MixWaveformVisualizer : ComponentBase, IAsyncDisposable
|
||||
}
|
||||
|
||||
// The controls row mutated a slider on the shared state and raised Changed. Push all four control
|
||||
// uniforms (cheap scalar interop; the inert three are no-ops in the parity shader until Wave 3).
|
||||
// values (cheap scalar interop). In the Phase 10 reframe Wave R2, three of them are re-routed to
|
||||
// the lava physics inside the JS handle (setBubblyness→gravity, setDetach→heat,
|
||||
// setColorShiftSpeed→collision) — see MixVisualizer.ts; the bridge contract is unchanged.
|
||||
private void OnControlStateChanged() => InvokeAsync(async () =>
|
||||
{
|
||||
await PushControlsAsync();
|
||||
@@ -198,8 +203,9 @@ public partial class MixWaveformVisualizer : ComponentBase, IAsyncDisposable
|
||||
|
||||
/// <summary>
|
||||
/// Push all four control values to the module from the shared state. Used to seed on first render
|
||||
/// and to re-push when the controls row signals a change. Resolution drives the live render; the
|
||||
/// other three are inert in the parity shader (Wave 3 consumes them).
|
||||
/// and to re-push when the controls row signals a change. Resolution drives the scroll/zoom; the
|
||||
/// other three are routed to the lava physics (gravity/heat/collision) by the JS handle in
|
||||
/// Wave R2 (see MixVisualizer.ts). The bridge contract is unchanged.
|
||||
/// </summary>
|
||||
private async Task PushControlsAsync()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user