@jjlmoya/utils-creative 1.20.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/package.json +1 -1
  2. package/src/data.ts +2 -1
  3. package/src/entries.ts +3 -1
  4. package/src/index.ts +3 -0
  5. package/src/tests/locale_completeness.test.ts +2 -14
  6. package/src/tests/tool_validation.test.ts +2 -2
  7. package/src/tool/bead-pattern-generator/bibliography.astro +2 -12
  8. package/src/tool/bead-pattern-generator/bibliography.ts +5 -0
  9. package/src/tool/bead-pattern-generator/entry.ts +0 -1
  10. package/src/tool/bead-pattern-generator/i18n/de.ts +2 -6
  11. package/src/tool/bead-pattern-generator/i18n/en.ts +2 -6
  12. package/src/tool/bead-pattern-generator/i18n/es.ts +2 -6
  13. package/src/tool/bead-pattern-generator/i18n/fr.ts +2 -6
  14. package/src/tool/bead-pattern-generator/i18n/id.ts +2 -6
  15. package/src/tool/bead-pattern-generator/i18n/it.ts +2 -6
  16. package/src/tool/bead-pattern-generator/i18n/ja.ts +2 -6
  17. package/src/tool/bead-pattern-generator/i18n/ko.ts +2 -6
  18. package/src/tool/bead-pattern-generator/i18n/nl.ts +2 -6
  19. package/src/tool/bead-pattern-generator/i18n/pl.ts +2 -6
  20. package/src/tool/bead-pattern-generator/i18n/pt.ts +2 -6
  21. package/src/tool/bead-pattern-generator/i18n/ru.ts +2 -6
  22. package/src/tool/bead-pattern-generator/i18n/sv.ts +2 -6
  23. package/src/tool/bead-pattern-generator/i18n/tr.ts +2 -6
  24. package/src/tool/bead-pattern-generator/i18n/zh.ts +2 -6
  25. package/src/tool/dice-roller/bibliography.astro +3 -12
  26. package/src/tool/dice-roller/bibliography.ts +5 -0
  27. package/src/tool/dice-roller/entry.ts +0 -1
  28. package/src/tool/dice-roller/i18n/de.ts +2 -6
  29. package/src/tool/dice-roller/i18n/en.ts +2 -6
  30. package/src/tool/dice-roller/i18n/es.ts +2 -6
  31. package/src/tool/dice-roller/i18n/fr.ts +2 -6
  32. package/src/tool/dice-roller/i18n/id.ts +2 -6
  33. package/src/tool/dice-roller/i18n/it.ts +2 -6
  34. package/src/tool/dice-roller/i18n/ja.ts +2 -6
  35. package/src/tool/dice-roller/i18n/ko.ts +2 -6
  36. package/src/tool/dice-roller/i18n/nl.ts +2 -6
  37. package/src/tool/dice-roller/i18n/pl.ts +2 -6
  38. package/src/tool/dice-roller/i18n/pt.ts +2 -6
  39. package/src/tool/dice-roller/i18n/ru.ts +2 -6
  40. package/src/tool/dice-roller/i18n/sv.ts +2 -6
  41. package/src/tool/dice-roller/i18n/tr.ts +2 -6
  42. package/src/tool/dice-roller/i18n/zh.ts +2 -6
  43. package/src/tool/excuse-generator/bibliography.astro +2 -12
  44. package/src/tool/excuse-generator/bibliography.ts +3 -0
  45. package/src/tool/excuse-generator/entry.ts +0 -1
  46. package/src/tool/excuse-generator/i18n/de.ts +2 -4
  47. package/src/tool/excuse-generator/i18n/en.ts +2 -4
  48. package/src/tool/excuse-generator/i18n/es.ts +2 -4
  49. package/src/tool/excuse-generator/i18n/fr.ts +2 -4
  50. package/src/tool/excuse-generator/i18n/id.ts +2 -4
  51. package/src/tool/excuse-generator/i18n/it.ts +2 -4
  52. package/src/tool/excuse-generator/i18n/ja.ts +2 -4
  53. package/src/tool/excuse-generator/i18n/ko.ts +2 -4
  54. package/src/tool/excuse-generator/i18n/nl.ts +2 -4
  55. package/src/tool/excuse-generator/i18n/pl.ts +2 -4
  56. package/src/tool/excuse-generator/i18n/pt.ts +2 -4
  57. package/src/tool/excuse-generator/i18n/ru.ts +2 -4
  58. package/src/tool/excuse-generator/i18n/sv.ts +2 -4
  59. package/src/tool/excuse-generator/i18n/tr.ts +2 -4
  60. package/src/tool/excuse-generator/i18n/zh.ts +2 -4
  61. package/src/tool/fortune-cookie/bibliography.astro +2 -12
  62. package/src/tool/fortune-cookie/bibliography.ts +3 -0
  63. package/src/tool/fortune-cookie/entry.ts +0 -1
  64. package/src/tool/fortune-cookie/i18n/de.ts +2 -5
  65. package/src/tool/fortune-cookie/i18n/en.ts +2 -5
  66. package/src/tool/fortune-cookie/i18n/es.ts +2 -4
  67. package/src/tool/fortune-cookie/i18n/fr.ts +2 -5
  68. package/src/tool/fortune-cookie/i18n/id.ts +2 -5
  69. package/src/tool/fortune-cookie/i18n/it.ts +2 -5
  70. package/src/tool/fortune-cookie/i18n/ja.ts +2 -5
  71. package/src/tool/fortune-cookie/i18n/ko.ts +2 -5
  72. package/src/tool/fortune-cookie/i18n/nl.ts +2 -5
  73. package/src/tool/fortune-cookie/i18n/pl.ts +2 -5
  74. package/src/tool/fortune-cookie/i18n/pt.ts +2 -5
  75. package/src/tool/fortune-cookie/i18n/ru.ts +2 -5
  76. package/src/tool/fortune-cookie/i18n/sv.ts +2 -5
  77. package/src/tool/fortune-cookie/i18n/tr.ts +2 -5
  78. package/src/tool/fortune-cookie/i18n/zh.ts +2 -5
  79. package/src/tool/glitch-image-distorter/bibliography.astro +8 -0
  80. package/src/tool/glitch-image-distorter/bibliography.ts +4 -0
  81. package/src/tool/glitch-image-distorter/component.astro +393 -0
  82. package/src/tool/glitch-image-distorter/entry.ts +48 -0
  83. package/src/tool/glitch-image-distorter/glitch-image-distorter.css +233 -0
  84. package/src/tool/glitch-image-distorter/i18n/de.ts +131 -0
  85. package/src/tool/glitch-image-distorter/i18n/en.ts +131 -0
  86. package/src/tool/glitch-image-distorter/i18n/es.ts +131 -0
  87. package/src/tool/glitch-image-distorter/i18n/fr.ts +131 -0
  88. package/src/tool/glitch-image-distorter/i18n/id.ts +131 -0
  89. package/src/tool/glitch-image-distorter/i18n/it.ts +131 -0
  90. package/src/tool/glitch-image-distorter/i18n/ja.ts +131 -0
  91. package/src/tool/glitch-image-distorter/i18n/ko.ts +131 -0
  92. package/src/tool/glitch-image-distorter/i18n/nl.ts +131 -0
  93. package/src/tool/glitch-image-distorter/i18n/pl.ts +131 -0
  94. package/src/tool/glitch-image-distorter/i18n/pt.ts +131 -0
  95. package/src/tool/glitch-image-distorter/i18n/ru.ts +131 -0
  96. package/src/tool/glitch-image-distorter/i18n/sv.ts +131 -0
  97. package/src/tool/glitch-image-distorter/i18n/tr.ts +131 -0
  98. package/src/tool/glitch-image-distorter/i18n/zh.ts +131 -0
  99. package/src/tool/glitch-image-distorter/index.ts +9 -0
  100. package/src/tool/glitch-image-distorter/seo.astro +15 -0
  101. package/src/tool/synesthesia-painter/bibliography.astro +3 -12
  102. package/src/tool/synesthesia-painter/bibliography.ts +5 -0
  103. package/src/tool/synesthesia-painter/entry.ts +0 -1
  104. package/src/tool/synesthesia-painter/i18n/de.ts +2 -6
  105. package/src/tool/synesthesia-painter/i18n/en.ts +2 -6
  106. package/src/tool/synesthesia-painter/i18n/es.ts +2 -6
  107. package/src/tool/synesthesia-painter/i18n/fr.ts +2 -6
  108. package/src/tool/synesthesia-painter/i18n/id.ts +2 -6
  109. package/src/tool/synesthesia-painter/i18n/it.ts +2 -6
  110. package/src/tool/synesthesia-painter/i18n/ja.ts +2 -6
  111. package/src/tool/synesthesia-painter/i18n/ko.ts +2 -6
  112. package/src/tool/synesthesia-painter/i18n/nl.ts +2 -6
  113. package/src/tool/synesthesia-painter/i18n/pl.ts +2 -6
  114. package/src/tool/synesthesia-painter/i18n/pt.ts +2 -6
  115. package/src/tool/synesthesia-painter/i18n/ru.ts +2 -6
  116. package/src/tool/synesthesia-painter/i18n/sv.ts +2 -6
  117. package/src/tool/synesthesia-painter/i18n/tr.ts +2 -6
  118. package/src/tool/synesthesia-painter/i18n/zh.ts +2 -6
  119. package/src/tool/zalgo-generator/bibliography.astro +2 -12
  120. package/src/tool/zalgo-generator/bibliography.ts +5 -0
  121. package/src/tool/zalgo-generator/entry.ts +0 -1
  122. package/src/tool/zalgo-generator/i18n/de.ts +2 -6
  123. package/src/tool/zalgo-generator/i18n/en.ts +2 -6
  124. package/src/tool/zalgo-generator/i18n/es.ts +2 -6
  125. package/src/tool/zalgo-generator/i18n/fr.ts +2 -6
  126. package/src/tool/zalgo-generator/i18n/id.ts +2 -6
  127. package/src/tool/zalgo-generator/i18n/it.ts +2 -6
  128. package/src/tool/zalgo-generator/i18n/ja.ts +2 -6
  129. package/src/tool/zalgo-generator/i18n/ko.ts +2 -6
  130. package/src/tool/zalgo-generator/i18n/nl.ts +2 -6
  131. package/src/tool/zalgo-generator/i18n/pl.ts +2 -6
  132. package/src/tool/zalgo-generator/i18n/pt.ts +2 -6
  133. package/src/tool/zalgo-generator/i18n/ru.ts +2 -6
  134. package/src/tool/zalgo-generator/i18n/sv.ts +2 -6
  135. package/src/tool/zalgo-generator/i18n/tr.ts +2 -6
  136. package/src/tool/zalgo-generator/i18n/zh.ts +2 -6
  137. package/src/tools.ts +2 -0
@@ -0,0 +1,131 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { GlitchImageDistorterLocaleContent } from '../index';
4
+
5
+ const slug = 'glitch-image-distorter';
6
+ const title = '글리치 아트 생성기';
7
+ const description = 'RGB 분리, 스캔라인, 픽셀 정렬 및 애니메이션 왜곡을 사용하여 이미지를 매혹적인 글리치 아트로 변환하세요. 포토샵 없이도 가능합니다.';
8
+
9
+ const faq: GlitchImageDistorterLocaleContent['faq'] = [
10
+ {
11
+ question: '글리치 아트란 무엇인가요?',
12
+ answer: '글리치 아트는 디지털 이미지나 데이터를 의도적으로 조작하여 시각적 오류를 만들어내는 디지털 아트의 한 형태입니다. 이러한 "글리치(오류)"는 파편화된 색상, 왜곡된 형태, 예측 불가능한 패턴을 만들어내며 디지털 파괴와 혼돈의 미학을 형성합니다.',
13
+ },
14
+ {
15
+ question: '내 이미지를 사용할 수 있나요?',
16
+ answer: '네! PNG, JPG, WebP 형식의 이미지를 업로드하거나 캔버스에 드래그 앤 드롭할 수 있으며, Ctrl+V를 눌러 클립보드에서 직접 붙여넣을 수도 있습니다. 샘플 이미지를 사용하여 도구를 테스트해 볼 수도 있습니다.',
17
+ },
18
+ {
19
+ question: '각 왜곡 효과는 어떤 역할을 하나요?',
20
+ answer: 'Corruption은 RGB 채널을 분리하여 색수차 효과를 줍니다. Interference는 오래된 모니터와 같은 스캔라인과 미세한 떨림을 추가합니다. Pixel Sorting은 밝은 픽셀을 선택한 방향으로 "흐르게" 만듭니다. Static Noise는 고전적인 TV 노이즈를 겹칩니다.',
21
+ },
22
+ {
23
+ question: '글리치 효과를 움직이게 할 수 있나요?',
24
+ answer: '물론입니다! "글리치 애니메이션" 모드를 켜면 매개변수에 미세한 무작위 움직임이 적용되어 끊임없이 변화하는 생동감 있는 효과가 생성됩니다. 이를 애니메이션 GIF나 WebP로 내보낼 수 있습니다.',
25
+ },
26
+ {
27
+ question: '어떤 형식으로 저장할 수 있나요?',
28
+ answer: '정적 이미지는 고화질 PNG로 다운로드할 수 있으며, 애니메이션 모드가 켜진 경우 애니메이션 GIF 또는 WebP로 내보낼 수 있습니다. 인스타그램, 디스코드 등 소셜 미디어 공유에 최적화되어 있습니다.',
29
+ },
30
+ {
31
+ question: '카오스 버튼은 무엇을 하나요?',
32
+ answer: '"카오스 랜덤" 버튼을 누르면 모든 슬라이더 값이 즉시 무작위로 설정되어 예상치 못한 놀라운 글리치 조합이 생성됩니다. 수동 조절 없이 도구의 창의적 가능성을 탐색하기에 완벽합니다.',
33
+ },
34
+ ];
35
+
36
+ const howTo: GlitchImageDistorterLocaleContent['howTo'] = [
37
+ { name: '이미지 불러오기', text: '이미지를 캔버스에 드래그 앤 드롭하거나 Ctrl+V로 붙여넣으세요. 파일 버튼으로 업로드하거나 "샘플 이미지 사용"을 클릭하여 시작할 수도 있습니다.' },
38
+ { name: '슬라이더 조정하기', text: 'Corruption, Interference, Pixel Sort, Noise 슬라이더를 사용하여 다양한 글리치 효과를 적용하세요. 미리보기가 실시간으로 업데이트됩니다.' },
39
+ { name: '애니메이션 활성화', text: '"글리치 애니메이션" 버튼을 켜서 진동과 깜빡임을 추가하세요. 이미지가 역동적인 글리치 효과와 함께 살아 움직입니다.' },
40
+ { name: '작품 내보내기', text: '정적 작품은 PNG로, 애니메이션은 GIF/WebP로 다운로드하세요. 완성된 글리치 아트를 SNS에 공유해 보세요!' },
41
+ { name: '카오스로 실험하기', text: '"카오스 랜덤" 버튼을 클릭하여 놀라운 효과 조합을 자동으로 발견해 보세요.' },
42
+ ];
43
+
44
+ const faqSchema: WithContext<FAQPage> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+
54
+ const howToSchema: WithContext<HowTo> = {
55
+ '@context': 'https://schema.org',
56
+ '@type': 'HowTo',
57
+ name: title,
58
+ description,
59
+ step: howTo.map((step) => ({
60
+ '@type': 'HowToStep',
61
+ name: step.name,
62
+ text: step.text,
63
+ })),
64
+ };
65
+
66
+ const appSchema: WithContext<SoftwareApplication> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilitiesApplication',
72
+ operatingSystem: 'Web',
73
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
74
+ inLanguage: 'ko',
75
+ };
76
+
77
+ export const content: GlitchImageDistorterLocaleContent = {
78
+ slug,
79
+ title,
80
+ description,
81
+ faqTitle: '자주 묻는 질문',
82
+ ui: {
83
+ title: '글리치 디스토터',
84
+ description: '몇 초 만에 글리치 아트를 만드세요.',
85
+ dragDropText: '이미지를 여기로 드래그하거나 클릭하여 업로드',
86
+ pasteHint: '팁: Ctrl+V를 눌러 이미지를 붙여넣을 수도 있습니다',
87
+ exampleImageBtn: '샘플 이미지 사용',
88
+ corruptionLabel: '손상 (RGB 분리)',
89
+ interferenceLabel: '간섭 (스캔라인)',
90
+ tremorLabel: '떨림',
91
+ pixelSortLabel: '픽셀 정렬',
92
+ pixelSortDirectionLabel: '방향',
93
+ noiseLabel: '정적 노이즈',
94
+ animateBtn: '글리치 애니메이션',
95
+ chaosBtn: '카오스 랜덤',
96
+ downloadPngBtn: 'PNG 다운로드',
97
+ downloadGifBtn: 'GIF 다운로드',
98
+ undoBtn: '실행 취소',
99
+ redoBtn: '다시 실행',
100
+ footerText: '30초 만에 손상된 디지털 아트를 만드세요',
101
+ faqTitle: 'FAQ',
102
+ bibliographyTitle: '참고 문헌'
103
+ },
104
+ seo: [
105
+ { type: 'title', text: '글리치 아트란 무엇인가요?', level: 2 },
106
+ { type: 'paragraph', html: '<strong>글리치 아트</strong>는 디지털 오류, 손상된 데이터, 시각적 아티팩트를 의도적으로 활용하여 미적 결과를 만들어내는 창작 활동입니다. 완벽함을 추구하는 전통적인 예술과 달리, 글리치는 기술적 고장에서 비롯된 예상치 못한 아름다움, 즉 오류에서 태어난 파편화된 색상과 혼돈의 패턴을 긍정합니다.' },
107
+ { type: 'title', text: '기원과 디지털 미학', level: 3 },
108
+ { type: 'paragraph', html: '글리치 미학은 2000년대 초반 디지털 아티스트들이 손상된 이미지 파일과 하드웨어 오작동을 실험하면서 등장했습니다. <strong>로자 멘크만(Rosa Menkman)</strong>과 같은 아티스트들은 디지털 아티팩트의 시학을 연구함으로써 글리치 아트를 순수 예술의 반열에 올렸습니다. 이 미학은 VHS의 화질 저하, 전송 오류, 디지털 시스템의 가시화된 "노이즈"에서 영감을 얻습니다.' },
109
+ { type: 'title', text: '주요 글리치 기법', level: 3 },
110
+ { type: 'list', items: [
111
+ '<strong>RGB 분리:</strong> 빨강, 초록, 파랑 색상 채널을 어긋나게 하여 색수차를 만드는 기법.',
112
+ '<strong>스캔라인:</strong> 오래된 CRT 모니터의 수평선을 시뮬레이션하여 레트로한 느낌을 더하는 기법.',
113
+ '<strong>픽셀 정렬(Pixel Sorting):</strong> 픽셀을 밝기 등에 따라 정렬하고 이동시켜 "녹아내리는" 듯한 효과를 만드는 기법.',
114
+ '<strong>데이터 모싱(Data Moshing):</strong> 비디오 코덱 데이터를 조작하여 프레임을 예기치 않은 방식으로 섞는 기법.',
115
+ '<strong>비트 시프팅(Bit Shifting):</strong> 이진 데이터를 직접 수정하여 극적인 색상 및 형태 왜곡을 일으키는 기법.',
116
+ ]},
117
+ { type: 'tip', title: '글리치 뒤에 숨겨진 철학', html: '글리치 아트는 "완벽한" 디지털 재현이라는 관념에 도전합니다. 오류를 수용함으로써 우리는 기술의 신뢰성에 의문을 던지고 기술이 우리의 현실 인식을 어떻게 매개하는지 탐구합니다. 이는 시스템의 실패, 그리고 혼돈 속에 숨겨진 아름다움에 대한 예술입니다.' },
118
+ { type: 'title', text: '현대적 응용', level: 3 },
119
+ { type: 'paragraph', html: '오늘날 글리치 미학은 앨범 커버, 뮤직 비디오, 패션, 그래픽 디자인 등 어디에서나 볼 수 있습니다. 이 도구는 글리치 아트 제작을 대중화하여 깊은 기술적 지식 없이도 누구나 전문가 수준의 디지털 파괴 작품을 만들 수 있게 해줍니다.' },
120
+ { type: 'stats', items: [
121
+ { value: '2000년대', label: '글리치 아트의 등장', icon: 'mdi:history' },
122
+ { value: '∞', label: '무한한 글리치 조합', icon: 'mdi:shuffle-variant' },
123
+ { value: '<30초', label: '제작 시간', icon: 'mdi:flash' },
124
+ { value: '3+', label: '내보내기 형식', icon: 'mdi:download-multiple' },
125
+ ], columns: 4 },
126
+ ],
127
+ faq,
128
+ bibliography,
129
+ howTo,
130
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
131
+ };
@@ -0,0 +1,131 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { GlitchImageDistorterLocaleContent } from '../index';
4
+
5
+ const slug = 'glitch-afbeelding-distorter';
6
+ const title = 'Glitch Afbeelding Distorter';
7
+ const description = 'Transformeer afbeeldingen in glitch-art met RGB-splits, scanlines, pixel sorting en geanimeerde vervormingen. Geen Photoshop nodig.';
8
+
9
+ const faq: GlitchImageDistorterLocaleContent['faq'] = [
10
+ {
11
+ question: 'Wat is glitch-art?',
12
+ answer: 'Glitch-art is een vorm van digitale kunst die wordt gecreëerd door digitale afbeeldingen of gegevens te manipuleren om opzettelijke visuele fouten te produceren. Deze "glitches" resulteren in gefragmenteerde kleuren, vervormde vormen en onvoorspelbare patronen die een esthetiek van digitale corruptie en chaos creëren.',
13
+ },
14
+ {
15
+ question: 'Kan ik mijn eigen afbeeldingen gebruiken?',
16
+ answer: 'Ja! Je kunt elke PNG-, JPG- of WebP-afbeelding uploaden, naar het canvas slepen of een afbeelding rechtstreeks vanaf je klembord plakken met Ctrl+V. Je kunt ook de voorbeeld-afbeelding gebruiken.',
17
+ },
18
+ {
19
+ question: 'Wat doen de verschillende vervormingseffecten?',
20
+ answer: 'Corruption scheidt de RGB-kanalen voor een chromatisch aberratie-effect. Interference voegt monitor-achtige scanlines toe met optionele tremor. Pixel Sorting laat heldere pixels "druipen" in een gekozen richting. Static Noise voegt de klassieke tv-sneeuw toe.',
21
+ },
22
+ {
23
+ question: 'Kan ik het glitch-effect animeren?',
24
+ answer: 'Zeker! De modus "Glitch Animate" past micro-willekeurige bewegingen toe op de parameters, waardoor een levendig, flikkerend effect ontstaat dat continu doorloopt. Je kunt dit exporteren als een geanimeerde GIF of WebP.',
25
+ },
26
+ {
27
+ question: 'Welke formaten kan ik exporteren?',
28
+ answer: 'Je kunt een hoogwaardige PNG downloaden voor statisch gebruik, of exporteren als geanimeerde GIF of WebP als je de animatiemodus hebt ingeschakeld. Perfect voor Instagram, Discord of andere platforms.',
29
+ },
30
+ {
31
+ question: 'Wat doet de Chaos-knop?',
32
+ answer: 'De "Chaos Random" knop randomiseert onmiddellijk alle schuifregelaars, waardoor onverwachte en vaak verrassende glitch-combinaties ontstaan. Het is perfect om het creatieve potentieel te verkennen zonder handmatige aanpassingen.',
33
+ },
34
+ ];
35
+
36
+ const howTo: GlitchImageDistorterLocaleContent['howTo'] = [
37
+ { name: 'Afbeelding laden', text: 'Sleep een afbeelding naar het canvas, plak er een met Ctrl+V, upload via de knop of klik op "Gebruik voorbeeld-afbeelding".' },
38
+ { name: 'Schuifregelaars aanpassen', text: 'Gebruik de regelaars voor Corruption, Interference, Pixel Sort en Noise om verschillende glitch-effecten toe te passen. De preview wordt direct bijgewerkt.' },
39
+ { name: 'Animatie inschakelen', text: 'Zet de "Glitch Animate" knop aan om willekeurige bewegingen en flikkeringen toe te voegen. De afbeelding komt tot leven met een dynamisch effect.' },
40
+ { name: 'Creatie exporteren', text: 'Download als PNG voor statische kunst of exporteer als GIF/WebP als animatie aan staat. Deel je glitch-art op social media!' },
41
+ { name: 'Experimenteren met Chaos', text: 'Klik op de "Chaos Random" knop om automatisch verrassende combinaties van effecten te ontdekken.' },
42
+ ];
43
+
44
+ const faqSchema: WithContext<FAQPage> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+
54
+ const howToSchema: WithContext<HowTo> = {
55
+ '@context': 'https://schema.org',
56
+ '@type': 'HowTo',
57
+ name: title,
58
+ description,
59
+ step: howTo.map((step) => ({
60
+ '@type': 'HowToStep',
61
+ name: step.name,
62
+ text: step.text,
63
+ })),
64
+ };
65
+
66
+ const appSchema: WithContext<SoftwareApplication> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilitiesApplication',
72
+ operatingSystem: 'Web',
73
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
74
+ inLanguage: 'nl',
75
+ };
76
+
77
+ export const content: GlitchImageDistorterLocaleContent = {
78
+ slug,
79
+ title,
80
+ description,
81
+ faqTitle: 'Veelgestelde Vragen',
82
+ ui: {
83
+ title: 'Glitch Distorter',
84
+ description: 'Maak glitch-art in enkele seconden.',
85
+ dragDropText: 'Sleep een afbeelding hierheen of klik om te uploaden',
86
+ pasteHint: 'Tip: Je kunt ook een afbeelding plakken met Ctrl+V',
87
+ exampleImageBtn: 'Gebruik voorbeeld-afbeelding',
88
+ corruptionLabel: 'Corruption (RGB-split)',
89
+ interferenceLabel: 'Interference (Lijnen)',
90
+ tremorLabel: 'Trilling',
91
+ pixelSortLabel: 'Pixel Sorting',
92
+ pixelSortDirectionLabel: 'Richting',
93
+ noiseLabel: 'Statische Ruis',
94
+ animateBtn: 'Glitch Animatie',
95
+ chaosBtn: 'Willekeurige Chaos',
96
+ downloadPngBtn: 'PNG Downloaden',
97
+ downloadGifBtn: 'GIF Downloaden',
98
+ undoBtn: 'Ongedaan maken',
99
+ redoBtn: 'Opnieuw uitvoeren',
100
+ footerText: 'Maak gecorrumpeerde digitale kunst in minder dan 30 seconden',
101
+ faqTitle: 'FAQ',
102
+ bibliographyTitle: 'Referenties'
103
+ },
104
+ seo: [
105
+ { type: 'title', text: 'Wat is Glitch-Art?', level: 2 },
106
+ { type: 'paragraph', html: '<strong>Glitch-art</strong> is een creatieve praktijk die opzettelijk gebruik maakt van digitale fouten, gecorrumpeerde gegevens en visuele artefacten om esthetische resultaten te produceren. In tegenstelling tot traditionele kunst die perfectie nastreeft, viert glitch de onverwachte schoonheid van technologische defecten — gefragmenteerde kleuren en chaotische patronen die voortkomen uit fouten.' },
107
+ { type: 'title', text: 'Oorsprong en Digitale Esthetiek', level: 3 },
108
+ { type: 'paragraph', html: 'De glitch-esthetiek ontstond begin jaren 2000, toen digitale kunstenaars begonnen te experimenteren met gecorrumpeerde bestanden en hardwarefouten. Kunstenaars als <strong>Rosa Menkman</strong> verhieven glitch-art tot beeldende kunst door de poëzie van digitale artefacten te onderzoeken. De esthetiek put uit VHS-degradatie, transmissiefouten en de zichtbare "ruis" van digitale systemen.' },
109
+ { type: 'title', text: 'Belangrijke Glitch-technieken', level: 3 },
110
+ { type: 'list', items: [
111
+ '<strong>RGB Splitting:</strong> De rode, groene en blauwe kleurkanalen verschuiven om chromatische aberratie te creëren.',
112
+ '<strong>Scanlines:</strong> Horizontale lijnen simuleren om oude CRT-monitoren na te bootsen voor een retro effect.',
113
+ '<strong>Pixel Sorting:</strong> Pixels sorteren op helderheid en verschuiven om een "smeltend" effect te creëren.',
114
+ '<strong>Data Moshing:</strong> Videocodec-gegevens manipuleren om frames op onverwachte manieren te mengen.',
115
+ '<strong>Bit Shifting:</strong> Directe aanpassing van binaire gegevens resulteert in dramatische kleurverschuivingen.',
116
+ ]},
117
+ { type: 'tip', title: 'De Filosofie Achter Glitch', html: 'Glitch-art daagt het idee van een "perfecte" digitale weergave uit. Door fouten te omarmen, stellen we de betrouwbaarheid van technologie ter discussie en verkennen we hoe technologie onze perceptie van de werkelijkheid beïnvloedt. Het is kunst over systeemfalen en de verborgen schoonheid in chaos.' },
118
+ { type: 'title', text: 'Hedendaagse Toepassingen', level: 3 },
119
+ { type: 'paragraph', html: 'Tegenwoordig is glitch-esthetiek overal: albumhoezen, videoclips, mode en grafisch ontwerp. Deze tool democratiseert het maken van glitch-art, waardoor iedereen professioneel ogende digitale corruptie kan genereren zonder diepe technische kennis.' },
120
+ { type: 'stats', items: [
121
+ { value: '2000s', label: 'Ontstaan van glitch-art', icon: 'mdi:history' },
122
+ { value: '∞', label: 'Mogelijke combinaties', icon: 'mdi:shuffle-variant' },
123
+ { value: '<30s', label: 'Tijd om te maken', icon: 'mdi:flash' },
124
+ { value: '3+', label: 'Exportformaten', icon: 'mdi:download-multiple' },
125
+ ], columns: 4 },
126
+ ],
127
+ faq,
128
+ bibliography,
129
+ howTo,
130
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
131
+ };
@@ -0,0 +1,131 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { GlitchImageDistorterLocaleContent } from '../index';
4
+
5
+ const slug = 'deformator-obrazow-glitch';
6
+ const title = 'Deformator Obrazów Glitch';
7
+ const description = 'Przekształć zdjęcia w glitch art dzięki separacji RGB, liniom skanowania, sortowaniu pikseli i animowanym zniekształceniom. Bez Photoshopa.';
8
+
9
+ const faq: GlitchImageDistorterLocaleContent['faq'] = [
10
+ {
11
+ question: 'Co to jest glitch art?',
12
+ answer: 'Glitch art to forma sztuki cyfrowej powstała poprzez manipulowanie obrazami lub danymi w celu uzyskania zamierzonych błędów wizualnych. Te "glitche" skutkują pofragmentowanymi kolorami, zniekształconymi kształtami i nieprzewidywalnymi wzorami, które tworzą estetykę cyfrowej korupcji i chaosu.',
13
+ },
14
+ {
15
+ question: 'Czy mogę używać własnych zdjęć?',
16
+ answer: 'Tak! Możesz przesłać dowolny obraz PNG, JPG lub WebP, przeciągnąć go na płótno lub wkleić bezpośrednio ze schowka za pomocą Ctrl+V. Możesz także skorzystać z obrazu przykładowego.',
17
+ },
18
+ {
19
+ question: 'Co robią poszczególne efekty zniekształceń?',
20
+ answer: 'Korupcja rozdziela kanały RGB dla efektu aberracji chromatycznej. Interferencja dodaje linie skanowania przypominające stare monitory z opcjonalnym drżeniem. Sortowanie pikseli sprawia, że jasne piksele "spływają" w wybranym kierunku. Szum statyczny dodaje klasyczny śnieg telewizyjny.',
21
+ },
22
+ {
23
+ question: 'Czy mogę animować efekt glitch?',
24
+ answer: 'Oczywiście! Tryb "Animacja Glitch" nakłada mikro-losowe ruchy na parametry, tworząc wibrujący, żywy efekt, który zapętla się w nieskończoność. Możesz to wyeksportować jako animowany GIF lub WebP.',
25
+ },
26
+ {
27
+ question: 'Jakie formaty mogę eksportować?',
28
+ answer: 'Możesz pobrać wysokiej jakości plik PNG dla obrazów statycznych lub wyeksportować jako animowany GIF lub WebP, jeśli włączyłeś tryb animacji. Idealne na Instagram, Discord i inne platformy.',
29
+ },
30
+ {
31
+ question: 'Do czego służy przycisk Chaos?',
32
+ answer: 'Przycisk "Losowy Chaos" natychmiast zmienia wszystkie wartości suwaków, generując nieoczekiwane i często zaskakujące kombinacje glitchy. To doskonałe narzędzie do odkrywania potencjału kreatywnego bez ręcznych ustawień.',
33
+ },
34
+ ];
35
+
36
+ const howTo: GlitchImageDistorterLocaleContent['howTo'] = [
37
+ { name: 'Załaduj obraz', text: 'Przeciągnij obraz na płótno, wklej za pomocą Ctrl+V, prześlij z urządzenia lub kliknij "Użyj obrazu przykładowego".' },
38
+ { name: 'Dostosuj suwaki', text: 'Użyj suwaków Korupcji, Interferencji, Sortowania pikseli i Szumu, aby zastosować efekty. Podgląd aktualizuje się w czasie rzeczywistym.' },
39
+ { name: 'Włącz animację', text: 'Kliknij przycisk "Animacja Glitch", aby dodać wibracje i migotanie. Obraz ożyje dzięki dynamicznemu efektowi glitch.' },
40
+ { name: 'Eksportuj dzieło', text: 'Pobierz jako PNG dla sztuki statycznej lub wyeksportuj jako GIF/WebP, jeśli animacja jest aktywna. Podziel się swoją twórczością w mediach społecznościowych!' },
41
+ { name: 'Eksperymentuj z Chaosem', text: 'Kliknij przycisk "Losowy Chaos", aby automatycznie odkryć zaskakujące kombinacje efektów.' },
42
+ ];
43
+
44
+ const faqSchema: WithContext<FAQPage> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+
54
+ const howToSchema: WithContext<HowTo> = {
55
+ '@context': 'https://schema.org',
56
+ '@type': 'HowTo',
57
+ name: title,
58
+ description,
59
+ step: howTo.map((step) => ({
60
+ '@type': 'HowToStep',
61
+ name: step.name,
62
+ text: step.text,
63
+ })),
64
+ };
65
+
66
+ const appSchema: WithContext<SoftwareApplication> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilitiesApplication',
72
+ operatingSystem: 'Web',
73
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
74
+ inLanguage: 'pl',
75
+ };
76
+
77
+ export const content: GlitchImageDistorterLocaleContent = {
78
+ slug,
79
+ title,
80
+ description,
81
+ faqTitle: 'Często Zadawane Pytania',
82
+ ui: {
83
+ title: 'Glitch Distorter',
84
+ description: 'Twórz glitch art w kilka sekund.',
85
+ dragDropText: 'Przeciągnij obraz tutaj lub kliknij, aby przesłać',
86
+ pasteHint: 'Wskazówka: Możesz też wkleić obraz za pomocą Ctrl+V',
87
+ exampleImageBtn: 'Użyj obrazu przykładowego',
88
+ corruptionLabel: 'Korupcja (Separacja RGB)',
89
+ interferenceLabel: 'Interferencja (Linie)',
90
+ tremorLabel: 'Drżenie',
91
+ pixelSortLabel: 'Sortowanie Pikseli',
92
+ pixelSortDirectionLabel: 'Kierunek',
93
+ noiseLabel: 'Szum Statyczny',
94
+ animateBtn: 'Animacja Glitch',
95
+ chaosBtn: 'Losowy Chaos',
96
+ downloadPngBtn: 'Pobierz PNG',
97
+ downloadGifBtn: 'Pobierz GIF',
98
+ undoBtn: 'Cofnij',
99
+ redoBtn: 'Ponów',
100
+ footerText: 'Twórz uszkodzoną sztukę cyfrową w mniej niż 30 sekund',
101
+ faqTitle: 'FAQ',
102
+ bibliographyTitle: 'Referencje'
103
+ },
104
+ seo: [
105
+ { type: 'title', text: 'Co to jest Glitch Art?', level: 2 },
106
+ { type: 'paragraph', html: '<strong>Glitch art</strong> to praktyka kreatywna celowo wykorzystująca błędy cyfrowe, uszkodzone dane i artefakty wizualne do tworzenia efektów estetycznych. W przeciwieństwie do tradycyjnej sztuki dążącej do perfekcji, glitch celebruje nieoczekiwane piękno technologicznej awarii — pofragmentowane kolory i chaotyczne wzory wyłaniające się z błędu.' },
107
+ { type: 'title', text: 'Pochodzenie i Estetyka Cyfrowa', level: 3 },
108
+ { type: 'paragraph', html: 'Estetyka glitch wyłoniła się na początku XXI wieku, gdy artyści cyfrowi zaczęli eksperymentować z uszkodzonymi plikami i awariami sprzętu. Artyści tacy jak <strong>Rosa Menkman</strong> podnieśli glitch do rangi sztuki pięknej, badając poetykę cyfrowych artefaktów. Estetyka czerpie z degradacji kaset VHS, błędów transmisji i widocznego "szumu" systemów cyfrowych.' },
109
+ { type: 'title', text: 'Kluczowe Techniki Glitch', level: 3 },
110
+ { type: 'list', items: [
111
+ '<strong>Separacja RGB:</strong> Przesunięcie kanałów czerwonego, zielonego i niebieskiego w celu uzyskania aberracji chromatycznej.',
112
+ '<strong>Linie skanowania:</strong> Symulacja poziomych linii starych monitorów CRT dla efektu retro.',
113
+ '<strong>Sortowanie pikseli:</strong> Porządkowanie pikseli według jasności i ich przesuwanie, co daje efekt "topnienia".',
114
+ '<strong>Data Moshing:</strong> Manipulowanie danymi kodeków wideo w celu nieoczekiwanego mieszania klatek.',
115
+ '<strong>Bit Shifting:</strong> Bezpośrednia zmiana danych binarnych skutkująca dramatycznymi zmianami kolorów.',
116
+ ]},
117
+ { type: 'tip', title: 'Filozofia Glitcha', html: 'Glitch art rzuca wyzwanie idei "idealnej" reprezentacji cyfrowej. Akceptując błąd, kwestionujemy niezawodność technologii i badamy, jak pośredniczy ona w naszym postrzeganiu rzeczywistości. To sztuka o awarii systemu i pięknie ukrytym w chaosie.' },
118
+ { type: 'title', text: 'Współczesne Zastosowania', level: 3 },
119
+ { type: 'paragraph', html: 'Dziś estetyka glitch jest wszędzie: na okładkach płyt, w teledyskach, modzie i projektowaniu graficznym. To narzędzie demokratyzuje tworzenie tego stylu, pozwalając każdemu generować profesjonalne efekty cyfrowej korupcji bez głębokiej wiedzy technicznej.' },
120
+ { type: 'stats', items: [
121
+ { value: '2000s', label: 'Pojawienie się glitch artu', icon: 'mdi:history' },
122
+ { value: '∞', label: 'Możliwe kombinacje', icon: 'mdi:shuffle-variant' },
123
+ { value: '<30s', label: 'Czas tworzenia', icon: 'mdi:flash' },
124
+ { value: '3+', label: 'Formaty eksportu', icon: 'mdi:download-multiple' },
125
+ ], columns: 4 },
126
+ ],
127
+ faq,
128
+ bibliography,
129
+ howTo,
130
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
131
+ };
@@ -0,0 +1,131 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { GlitchImageDistorterLocaleContent } from '../index';
4
+
5
+ const slug = 'distorcedor-imagens-glitch';
6
+ const title = 'Distorcedor de Imagens Glitch';
7
+ const description = 'Transforme suas fotos em arte glitch com separações RGB, linhas de varredura, pixel sorting e distorções animadas. Sem Photoshop.';
8
+
9
+ const faq: GlitchImageDistorterLocaleContent['faq'] = [
10
+ {
11
+ question: 'O que é arte glitch?',
12
+ answer: 'A arte glitch é uma forma de expressão digital que consiste em manipular imagens ou dados para produzir erros visuais intencionais. Estes "glitches" geram cores fragmentadas, formas distorcidas e padrões imprevisíveis que criam uma estética de corrupção digital e caos.',
13
+ },
14
+ {
15
+ question: 'Posso usar minhas próprias imagens?',
16
+ answer: 'Sim! Você pode fazer upload de qualquer imagem PNG, JPG ou WebP, arrastá-la para a tela ou colá-la diretamente da área de transferência usando Ctrl+V. Também pode usar a imagem de exemplo.',
17
+ },
18
+ {
19
+ question: 'O que fazem os diferentes efeitos de distorção?',
20
+ answer: 'A Corrupção separa os canais RGB para um efeito de aberração cromática. A Interferência adiciona linhas de varredura semelhantes a monitores antigos com tremor opcional. O Pixel Sorting faz com que os píxeis brilhantes "escorram" numa direção. O Ruído Estático adiciona a clássica neve de TV.',
21
+ },
22
+ {
23
+ question: 'Posso animar o efeito glitch?',
24
+ answer: 'Com certeza! O modo "Animação Glitch" aplica micro-movimentos aleatórios aos parâmetros, criando um efeito vibrante e dinâmico que se repete continuamente. Pode exportá-lo como um GIF animado ou WebP.',
25
+ },
26
+ {
27
+ question: 'Quais formatos posso exportar?',
28
+ answer: 'Pode descarregar um PNG de alta qualidade para imagens estáticas, ou exportar como GIF ou WebP animado se ativou o modo de animação. Perfeito para o Instagram, Discord e outras plataformas.',
29
+ },
30
+ {
31
+ question: 'Para que serve o botão Caos?',
32
+ answer: 'O botão "Caos Aleatório" muda instantaneamente todos os valores dos controlos, gerando combinações de glitch inesperadas e surpreendentes. É ideal para explorar o potencial criativo da ferramenta sem ajustes manuais.',
33
+ },
34
+ ];
35
+
36
+ const howTo: GlitchImageDistorterLocaleContent['howTo'] = [
37
+ { name: 'Carregar uma imagem', text: 'Arraste uma imagem, cole com Ctrl+V, faça upload do seu dispositivo ou use a imagem de exemplo para começar.' },
38
+ { name: 'Ajustar os controlos', text: 'Use os controlos de Corrupção, Interferência, Pixel Sorting e Ruído para aplicar efeitos. A pré-visualização atualiza-se em tempo real.' },
39
+ { name: 'Ativar a animação', text: 'Clique no botão "Animação Glitch" para adicionar vibrações e cintilações aleatórias. A imagem ganhará vida com um efeito dinâmico.' },
40
+ { name: 'Exportar a criação', text: 'Descarregue como PNG para arte estática ou exporte como GIF/WebP se ativou a animação. Partilhe a sua arte glitch nas redes sociais!' },
41
+ { name: 'Experimentar com o Caos', text: 'Clique no botão "Caos Aleatório" para descobrir automaticamente combinações de efeitos surpreendentes.' },
42
+ ];
43
+
44
+ const faqSchema: WithContext<FAQPage> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+
54
+ const howToSchema: WithContext<HowTo> = {
55
+ '@context': 'https://schema.org',
56
+ '@type': 'HowTo',
57
+ name: title,
58
+ description,
59
+ step: howTo.map((step) => ({
60
+ '@type': 'HowToStep',
61
+ name: step.name,
62
+ text: step.text,
63
+ })),
64
+ };
65
+
66
+ const appSchema: WithContext<SoftwareApplication> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilitiesApplication',
72
+ operatingSystem: 'Web',
73
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
74
+ inLanguage: 'pt',
75
+ };
76
+
77
+ export const content: GlitchImageDistorterLocaleContent = {
78
+ slug,
79
+ title,
80
+ description,
81
+ faqTitle: 'Perguntas Frequentes',
82
+ ui: {
83
+ title: 'Glitch Distorter',
84
+ description: 'Crie arte glitch em segundos.',
85
+ dragDropText: 'Arraste uma imagem aqui ou clique para carregar',
86
+ pasteHint: 'Dica: Também pode colar uma imagem com Ctrl+V',
87
+ exampleImageBtn: 'Usar imagem de exemplo',
88
+ corruptionLabel: 'Corrupção (Separação RGB)',
89
+ interferenceLabel: 'Interferência (Linhas)',
90
+ tremorLabel: 'Tremor',
91
+ pixelSortLabel: 'Pixel Sorting',
92
+ pixelSortDirectionLabel: 'Direção',
93
+ noiseLabel: 'Ruído Estático',
94
+ animateBtn: 'Animação Glitch',
95
+ chaosBtn: 'Caos Aleatório',
96
+ downloadPngBtn: 'Descarregar PNG',
97
+ downloadGifBtn: 'Descarregar GIF',
98
+ undoBtn: 'Desfazer',
99
+ redoBtn: 'Refazer',
100
+ footerText: 'Crie arte digital corrompida em menos de 30 segundos',
101
+ faqTitle: 'FAQ',
102
+ bibliographyTitle: 'Referências'
103
+ },
104
+ seo: [
105
+ { type: 'title', text: 'O que é Arte Glitch?', level: 2 },
106
+ { type: 'paragraph', html: 'A <strong>arte glitch</strong> é uma prática criativa que explora intencionalmente erros digitais, dados corrompidos e artefactos visuais para produzir resultados estéticos. Ao contrário da arte tradicional, que procura a perfeição, o glitch celebra a beleza inesperada da falha tecnológica — cores fragmentadas e padrões caóticos que surgem do erro.' },
107
+ { type: 'title', text: 'Origens e Estética Digital', level: 3 },
108
+ { type: 'paragraph', html: 'Esta estética surgiu no início dos anos 2000, quando artistas digitais começaram a experimentar com ficheiros corrompidos e falhas de hardware. Artistas como <strong>Rosa Menkman</strong> elevaram o glitch à categoria de arte ao investigar a poética dos artefactos digitais. A estética nutre-se da degradação do VHS, dos erros de transmissão e do "ruído" dos sistemas digitais.' },
109
+ { type: 'title', text: 'Técnicas Chave de Glitch', level: 3 },
110
+ { type: 'list', items: [
111
+ '<strong>Separação RGB:</strong> Desfasar os canais vermelho, verde e azul para criar aberração cromática.',
112
+ '<strong>Linhas de Varredura:</strong> Simular as linhas horizontais dos antigos monitores CRT para um toque retro.',
113
+ '<strong>Pixel Sorting:</strong> Ordenar píxeis por brilho e deslocá-los para criar um efeito de "derretimento".',
114
+ '<strong>Data Moshing:</strong> Manipular dados de codecs de vídeo para misturar fotogramas de forma inesperada.',
115
+ '<strong>Bit Shifting:</strong> Alterar dados binários diretamente para obter distorções geométricas dramáticas.',
116
+ ]},
117
+ { type: 'tip', title: 'A Filosofia do Glitch', html: 'A arte glitch desafia a ideia da representação digital "perfeita". Ao abraçar o erro, questionamos a fiabilidade da tecnologia e exploramos como esta media a nossa perceção da realidade. É arte sobre a falha do sistema e a beleza oculta no caos.' },
118
+ { type: 'title', text: 'Aplicações Contemporâneas', level: 3 },
119
+ { type: 'paragraph', html: 'Hoje em dia, a estética glitch está em todo o lado: capas de discos, videoclipes, moda e design gráfico. Esta ferramenta democratiza a criação deste estilo, permitindo que qualquer pessoa gere peças profissionais de corrupção digital sem conhecimentos técnicos profundos.' },
120
+ { type: 'stats', items: [
121
+ { value: '2000s', label: 'Aparição da arte glitch', icon: 'mdi:history' },
122
+ { value: '∞', label: 'Combinações possíveis', icon: 'mdi:shuffle-variant' },
123
+ { value: '<30s', label: 'Tempo de criação', icon: 'mdi:flash' },
124
+ { value: '3+', label: 'Formatos de exportação', icon: 'mdi:download-multiple' },
125
+ ], columns: 4 },
126
+ ],
127
+ faq,
128
+ bibliography,
129
+ howTo,
130
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
131
+ };