feat(manifold): render ParticleStage when output Mode is Particle System
Particle System is the default output Mode. When active it renders the full-bleed ParticleStage (flow field driven by engine outputs each rAF) in place of the manifold stage, regardless of the in/split/out/composite focus, and suppresses the duplicate corner MEMLNaut label (the stage's top axis bar already shows it).
This commit is contained in:
parent
785935bf25
commit
711415e9ff
1 changed files with 23 additions and 13 deletions
|
|
@ -25,6 +25,7 @@ import { useEngine, useEngineVersion } from '../engine';
|
||||||
import { MF_MODES, modeEngineId, seededGradient, shapeValues } from './model';
|
import { MF_MODES, modeEngineId, seededGradient, shapeValues } from './model';
|
||||||
import type { MFParam } from './model';
|
import type { MFParam } from './model';
|
||||||
import { CompositeStage } from './CompositeStage';
|
import { CompositeStage } from './CompositeStage';
|
||||||
|
import { ParticleStage } from './ParticleStage';
|
||||||
import { SplitStage } from './SplitStage';
|
import { SplitStage } from './SplitStage';
|
||||||
import { OutputStage } from './OutputStage';
|
import { OutputStage } from './OutputStage';
|
||||||
import { InputMini } from './InputMini';
|
import { InputMini } from './InputMini';
|
||||||
|
|
@ -676,7 +677,14 @@ export function ConsoleApp({ focus: initialFocus = 'composite' }: ConsoleAppProp
|
||||||
bottom: 0,
|
bottom: 0,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{focus === 'composite' ? (
|
{outputMode === 'particles' ? (
|
||||||
|
<ParticleStage
|
||||||
|
pos={pos}
|
||||||
|
onMove={onMove}
|
||||||
|
axes={axes}
|
||||||
|
setAxis={(k, v) => setAxes((s) => ({ ...s, [k]: v }))}
|
||||||
|
/>
|
||||||
|
) : focus === 'composite' ? (
|
||||||
<CompositeStage
|
<CompositeStage
|
||||||
split={split}
|
split={split}
|
||||||
onSplit={setSplit}
|
onSplit={setSplit}
|
||||||
|
|
@ -735,18 +743,20 @@ export function ConsoleApp({ focus: initialFocus = 'composite' }: ConsoleAppProp
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* corner overlay */}
|
{/* corner overlay — hidden in Particle mode (top axis bar owns that row) */}
|
||||||
<div
|
{outputMode !== 'particles' && (
|
||||||
style={{
|
<div
|
||||||
position: 'absolute',
|
style={{
|
||||||
top: 12,
|
position: 'absolute',
|
||||||
left: 14,
|
top: 12,
|
||||||
zIndex: 20,
|
left: 14,
|
||||||
pointerEvents: 'none',
|
zIndex: 20,
|
||||||
}}
|
pointerEvents: 'none',
|
||||||
>
|
}}
|
||||||
<strong style={{ color: 'var(--accent)', fontSize: 'var(--fs-md)' }}>MEMLNaut</strong>
|
>
|
||||||
</div>
|
<strong style={{ color: 'var(--accent)', fontSize: 'var(--fs-md)' }}>MEMLNaut</strong>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
<VerdictCluster
|
<VerdictCluster
|
||||||
onPerturb={perturb}
|
onPerturb={perturb}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue