@jjlmoya/utils-creative 1.6.0 → 1.8.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.
- package/package.json +63 -62
- package/src/category/i18n/de.ts +9 -0
- package/src/category/i18n/id.ts +9 -0
- package/src/category/i18n/it.ts +9 -0
- package/src/category/i18n/ja.ts +9 -0
- package/src/category/i18n/ko.ts +9 -0
- package/src/category/i18n/nl.ts +9 -0
- package/src/category/i18n/pl.ts +9 -0
- package/src/category/i18n/pt.ts +9 -0
- package/src/category/i18n/ru.ts +9 -0
- package/src/category/i18n/sv.ts +9 -0
- package/src/category/i18n/tr.ts +9 -0
- package/src/category/i18n/zh.ts +9 -0
- package/src/category/index.ts +12 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/bead-pattern-generator/i18n/de.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/en.ts +59 -17
- package/src/tool/bead-pattern-generator/i18n/es.ts +59 -17
- package/src/tool/bead-pattern-generator/i18n/fr.ts +59 -17
- package/src/tool/bead-pattern-generator/i18n/id.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/it.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ja.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ko.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/nl.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/pl.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/pt.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ru.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/sv.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/tr.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/zh.ts +115 -0
- package/src/tool/bead-pattern-generator/index.ts +12 -0
- package/src/tool/dice-roller/i18n/de.ts +138 -0
- package/src/tool/dice-roller/i18n/en.ts +74 -32
- package/src/tool/dice-roller/i18n/es.ts +74 -32
- package/src/tool/dice-roller/i18n/fr.ts +74 -32
- package/src/tool/dice-roller/i18n/id.ts +138 -0
- package/src/tool/dice-roller/i18n/it.ts +138 -0
- package/src/tool/dice-roller/i18n/ja.ts +138 -0
- package/src/tool/dice-roller/i18n/ko.ts +138 -0
- package/src/tool/dice-roller/i18n/nl.ts +138 -0
- package/src/tool/dice-roller/i18n/pl.ts +138 -0
- package/src/tool/dice-roller/i18n/pt.ts +138 -0
- package/src/tool/dice-roller/i18n/ru.ts +138 -0
- package/src/tool/dice-roller/i18n/sv.ts +138 -0
- package/src/tool/dice-roller/i18n/tr.ts +138 -0
- package/src/tool/dice-roller/i18n/zh.ts +138 -0
- package/src/tool/dice-roller/index.ts +12 -0
- package/src/tool/excuse-generator/i18n/de.ts +122 -0
- package/src/tool/excuse-generator/i18n/en.ts +60 -18
- package/src/tool/excuse-generator/i18n/es.ts +60 -18
- package/src/tool/excuse-generator/i18n/fr.ts +60 -18
- package/src/tool/excuse-generator/i18n/id.ts +122 -0
- package/src/tool/excuse-generator/i18n/it.ts +122 -0
- package/src/tool/excuse-generator/i18n/ja.ts +122 -0
- package/src/tool/excuse-generator/i18n/ko.ts +122 -0
- package/src/tool/excuse-generator/i18n/nl.ts +122 -0
- package/src/tool/excuse-generator/i18n/pl.ts +122 -0
- package/src/tool/excuse-generator/i18n/pt.ts +122 -0
- package/src/tool/excuse-generator/i18n/ru.ts +122 -0
- package/src/tool/excuse-generator/i18n/sv.ts +122 -0
- package/src/tool/excuse-generator/i18n/tr.ts +122 -0
- package/src/tool/excuse-generator/i18n/zh.ts +122 -0
- package/src/tool/excuse-generator/index.ts +12 -0
- package/src/tool/fortune-cookie/i18n/de.ts +127 -0
- package/src/tool/fortune-cookie/i18n/en.ts +60 -18
- package/src/tool/fortune-cookie/i18n/es.ts +60 -18
- package/src/tool/fortune-cookie/i18n/fr.ts +60 -18
- package/src/tool/fortune-cookie/i18n/id.ts +127 -0
- package/src/tool/fortune-cookie/i18n/it.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ja.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ko.ts +127 -0
- package/src/tool/fortune-cookie/i18n/nl.ts +127 -0
- package/src/tool/fortune-cookie/i18n/pl.ts +127 -0
- package/src/tool/fortune-cookie/i18n/pt.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ru.ts +127 -0
- package/src/tool/fortune-cookie/i18n/sv.ts +127 -0
- package/src/tool/fortune-cookie/i18n/tr.ts +127 -0
- package/src/tool/fortune-cookie/i18n/zh.ts +127 -0
- package/src/tool/fortune-cookie/index.ts +12 -0
- package/src/tool/synesthesia-painter/i18n/de.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/en.ts +74 -32
- package/src/tool/synesthesia-painter/i18n/es.ts +74 -32
- package/src/tool/synesthesia-painter/i18n/fr.ts +75 -33
- package/src/tool/synesthesia-painter/i18n/id.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/it.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ja.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ko.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/nl.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/pl.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/pt.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ru.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/sv.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/tr.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/zh.ts +122 -0
- package/src/tool/synesthesia-painter/index.ts +12 -0
- package/src/tool/zalgo-generator/i18n/de.ts +113 -0
- package/src/tool/zalgo-generator/i18n/en.ts +58 -16
- package/src/tool/zalgo-generator/i18n/es.ts +58 -16
- package/src/tool/zalgo-generator/i18n/fr.ts +58 -16
- package/src/tool/zalgo-generator/i18n/id.ts +113 -0
- package/src/tool/zalgo-generator/i18n/it.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ja.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ko.ts +113 -0
- package/src/tool/zalgo-generator/i18n/nl.ts +113 -0
- package/src/tool/zalgo-generator/i18n/pl.ts +113 -0
- package/src/tool/zalgo-generator/i18n/pt.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ru.ts +113 -0
- package/src/tool/zalgo-generator/i18n/sv.ts +113 -0
- package/src/tool/zalgo-generator/i18n/tr.ts +113 -0
- package/src/tool/zalgo-generator/i18n/zh.ts +113 -0
- package/src/tool/zalgo-generator/index.ts +12 -0
- package/src/tools.ts +14 -1
|
@@ -1,9 +1,61 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
1
2
|
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
2
3
|
|
|
4
|
+
const slug = 'bead-pattern-generator';
|
|
5
|
+
const title = 'Pattern Generator';
|
|
6
|
+
const description = 'Create pixel art and bead schemes for Miyuki or Hama from your photos. Color quantization algorithm, tunnel vision mode, and ZIP export.';
|
|
7
|
+
|
|
8
|
+
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
9
|
+
{ question: 'What is color quantization in patterns?', answer: 'It is the process of reducing the thousands of colors in a photo to just a few that correspond to the actual bead colors available (e.g., Miyuki or Hama). We use smart algorithms to maintain visual resemblance with the minimum possible palette.' },
|
|
10
|
+
{ question: 'Can I use this pattern for cross-stitch?', answer: 'Yes, the generator creates a grid chart that is perfectly compatible with cross-stitch. You just need to choose a grid size that matches your fabric (Aida 14, 18, etc.).' },
|
|
11
|
+
{ question: 'What is the difference between Miyuki and Hama Beads?', answer: 'Miyuki Delica beads are very small, precise glass beads for jewelry. Hama Beads are plastic and are fused with an iron. Our tool lets you adjust the aspect ratio so the pattern does not distort depending on the material used.' },
|
|
12
|
+
{ question: 'How does the dithering algorithm work?', answer: 'Dithering creates the illusion of more colors by mixing pixels of different colors in spaced patterns. It helps color gradients look smoother even with a limited bead palette.' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
16
|
+
{ name: 'Upload a clear image', text: 'Select a photo with good contrast and few small details so the pattern is easier to follow.' },
|
|
17
|
+
{ name: 'Adjust the grid size', text: 'Define how many beads wide and tall your final piece will be. More beads = more detail but more difficulty.' },
|
|
18
|
+
{ name: 'Optimize the color palette', text: 'Reduce the number of colors until they match the beads you have available in your craft kit.' },
|
|
19
|
+
{ name: 'Export the guide scheme', text: 'Generate the final pattern with color codes to use as a reference while assembling your beads on the board or thread.' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
23
|
+
'@context': 'https://schema.org',
|
|
24
|
+
'@type': 'FAQPage',
|
|
25
|
+
mainEntity: faq.map((item) => ({
|
|
26
|
+
'@type': 'Question',
|
|
27
|
+
name: item.question,
|
|
28
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const howToSchema: WithContext<HowTo> = {
|
|
33
|
+
'@context': 'https://schema.org',
|
|
34
|
+
'@type': 'HowTo',
|
|
35
|
+
name: title,
|
|
36
|
+
description,
|
|
37
|
+
step: howTo.map((step) => ({
|
|
38
|
+
'@type': 'HowToStep',
|
|
39
|
+
name: step.name,
|
|
40
|
+
text: step.text,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'SoftwareApplication',
|
|
47
|
+
name: title,
|
|
48
|
+
description,
|
|
49
|
+
applicationCategory: 'UtilitiesApplication',
|
|
50
|
+
operatingSystem: 'Web',
|
|
51
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
52
|
+
inLanguage: 'en',
|
|
53
|
+
};
|
|
54
|
+
|
|
3
55
|
export const content: BeadPatternGeneratorLocaleContent = {
|
|
4
|
-
slug
|
|
5
|
-
title
|
|
6
|
-
description
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
7
59
|
faqTitle: 'Frequently Asked Questions',
|
|
8
60
|
bibliographyTitle: 'Artisan Bibliography',
|
|
9
61
|
ui: {
|
|
@@ -32,7 +84,7 @@ export const content: BeadPatternGeneratorLocaleContent = {
|
|
|
32
84
|
{ type: 'title', text: 'Digital Alchemy: Transmute Pixels into Tangible Art', level: 2 },
|
|
33
85
|
{ type: 'paragraph', html: 'Welcome to the <strong>Ultimate Pattern Studio</strong>. A <em>chromatic intelligence engine</em> designed for Pixel Art architects, Miyuki masters, and cross-stitch visionaries. Your bridge between the digital and the handmade.' },
|
|
34
86
|
{ type: 'card', icon: 'mdi:grid', title: 'The Intelligent Grid', html: 'Our <strong>spatial subsampling</strong> algorithm does not just "shrink" your image. It analyzes the visual structure to map complex pixel groups to individual cells, preserving the integrity of silhouettes and edges like an expert illustrator.' },
|
|
35
|
-
{ type: 'card', icon: 'mdi:palette', title: 'K
|
|
87
|
+
{ type: 'card', icon: 'mdi:palette', title: 'K Means Color Quantization', html: 'We implement a variant of the <strong>K-Means Clustering</strong> algorithm that mathematically finds the "centroid" tones of your image. Astonishing visual fidelity with a minimalist palette of 12, 24 or 32 colors.' },
|
|
36
88
|
{ type: 'title', text: 'Mastery in 3 Steps', level: 3 },
|
|
37
89
|
{ type: 'card', icon: 'mdi:image-search', title: 'The Perfect Selection', html: 'Look for <strong>high contrast</strong>, dramatic lighting and iconic shapes. Portraits with clean backgrounds, logos, and vector art translate beautifully.' },
|
|
38
90
|
{ type: 'card', icon: 'mdi:ruler', title: 'Dimensional Calibration', html: '<strong>Miyuki Delica:</strong> 50 beads ≈ 8cm · <strong>Hama Midi:</strong> 50 beads ≈ 25cm · <strong>Cross-Stitch:</strong> 1 cell = 1 stitch.' },
|
|
@@ -52,22 +104,12 @@ export const content: BeadPatternGeneratorLocaleContent = {
|
|
|
52
104
|
], columns: 4 },
|
|
53
105
|
{ type: 'paragraph', html: 'In an era of ephemeral screens, creating something physical is a revolutionary act. This tool does not seek to automate art, but to <strong>empower the artisan</strong>. We give you computational precision so your hands can build lasting legacies.' },
|
|
54
106
|
],
|
|
55
|
-
faq
|
|
56
|
-
{ question: 'What is color quantization in patterns?', answer: 'It is the process of reducing the thousands of colors in a photo to just a few that correspond to the actual bead colors available (e.g., Miyuki or Hama). We use smart algorithms to maintain visual resemblance with the minimum possible palette.' },
|
|
57
|
-
{ question: 'Can I use this pattern for cross-stitch?', answer: 'Yes, the generator creates a grid chart that is perfectly compatible with cross-stitch. You just need to choose a grid size that matches your fabric (Aida 14, 18, etc.).' },
|
|
58
|
-
{ question: 'What is the difference between Miyuki and Hama Beads?', answer: 'Miyuki Delica beads are very small, precise glass beads for jewelry. Hama Beads are plastic and are fused with an iron. Our tool lets you adjust the aspect ratio so the pattern does not distort depending on the material used.' },
|
|
59
|
-
{ question: 'How does the dithering algorithm work?', answer: 'Dithering creates the illusion of more colors by mixing pixels of different colors in spaced patterns. It helps color gradients look smoother even with a limited bead palette.' },
|
|
60
|
-
],
|
|
107
|
+
faq,
|
|
61
108
|
bibliography: [
|
|
62
109
|
{ name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
|
|
63
110
|
{ name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
|
|
64
111
|
{ name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
|
|
65
112
|
],
|
|
66
|
-
howTo
|
|
67
|
-
|
|
68
|
-
{ name: 'Adjust the grid size', text: 'Define how many beads wide and tall your final piece will be. More beads = more detail but more difficulty.' },
|
|
69
|
-
{ name: 'Optimize the color palette', text: 'Reduce the number of colors until they match the beads you have available in your craft kit.' },
|
|
70
|
-
{ name: 'Export the guide scheme', text: 'Generate the final pattern with color codes to use as a reference while assembling your beads on the board or thread.' },
|
|
71
|
-
],
|
|
72
|
-
schemas: []
|
|
113
|
+
howTo,
|
|
114
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
73
115
|
};
|
|
@@ -1,9 +1,61 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
1
2
|
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
2
3
|
|
|
4
|
+
const slug = 'generador-patrones-cuentas';
|
|
5
|
+
const title = 'Generador de Patrones';
|
|
6
|
+
const description = 'Crea esquemas de pixel art y cuentas para Miyuki o Hama desde tus fotos.';
|
|
7
|
+
|
|
8
|
+
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
9
|
+
{ question: '¿Qué es la cuantización de color en patrones?', answer: 'Es el proceso de reducir los miles de colores de una foto a solo unos pocos que correspondan con los colores reales de las cuentas (ej. Miyuki o Hama). Usamos algoritmos inteligentes para mantener el parecido visual con la mínima paleta posible.' },
|
|
10
|
+
{ question: '¿Puedo usar este patrón para punto de cruz?', answer: 'Sí, el generador crea una malla cuadriculada (gráfico) que es perfectamente compatible con el punto de cruz. Solo debes elegir un tamaño de rejilla que se adapte a tu tela (Aida 14, 18, etc.).' },
|
|
11
|
+
{ question: '¿Qué diferencia hay entre Miyuki y Hama Beads?', answer: 'Las Miyuki Delica son cuentas de cristal muy pequeñas y precisas para joyería. Los Hama Beads son de plástico y se funden con plancha. Nuestra herramienta permite ajustar la relación de aspecto para que el patrón no se deforme según el material usado.' },
|
|
12
|
+
{ question: '¿Cómo funciona el algoritmo de tramado (Dithering)?', answer: 'El tramado crea la ilusión de más colores mezclando píxeles de colores diferentes en patrones espaciados. Ayuda a que las degradaciones de color se vean más suaves incluso con una paleta limitada de cuentas.' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
16
|
+
{ name: 'Subir una imagen clara', text: 'Selecciona una foto con buen contraste y pocos detalles pequeños para que el patrón sea más fácil de seguir.' },
|
|
17
|
+
{ name: 'Ajustar el tamaño de la rejilla', text: 'Define cuántas cuentas de ancho y alto tendrá tu pieza final. Recuerda que a más tamaño, más detalle pero más dificultad.' },
|
|
18
|
+
{ name: 'Optimizar la paleta de colores', text: 'Reduce el número de colores hasta que coincidan con las cuentas que tienes disponibles en tu kit de manualidades.' },
|
|
19
|
+
{ name: 'Exportar el esquema guía', text: 'Genera el patrón final con códigos de color para usarlo como referencia mientras montas tus cuentas en la placa o el hilo.' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
23
|
+
'@context': 'https://schema.org',
|
|
24
|
+
'@type': 'FAQPage',
|
|
25
|
+
mainEntity: faq.map((item) => ({
|
|
26
|
+
'@type': 'Question',
|
|
27
|
+
name: item.question,
|
|
28
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const howToSchema: WithContext<HowTo> = {
|
|
33
|
+
'@context': 'https://schema.org',
|
|
34
|
+
'@type': 'HowTo',
|
|
35
|
+
name: title,
|
|
36
|
+
description,
|
|
37
|
+
step: howTo.map((step) => ({
|
|
38
|
+
'@type': 'HowToStep',
|
|
39
|
+
name: step.name,
|
|
40
|
+
text: step.text,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'SoftwareApplication',
|
|
47
|
+
name: title,
|
|
48
|
+
description,
|
|
49
|
+
applicationCategory: 'UtilitiesApplication',
|
|
50
|
+
operatingSystem: 'Web',
|
|
51
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
52
|
+
inLanguage: 'es',
|
|
53
|
+
};
|
|
54
|
+
|
|
3
55
|
export const content: BeadPatternGeneratorLocaleContent = {
|
|
4
|
-
slug
|
|
5
|
-
title
|
|
6
|
-
description
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
7
59
|
faqTitle: 'Preguntas Frecuentes',
|
|
8
60
|
bibliographyTitle: 'Bibliografía del Artesano',
|
|
9
61
|
ui: {
|
|
@@ -32,7 +84,7 @@ export const content: BeadPatternGeneratorLocaleContent = {
|
|
|
32
84
|
{ type: 'title', text: 'Alquimia Digital: Transmuta Píxeles en Arte Tangible', level: 2 },
|
|
33
85
|
{ type: 'paragraph', html: 'Bienvenido al <strong>Estudio Definitivo de Patrones</strong>. Un motor de <em>inteligencia cromática</em> diseñado para arquitectos del Pixel Art, maestros del Miyuki y visionarios del punto de cruz. Tu puente entre lo digital y lo artesanal.' },
|
|
34
86
|
{ type: 'card', icon: 'mdi:grid', title: 'La Retícula Inteligente', html: 'Nuestro algoritmo de <strong>submuestreo espacial</strong> no solo "encoge" tu imagen. Analiza la estructura visual para mapear grupos de píxeles complejos a celdas individuales, preservando la integridad de siluetas y bordes como un dibujante experto.' },
|
|
35
|
-
{ type: 'card', icon: 'mdi:palette', title: 'Cuantización K
|
|
87
|
+
{ type: 'card', icon: 'mdi:palette', title: 'Cuantización de Color K Means', html: 'Implementamos una variante del algoritmo <strong>K-Means Clustering</strong> que encuentra matemáticamente los tonos "centroides" de tu imagen. Fidelidad visual asombrosa con una paleta minimalista de 12, 24 o 32 colores.' },
|
|
36
88
|
{ type: 'title', text: 'Maestría en 3 Pasos', level: 3 },
|
|
37
89
|
{ type: 'card', icon: 'mdi:image-search', title: 'La Selección Perfecta', html: 'Busca <strong>alto contraste</strong>, iluminación dramática y formas icónicas. Los retratos con fondo limpio, logotipos y arte vectorial se traducen maravillosamente.' },
|
|
38
90
|
{ type: 'card', icon: 'mdi:ruler', title: 'Calibración Dimensional', html: '<strong>Miyuki Delica:</strong> 50 cuentas ≈ 8cm · <strong>Hama Midi:</strong> 50 cuentas ≈ 25cm · <strong>Punto de Cruz:</strong> 1 celda = 1 puntada.' },
|
|
@@ -59,22 +111,12 @@ export const content: BeadPatternGeneratorLocaleContent = {
|
|
|
59
111
|
{ term: 'K-Means Clustering', definition: 'Algoritmo de aprendizaje no supervisado que agrupa píxeles por similitud cromática para encontrar los colores "centroide" de la imagen.' },
|
|
60
112
|
]},
|
|
61
113
|
],
|
|
62
|
-
faq
|
|
63
|
-
{ question: '¿Qué es la cuantización de color en patrones?', answer: 'Es el proceso de reducir los miles de colores de una foto a solo unos pocos que correspondan con los colores reales de las cuentas (ej. Miyuki o Hama). Usamos algoritmos inteligentes para mantener el parecido visual con la mínima paleta posible.' },
|
|
64
|
-
{ question: '¿Puedo usar este patrón para punto de cruz?', answer: 'Sí, el generador crea una malla cuadriculada (gráfico) que es perfectamente compatible con el punto de cruz. Solo debes elegir un tamaño de rejilla que se adapte a tu tela (Aida 14, 18, etc.).' },
|
|
65
|
-
{ question: '¿Qué diferencia hay entre Miyuki y Hama Beads?', answer: 'Las Miyuki Delica son cuentas de cristal muy pequeñas y precisas para joyería. Los Hama Beads son de plástico y se funden con plancha. Nuestra herramienta permite ajustar la relación de aspecto para que el patrón no se deforme según el material usado.' },
|
|
66
|
-
{ question: '¿Cómo funciona el algoritmo de tramado (Dithering)?', answer: 'El tramado crea la ilusión de más colores mezclando píxeles de colores diferentes en patrones espaciados. Ayuda a que las degradaciones de color se vean más suaves incluso con una paleta limitada de cuentas.' },
|
|
67
|
-
],
|
|
114
|
+
faq,
|
|
68
115
|
bibliography: [
|
|
69
116
|
{ name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
|
|
70
117
|
{ name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
|
|
71
118
|
{ name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
|
|
72
119
|
],
|
|
73
|
-
howTo
|
|
74
|
-
|
|
75
|
-
{ name: 'Ajustar el tamaño de la rejilla', text: 'Define cuántas cuentas de ancho y alto tendrá tu pieza final. Recuerda que a más tamaño, más detalle pero más dificultad.' },
|
|
76
|
-
{ name: 'Optimizar la paleta de colores', text: 'Reduce el número de colores hasta que coincidan con las cuentas que tienes disponibles en tu kit de manualidades.' },
|
|
77
|
-
{ name: 'Exportar el esquema guía', text: 'Genera el patrón final con códigos de color para usarlo como referencia mientras montas tus cuentas en la placa o el hilo.' },
|
|
78
|
-
],
|
|
79
|
-
schemas: []
|
|
120
|
+
howTo,
|
|
121
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
80
122
|
};
|
|
@@ -1,9 +1,61 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
1
2
|
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
2
3
|
|
|
4
|
+
const slug = 'generateur-de-modeles-de-perles';
|
|
5
|
+
const title = 'Générateur de Modèles';
|
|
6
|
+
const description = 'Créez du pixel art et des schémas de perles pour Miyuki ou Hama à partir de vos photos. Algorithme de quantification de couleurs, mode vision tunnel et export ZIP.';
|
|
7
|
+
|
|
8
|
+
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
9
|
+
{ question: 'Qu\'est-ce que la quantification de couleurs dans les modèles ?', answer: 'C\'est le processus de réduction des milliers de couleurs d\'une photo à quelques-unes seulement qui correspondent aux couleurs réelles des perles disponibles (ex: Miyuki ou Hama). Nous utilisons des algorithmes intelligents pour maintenir la ressemblance visuelle avec la palette minimale possible.' },
|
|
10
|
+
{ question: 'Puis-je utiliser ce modèle pour le point de croix ?', answer: 'Oui, le générateur crée un diagramme de grille parfaitement compatible avec le point de croix. Il vous suffit de choisir une taille de grille correspondant à votre tissu (Aïda 14, 18, etc.).' },
|
|
11
|
+
{ question: 'Quelle est la différence entre les perles Miyuki et Hama ?', answer: 'Les perles Miyuki Delica sont de très petites perles de verre précises pour la bijouterie. Les perles Hama sont en plastique et se fusionnent au fer à repasser. Notre outil vous permet d\'ajuster le rapport d\'aspect pour que le modèle ne se déforme pas selon le matériau utilisé.' },
|
|
12
|
+
{ question: 'Comment fonctionne l\'algorithme de tramage (dithering) ?', answer: 'Le tramage crée l\'illusion d\'un plus grand nombre de couleurs en mélangeant des pixels de différentes couleurs dans des motifs espacés. Cela aide les dégradés de couleurs à paraître plus fluides, même avec une palette de perles limitée.' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
16
|
+
{ name: 'Charger une image claire', text: 'Sélectionnez une photo avec un bon contraste et peu de petits détails pour que le modèle soit plus facile à suivre.' },
|
|
17
|
+
{ name: 'Ajuster la taille de la grille', text: 'Définissez la largeur et la hauteur en perles de votre pièce finale. Plus il y a de perles, plus il y a de détails, mais plus c\'est difficile.' },
|
|
18
|
+
{ name: 'Optimiser la palette de couleurs', text: 'Réduisez le nombre de couleurs jusqu\'à ce qu\'elles correspondent aux perles dont vous disposez dans votre kit de loisirs créatifs.' },
|
|
19
|
+
{ name: 'Exporter le schéma guide', text: 'Générez le modèle final avec les codes de couleur à utiliser comme référence lors de l\'assemblage de vos perles sur la plaque ou le fil.' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
23
|
+
'@context': 'https://schema.org',
|
|
24
|
+
'@type': 'FAQPage',
|
|
25
|
+
mainEntity: faq.map((item) => ({
|
|
26
|
+
'@type': 'Question',
|
|
27
|
+
name: item.question,
|
|
28
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const howToSchema: WithContext<HowTo> = {
|
|
33
|
+
'@context': 'https://schema.org',
|
|
34
|
+
'@type': 'HowTo',
|
|
35
|
+
name: title,
|
|
36
|
+
description,
|
|
37
|
+
step: howTo.map((step) => ({
|
|
38
|
+
'@type': 'HowToStep',
|
|
39
|
+
name: step.name,
|
|
40
|
+
text: step.text,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'SoftwareApplication',
|
|
47
|
+
name: title,
|
|
48
|
+
description,
|
|
49
|
+
applicationCategory: 'UtilitiesApplication',
|
|
50
|
+
operatingSystem: 'Web',
|
|
51
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
52
|
+
inLanguage: 'fr',
|
|
53
|
+
};
|
|
54
|
+
|
|
3
55
|
export const content: BeadPatternGeneratorLocaleContent = {
|
|
4
|
-
slug
|
|
5
|
-
title
|
|
6
|
-
description
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
7
59
|
faqTitle: 'Questions Fréquemment Posées',
|
|
8
60
|
bibliographyTitle: 'Bibliographie de l\'Artisan',
|
|
9
61
|
ui: {
|
|
@@ -32,7 +84,7 @@ export const content: BeadPatternGeneratorLocaleContent = {
|
|
|
32
84
|
{ type: 'title', text: 'Alchimie Numérique : Transmutez les Pixels en Art Tangible', level: 2 },
|
|
33
85
|
{ type: 'paragraph', html: 'Bienvenue dans le <strong>Studio de Modèles Ultime</strong>. Un <em>moteur d\'intelligence chromatique</em> conçu pour les architectes du Pixel Art, les maîtres de la Miyuki et les visionnaires du point de croix. Votre pont entre le numérique et le fait-main.' },
|
|
34
86
|
{ type: 'card', icon: 'mdi:grid', title: 'La Grille Intelligente', html: 'Notre algorithme de <strong>sous-échantillonnage spatial</strong> ne se contente pas de "réduire" votre image. Il analyse la structure visuelle pour mapper des groupes de pixels complexes sur des cellules individuelles, préservant l\'intégrité des silhouettes et des contours comme le ferait un illustrateur expert.' },
|
|
35
|
-
{ type: 'card', icon: 'mdi:palette', title: 'Quantification de Couleurs K
|
|
87
|
+
{ type: 'card', icon: 'mdi:palette', title: 'Quantification de Couleurs K Means', html: 'Nous implémentons une variante de l\'algorithme <strong>K-Means Clustering</strong> qui trouve mathématiquement les tons "centroïdes" de votre image. Une fidélité visuelle étonnante avec une palette minimaliste de 12, 24 ou 32 couleurs.' },
|
|
36
88
|
{ type: 'title', text: 'La Maîtrise en 3 Étapes', level: 3 },
|
|
37
89
|
{ type: 'card', icon: 'mdi:image-search', title: 'La Sélection Parfaite', html: 'Recherchez un <strong>contraste élevé</strong>, un éclairage dramatique et des formes iconiques. Les portraits avec des fonds épurés, les logos et l\'art vectoriel se traduisent magnifiquement.' },
|
|
38
90
|
{ type: 'card', icon: 'mdi:ruler', title: 'Calibration Dimensionnelle', html: '<strong>Miyuki Delica :</strong> 50 perles ≈ 8 cm · <strong>Hama Midi :</strong> 50 perles ≈ 25 cm · <strong>Point de Croix :</strong> 1 cellule = 1 point.' },
|
|
@@ -52,22 +104,12 @@ export const content: BeadPatternGeneratorLocaleContent = {
|
|
|
52
104
|
], columns: 4 },
|
|
53
105
|
{ type: 'paragraph', html: 'À l\'ère des écrans éphémères, créer quelque chose de physique est un acte révolutionnaire. Cet outil ne cherche pas à automatiser l\'art, mais à <strong>donner du pouvoir à l\'artisan</strong>. Nous vous offrons la précision informatique pour que vos mains puissent bâtir des héritages durables.' },
|
|
54
106
|
],
|
|
55
|
-
faq
|
|
56
|
-
{ question: 'Qu\'est-ce que la quantification de couleurs dans les modèles ?', answer: 'C\'est le processus de réduction des milliers de couleurs d\'une photo à quelques-unes seulement qui correspondent aux couleurs réelles des perles disponibles (ex: Miyuki ou Hama). Nous utilisons des algorithmes intelligents pour maintenir la ressemblance visuelle avec la palette minimale possible.' },
|
|
57
|
-
{ question: 'Puis-je utiliser ce modèle pour le point de croix ?', answer: 'Oui, le générateur crée un diagramme de grille parfaitement compatible avec le point de croix. Il vous suffit de choisir une taille de grille correspondant à votre tissu (Aïda 14, 18, etc.).' },
|
|
58
|
-
{ question: 'Quelle est la différence entre les perles Miyuki et Hama ?', answer: 'Les perles Miyuki Delica sont de très petites perles de verre précises pour la bijouterie. Les perles Hama sont en plastique et se fusionnent au fer à repasser. Notre outil vous permet d\'ajuster le rapport d\'aspect pour que le modèle ne se déforme pas selon le matériau utilisé.' },
|
|
59
|
-
{ question: 'Comment fonctionne l\'algorithme de tramage (dithering) ?', answer: 'Le tramage crée l\'illusion d\'un plus grand nombre de couleurs en mélangeant des pixels de différentes couleurs dans des motifs espacés. Cela aide les dégradés de couleurs à paraître plus fluides, même avec une palette de perles limitée.' },
|
|
60
|
-
],
|
|
107
|
+
faq,
|
|
61
108
|
bibliography: [
|
|
62
109
|
{ name: 'Scikit-Image: Quantification de couleurs utilisant K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
|
|
63
110
|
{ name: 'Spécifications des Perles Miyuki Delica', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
|
|
64
111
|
{ name: 'Visgraf Lab: Algorithmes de Tramage (Dithering)', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
|
|
65
112
|
],
|
|
66
|
-
howTo
|
|
67
|
-
|
|
68
|
-
{ name: 'Ajuster la taille de la grille', text: 'Définissez la largeur et la hauteur en perles de votre pièce finale. Plus il y a de perles, plus il y a de détails, mais plus c\'est difficile.' },
|
|
69
|
-
{ name: 'Optimiser la palette de couleurs', text: 'Réduisez le nombre de couleurs jusqu\'à ce qu\'elles correspondent aux perles dont vous disposez dans votre kit de loisirs créatifs.' },
|
|
70
|
-
{ name: 'Exporter le schéma guide', text: 'Générez le modèle final avec les codes de couleur à utiliser comme référence lors de l\'assemblage de vos perles sur la plaque ou le fil.' },
|
|
71
|
-
],
|
|
72
|
-
schemas: []
|
|
113
|
+
howTo,
|
|
114
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
73
115
|
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'pembuat-pola-manik';
|
|
5
|
+
const title = 'Pembuat Pola';
|
|
6
|
+
const description = 'Buat pixel art dan skema manik-manik untuk Miyuki atau Hama dari foto Anda. Algoritma kuantisasi warna, mode pandangan terowongan, dan ekspor ZIP.';
|
|
7
|
+
|
|
8
|
+
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
9
|
+
{ question: 'Apa itu kuantisasi warna dalam pola?', answer: 'Ini adalah proses pengurangan ribuan warna dalam foto menjadi hanya beberapa yang sesuai dengan warna manik-manik asli yang tersedia (misalnya, Miyuki atau Hama). Kami menggunakan algoritma cerdas untuk menjaga kemiripan visual dengan palet seminimal mungkin.' },
|
|
10
|
+
{ question: 'Bisakah saya menggunakan pola ini untuk sulam silang (cross-stitch)?', answer: 'Ya, generator ini membuat grafik kisi yang sangat kompatibel dengan sulam silang. Anda hanya perlu memilih ukuran kisi yang sesuai dengan kain Anda (Aida 14, 18, dsb.).' },
|
|
11
|
+
{ question: 'Apa perbedaan antara Manik Miyuki dan Hama?', answer: 'Manik Miyuki Delica adalah manik-manik kaca yang sangat kecil dan presisi untuk perhiasan. Manik Hama berbahan plastik dan disatukan dengan setrika. Alat kami memungkinkan Anda menyesuaikan rasio aspek agar pola tidak terdistorsi tergantung pada bahan yang digunakan.' },
|
|
12
|
+
{ question: 'Bagaimana cara kerja algoritma dithering?', answer: 'Dithering menciptakan ilusi warna yang lebih banyak dengan mencampurkan piksel dari warna yang berbeda dalam pola berjarak. Ini membantu gradasi warna tampak lebih halus meskipun dengan palet manik-manik yang terbatas.' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
16
|
+
{ name: 'Unggah gambar yang jelas', text: 'Pilih foto dengan kontras yang baik dan sedikit detail kecil agar pola lebih mudah diikuti.' },
|
|
17
|
+
{ name: 'Sesuaikan ukuran kisi', text: 'Tentukan berapa banyak manik lebar dan tinggi untuk karya akhir Anda. Lebih banyak manik = lebih banyak detail tetapi lebih sulit.' },
|
|
18
|
+
{ name: 'Optimalkan palet warna', text: 'Kurangi jumlah warna hingga sesuai dengan manik-manik yang tersedia dalam kit kerajinan Anda.' },
|
|
19
|
+
{ name: 'Ekspor skema panduan', text: 'Hasilkan pola akhir dengan kode warna untuk digunakan sebagai referensi saat merangkai manik-manik Anda pada papan atau benang.' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
23
|
+
'@context': 'https://schema.org',
|
|
24
|
+
'@type': 'FAQPage',
|
|
25
|
+
mainEntity: faq.map((item) => ({
|
|
26
|
+
'@type': 'Question',
|
|
27
|
+
name: item.question,
|
|
28
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const howToSchema: WithContext<HowTo> = {
|
|
33
|
+
'@context': 'https://schema.org',
|
|
34
|
+
'@type': 'HowTo',
|
|
35
|
+
name: title,
|
|
36
|
+
description,
|
|
37
|
+
step: howTo.map((step) => ({
|
|
38
|
+
'@type': 'HowToStep',
|
|
39
|
+
name: step.name,
|
|
40
|
+
text: step.text,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'SoftwareApplication',
|
|
47
|
+
name: title,
|
|
48
|
+
description,
|
|
49
|
+
applicationCategory: 'UtilitiesApplication',
|
|
50
|
+
operatingSystem: 'Web',
|
|
51
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
52
|
+
inLanguage: 'id',
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const content: BeadPatternGeneratorLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
60
|
+
bibliographyTitle: 'Bibliografi Artisan',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Laboratorium Pola',
|
|
63
|
+
subtitle: 'Rekayasa warna untuk tangan Anda',
|
|
64
|
+
description: 'Dari foto ke skema manik-manik.',
|
|
65
|
+
gridSizeLabel: 'Ukuran (Lebar)',
|
|
66
|
+
colorCountLabel: 'Warna',
|
|
67
|
+
optionsLabel: 'Opsi',
|
|
68
|
+
rulersLabel: 'Penggaris',
|
|
69
|
+
symbolsTooltip: 'Pola Kejutan',
|
|
70
|
+
symbolsLabel: 'Simbol',
|
|
71
|
+
downloadBtn: 'Unduh',
|
|
72
|
+
uploadTitle: 'Unggah Visi Anda',
|
|
73
|
+
uploadSubtitle: 'dan biarkan keajaiban digital terjadi',
|
|
74
|
+
paletteTitle: 'DNA Kromatik',
|
|
75
|
+
reuploadBtn: 'Ubah Gambar',
|
|
76
|
+
tunnelVisionTitle: 'Pandangan Terowongan',
|
|
77
|
+
tunnelVisionSubtitle: 'Asisten presisi Anda baris demi baris.',
|
|
78
|
+
uploadLabel: 'Unggah foto Anda',
|
|
79
|
+
pixelateBtn: 'Hasilkan Pola',
|
|
80
|
+
faqTitle: 'FAQ',
|
|
81
|
+
bibliographyTitle: 'Referensi'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: 'Alkimia Digital: Mengubah Piksel Menjadi Seni Nyata', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'Selamat datang di <strong>Studio Pola Utama</strong>. Sebuah <em>mesin kecerdasan kromatik</em> yang dirancang untuk arsitek Pixel Art, master Miyuki, dan visioner sulam silang. Jembatan Anda antara dunia digital dan buatan tangan.' },
|
|
86
|
+
{ type: 'card', icon: 'mdi:grid', title: 'Kisi Cerdas', html: 'Algoritma <strong>subsampling spasial</strong> kami tidak sekadar "menyusutkan" gambar Anda. Ia menganalisis struktur visual untuk memetakan kelompok piksel yang kompleks ke sel individu, menjaga integritas siluet dan tepi layaknya ilustrator ahli.' },
|
|
87
|
+
{ type: 'card', icon: 'mdi:palette', title: 'Kuantisasi Warna K Means', html: 'Kami menerapkan varian algoritma <strong>K-Means Clustering</strong> yang secara matematis menemukan nada "centroid" dari gambar Anda. Kesetiaan visual yang mengagumkan dengan palet minimalis 12, 24, atau 32 warna.' },
|
|
88
|
+
{ type: 'title', text: 'Penguasaan dalam 3 Langkah', level: 3 },
|
|
89
|
+
{ type: 'card', icon: 'mdi:image-search', title: 'Pilihan Sempurna', html: 'Cari <strong>kontras tinggi</strong>, pencahayaan dramatis, dan bentuk ikonik. Potret dengan latar belakang bersih, logo, dan seni vektor dapat diterjemahkan dengan indah.' },
|
|
90
|
+
{ type: 'card', icon: 'mdi:ruler', title: 'Kalibrasi Dimensi', html: '<strong>Miyuki Delica:</strong> 50 manik ≈ 8cm · <strong>Hama Midi:</strong> 50 manik ≈ 25cm · <strong>Sulam Silang:</strong> 1 sel = 1 jahitan.' },
|
|
91
|
+
{ type: 'card', icon: 'mdi:eye-check', title: 'Eksekusi Zen (Mode Pandangan Terowongan)', html: 'Sistem <strong>Pandangan Terowongan</strong> kami bertindak sebagai asisten pribadi Anda, meredupkan kebisingan visual dan menyoroti secara bedah hanya baris yang aktif. Konsentrasi mutlak.' },
|
|
92
|
+
{ type: 'title', text: 'Kanvas Tak Terbatas', level: 3 },
|
|
93
|
+
{ type: 'list', items: [
|
|
94
|
+
'<strong>Perhiasan Tekstil:</strong> Pola rumit untuk alat tenun dan gelang geometris.',
|
|
95
|
+
'<strong>Sulam Silang:</strong> Skema modern yang siap disulam piksel demi piksel.',
|
|
96
|
+
'<strong>Mosaik:</strong> Mural skala besar menggunakan tesserae keramik yang disederhanakan.',
|
|
97
|
+
'<strong>Retro Gaming:</strong> Aset dan sprite 8-bit otentik dalam hitungan detik.',
|
|
98
|
+
]},
|
|
99
|
+
{ type: 'stats', items: [
|
|
100
|
+
{ value: '10–100', label: 'Rentang lebar manik', icon: 'mdi:arrow-expand-horizontal' },
|
|
101
|
+
{ value: '2–32', label: 'Slot palet warna', icon: 'mdi:palette-swatch' },
|
|
102
|
+
{ value: 'K-Means', label: 'Algoritma kuantisasi', icon: 'mdi:function-variant' },
|
|
103
|
+
{ value: 'ZIP', label: 'Format ekspor (pola + panduan)', icon: 'mdi:zip-box' },
|
|
104
|
+
], columns: 4 },
|
|
105
|
+
{ type: 'paragraph', html: 'Di era layar yang fana, menciptakan sesuatu yang fisik adalah tindakan revolusioner. Alat ini tidak berusaha mengotomatisasi seni, tetapi untuk <strong>memberdayakan artisan</strong>. Kami memberi Anda presisi komputasi sehingga tangan Anda dapat membangun warisan yang langgeng.' },
|
|
106
|
+
],
|
|
107
|
+
faq,
|
|
108
|
+
bibliography: [
|
|
109
|
+
{ name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
|
|
110
|
+
{ name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
|
|
111
|
+
{ name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
|
|
112
|
+
],
|
|
113
|
+
howTo,
|
|
114
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
115
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'generatore-schemi-perline';
|
|
5
|
+
const title = 'Generatore di Schemi';
|
|
6
|
+
const description = 'Crea pixel art e schemi con perline per Miyuki o Hama dalle tue foto. Algoritmo di quantizzazione del colore, modalità visione a tunnel ed esportazione ZIP.';
|
|
7
|
+
|
|
8
|
+
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
9
|
+
{ question: 'Che cos\'è la quantizzazione del colore negli schemi?', answer: 'È il processo di riduzione delle migliaia di colori di una foto a pochi che corrispondono ai colori reali delle perline disponibili (ad es. Miyuki o Hama). Utilizziamo algoritmi intelligenti per mantenere la somiglianza visiva con la minima tavolozza possibile.' },
|
|
10
|
+
{ question: 'Posso usare questo schema per il punto croce?', answer: 'Sì, il generatore crea una griglia perfettamente compatibile con il punto croce. Devi solo scegliere una dimensione della griglia che corrisponda al tuo tessuto (Aida 14, 18, ecc.).' },
|
|
11
|
+
{ question: 'Qual è la differenza tra perline Miyuki e Hama?', answer: 'Le perline Miyuki Delica sono perline di vetro molto piccole e precise per gioielleria. Le perline Hama sono di plastica e vengono fuse con il ferro da stiro. Il nostro strumento ti permette di regolare le proporzioni in modo che lo schema non si distorca a seconda del materiale utilizzato.' },
|
|
12
|
+
{ question: 'Come funziona l\'algoritmo di dithering?', answer: 'Il dithering crea l\'illusione di più colori mescolando pixel di colori diversi in schemi distanziati. Aiuta le sfumature di colore a sembrare più fluide anche con una tavolozza di perline limitata.' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
16
|
+
{ name: 'Carica un\'immagine nitida', text: 'Seleziona una foto con un buon contrasto e pochi dettagli piccoli affinché lo schema sia più facile da seguire.' },
|
|
17
|
+
{ name: 'Regola la dimensione della griglia', text: 'Definisci quanti perline di larghezza e altezza avrà il tuo pezzo finale. Più perline = più dettagli ma maggiore difficoltà.' },
|
|
18
|
+
{ name: 'Ottimizza la tavolozza dei colori', text: 'Riduci il numero di colori fino a farli corrispondere alle perline che hai a disposizione nel tuo kit.' },
|
|
19
|
+
{ name: 'Esporta lo schema guida', text: 'Genera lo schema finale con i codici colore da usare come riferimento durante l\'assemblaggio delle perline sulla base o sul filo.' },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
23
|
+
'@context': 'https://schema.org',
|
|
24
|
+
'@type': 'FAQPage',
|
|
25
|
+
mainEntity: faq.map((item) => ({
|
|
26
|
+
'@type': 'Question',
|
|
27
|
+
name: item.question,
|
|
28
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const howToSchema: WithContext<HowTo> = {
|
|
33
|
+
'@context': 'https://schema.org',
|
|
34
|
+
'@type': 'HowTo',
|
|
35
|
+
name: title,
|
|
36
|
+
description,
|
|
37
|
+
step: howTo.map((step) => ({
|
|
38
|
+
'@type': 'HowToStep',
|
|
39
|
+
name: step.name,
|
|
40
|
+
text: step.text,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
45
|
+
'@context': 'https://schema.org',
|
|
46
|
+
'@type': 'SoftwareApplication',
|
|
47
|
+
name: title,
|
|
48
|
+
description,
|
|
49
|
+
applicationCategory: 'UtilitiesApplication',
|
|
50
|
+
operatingSystem: 'Web',
|
|
51
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
52
|
+
inLanguage: 'it',
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const content: BeadPatternGeneratorLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
faqTitle: 'Domande Frequenti',
|
|
60
|
+
bibliographyTitle: 'Bibliografia Artigiana',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Laboratorio di Schemi',
|
|
63
|
+
subtitle: 'Ingegneria del colore per le tue mani',
|
|
64
|
+
description: 'Dalla foto allo schema con perline.',
|
|
65
|
+
gridSizeLabel: 'Dimensione (Larghezza)',
|
|
66
|
+
colorCountLabel: 'Colori',
|
|
67
|
+
optionsLabel: 'Opzioni',
|
|
68
|
+
rulersLabel: 'Righelli',
|
|
69
|
+
symbolsTooltip: 'Schema a Sorpresa',
|
|
70
|
+
symbolsLabel: 'Simboli',
|
|
71
|
+
downloadBtn: 'Scarica',
|
|
72
|
+
uploadTitle: 'Carica la Tua Visione',
|
|
73
|
+
uploadSubtitle: 'e lascia che la magia digitale accada',
|
|
74
|
+
paletteTitle: 'DNA Cromatico',
|
|
75
|
+
reuploadBtn: 'Cambia Immagine',
|
|
76
|
+
tunnelVisionTitle: 'Visione a Tunnel',
|
|
77
|
+
tunnelVisionSubtitle: 'Il tuo assistente di precisione riga per riga.',
|
|
78
|
+
uploadLabel: 'Carica la tua foto',
|
|
79
|
+
pixelateBtn: 'Genera Schema',
|
|
80
|
+
faqTitle: 'FAQ',
|
|
81
|
+
bibliographyTitle: 'Riferimenti'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: 'Alchimia Digitale: Trasmutare i Pixel in Arte Tangibile', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'Benvenuti nell\'<strong>Ultimate Pattern Studio</strong>. Un <em>motore di intelligenza cromatica</em> progettato per architetti della Pixel Art, maestri Miyuki e visionari del punto croce. Il tuo ponte tra il digitale e il fatto a mano.' },
|
|
86
|
+
{ type: 'card', icon: 'mdi:grid', title: 'La Griglia Intelligente', html: 'Il nostro algoritmo di <strong>sottocampionamento spaziale</strong> non si limita a "rimpicciolire" la tua immagine. Analizza la struttura visiva per mappare complessi gruppi di pixel su singole celle, preservando l\'integrità di sagome e bordi come un illustratore esperto.' },
|
|
87
|
+
{ type: 'card', icon: 'mdi:palette', title: 'Quantizzazione del colore K Means', html: 'Implementiamo una variante dell\'algoritmo di <strong>K-Means Clustering</strong> che trova matematicamente i toni "centroidi" della tua immagine. Fedeltà visiva sorprendente con una tavolozza minimalista di 12, 24 o 32 colori.' },
|
|
88
|
+
{ type: 'title', text: 'Maestria in 3 Passaggi', level: 3 },
|
|
89
|
+
{ type: 'card', icon: 'mdi:image-search', title: 'La Selezione Perfetta', html: 'Cerca <strong>alto contrasto</strong>, illuminazione drammatica e forme iconiche. Ritratti con sfondi puliti, loghi e vector art si traducono magnificamente.' },
|
|
90
|
+
{ type: 'card', icon: 'mdi:ruler', title: 'Calibrazione Dimensionale', html: '<strong>Miyuki Delica:</strong> 50 perline ≈ 8cm · <strong>Hama Midi:</strong> 50 perline ≈ 25cm · <strong>Punto Croce:</strong> 1 cella = 1 punto.' },
|
|
91
|
+
{ type: 'card', icon: 'mdi:eye-check', title: 'Esecuzione Zen (Modalità Visione a Tunnel)', html: 'Il nostro sistema <strong>Visione a Tunnel</strong> funge da assistente personale, attenuando il rumore visivo ed evidenziando chirurgicamente solo la riga attiva. Concentrazione assoluta.' },
|
|
92
|
+
{ type: 'title', text: 'Tele Infinite', level: 3 },
|
|
93
|
+
{ type: 'list', items: [
|
|
94
|
+
'<strong>Gioielleria Tessile:</strong> Schemi intricati per telai e braccialetti geometrici.',
|
|
95
|
+
'<strong>Punto Croce:</strong> Schemi moderni pronti per essere ricamati pixel per pixel.',
|
|
96
|
+
'<strong>Mosaici:</strong> Murales su larga scala utilizzando tessere di ceramica semplificate.',
|
|
97
|
+
'<strong>Retro Gaming:</strong> Asset e sprite 8-bit autentici in pochi secondi.',
|
|
98
|
+
]},
|
|
99
|
+
{ type: 'stats', items: [
|
|
100
|
+
{ value: '10–100', label: 'Range larghezza perline', icon: 'mdi:arrow-expand-horizontal' },
|
|
101
|
+
{ value: '2–32', label: 'Slot tavolozza colori', icon: 'mdi:palette-swatch' },
|
|
102
|
+
{ value: 'K-Means', label: 'Algoritmo quantizzazione', icon: 'mdi:function-variant' },
|
|
103
|
+
{ value: 'ZIP', label: 'Formato esportazione (schema + guida)', icon: 'mdi:zip-box' },
|
|
104
|
+
], columns: 4 },
|
|
105
|
+
{ type: 'paragraph', html: 'In un\'epoca di schermi effimeri, creare qualcosa di fisico è un atto rivoluzionario. Questo strumento non cerca di automatizzare l\'arte, ma di <strong>potenziare l\'artigiano</strong>. Ti diamo precisione computazionale affinché le tue mani possano costruire eredità durature.' },
|
|
106
|
+
],
|
|
107
|
+
faq,
|
|
108
|
+
bibliography: [
|
|
109
|
+
{ name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
|
|
110
|
+
{ name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
|
|
111
|
+
{ name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
|
|
112
|
+
],
|
|
113
|
+
howTo,
|
|
114
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
115
|
+
};
|