Black Trigram (흑괘) - Korean Martial Arts Combat Simulator API - v0.5.30
    Preparing search index...

    Variable TraumaOverlay3DConst

    TraumaOverlay3D: React.FC<TraumaOverlay3DProps> = ...

    TraumaOverlay3D Component

    Visualizes progressive combat trauma including bruising, cuts, and bone damage on 3D character models. Injuries persist across rounds and darken with repeated hits to the same body region.

    const [injuries, setInjuries] = useState<Injury[]>([]);

    // On hit event
    const handleHit = (region: BodyRegion, position: [number, number, number], type: InjuryType) => {
    const existingInjury = injuries.find(i =>
    i.region === region &&
    distance(i.position, position) < 0.2
    );

    if (existingInjury) {
    // Progressive bruising - increase hit count
    setInjuries(prev => prev.map(i =>
    i.id === existingInjury.id
    ? { ...i, hitCount: i.hitCount + 1, severity: Math.min(1.0, i.severity + 0.2) }
    : i
    ));
    } else {
    // New injury
    setInjuries([...injuries, {
    id: generateId(),
    region,
    type,
    position,
    severity: 0.5,
    hitCount: 1,
    timestamp: Date.now(),
    }]);
    }
    };

    <TraumaOverlay3D
    playerId={playerId}
    health={playerHealth}
    injuries={injuries}
    characterPosition={characterPosition}
    isMobile={isMobile}
    showFractures={true}
    />