optimizations
This commit is contained in:
155
config/collections.php
Normal file
155
config/collections.php
Normal file
@@ -0,0 +1,155 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'featured_limit' => 3,
|
||||
'invites' => [
|
||||
'expires_after_days' => (int) env('COLLECTIONS_INVITES_EXPIRE_AFTER_DAYS', 7),
|
||||
],
|
||||
'submissions' => [
|
||||
'max_per_hour' => (int) env('COLLECTIONS_SUBMISSIONS_MAX_PER_HOUR', 8),
|
||||
'duplicate_cooldown_minutes' => (int) env('COLLECTIONS_SUBMISSIONS_DUPLICATE_COOLDOWN_MINUTES', 15),
|
||||
],
|
||||
'editorial' => [
|
||||
'system_owner_username' => env('COLLECTIONS_EDITORIAL_SYSTEM_OWNER_USERNAME'),
|
||||
'system_owner_label' => env('COLLECTIONS_EDITORIAL_SYSTEM_OWNER_LABEL', 'Skinbase Editorial'),
|
||||
],
|
||||
'smart_rules' => [
|
||||
'max_rules' => 8,
|
||||
'preview_limit' => 12,
|
||||
'allowed_match' => ['all', 'any'],
|
||||
'allowed_sort' => ['newest', 'oldest', 'popular'],
|
||||
'allowed_fields' => ['tags', 'category', 'subcategory', 'medium', 'style', 'color', 'ai_tag', 'created_at', 'is_featured', 'is_mature'],
|
||||
'style_terms' => [
|
||||
'abstract',
|
||||
'anime',
|
||||
'cartoon',
|
||||
'cel shaded',
|
||||
'cinematic',
|
||||
'comic style',
|
||||
'concept art',
|
||||
'digital art',
|
||||
'digital painting',
|
||||
'fantasy art',
|
||||
'illustration',
|
||||
'low poly',
|
||||
'matte painting',
|
||||
'minimalist',
|
||||
'oil painting',
|
||||
'painterly',
|
||||
'photorealistic',
|
||||
'pixel art',
|
||||
'realism',
|
||||
'retro',
|
||||
'sci fi',
|
||||
'sketch',
|
||||
'surreal',
|
||||
'vector art',
|
||||
'watercolor',
|
||||
'3d render',
|
||||
],
|
||||
'color_terms' => [
|
||||
'black and white',
|
||||
'blue tones',
|
||||
'cool colors',
|
||||
'cyan tones',
|
||||
'earth tones',
|
||||
'gold tones',
|
||||
'green tones',
|
||||
'monochrome',
|
||||
'neon colors',
|
||||
'orange tones',
|
||||
'pastel colors',
|
||||
'pink tones',
|
||||
'purple tones',
|
||||
'red tones',
|
||||
'teal tones',
|
||||
'vibrant colors',
|
||||
'warm colors',
|
||||
'yellow tones',
|
||||
],
|
||||
],
|
||||
'discovery' => [
|
||||
'featured_limit' => 18,
|
||||
'featured_cache_seconds' => 120,
|
||||
],
|
||||
'recommendations' => [
|
||||
'related_limit' => 6,
|
||||
],
|
||||
'v5' => [
|
||||
'health' => [
|
||||
'stale_after_days' => (int) env('COLLECTIONS_V5_STALE_AFTER_DAYS', 90),
|
||||
'low_engagement_after_days' => (int) env('COLLECTIONS_V5_LOW_ENGAGEMENT_AFTER_DAYS', 14),
|
||||
],
|
||||
'queue' => [
|
||||
'name' => env('COLLECTIONS_V5_QUEUE', 'collections'),
|
||||
'health_batch_size' => (int) env('COLLECTIONS_V5_HEALTH_BATCH_SIZE', 40),
|
||||
'recommendation_batch_size' => (int) env('COLLECTIONS_V5_RECOMMENDATION_BATCH_SIZE', 40),
|
||||
'duplicate_batch_size' => (int) env('COLLECTIONS_V5_DUPLICATE_BATCH_SIZE', 30),
|
||||
'health_stale_after_hours' => (int) env('COLLECTIONS_V5_HEALTH_STALE_AFTER_HOURS', 24),
|
||||
'recommendation_stale_after_hours' => (int) env('COLLECTIONS_V5_RECOMMENDATION_STALE_AFTER_HOURS', 12),
|
||||
'duplicate_stale_after_hours' => (int) env('COLLECTIONS_V5_DUPLICATE_STALE_AFTER_HOURS', 24),
|
||||
],
|
||||
'search' => [
|
||||
'public_per_page' => (int) env('COLLECTIONS_V5_PUBLIC_SEARCH_PER_PAGE', 18),
|
||||
'owner_per_page' => (int) env('COLLECTIONS_V5_OWNER_SEARCH_PER_PAGE', 20),
|
||||
],
|
||||
],
|
||||
'ai' => [
|
||||
'enabled' => true,
|
||||
'max_candidate_artworks' => 36,
|
||||
],
|
||||
'layout_modules' => [
|
||||
'intro_block' => [
|
||||
'label' => 'Intro Block',
|
||||
'description' => 'Show the subtitle, curator summary, and smart context in the hero area.',
|
||||
'default_slot' => 'full',
|
||||
'slots' => ['full'],
|
||||
'locked' => false,
|
||||
],
|
||||
'featured_artworks' => [
|
||||
'label' => 'Featured Artworks Block',
|
||||
'description' => 'Spotlight a compact highlights strip ahead of the main artwork grid.',
|
||||
'default_slot' => 'main',
|
||||
'slots' => ['full', 'main'],
|
||||
],
|
||||
'artwork_grid' => [
|
||||
'label' => 'Artwork Grid',
|
||||
'description' => 'Primary artwork gallery for the collection.',
|
||||
'default_slot' => 'full',
|
||||
'slots' => ['full', 'main'],
|
||||
'locked' => true,
|
||||
],
|
||||
'editorial_note' => [
|
||||
'label' => 'Editorial Note',
|
||||
'description' => 'Premium context block for staff picks and campaign notes.',
|
||||
'default_slot' => 'full',
|
||||
'slots' => ['full', 'main', 'sidebar'],
|
||||
],
|
||||
'collaborators' => [
|
||||
'label' => 'Contributor Block',
|
||||
'description' => 'Show the curation team on the page.',
|
||||
'default_slot' => 'sidebar',
|
||||
'slots' => ['main', 'sidebar'],
|
||||
],
|
||||
'submissions' => [
|
||||
'label' => 'Submission CTA',
|
||||
'description' => 'Highlight community submission controls when enabled.',
|
||||
'default_slot' => 'sidebar',
|
||||
'slots' => ['main', 'sidebar'],
|
||||
],
|
||||
'discussion' => [
|
||||
'label' => 'Discussion Block',
|
||||
'description' => 'Render lightweight collection discussion.',
|
||||
'default_slot' => 'main',
|
||||
'slots' => ['main', 'sidebar'],
|
||||
],
|
||||
'related_collections' => [
|
||||
'label' => 'Related Collections',
|
||||
'description' => 'Surface collection recommendations.',
|
||||
'default_slot' => 'main',
|
||||
'slots' => ['main', 'sidebar'],
|
||||
],
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user