@promptbook/core
Version:
Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action
80 lines (79 loc) • 3 kB
TypeScript
import type { AvatarVisualDefinition } from '../types/AvatarVisualDefinition';
/**
* Deterministic morphology knobs that keep `Octopus3` recognizable while widening seeded body, face, and tentacle variety.
*
* @private helper of `octopus3AvatarVisual`
*/
export type Octopus3MorphologyProfile = {
readonly bodyFamily: 'lantern' | 'drifter' | 'rounded';
readonly faceFamily: 'watchful' | 'sleepy' | 'mischief';
readonly body: {
readonly centerXJitterRatio: number;
readonly centerYRatio: number;
readonly bodyRadiusRatio: number;
readonly horizontalStretch: number;
readonly verticalStretch: number;
readonly mantleLiftRatio: number;
readonly lowerDropRatio: number;
readonly tentacleDepthRatio: number;
readonly wobbleAmplitudeRatio: number;
readonly lobeCount: number;
readonly pointCount: number;
readonly shadowWidthRatio: number;
readonly shadowHeightRatio: number;
readonly crownHighlightWidthRatio: number;
readonly crownHighlightHeightRatio: number;
readonly crownHighlightYOffsetRatio: number;
};
readonly tentacles: {
readonly count: number;
readonly flowLengthScale: number;
readonly lateralReachScale: number;
readonly tipReachScale: number;
readonly baseWidthScale: number;
readonly tipWidthScale: number;
readonly rootSpreadScale: number;
readonly startYOffsetScale: number;
readonly swayScale: number;
};
readonly face: {
readonly eyeSpacingRatio: number;
readonly eyeCenterYOffsetRatio: number;
readonly eyeRadiusXRatio: number;
readonly eyeHeightRatio: number;
readonly eyeRotationRange: number;
readonly eyeTiltBias: number;
readonly mouthWidthRatio: number;
readonly mouthYOffsetRatio: number;
readonly mouthCurveDepthRatio: number;
readonly mouthCenterOffsetRatio: number;
readonly mouthCornerTiltRatio: number;
readonly eyeStyle: {
readonly irisScale: number;
readonly pupilWidthScale: number;
readonly pupilHeightScale: number;
readonly upperLidArchRatio: number;
readonly upperLidInsetRatio: number;
readonly lowerLidOpacity: number;
};
};
readonly details: {
readonly mantleCurrentCount: number;
readonly mantleNodeCount: number;
};
};
/**
* Builds one deterministic morphology profile for `Octopus3`.
*
* @param createRandom Seeded random factory scoped to the current avatar.
* @returns Stable morphology profile.
*
* @private helper of `octopus3AvatarVisual`
*/
export declare function createOctopus3MorphologyProfile(createRandom: (salt: string) => () => number): Octopus3MorphologyProfile;
/**
* Octopus3 avatar visual.
*
* @private built-in avatar visual
*/
export declare const octopus3AvatarVisual: AvatarVisualDefinition;