import type { SimplexConstitutiveEvaluationN } from './simplex-constitutive.js'; import { SimplexConstitutiveDomainErrorN } from './simplex-constitutive.js'; import { SimplexConstitutiveFamilyN, type SimplexConstitutiveFamilyEvaluationN } from './simplex-constitutive-family.js'; import { XpbdParticleN, XpbdWorldN, type XpbdStateGuardContextN, type XpbdStateGuardEvaluationN, type XpbdStateGuardN } from './xpbd-world.js'; export interface CompileSimplexConstitutiveFamilyStateGuardNOptions> { readonly id: string; readonly family: SimplexConstitutiveFamilyN; /** Smallest accepted current/rest intrinsic measure ratio; must be positive. */ readonly minimumMeasureRatio: number; } export type SimplexConstitutiveFamilyStateGuardStatusN = 'accepted' | 'orientation-change' | 'below-minimum-measure' | 'law-domain'; export interface SimplexConstitutiveFamilyStateGuardEvaluationN> extends XpbdStateGuardEvaluationN { readonly status: SimplexConstitutiveFamilyStateGuardStatusN; readonly lawId: string; readonly requiredMinimumMeasureRatio: number; readonly minimumMeasureRatio: number | null; readonly potentialEnergy: number | null; readonly invertedElementCount: number | null; readonly collapsedElementCount: number | null; readonly familyEvaluation: SimplexConstitutiveFamilyEvaluationN | null; readonly domainReason: SimplexConstitutiveDomainErrorN['reason'] | null; } /** Explicit post-substep domain policy for one compiled constitutive family. */ export declare class SimplexConstitutiveFamilyStateGuardN> implements XpbdStateGuardN { readonly id: string; readonly dimension: number; readonly particles: readonly XpbdParticleN[]; readonly family: SimplexConstitutiveFamilyN; readonly minimumMeasureRatio: number; private attachedWorld; private constructor(); static compile>(options: CompileSimplexConstitutiveFamilyStateGuardNOptions): SimplexConstitutiveFamilyStateGuardN; evaluate(_context: XpbdStateGuardContextN): SimplexConstitutiveFamilyStateGuardEvaluationN; /** Registers this read-only policy; family particles must already belong to the world. */ addToWorld(world: XpbdWorldN): XpbdWorldN; } export declare function compileSimplexConstitutiveFamilyStateGuardN>(options: CompileSimplexConstitutiveFamilyStateGuardNOptions): SimplexConstitutiveFamilyStateGuardN; //# sourceMappingURL=simplex-constitutive-state-guard.d.ts.map