# configuration/constants/card.constants.ts

> 70 lines of code and 63 definitions.

Tree: Bane's Lab Social Share
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/social-share#file-social-share-configuration-constants-card-constants-ts
Source text: https://banes-lab.com/source/social-share/configuration/constants/card.constants.ts.txt

Listed in [configuration/constants](https://banes-lab.com/api/source/social-share/configuration/constants.md).

## Definitions

- `MIN_FRAMES` (lexical_declaration, line 1, exported)
- `MAX_FRAMES` (lexical_declaration, line 3, exported)
- `MIN_FPS` (lexical_declaration, line 5, exported)
- `MAX_FPS` (lexical_declaration, line 7, exported)
- `UNIFORM_SLOTS` (lexical_declaration, line 9, exported)
- `MILLISECONDS` (lexical_declaration, line 11, exported)
- `SHADER_ENTRY` (lexical_declaration, line 13, exported)
- `SHADER_TIME_FIELD` (lexical_declaration, line 15, exported)
- `SEAM_TOLERANCE` (lexical_declaration, line 17, exported)
- `SEAM_VELOCITY_RATIO` (lexical_declaration, line 19, exported)
- `WIDE_RATIO` (lexical_declaration, line 21, exported)
- `DEFAULT_ALIGN` (lexical_declaration, line 23, exported)
- `MONO_ADVANCE` (lexical_declaration, line 25, exported)
- `ADDRESS_ADVANCE` (lexical_declaration, line 27, exported)
- `CARD_CLASS_PREFIX` (lexical_declaration, line 29, exported)
- `CARD_CLASS` (lexical_declaration, line 31, exported)
- `LAYER_CLASS` (lexical_declaration, line 33, exported)
- `STAGE_ID` (lexical_declaration, line 35, exported)
- `GRID_CLASS` (lexical_declaration, line 37, exported)
- `TILE_CLASS` (lexical_declaration, line 39, exported)
- `CAPTION_CLASS` (lexical_declaration, line 41, exported)
- `FINDINGS_CLASS` (lexical_declaration, line 43, exported)
- `FRAME_CLASS` (lexical_declaration, line 45, exported)
- `HEADER_CLASS` (lexical_declaration, line 47, exported)
- `KICKER_CLASS` (lexical_declaration, line 49, exported)
- `HEADING_CLASS` (lexical_declaration, line 51, exported)
- `SPREAD_CLASS` (lexical_declaration, line 53, exported)
- `SPREAD_TITLE_CLASS` (lexical_declaration, line 55, exported)
- `SPREAD_META_CLASS` (lexical_declaration, line 57, exported)
- `SPREAD_ROW_CLASS` (lexical_declaration, line 59, exported)
- `RENDER_HOOK` (lexical_declaration, line 61, exported)
- `READY_FLAG` (lexical_declaration, line 63, exported)
- `ERROR_FLAG` (lexical_declaration, line 65, exported)
- `STEP_FLAG` (lexical_declaration, line 67, exported)
- `STAGE_STEPS` (lexical_declaration, line 69, exported)
- `CARD_PARAMETER` (lexical_declaration, line 71, exported)
- `PROFILE_PARAMETER` (lexical_declaration, line 73, exported)
- `FILE_SEPARATOR` (lexical_declaration, line 75, exported)
- `WIDTH_MARK` (lexical_declaration, line 77, exported)
- `HEIGHT_MARK` (lexical_declaration, line 79, exported)
- `GENERATED_MARK` (lexical_declaration, line 81, exported)
- `STILL_EXTENSION` (lexical_declaration, line 83, exported)
- `ANIMATION_EXTENSION` (lexical_declaration, line 85, exported)
- `MOTION_EXTENSION` (lexical_declaration, line 87, exported)
- `VIDEO_EXTENSION` (lexical_declaration, line 89, exported)
- `HASH_ALGORITHM` (lexical_declaration, line 91, exported)
- `FFMPEG_BINARY` (lexical_declaration, line 93, exported)
- `FRAME_PREFIX` (lexical_declaration, line 95, exported)
- `FRAME_DIGITS` (lexical_declaration, line 97, exported)
- `FRAME_EXTENSION` (lexical_declaration, line 99, exported)
- `VIDEO_FILE` (lexical_declaration, line 101, exported)
- `WORK_FOLDER` (lexical_declaration, line 103, exported)
- `LOCK_FILE` (lexical_declaration, line 105, exported)
- `CARD_OPTION` (lexical_declaration, line 107, exported)
- `GPU_OPTION` (lexical_declaration, line 109, exported)
- `FORCE_OPTION` (lexical_declaration, line 111, exported)
- `STAGE_SHEETS` (lexical_declaration, line 113, exported)
- `SOCIAL_COMMAND` (lexical_declaration, line 122, exported)
- `STAGE_MODE` (lexical_declaration, line 124, exported)
- `VALIDATION_COMMAND` (lexical_declaration, line 126, exported)
- `FINDING_INDENT` (lexical_declaration, line 128, exported)
- `PLUGIN_FOLDER` (lexical_declaration, line 130, exported)
- `PLUGIN_SUFFIX` (lexical_declaration, line 132, exported)

## Contained in

- [configuration/constants](https://banes-lab.com/anatomy/social-share/folder-social-share-configuration-constants.md)

## Source

```typescript
export const MIN_FRAMES = 1;

export const MAX_FRAMES = 240;

export const MIN_FPS = 1;

export const MAX_FPS = 50;

export const UNIFORM_SLOTS = 16;

export const MILLISECONDS = 1000;

export const SHADER_ENTRY = "fn shade(";

export const SHADER_TIME_FIELD = ".time";

export const SEAM_TOLERANCE = 1e-6;

export const SEAM_VELOCITY_RATIO = 0.5;

export const WIDE_RATIO = 1.2;

export const DEFAULT_ALIGN = "left";

export const MONO_ADVANCE = 0.6;

export const ADDRESS_ADVANCE = 0.65;

export const CARD_CLASS_PREFIX = "card-";

export const CARD_CLASS = "stage-card";

export const LAYER_CLASS = "card-layer";

export const STAGE_ID = "stage";

export const GRID_CLASS = "stage-grid";

export const TILE_CLASS = "stage-tile";

export const CAPTION_CLASS = "stage-caption";

export const FINDINGS_CLASS = "stage-findings";

export const FRAME_CLASS = "stage-frame";

export const HEADER_CLASS = "stage-header";

export const KICKER_CLASS = "stage-kicker";

export const HEADING_CLASS = "stage-heading";

export const SPREAD_CLASS = "stage-spread";

export const SPREAD_TITLE_CLASS = "stage-spread-title";

export const SPREAD_META_CLASS = "stage-spread-meta";

export const SPREAD_ROW_CLASS = "stage-spread-row";

export const RENDER_HOOK = "renderFrame";

export const READY_FLAG = "stageReady";

export const ERROR_FLAG = "stageError";

export const STEP_FLAG = "stageStep";

export const STAGE_STEPS = { fonts: "fonts", mounting: "mounting", painting: "painting" } as const;

export const CARD_PARAMETER = "card";

export const PROFILE_PARAMETER = "profile";

export const FILE_SEPARATOR = ".";

export const WIDTH_MARK = "-w";

export const HEIGHT_MARK = "-h";

export const GENERATED_MARK = ".generated";

export const STILL_EXTENSION = ".png";

export const ANIMATION_EXTENSION = ".gif";

export const MOTION_EXTENSION = ".webp";

export const VIDEO_EXTENSION = ".mp4";

export const HASH_ALGORITHM = "sha256";

export const FFMPEG_BINARY = "ffmpeg";

export const FRAME_PREFIX = "frame-";

export const FRAME_DIGITS = 4;

export const FRAME_EXTENSION = ".png";

export const VIDEO_FILE = "loop.mp4";

export const WORK_FOLDER = ".social-frames";

export const LOCK_FILE = ".social-capture.lock";

export const CARD_OPTION = "--card";

export const GPU_OPTION = "--gpu";

export const FORCE_OPTION = "--force";

export const STAGE_SHEETS: readonly string[] = [
    "@banes-lab/web/presentation/tokens/base.tokens.css",
    "@banes-lab/web/presentation/tokens/asset.tokens.css",
    "@banes-lab/web/presentation/tokens/page.tokens.css",
    "@banes-lab/web/presentation/generated/icon.tokens.generated.css",
    "@banes-lab/web/presentation/styles/element.style.css",
    "@banes-lab/social-share/core/styles/stage.style.css",
];

export const SOCIAL_COMMAND = "npm run social --";

export const STAGE_MODE = "stage";

export const VALIDATION_COMMAND = "social card validation";

export const FINDING_INDENT = "  ";

export const PLUGIN_FOLDER = "plugins";

export const PLUGIN_SUFFIX = ".plugin.ts";
```
