@jjlmoya/utils-astronomy 1.35.1 → 1.37.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 (86) hide show
  1. package/package.json +18 -5
  2. package/scripts/postbuild.mjs +17 -0
  3. package/scripts/postinstall.mjs +2 -4
  4. package/src/category/index.ts +2 -1
  5. package/src/components/ProductionBreadcrumb.astro +134 -0
  6. package/src/components/ProductionStructuredData.astro +46 -0
  7. package/src/components/ProductionWidget.astro +182 -0
  8. package/src/entries.ts +4 -2
  9. package/src/i18n/header-ui.ts +15 -0
  10. package/src/i18n/language-ui.ts +9 -0
  11. package/src/i18n/languages.ts +24 -0
  12. package/src/identity/brands.ts +5 -0
  13. package/src/index.ts +2 -1
  14. package/src/layouts/ProductionCategoryPage.astro +184 -0
  15. package/src/layouts/ProductionPage.astro +218 -0
  16. package/src/layouts/ProductionUtilityPage.astro +283 -0
  17. package/src/mfe/assets.ts +39 -0
  18. package/src/mfe/category-ui.ts +34 -0
  19. package/src/mfe/manifest.ts +45 -0
  20. package/src/mfe/routes.ts +50 -0
  21. package/src/pages/[locale]/[utilities]/[categories]/[category]/[slug]/manifest.json.ts +49 -0
  22. package/src/pages/[locale]/[utilities]/[categories]/[category]/[slug].astro +100 -0
  23. package/src/pages/[locale]/[utilities]/[categories]/[category].astro +44 -0
  24. package/src/pages/index.astro +4 -4
  25. package/src/pages/mfe-sitemaps/[locale]/[vertical]/sitemap.xml.ts +75 -0
  26. package/src/pages/utilidades/[slug]/manifest.json.ts +28 -0
  27. package/src/pages/utilidades/[slug].astro +90 -0
  28. package/src/pages/utilidades/categorias/[category].astro +38 -0
  29. package/src/tests/locale_completeness.test.ts +2 -2
  30. package/src/tests/mfe_cache_contract.test.ts +14 -0
  31. package/src/tests/mfe_manifest.test.ts +28 -0
  32. package/src/tests/registry_contract.test.ts +67 -0
  33. package/src/tests/tool_validation.test.ts +4 -3
  34. package/src/tool/astrophotographyExposureStackPlanner/astrophotography-exposure-stacking-planner.css +496 -0
  35. package/src/tool/astrophotographyExposureStackPlanner/bibliography.astro +14 -0
  36. package/src/tool/astrophotographyExposureStackPlanner/bibliography.ts +12 -0
  37. package/src/tool/astrophotographyExposureStackPlanner/component.astro +149 -0
  38. package/src/tool/astrophotographyExposureStackPlanner/controller.ts +125 -0
  39. package/src/tool/astrophotographyExposureStackPlanner/dom-views.ts +41 -0
  40. package/src/tool/astrophotographyExposureStackPlanner/entry.ts +29 -0
  41. package/src/tool/astrophotographyExposureStackPlanner/evaluator.ts +44 -0
  42. package/src/tool/astrophotographyExposureStackPlanner/i18n/de.ts +40 -0
  43. package/src/tool/astrophotographyExposureStackPlanner/i18n/en.ts +232 -0
  44. package/src/tool/astrophotographyExposureStackPlanner/i18n/es.ts +52 -0
  45. package/src/tool/astrophotographyExposureStackPlanner/i18n/fr.ts +40 -0
  46. package/src/tool/astrophotographyExposureStackPlanner/i18n/id.ts +40 -0
  47. package/src/tool/astrophotographyExposureStackPlanner/i18n/it.ts +40 -0
  48. package/src/tool/astrophotographyExposureStackPlanner/i18n/ja.ts +40 -0
  49. package/src/tool/astrophotographyExposureStackPlanner/i18n/ko.ts +40 -0
  50. package/src/tool/astrophotographyExposureStackPlanner/i18n/nl.ts +40 -0
  51. package/src/tool/astrophotographyExposureStackPlanner/i18n/pl.ts +40 -0
  52. package/src/tool/astrophotographyExposureStackPlanner/i18n/pt.ts +40 -0
  53. package/src/tool/astrophotographyExposureStackPlanner/i18n/ru.ts +40 -0
  54. package/src/tool/astrophotographyExposureStackPlanner/i18n/sv.ts +40 -0
  55. package/src/tool/astrophotographyExposureStackPlanner/i18n/tr.ts +40 -0
  56. package/src/tool/astrophotographyExposureStackPlanner/i18n/zh.ts +40 -0
  57. package/src/tool/astrophotographyExposureStackPlanner/index.ts +11 -0
  58. package/src/tool/astrophotographyExposureStackPlanner/localized.ts +59 -0
  59. package/src/tool/astrophotographyExposureStackPlanner/logic.test.ts +74 -0
  60. package/src/tool/astrophotographyExposureStackPlanner/logic.ts +95 -0
  61. package/src/tool/astrophotographyExposureStackPlanner/seo.astro +14 -0
  62. package/src/tool/astrophotographyExposureStackPlanner/storage.ts +22 -0
  63. package/src/tool/astrophotographyExposureStackPlanner/ui.ts +102 -0
  64. package/src/tool/meteorShowerObservingPlanner/dom-views.ts +38 -16
  65. package/src/tool/meteorShowerObservingPlanner/i18n/de.ts +219 -219
  66. package/src/tool/meteorShowerObservingPlanner/i18n/en.ts +219 -219
  67. package/src/tool/meteorShowerObservingPlanner/i18n/es.ts +219 -219
  68. package/src/tool/meteorShowerObservingPlanner/i18n/fr.ts +219 -219
  69. package/src/tool/meteorShowerObservingPlanner/i18n/id.ts +223 -223
  70. package/src/tool/meteorShowerObservingPlanner/i18n/it.ts +223 -223
  71. package/src/tool/meteorShowerObservingPlanner/i18n/ja.ts +219 -219
  72. package/src/tool/meteorShowerObservingPlanner/i18n/ko.ts +219 -219
  73. package/src/tool/meteorShowerObservingPlanner/i18n/nl.ts +223 -223
  74. package/src/tool/meteorShowerObservingPlanner/i18n/pl.ts +223 -223
  75. package/src/tool/meteorShowerObservingPlanner/i18n/pt.ts +223 -223
  76. package/src/tool/meteorShowerObservingPlanner/i18n/ru.ts +219 -219
  77. package/src/tool/meteorShowerObservingPlanner/i18n/sv.ts +223 -223
  78. package/src/tool/meteorShowerObservingPlanner/i18n/tr.ts +223 -223
  79. package/src/tool/meteorShowerObservingPlanner/i18n/zh.ts +219 -219
  80. package/src/tool/meteorShowerObservingPlanner/meteor-shower-observing-planner.css +16 -9
  81. package/src/tool/meteorShowerObservingPlanner/ui.ts +87 -87
  82. package/src/tools.ts +3 -1
  83. package/src/types.ts +2 -2
  84. package/src/worker.ts +27 -0
  85. package/src/pages/[locale]/[slug].astro +0 -161
  86. package/src/pages/[locale].astro +0 -251
@@ -0,0 +1,232 @@
1
+ import type { HowTo, FAQPage, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ExposurePlannerLocaleContent } from '../ui';
3
+ import { ASTROPHOTOGRAPHY_EXPOSURE_BIBLIOGRAPHY } from '../bibliography';
4
+
5
+ const slug = 'astrophotography-exposure-stacking-planner';
6
+
7
+ const softwareSchema: WithContext<SoftwareApplication> = {
8
+ '@context': 'https://schema.org',
9
+ '@type': 'SoftwareApplication',
10
+ name: 'Astrophotography Exposure Stack Planner',
11
+ applicationCategory: 'PhotographyApplication',
12
+ operatingSystem: 'Any',
13
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
14
+ };
15
+
16
+ const faqSchema: WithContext<FAQPage> = {
17
+ '@context': 'https://schema.org',
18
+ '@type': 'FAQPage',
19
+ mainEntity: [
20
+ {
21
+ '@type': 'Question',
22
+ name: 'Should I use NPF or the rule of 500?',
23
+ acceptedAnswer: {
24
+ '@type': 'Answer',
25
+ text: 'Use NPF as the more camera aware starting point when you know your aperture and pixel pitch. Treat both methods as field heuristics and test the result at 100 percent before committing to a full session.',
26
+ },
27
+ },
28
+ {
29
+ '@type': 'Question',
30
+ name: 'Does stacking make one exposure longer?',
31
+ acceptedAnswer: {
32
+ '@type': 'Answer',
33
+ text: 'No. Stacking combines multiple aligned frames. The planner shows how many frames fit the requested total integration and estimates the noise reduction benefit, but it does not claim that the frames behave like one unlimited exposure.',
34
+ },
35
+ },
36
+ {
37
+ '@type': 'Question',
38
+ name: 'Can this planner validate my tracking mount?',
39
+ acceptedAnswer: {
40
+ '@type': 'Answer',
41
+ text: 'No. A tracking mount changes the practical limit, but its periodic error, polar alignment, guiding and sky brightness still need a test frame. The displayed untracked ceiling is a comparison baseline, not a mount certification.',
42
+ },
43
+ },
44
+ ],
45
+ };
46
+
47
+ const howToSchema: WithContext<HowTo> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'HowTo',
50
+ name: 'How to plan an astrophotography exposure stack',
51
+ description: 'Use camera geometry and the desired integration time to make a testable exposure plan.',
52
+ step: [
53
+ { '@type': 'HowToStep', name: 'Enter camera geometry', text: 'Enter focal length, aperture, pixel pitch and the target declination.' },
54
+ { '@type': 'HowToStep', name: 'Choose a ceiling method', text: 'Compare the NPF and sensor-aware rule of 500 estimates, then select the one you want to use as a starting ceiling.' },
55
+ { '@type': 'HowToStep', name: 'Set the session length', text: 'Enter the total integration time you want and read the resulting frame count and timeline.' },
56
+ { '@type': 'HowToStep', name: 'Test before the full stack', text: 'Capture a test frame, inspect the corners at full resolution and adjust for tracking, focus, sky glow and wind.' },
57
+ ],
58
+ };
59
+
60
+ export const content: ExposurePlannerLocaleContent = {
61
+ slug,
62
+ title: 'Astrophotography Exposure Stack Planner',
63
+ description: 'Plan a practical astrophotography session with NPF and rule of 500 exposure ceilings, frame count, total integration and a visual stacking timeline.',
64
+ ui: {
65
+ cameraLegend: 'Camera geometry',
66
+ focalLabel: 'Focal length',
67
+ focalHelp: 'Lens or telescope focal length in mm',
68
+ apertureLabel: 'Aperture',
69
+ apertureHelp: 'Use the lens f number, such as 2.8',
70
+ pixelPitchLabel: 'Pixel pitch',
71
+ pixelPitchHelp: 'Photosite size in micrometres',
72
+ declinationLabel: 'Target declination',
73
+ declinationHelp: 'Absolute declination in degrees',
74
+ sensorLabel: 'Sensor format',
75
+ sensorOptions: {
76
+ fullFrame: 'Full frame',
77
+ apsC: 'APS C',
78
+ microFourThirds: 'Micro Four Thirds',
79
+ phone: 'Phone sensor',
80
+ },
81
+ ruleLabel: 'Exposure ceiling',
82
+ ruleNpf: 'NPF formula',
83
+ rule500: 'Rule of 500',
84
+ trackingLabel: 'Mount state',
85
+ untracked: 'No tracking',
86
+ tracked: 'Tracking mount',
87
+ trackingExposureLabel: 'Tracked exposure per frame',
88
+ trackingExposureHelp: 'Used only with Tracking mount. Start around 30-120 s and validate with test frames.',
89
+ deadTimeLabel: 'Dead time between frames',
90
+ deadTimeHelp: 'Start with about 2 s, then adjust for your camera buffer, card write and interval.',
91
+ totalIntegrationLabel: 'Desired total integration',
92
+ totalIntegrationHelp: 'The useful exposure time you want to collect',
93
+ resultTitle: 'Your capture plan',
94
+ resultKicker: 'A starting point for the night',
95
+ secondsUnit: 'per frame',
96
+ framesLabel: 'frames',
97
+ totalTimeLabel: 'Planned integration',
98
+ sessionTimeLabel: 'Field session estimate',
99
+ gainLabel: 'Ideal stacking gain',
100
+ sessionDetail: 'Includes {dead} between frames: {deadTotal} of interval time.',
101
+ workloadText: '{frames} shutter cycles. The field estimate includes the dead time between frames.',
102
+ highWorkloadText: '{frames} shutter cycles. Consider electronic or silent shutter, extra battery capacity and storage before committing to this stack. Estimated field time: {session}.',
103
+ sensorPixelWarning: 'Check the camera specification: {pixel} is a large pixel pitch for APS-C and may make the NPF ceiling shorter than this estimate.',
104
+ comparisonTitle: 'Two ceilings, one decision',
105
+ npfLabel: 'NPF ceiling',
106
+ rule500Label: 'Rule of 500 ceiling',
107
+ deltaLabel: 'NPF difference',
108
+ timelineTitle: 'The stack as a strip of light',
109
+ timelineStart: 'first frame',
110
+ timelineEnd: 'last frame',
111
+ trackingNote: 'Tracking is enabled. The plan uses {ceiling} per frame, giving {frames} frames and about {session} in the field. Verify this duration with alignment, guiding and a test frame; NPF remains the untracked comparison baseline.',
112
+ untrackedNote: 'Use {ceiling} as a starting ceiling, then inspect a test frame at full resolution for star shape and sky glow.',
113
+ methodTitle: 'How the estimate is built',
114
+ methodText: 'The NPF path uses aperture, focal length, pixel pitch and target declination to estimate when star movement can become visible at pixel level. The rule of 500 path uses focal length and sensor crop factor only. Both are geometric heuristics for an untracked camera. When Tracking mount is selected, the planner uses your chosen tracked exposure per frame instead of pretending NPF can certify the mount.',
115
+ limitsTitle: 'Field limit',
116
+ limitsText: 'A tracking mount, a bright sky, a high resolution crop, wind or focus drift can make the practical exposure shorter or longer than this estimate. Take a test frame and let the corners, histogram and mount behaviour decide.',
117
+ startingStatus: 'Reviewing inputs',
118
+ formulaLabel: 'Reference formulas',
119
+ formulaNpf: 'NPF: (16.9 x aperture + 0.10 x focal length + 13.7 x pixel pitch) / (focal length x cos declination).',
120
+ formula500: 'Rule of 500: 500 / (focal length x sensor crop factor).',
121
+ presetsLabel: 'Quick setups',
122
+ presets: {
123
+ milkyWay: '24 mm full frame',
124
+ wideAngle: '14 mm wide angle',
125
+ telephoto: '85 mm telephoto',
126
+ },
127
+ },
128
+ seo: [
129
+ {
130
+ type: 'title',
131
+ text: 'Why an exposure stack needs a ceiling',
132
+ level: 2,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'An exposure stack is a series of separate frames that are aligned and combined later. The aim is to collect more signal while keeping each frame usable. If a fixed camera exposes for too long, the apparent movement of the sky stretches stars. If each frame is too short, read noise, handling overhead and a thin signal can make the session inefficient. A useful plan therefore needs both a per frame ceiling and a total integration target.',
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'This planner turns those two decisions into a concrete capture strip. It estimates the NPF ceiling and the sensor aware rule of 500 ceiling, shows their difference, then divides the requested integration into complete frames. The last frame may take the total slightly beyond the requested duration because a camera cannot capture a fraction of a frame. That extra time is visible in the planned integration result.',
141
+ },
142
+ {
143
+ type: 'list',
144
+ items: [
145
+ 'Use NPF when you know aperture and pixel pitch and want a camera specific starting point.',
146
+ 'Use the rule of 500 as a fast comparison that includes sensor crop factor.',
147
+ 'Read the frame count as a real capture workload, including the number of files to review and align.',
148
+ 'Capture one test frame before starting the complete stack.',
149
+ ],
150
+ },
151
+ {
152
+ type: 'tip',
153
+ title: 'A ceiling is not a promise',
154
+ html: 'The output is a planning heuristic. Check the brightest stars and the corners at the final viewing resolution. A small amount of elongation, wind vibration, focus drift or lens coma can matter more than a formula that is correct on paper.',
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'NPF and rule of 500 answer different questions',
159
+ level: 2,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'The rule of 500 is intentionally quick. It divides 500 by focal length and adjusts for sensor crop factor. It is useful for an early composition check, but it does not include pixel pitch, aperture or declination. A modern high resolution camera can reveal star movement earlier than the simple rule suggests, especially when a long focal length is enlarged heavily.',
164
+ },
165
+ {
166
+ type: 'paragraph',
167
+ html: 'The NPF formula adds those camera and target variables. Its declination term matters because the apparent rate of motion changes across the sky. The formula uses the absolute declination entered here, so a target at minus 30 degrees is represented by 30 degrees. This is still an estimate for an untracked camera. It does not replace a full size inspection of a test exposure or a measured tracking model.',
168
+ },
169
+ {
170
+ type: 'title',
171
+ text: 'How to turn the result into a night session',
172
+ level: 2,
173
+ },
174
+ {
175
+ type: 'paragraph',
176
+ html: 'Start with the camera values you will actually use. Do not enter an equivalent focal length when the lens focal length and sensor crop factor are already represented separately. For pixel pitch, use the physical photosite size rather than megapixels alone. If the manufacturer does not publish it, use a documented camera specification and treat the result as provisional.',
177
+ },
178
+ {
179
+ type: 'paragraph',
180
+ html: 'Choose a total integration that fits the target and the available darkness. The frame count tells you the operational cost of the plan: storage, interval gaps, battery changes and time spent rejecting frames. The ideal stacking gain shown here is the square root relationship expressed in stops. It describes random noise averaging under good alignment and consistent exposures, not a guaranteed image quality score.',
181
+ },
182
+ {
183
+ type: 'list',
184
+ items: [
185
+ 'Take a test exposure and inspect the corners at 100 percent.',
186
+ 'Check the histogram for clipped highlights and excessive sky glow.',
187
+ 'Keep focus, white balance and exposure settings fixed across the stack.',
188
+ 'Leave time for dark frames or calibration frames when your workflow needs them.',
189
+ ],
190
+ },
191
+ {
192
+ type: 'title',
193
+ text: 'What changes when a mount tracks',
194
+ level: 2,
195
+ },
196
+ {
197
+ type: 'paragraph',
198
+ html: 'Selecting Tracking mount switches the plan to the tracked exposure you enter. NPF and the rule of 500 stay visible as untracked comparison baselines, but they no longer determine the frame count. Polar alignment, periodic error, guiding quality, wind, sky brightness and the target position can all become the new limit. The correct next step is a test sequence, not blind trust in a larger ceiling.',
199
+ },
200
+ {
201
+ type: 'paragraph',
202
+ html: 'For a tracked deep sky session, the stack may be constrained by sky brightness or sensor saturation before star motion becomes the main problem. A shorter series can also be more robust when clouds, aircraft or vibration make some frames unusable. Use the planner to make the tradeoff visible, then adapt the session to what the test frame actually shows.',
203
+ },
204
+ {
205
+ type: 'tip',
206
+ title: 'Evidence before the full stack',
207
+ html: 'NASA recommends steadiness, locked focus, controlled exposure and post processing for beginner astrophotography. The Society of Astronomy of Le Havre documents the NPF equation and its limits for night landscape photography. Neither source certifies a particular camera, lens or mount combination.',
208
+ },
209
+ ],
210
+ faq: [
211
+ {
212
+ question: 'Should I use NPF or the rule of 500?',
213
+ answer: 'Use NPF as the more camera aware starting point when you know your aperture and pixel pitch. Use the rule of 500 as a quick comparison, and test either result at full resolution before the full session.',
214
+ },
215
+ {
216
+ question: 'What does the frame count include?',
217
+ answer: 'It is the number of complete light frames needed to meet or slightly exceed your desired total integration at the selected ceiling. It does not include darks, flats, bias frames, interval gaps or rejected images.',
218
+ },
219
+ {
220
+ question: 'Does the tracking option calculate guiding accuracy?',
221
+ answer: 'No. It changes the interpretation of the output. The displayed ceiling remains an untracked baseline, while mount alignment, guiding and sky brightness must be checked with test frames.',
222
+ },
223
+ ],
224
+ howTo: [
225
+ { name: 'Enter camera geometry', text: 'Enter focal length, aperture, pixel pitch and target declination for the setup you will use.' },
226
+ { name: 'Choose a comparison method', text: 'Select NPF for the camera aware estimate or the rule of 500 for the fast sensor crop estimate.' },
227
+ { name: 'Set the total integration', text: 'Enter the useful exposure time you want and use the timeline to see the resulting frame workload.' },
228
+ { name: 'Validate in the field', text: 'Capture a test frame, inspect star shape and sky glow, and adjust your session before starting the full stack.' },
229
+ ],
230
+ bibliography: ASTROPHOTOGRAPHY_EXPOSURE_BIBLIOGRAPHY,
231
+ schemas: [softwareSchema, faqSchema, howToSchema],
232
+ };
@@ -0,0 +1,52 @@
1
+ import { createLocalizedContent } from '../localized';
2
+
3
+ export const content = createLocalizedContent({
4
+ slug: 'planificador-apilado-exposiciones-astrofotografia',
5
+ title: 'Planificador de apilado de exposiciones para astrofotografía',
6
+ description: 'Planifica sesiones de astrofotografía con límites NPF y regla de 500, número de tomas, integración total y tiempo real de campo.',
7
+ ui: {
8
+ cameraLegend: 'Geometría de la cámara', focalLabel: 'Distancia focal', focalHelp: 'Distancia focal del objetivo o telescopio en mm',
9
+ apertureLabel: 'Apertura', apertureHelp: 'Usa el número f del objetivo, por ejemplo 2,8', pixelPitchLabel: 'Tamaño de píxel', pixelPitchHelp: 'Tamaño físico del fotosito en micrómetros',
10
+ declinationLabel: 'Declinación del objetivo', declinationHelp: 'Declinación absoluta en grados', sensorLabel: 'Formato del sensor',
11
+ sensorOptions: { fullFrame: 'Formato completo', apsC: 'APS C', microFourThirds: 'Micro Cuatro Tercios', phone: 'Sensor de móvil' },
12
+ ruleLabel: 'Límite de exposición', ruleNpf: 'Fórmula NPF', rule500: 'Regla de 500', trackingLabel: 'Estado de la montura', untracked: 'Sin seguimiento', tracked: 'Montura con seguimiento',
13
+ trackingExposureLabel: 'Exposición seguida por toma', trackingExposureHelp: 'Solo se usa con montura con seguimiento. Empieza con 30 a 120 s y valida con tomas de prueba.',
14
+ deadTimeLabel: 'Tiempo muerto entre tomas', deadTimeHelp: 'Empieza con unos 2 s y ajústalo al búfer, guardado y pausa de tu cámara.',
15
+ totalIntegrationLabel: 'Integración total deseada', totalIntegrationHelp: 'El tiempo útil de exposición que quieres recopilar', resultTitle: 'Tu plan de captura', resultKicker: 'Un punto de partida para la noche', secondsUnit: 'por toma', framesLabel: 'tomas',
16
+ totalTimeLabel: 'Integración planificada', sessionTimeLabel: 'Estimación de sesión', gainLabel: 'Ganancia ideal del apilado', sessionDetail: 'Incluye {dead} entre tomas: {deadTotal} de tiempo de intervalo.',
17
+ workloadText: '{frames} ciclos de obturador. La estimación de campo incluye el tiempo muerto entre tomas.', highWorkloadText: '{frames} ciclos de obturador. Considera obturador electrónico, baterías y almacenamiento. Tiempo estimado de campo: {session}.',
18
+ sensorPixelWarning: 'Comprueba las especificaciones: {pixel} es un tamaño de píxel grande para APS C y puede hacer que el límite NPF real sea menor.', comparisonTitle: 'Dos límites, una decisión', npfLabel: 'Límite NPF', rule500Label: 'Límite de regla de 500', deltaLabel: 'Diferencia NPF',
19
+ timelineTitle: 'El apilado como una franja de luz', timelineStart: 'primera toma', timelineEnd: 'última toma', trackingNote: 'El seguimiento está activo. El plan usa {ceiling} por toma, con {frames} tomas y unas {session} de campo. Valida esta duración con alineación, guiado y una toma de prueba; NPF sigue siendo la referencia sin seguimiento.',
20
+ untrackedNote: 'Usa {ceiling} como límite inicial y revisa una toma a resolución completa para comprobar las estrellas y el brillo del cielo.', methodTitle: 'Cómo se construye la estimación', methodText: 'La ruta NPF usa apertura, distancia focal, tamaño de píxel y declinación para estimar cuándo el movimiento estelar será visible a nivel de píxel. La regla de 500 usa distancia focal y factor de recorte. Ambas son heurísticas geométricas para cámaras sin seguimiento. Con una montura seguida, el plan usa la exposición que introduzcas y no pretende certificar la montura.',
21
+ limitsTitle: 'Límite de campo', limitsText: 'El seguimiento, un cielo brillante, un recorte de alta resolución, el viento o el desenfoque pueden cambiar la exposición práctica. Haz una toma de prueba y deja que las esquinas, el histograma y la montura decidan.', startingStatus: 'Revisando datos', formulaLabel: 'Fórmulas de referencia', formulaNpf: 'NPF: (16,9 x apertura + 0,10 x distancia focal + 13,7 x tamaño de píxel) / (distancia focal x coseno de declinación).', formula500: 'Regla de 500: 500 / (distancia focal x factor de recorte del sensor).', presetsLabel: 'Configuraciones rápidas', presets: { milkyWay: '24 mm formato completo', wideAngle: '14 mm gran angular', telephoto: '85 mm teleobjetivo' },
22
+ },
23
+ seo: [
24
+ { type: 'title', text: 'Por qué un apilado necesita un límite', level: 2 },
25
+ { type: 'paragraph', html: 'Un apilado reúne tomas separadas que después se alinean y combinan. El objetivo es acumular señal manteniendo cada archivo útil. Con una cámara fija, una exposición demasiado larga estira las estrellas por el movimiento aparente del cielo. Una exposición demasiado corta puede hacer ineficiente la sesión por el ruido de lectura y las pausas entre archivos. Por eso hacen falta un límite por toma y un objetivo de integración total.' },
26
+ { type: 'paragraph', html: 'Esta herramienta convierte esas decisiones en un plan concreto. Calcula una referencia NPF y otra basada en la regla de 500, divide la integración deseada en tomas completas y añade el tiempo muerto entre archivos. La última toma puede superar ligeramente el tiempo solicitado porque una cámara no puede capturar una fracción de toma.' },
27
+ { type: 'list', items: ['Usa NPF cuando conozcas la apertura y el tamaño de píxel.', 'Usa la regla de 500 como comparación rápida con el recorte del sensor.', 'Interpreta el número de tomas como carga real de almacenamiento y revisión.', 'Haz una toma de prueba antes de iniciar toda la secuencia.'] },
28
+ { type: 'tip', title: 'Un límite no es una promesa', html: 'Comprueba las estrellas brillantes y las esquinas a resolución completa. El viento, el coma, el enfoque o una pequeña vibración pueden importar más que una fórmula correcta sobre el papel.' },
29
+ { type: 'title', text: 'NPF y regla de 500 responden preguntas distintas', level: 2 },
30
+ { type: 'paragraph', html: 'La regla de 500 es rápida y ajusta la distancia focal al factor de recorte. No incluye tamaño de píxel, apertura ni declinación. NPF añade esas variables y permite una estimación más cercana a una combinación concreta de cámara y objetivo, aunque continúa siendo una heurística para una cámara sin seguimiento.' },
31
+ { type: 'title', text: 'Cómo convertir el resultado en una sesión', level: 2 },
32
+ { type: 'paragraph', html: 'Introduce los valores físicos del equipo que llevarás al campo. No uses una distancia focal equivalente si ya has introducido la distancia focal real y el formato del sensor. Para el tamaño de píxel, consulta las especificaciones del modelo y trata el resultado como provisional si la fuente no es fiable.' },
33
+ { type: 'list', items: ['Revisa las esquinas de una toma de prueba al cien por cien.', 'Comprueba el histograma y las altas luces.', 'Mantén constantes el enfoque y los ajustes durante el apilado.', 'Reserva tiempo para tomas oscuras y otros archivos de calibración.'] },
34
+ { type: 'title', text: 'Qué cambia cuando la montura hace seguimiento', level: 2 },
35
+ { type: 'paragraph', html: 'Al seleccionar una montura con seguimiento, la herramienta usa la duración seguida que introduzcas para calcular las tomas. NPF y la regla de 500 permanecen visibles como referencias sin seguimiento, pero ya no determinan el número de archivos. La alineación polar, el error periódico, el guiado, el viento, el brillo del cielo y la saturación pueden ser el nuevo límite.' },
36
+ { type: 'tip', title: 'Evidencia antes de la secuencia completa', html: 'Haz una serie corta de prueba, amplía las esquinas y verifica que la montura mantiene las estrellas. Ajusta la exposición seguida antes de comprometer dos horas de cielo oscuro.' },
37
+ { type: 'paragraph', html: 'Un ejemplo muestra la diferencia: con 35 mm, APS C, 5,9 micrómetros y 5 grados de declinación, el límite NPF ronda los 3,8 segundos. Sin seguimiento, dos horas exigen unas 1.907 tomas. Con una montura seguida y 120 segundos por toma bastan 60 archivos; cinco segundos de pausa por toma solo añaden cinco minutos a la sesión.' },
38
+ { type: 'paragraph', html: 'Separa el tiempo de integración del tiempo real de campo. Las pausas de guardado, la comprobación del enfoque, el dithering, los cambios de batería y las tomas descartadas forman parte de la noche aunque no sumen señal. Con muchas tomas cortas, el obturador electrónico puede reducir el desgaste mecánico, pero debes comprobar el búfer y el espacio disponible.' },
39
+ { type: 'tip', title: 'Comprueba píxel y sensor', html: 'APS C con 5,9 micrómetros es una combinación poco habitual en cámaras modernas de alta resolución. Si el tamaño real del píxel es menor, el límite NPF será más corto. Verifica el modelo exacto y haz una toma de prueba antes de iniciar toda la secuencia.' },
40
+ ],
41
+ faq: [
42
+ { question: '¿Debo usar NPF o la regla de 500?', answer: 'Usa NPF como punto de partida más cercano a la cámara cuando conozcas la apertura y el tamaño de píxel. Usa la regla de 500 como comparación rápida y prueba cualquiera de los dos resultados a resolución completa.' },
43
+ { question: '¿Qué incluye el número de tomas?', answer: 'Es el número de tomas de luz completas necesarias para alcanzar o superar ligeramente la integración deseada. No incluye tomas oscuras, planas, bias, intervalos ni archivos rechazados.' },
44
+ { question: '¿El modo de seguimiento calcula la precisión del guiado?', answer: 'No. Usa la duración seguida que introduzcas. La alineación, el guiado y el brillo del cielo deben validarse con tomas reales.' },
45
+ ],
46
+ howTo: [
47
+ { name: 'Introduce la geometría', text: 'Escribe distancia focal, apertura, tamaño de píxel y declinación del objetivo.' },
48
+ { name: 'Elige el modo', text: 'Selecciona NPF o regla de 500 sin seguimiento, o activa seguimiento y define la exposición por toma.' },
49
+ { name: 'Define la integración', text: 'Introduce el tiempo útil total y revisa el número de tomas y la duración real de campo.' },
50
+ { name: 'Valida en el campo', text: 'Haz una toma de prueba, revisa estrellas e histograma y ajusta la secuencia.' },
51
+ ],
52
+ });
@@ -0,0 +1,40 @@
1
+ import { createLocalizedContent } from '../localized';
2
+
3
+ export const content = createLocalizedContent({
4
+ slug: "planificateur-empilement-expositions-astrophotographie",
5
+ title: "Planificateur d empilement d expositions pour astrophotographie",
6
+ description: "Préparez une session d astrophotographie avec les limites NPF et règle des 500, le nombre d images, l intégration totale et le temps réel sur le terrain.",
7
+ ui: {
8
+ cameraLegend: "Géométrie de la caméra", focalLabel: "Focale", focalHelp: "Focale de objectif ou de télescope en mm", apertureLabel: "Ouverture", apertureHelp: "Utilisez le nombre f, par exemple 2,8", pixelPitchLabel: "Taille des pixels", pixelPitchHelp: "Taille physique du photosite en micromètres", declinationLabel: "Déclinaison de la cible", declinationHelp: "Déclinaison absolue en degrés", sensorLabel: "Format du capteur", sensorOptions: { fullFrame: "Plein format", apsC: "APS C", microFourThirds: "Micro quatre tiers", phone: "Capteur de téléphone" },
9
+ ruleLabel: "Limite d exposition", ruleNpf: "Formule NPF", rule500: "Règle des 500", trackingLabel: "État de la monture", untracked: "Sans suivi", tracked: "Monture avec suivi", trackingExposureLabel: "Exposition suivie par image", trackingExposureHelp: "Utilisé seulement avec une monture suivie. Commencez entre 30 et 120 s et vérifiez avec des images test.", deadTimeLabel: "Temps mort entre les images", deadTimeHelp: "Commencez autour de 2 s, puis adaptez au tampon, à écriture et à intervalle de votre appareil.", totalIntegrationLabel: "Intégration totale souhaitée", totalIntegrationHelp: "Le temps d exposition utile que vous souhaitez accumuler", resultTitle: "Votre plan de capture", resultKicker: "Un point de départ pour la nuit", secondsUnit: "par image", framesLabel: "images", totalTimeLabel: "Intégration prévue", sessionTimeLabel: "Durée estimée sur le terrain", gainLabel: "Gain idéal de empilement", sessionDetail: "Inclut {dead} entre les images: {deadTotal} de temps d intervalle.", workloadText: "{frames} cycles de déclenchement. La durée sur le terrain inclut le temps mort entre les images.", highWorkloadText: "{frames} cycles de déclenchement. Prévoyez un obturateur électronique, des batteries et du stockage. Durée estimée: {session}.", sensorPixelWarning: "Vérifiez les caractéristiques: {pixel} est une grande taille de pixel pour un APS C et peut réduire la limite NPF.", comparisonTitle: "Deux limites, un choix", npfLabel: "Limite NPF", rule500Label: "Limite de la règle des 500", deltaLabel: "Écart NPF", timelineTitle: "L empilement comme bande de lumière", timelineStart: "première image", timelineEnd: "dernière image", trackingNote: "Le suivi est actif. Le plan utilise {ceiling} par image, soit {frames} images et environ {session} sur le terrain. Validez cette durée avec la mise en station, le guidage et une image test; NPF reste la référence sans suivi.", untrackedNote: "Utilisez {ceiling} comme limite de départ, puis examinez une image en pleine résolution pour la forme des étoiles et la luminosité du ciel.", methodTitle: "Construction de l estimation", methodText: "La méthode NPF utilise ouverture, focale, taille des pixels et déclinaison pour estimer le mouvement stellaire visible au niveau du pixel. La règle des 500 utilise la focale et le facteur de recadrage. Ce sont des heuristiques géométriques pour un appareil sans suivi. Avec une monture suivie, le plan utilise la durée saisie et ne certifie pas la monture.", limitsTitle: "Limite sur le terrain", limitsText: "Le suivi, un ciel clair, un recadrage haute résolution, le vent ou la dérive de mise au point peuvent modifier exposition pratique. Faites une image test et observez les coins, histogramme et monture.", startingStatus: "Vérification des valeurs", formulaLabel: "Formules de référence", formulaNpf: "NPF: (16,9 x ouverture + 0,10 x focale + 13,7 x taille des pixels) / (focale x cosinus de la déclinaison).", formula500: "Règle des 500: 500 / (focale x facteur de recadrage du capteur).", presetsLabel: "Configurations rapides", presets: { milkyWay: "24 mm plein format", wideAngle: "14 mm grand angle", telephoto: "85 mm téléobjectif" },
10
+ },
11
+ seo: [
12
+ { type: "title", text: "Pourquoi un empilement a besoin d une limite", level: 2 },
13
+ { type: "paragraph", html: "Un empilement rassemble des images séparées qui seront alignées et combinées ensuite. Il permet d accumuler du signal tout en gardant chaque image exploitable. Avec un appareil fixe, une pose trop longue étire les étoiles à cause du mouvement apparent du ciel. Des poses trop courtes rendent la session inefficace à cause du bruit de lecture et des pauses d enregistrement." },
14
+ { type: "paragraph", html: "Cet outil compare les estimations NPF et règle des 500, divise intégration voulue en images complètes et ajoute le temps mort entre les fichiers. La dernière image peut dépasser légèrement la durée demandée, car une fraction d exposition est impossible." },
15
+ { type: "list", items: ["Utilisez NPF si vous connaissez ouverture et taille des pixels.", "Comparez avec la règle des 500 et le facteur de recadrage.", "Considérez le nombre d images comme une charge de stockage et de tri.", "Faites une image test avant la séquence complète."] },
16
+ { type: "tip", title: "Une limite n est pas une promesse", html: "Contrôlez les étoiles brillantes et les coins en pleine résolution. Vent, coma, dérive de mise au point et vibrations peuvent compter davantage que la formule." },
17
+ { type: "title", text: "NPF et règle des 500 répondent à des questions différentes", level: 2 },
18
+ { type: "paragraph", html: "La règle des 500 est rapide et tient compte du recadrage du capteur, mais ignore taille des pixels, ouverture et déclinaison. NPF ajoute ces variables et s adapte mieux à un ensemble caméra objectif, tout en restant une heuristique pour un appareil sans suivi." },
19
+ { type: "title", text: "Transformer le résultat en session nocturne", level: 2 },
20
+ { type: "paragraph", html: "Saisissez les valeurs réelles de équipement utilisé sur le terrain. N entrez pas une focale équivalente si la focale réelle et le format du capteur sont déjà séparés. Pour la taille des pixels, utilisez la fiche technique exacte du modèle." },
21
+ { type: "list", items: ["Examinez les coins d une image test à cent pour cent.", "Vérifiez histogramme et hautes lumières.", "Conservez mise au point et réglages constants.", "Réservez du temps aux images noires et à la calibration."] },
22
+ { type: "title", text: "Ce qui change avec une monture suivie", level: 2 },
23
+ { type: "paragraph", html: "Quand le suivi est activé, outil utilise la durée d exposition saisie. NPF et la règle des 500 restent visibles comme références sans suivi, mais ne fixent plus le nombre d images. Mise en station, erreur périodique, guidage, vent, luminosité du ciel et saturation peuvent devenir la nouvelle limite." },
24
+ { type: "tip", title: "La preuve avant la séquence complète", html: "Faites une courte série test, agrandissez les coins et vérifiez les étoiles. Ajustez la durée suivie avant de réserver deux heures de ciel sombre." },
25
+ { type: 'paragraph', html: "Un exemple montre la différence: avec 35 mm, APS C, 5,9 micromètres et 5 degrés de déclinaison, la limite NPF est proche de 3,8 secondes. Sans suivi, deux heures demandent environ 1 907 images. Avec une monture suivie et 120 secondes par image, 60 images suffisent; cinq secondes entre les images n ajoutent que cinq minutes au temps sur le terrain." },
26
+ { type: 'paragraph', html: "Séparez le temps d intégration du temps réel de la séance. Les pauses d écriture, la vérification de la mise au point, le dithering, les changements de batterie et les images rejetées doivent entrer dans votre plan, même s ils n ajoutent aucun signal. Avec de nombreuses poses courtes, l obturateur électronique peut réduire l usure mécanique, mais le tampon et le stockage doivent être vérifiés." },
27
+ { type: 'tip', title: 'Vérifier le pixel et le capteur', html: "Une combinaison APS C et 5,9 micromètres est inhabituelle pour un appareil moderne à haute résolution. Si le pixel réel est plus petit, la limite NPF sera plus courte. Vérifiez le modèle exact et faites une image test avant de lancer toute la séquence." },
28
+ ],
29
+ faq: [
30
+ { question: "Faut il utiliser NPF ou la règle des 500?", answer: "Utilisez NPF comme point de départ plus adapté à la caméra si ouverture et taille des pixels sont connues. Utilisez la règle des 500 pour une comparaison rapide, puis testez le résultat en pleine résolution." },
31
+ { question: "Que comprend le nombre d images?", answer: "Il compte les images de lumière complètes nécessaires pour atteindre ou dépasser légèrement intégration souhaitée. Les noirs, flats, bias, pauses et images rejetées ne sont pas inclus." },
32
+ { question: "Le mode suivi calcule t il la précision du guidage?", answer: "Non. Il utilise la durée suivie saisie. La mise en station, le guidage et la luminosité du ciel doivent être vérifiés avec des images test." },
33
+ ],
34
+ howTo: [
35
+ { name: "Saisir la géométrie", text: "Entrez la focale, ouverture, taille des pixels et déclinaison de la cible." },
36
+ { name: "Choisir le mode", text: "Sélectionnez NPF ou règle des 500 sans suivi, ou activez le suivi et définissez la durée par image." },
37
+ { name: "Définir intégration", text: "Entrez le temps utile total et consultez le nombre d images et la durée sur le terrain." },
38
+ { name: "Valider sur le terrain", text: "Faites une image test, contrôlez étoiles et histogramme, puis ajustez la séquence." },
39
+ ],
40
+ });
@@ -0,0 +1,40 @@
1
+ import { createLocalizedContent } from '../localized';
2
+
3
+ export const content = createLocalizedContent({
4
+ slug: 'perencana-tumpukan-eksposur-astrofotografi',
5
+ title: 'Perencana Tumpukan Eksposur Astrofotografi',
6
+ description: 'Rencanakan sesi astrofotografi dengan batas eksposur NPF dan aturan 500, jumlah frame, integrasi total, dan durasi lapangan.',
7
+ ui: {
8
+ cameraLegend: 'Geometri kamera', focalLabel: 'Panjang fokus', focalHelp: 'Panjang fokus lensa atau teleskop dalam mm', apertureLabel: 'Bukaan', apertureHelp: 'Gunakan angka f, misalnya 2,8', pixelPitchLabel: 'Pitch piksel', pixelPitchHelp: 'Ukuran fisik fotosit dalam mikrometer', declinationLabel: 'Deklinasi target', declinationHelp: 'Deklinasi absolut dalam derajat', sensorLabel: 'Format sensor', sensorOptions: { fullFrame: 'Full frame', apsC: 'APS C', microFourThirds: 'Micro Four Thirds', phone: 'Sensor ponsel' },
9
+ ruleLabel: 'Batas eksposur', ruleNpf: 'Rumus NPF', rule500: 'Aturan 500', trackingLabel: 'Status dudukan', untracked: 'Tanpa pelacakan', tracked: 'Dudukan pelacak', trackingExposureLabel: 'Eksposur per frame dengan pelacakan', trackingExposureHelp: 'Hanya digunakan dengan dudukan pelacak. Mulai sekitar 30 sampai 120 dtk dan periksa frame uji.', deadTimeLabel: 'Waktu jeda antarframe', deadTimeHelp: 'Mulai sekitar 2 dtk, lalu sesuaikan dengan buffer, penulisan kartu, dan interval kamera.', totalIntegrationLabel: 'Integrasi total yang diinginkan', totalIntegrationHelp: 'Waktu eksposur berguna yang ingin dikumpulkan', resultTitle: 'Rencana pengambilan Anda', resultKicker: 'Titik awal untuk malam ini', secondsUnit: 'per frame', framesLabel: 'frame', totalTimeLabel: 'Integrasi terencana', sessionTimeLabel: 'Perkiraan durasi lapangan', gainLabel: 'Penguatan stacking ideal', sessionDetail: 'Termasuk {dead} antarframe: {deadTotal} waktu interval.', workloadText: '{frames} siklus rana. Perkiraan lapangan sudah memasukkan jeda antarframe.', highWorkloadText: '{frames} siklus rana. Pertimbangkan rana elektronik, baterai, dan penyimpanan. Perkiraan waktu lapangan: {session}.', sensorPixelWarning: 'Periksa spesifikasi kamera: {pixel} cukup besar untuk APS C dan dapat membuat batas NPF lebih pendek.', comparisonTitle: 'Dua batas, satu keputusan', npfLabel: 'Batas NPF', rule500Label: 'Batas aturan 500', deltaLabel: 'Perbedaan NPF', timelineTitle: 'Stack sebagai jalur cahaya', timelineStart: 'frame pertama', timelineEnd: 'frame terakhir', trackingNote: 'Pelacakan aktif. Rencana memakai {ceiling} per frame, sehingga perlu {frames} frame dan sekitar {session} di lapangan. Validasi durasi ini dengan alignment, guiding, dan frame uji; NPF tetap menjadi pembanding tanpa pelacakan.', untrackedNote: 'Gunakan {ceiling} sebagai batas awal, lalu periksa frame uji pada resolusi penuh untuk bentuk bintang dan cahaya langit.', methodTitle: 'Cara perkiraan ini dibuat', methodText: 'Metode NPF memakai bukaan, panjang fokus, pitch piksel, dan deklinasi target untuk memperkirakan gerak bintang yang terlihat pada tingkat piksel. Aturan 500 hanya memakai panjang fokus dan faktor crop sensor. Keduanya adalah heuristik geometris untuk kamera tanpa pelacakan. Saat dudukan pelacak dipilih, rencana memakai durasi yang Anda masukkan dan tidak mengesahkan kemampuan dudukan.', limitsTitle: 'Batas di lapangan', limitsText: 'Pelacakan, langit terang, crop resolusi tinggi, angin, atau pergeseran fokus dapat mengubah eksposur praktis. Ambil frame uji dan biarkan sudut gambar, histogram, serta perilaku dudukan yang menentukan.', startingStatus: 'Memeriksa input', formulaLabel: 'Rumus referensi', formulaNpf: 'NPF: (16,9 x bukaan + 0,10 x panjang fokus + 13,7 x pitch piksel) / (panjang fokus x cosinus deklinasi).', formula500: 'Aturan 500: 500 / (panjang fokus x faktor crop sensor).', presetsLabel: 'Setelan cepat', presets: { milkyWay: '24 mm full frame', wideAngle: '14 mm sudut lebar', telephoto: '85 mm telefoto' },
10
+ },
11
+ seo: [
12
+ { type: 'title', text: 'Mengapa tumpukan eksposur membutuhkan batas', level: 2 },
13
+ { type: 'paragraph', html: 'Tumpukan eksposur terdiri dari frame terpisah yang disejajarkan dan digabungkan kemudian. Tujuannya mengumpulkan lebih banyak sinyal sambil mempertahankan frame yang dapat digunakan. Pada kamera tetap, eksposur terlalu lama membuat bintang memanjang karena gerak langit. Eksposur terlalu singkat juga dapat membuat sesi tidak efisien karena noise baca dan jeda penyimpanan.' },
14
+ { type: 'paragraph', html: 'Perencana ini mengubah dua keputusan tersebut menjadi rencana pengambilan yang jelas. Alat ini membandingkan batas NPF dan aturan 500, membagi integrasi yang diminta menjadi frame lengkap, lalu menambahkan waktu jeda antarfile. Frame terakhir dapat sedikit melewati durasi yang diminta karena kamera tidak dapat mengambil pecahan frame.' },
15
+ { type: 'list', items: ['Gunakan NPF jika bukaan dan pitch piksel diketahui.', 'Gunakan aturan 500 sebagai perbandingan cepat dengan crop sensor.', 'Anggap jumlah frame sebagai beban nyata untuk penyimpanan dan penyortiran.', 'Ambil satu frame uji sebelum memulai seluruh stack.'] },
16
+ { type: 'tip', title: 'Batas bukan jaminan', html: 'Periksa bintang terang dan sudut gambar pada resolusi penuh. Angin, coma lensa, pergeseran fokus, dan getaran bisa lebih penting daripada rumus.' },
17
+ { type: 'title', text: 'NPF dan aturan 500 menjawab pertanyaan yang berbeda', level: 2 },
18
+ { type: 'paragraph', html: 'Aturan 500 bersifat cepat dan menyesuaikan panjang fokus dengan crop sensor. Rumus ini tidak memakai pitch piksel, bukaan, atau deklinasi. NPF menambahkan variabel tersebut sehingga lebih dekat dengan kamera dan lensa tertentu, tetapi tetap merupakan heuristik untuk kamera tanpa pelacakan.' },
19
+ { type: 'title', text: 'Mengubah hasil menjadi sesi malam', level: 2 },
20
+ { type: 'paragraph', html: 'Masukkan nilai fisik dari peralatan yang benar-benar dibawa ke lapangan. Jangan memasukkan panjang fokus ekuivalen jika panjang fokus nyata dan format sensor sudah dicatat terpisah. Gunakan spesifikasi model kamera yang tepat untuk pitch piksel.' },
21
+ { type: 'list', items: ['Periksa sudut frame uji pada pembesaran penuh.', 'Periksa histogram dan sorotan yang klip.', 'Pertahankan fokus dan setelan selama stack.', 'Sediakan waktu untuk dark frame dan kalibrasi.'] },
22
+ { type: 'title', text: 'Apa yang berubah saat dudukan melakukan pelacakan', level: 2 },
23
+ { type: 'paragraph', html: 'Saat pelacakan dipilih, alat memakai durasi eksposur per frame yang Anda masukkan. NPF dan aturan 500 tetap terlihat sebagai pembanding tanpa pelacakan, tetapi tidak lagi menentukan jumlah frame. Polar alignment, error periodik, guiding, angin, kecerahan langit, dan saturasi dapat menjadi batas baru.' },
24
+ { type: 'tip', title: 'Bukti sebelum seluruh stack', html: 'Ambil rangkaian uji singkat, perbesar sudut gambar, dan periksa bintang. Sesuaikan durasi dengan pelacakan sebelum menggunakan dua jam langit gelap.' },
25
+ { type: 'paragraph', html: 'Contoh ini menunjukkan perbedaannya: pada 35 mm, APS C, 5,9 mikrometer, dan deklinasi 5 derajat, batas NPF sekitar 3,8 detik. Tanpa pelacakan, dua jam memerlukan sekitar 1.907 frame. Dengan dudukan pelacak dan 120 detik per frame, 60 frame sudah cukup; jeda lima detik per frame hanya menambah lima menit waktu di lapangan.' },
26
+ { type: 'paragraph', html: 'Pisahkan waktu integrasi dari durasi sesi sebenarnya. Jeda penulisan kartu, pemeriksaan fokus, dithering, pergantian baterai, dan frame yang ditolak harus masuk dalam rencana malam, meskipun tidak menambah sinyal. Untuk ribuan frame pendek, rana elektronik dapat mengurangi keausan mekanis, tetapi buffer dan kapasitas penyimpanan tetap harus diperiksa.' },
27
+ { type: 'tip', title: 'Periksa ukuran piksel dan sensor', html: 'APS C dengan piksel 5,9 mikrometer tidak umum pada kamera modern beresolusi tinggi. Jika piksel sebenarnya lebih kecil, batas NPF akan lebih pendek. Periksa model kamera yang tepat dan ambil satu frame uji sebelum memulai seluruh urutan.' },
28
+ ],
29
+ faq: [
30
+ { question: 'Sebaiknya memakai NPF atau aturan 500?', answer: 'Gunakan NPF sebagai titik awal yang lebih dekat dengan kamera jika bukaan dan pitch piksel diketahui. Gunakan aturan 500 sebagai perbandingan cepat, lalu uji hasilnya pada resolusi penuh.' },
31
+ { question: 'Apa yang termasuk dalam jumlah frame?', answer: 'Jumlah ini adalah frame cahaya lengkap untuk mencapai atau sedikit melewati integrasi yang diinginkan. Dark, flat, bias, jeda, dan frame yang ditolak tidak termasuk.' },
32
+ { question: 'Apakah mode pelacakan menghitung akurasi guiding?', answer: 'Tidak. Mode ini memakai durasi pelacakan yang Anda masukkan. Alignment, guiding, dan kecerahan langit harus diuji dengan frame nyata.' },
33
+ ],
34
+ howTo: [
35
+ { name: 'Masukkan geometri kamera', text: 'Masukkan panjang fokus, bukaan, pitch piksel, dan deklinasi target.' },
36
+ { name: 'Pilih mode', text: 'Pilih NPF atau aturan 500 tanpa pelacakan, atau aktifkan pelacakan dan tentukan durasi per frame.' },
37
+ { name: 'Tentukan integrasi', text: 'Masukkan waktu total yang berguna dan lihat jumlah frame serta durasi lapangan.' },
38
+ { name: 'Validasi di lapangan', text: 'Ambil frame uji, periksa bintang dan histogram, lalu sesuaikan rangkaian.' },
39
+ ],
40
+ });
@@ -0,0 +1,40 @@
1
+ import { createLocalizedContent } from '../localized';
2
+
3
+ export const content = createLocalizedContent({
4
+ slug: "pianificatore-stacking-esposizioni-astrofotografia",
5
+ title: "Pianificatore di stacking delle esposizioni per astrofotografia",
6
+ description: "Pianifica sessioni di astrofotografia con limiti NPF e regola del 500, numero di scatti, integrazione totale e tempo reale sul campo.",
7
+ ui: {
8
+ cameraLegend: "Geometria della fotocamera", focalLabel: "Lunghezza focale", focalHelp: "Lunghezza focale di obiettivo o telescopio in mm", apertureLabel: "Apertura", apertureHelp: "Usa il numero f, per esempio 2,8", pixelPitchLabel: "Passo dei pixel", pixelPitchHelp: "Dimensione fisica del fotosito in micrometri", declinationLabel: "Declinazione del soggetto", declinationHelp: "Declinazione assoluta in gradi", sensorLabel: "Formato del sensore", sensorOptions: { fullFrame: "Full frame", apsC: "APS C", microFourThirds: "Micro quattro terzi", phone: "Sensore del telefono" },
9
+ ruleLabel: "Limite di esposizione", ruleNpf: "Formula NPF", rule500: "Regola del 500", trackingLabel: "Stato della montatura", untracked: "Senza inseguimento", tracked: "Montatura con inseguimento", trackingExposureLabel: "Esposizione inseguita per scatto", trackingExposureHelp: "Usata solo con una montatura con inseguimento. Inizia tra 30 e 120 s e verifica con scatti di prova.", deadTimeLabel: "Tempo morto tra gli scatti", deadTimeHelp: "Inizia con circa 2 s e adatta il valore a buffer, scrittura e intervallo della fotocamera.", totalIntegrationLabel: "Integrazione totale desiderata", totalIntegrationHelp: "Il tempo utile di esposizione che vuoi raccogliere", resultTitle: "Il tuo piano di acquisizione", resultKicker: "Un punto di partenza per la notte", secondsUnit: "per scatto", framesLabel: "scatti", totalTimeLabel: "Integrazione pianificata", sessionTimeLabel: "Stima della sessione", gainLabel: "Guadagno ideale dello stacking", sessionDetail: "Include {dead} tra gli scatti: {deadTotal} di intervallo.", workloadText: "{frames} cicli di otturatore. La stima sul campo include il tempo morto tra gli scatti.", highWorkloadText: "{frames} cicli di otturatore. Valuta otturatore elettronico, batterie e spazio di archiviazione. Tempo stimato sul campo: {session}.", sensorPixelWarning: "Controlla le specifiche: {pixel} è un passo dei pixel grande per APS C e può ridurre il limite NPF.", comparisonTitle: "Due limiti, una scelta", npfLabel: "Limite NPF", rule500Label: "Limite della regola del 500", deltaLabel: "Differenza NPF", timelineTitle: "Lo stacking come striscia di luce", timelineStart: "primo scatto", timelineEnd: "ultimo scatto", trackingNote: "L inseguimento è attivo. Il piano usa {ceiling} per scatto, per {frames} scatti e circa {session} sul campo. Verifica questa durata con allineamento, guida e uno scatto di prova; NPF resta il riferimento senza inseguimento.", untrackedNote: "Usa {ceiling} come limite iniziale e controlla uno scatto alla massima risoluzione per forma delle stelle e luminosità del cielo.", methodTitle: "Come viene costruita la stima", methodText: "Il percorso NPF usa apertura, focale, passo dei pixel e declinazione per stimare quando il movimento stellare diventa visibile a livello di pixel. La regola del 500 usa solo focale e fattore di crop. Sono euristiche geometriche per una fotocamera senza inseguimento. Con una montatura inseguita il piano usa la durata inserita e non certifica la montatura.", limitsTitle: "Limite sul campo", limitsText: "Inseguimento, cielo luminoso, crop ad alta risoluzione, vento o deriva della messa a fuoco possono cambiare esposizione pratica. Fai uno scatto di prova e osserva angoli, istogramma e comportamento della montatura.", startingStatus: "Controllo dei dati", formulaLabel: "Formule di riferimento", formulaNpf: "NPF: (16,9 x apertura + 0,10 x focale + 13,7 x passo dei pixel) / (focale x coseno della declinazione).", formula500: "Regola del 500: 500 / (focale x fattore di crop del sensore).", presetsLabel: "Configurazioni rapide", presets: { milkyWay: "24 mm full frame", wideAngle: "14 mm grandangolo", telephoto: "85 mm teleobiettivo" },
10
+ },
11
+ seo: [
12
+ { type: "title", text: "Perché uno stacking ha bisogno di un limite", level: 2 },
13
+ { type: "paragraph", html: "Uno stacking raccoglie scatti separati che vengono allineati e combinati in seguito. Serve ad accumulare segnale mantenendo ogni file utilizzabile. Con una fotocamera fissa, una posa troppo lunga allunga le stelle per il movimento apparente del cielo. Pose troppo brevi rendono la sessione inefficiente a causa del rumore di lettura e delle pause di salvataggio." },
14
+ { type: "paragraph", html: "Questo strumento confronta NPF e regola del 500, divide integrazione desiderata in scatti completi e aggiunge il tempo morto tra i file. L ultimo scatto può superare leggermente il tempo richiesto, perché non è possibile fare una frazione di esposizione." },
15
+ { type: "list", items: ["Usa NPF quando conosci apertura e passo dei pixel.", "Usa la regola del 500 come confronto rapido con il crop del sensore.", "Considera il numero di scatti come carico reale di memoria e revisione.", "Fai uno scatto di prova prima della sequenza completa."] },
16
+ { type: "tip", title: "Un limite non è una promessa", html: "Controlla stelle luminose e angoli alla massima risoluzione. Vento, coma, deriva del fuoco e vibrazioni possono contare più della formula." },
17
+ { type: "title", text: "NPF e regola del 500 rispondono a domande diverse", level: 2 },
18
+ { type: "paragraph", html: "La regola del 500 è rapida e considera il fattore di crop, ma non include passo dei pixel, apertura o declinazione. NPF aggiunge queste variabili e si adatta meglio a fotocamera e obiettivo, pur restando una euristica per una fotocamera senza inseguimento." },
19
+ { type: "title", text: "Come trasformare il risultato in una sessione notturna", level: 2 },
20
+ { type: "paragraph", html: "Inserisci i valori reali della attrezzatura che userai sul campo. Non inserire la focale equivalente se focale reale e formato del sensore sono già separati. Per il passo dei pixel usa le specifiche esatte del modello." },
21
+ { type: "list", items: ["Controlla gli angoli di uno scatto di prova al cento per cento.", "Verifica istogramma e alte luci.", "Mantieni costanti messa a fuoco e impostazioni.", "Lascia tempo per dark frame e calibrazione."] },
22
+ { type: "title", text: "Cosa cambia con una montatura inseguita", level: 2 },
23
+ { type: "paragraph", html: "Quando inseguimento è attivo, lo strumento usa la durata per scatto che inserisci. NPF e regola del 500 restano visibili come riferimenti senza inseguimento, ma non determinano più il numero di file. Allineamento polare, errore periodico, guida, vento, luminosità del cielo e saturazione possono diventare il nuovo limite." },
24
+ { type: "tip", title: "Prima la prova, poi tutta la sequenza", html: "Fai una breve serie di prova, ingrandisci gli angoli e controlla le stelle. Regola la durata inseguita prima di impegnare due ore di cielo buio." },
25
+ { type: 'paragraph', html: 'Un esempio mostra la differenza: con 35 mm, APS C, 5,9 micrometri e declinazione di 5 gradi, il limite NPF è vicino a 3,8 secondi. Senza inseguimento, due ore richiedono circa 1.907 scatti. Con una montatura guidata e 120 secondi per scatto bastano 60 file; cinque secondi di pausa per scatto aggiungono solo cinque minuti alla sessione sul campo.' },
26
+ { type: 'paragraph', html: 'Tieni separati il tempo di integrazione e la durata reale della sessione. Pause di scrittura, controllo della messa a fuoco, dithering, cambio batterie e scatti scartati devono entrare nel piano della notte, anche se non aggiungono segnale. Con molti scatti brevi, l otturatore elettronico può ridurre l usura meccanica, ma devi controllare buffer e spazio di archiviazione.' },
27
+ { type: 'tip', title: 'Controlla pixel e sensore', html: 'APS C con pixel da 5,9 micrometri è una combinazione insolita nelle fotocamere moderne ad alta risoluzione. Se il pixel reale è più piccolo, il limite NPF sarà più breve. Verifica il modello esatto e realizza uno scatto di prova prima di avviare tutta la sequenza.' },
28
+ ],
29
+ faq: [
30
+ { question: "Devo usare NPF o la regola del 500?", answer: "Usa NPF come punto di partenza più vicino alla fotocamera se conosci apertura e passo dei pixel. Usa la regola del 500 come confronto rapido e prova il risultato alla massima risoluzione." },
31
+ { question: "Cosa comprende il numero di scatti?", answer: "Conta gli scatti di luce completi necessari per raggiungere o superare leggermente integrazione desiderata. Dark, flat, bias, pause e scatti scartati non sono inclusi." },
32
+ { question: "La modalità inseguimento calcola la precisione della guida?", answer: "No. Usa la durata inseguita inserita. Allineamento, guida e luminosità del cielo devono essere verificati con scatti di prova." },
33
+ ],
34
+ howTo: [
35
+ { name: "Inserisci la geometria", text: "Inserisci focale, apertura, passo dei pixel e declinazione del soggetto." },
36
+ { name: "Scegli il metodo", text: "Seleziona NPF o regola del 500 senza inseguimento, oppure attiva inseguimento e imposta la durata per scatto." },
37
+ { name: "Imposta integrazione", text: "Inserisci il tempo utile totale e leggi numero di scatti e durata sul campo." },
38
+ { name: "Valida sul campo", text: "Fai uno scatto di prova, controlla stelle e istogramma e adatta la sequenza." },
39
+ ],
40
+ });
@@ -0,0 +1,40 @@
1
+ import { createLocalizedContent } from '../localized';
2
+
3
+ export const content = createLocalizedContent({
4
+ slug: 'astrophotography-exposure-stacking-planner',
5
+ title: '天体写真露出スタックプランナー',
6
+ description: 'NPF式と500ルール、フレーム数、総露出時間、撮影現場での所要時間を使って天体写真の撮影計画を立てます。',
7
+ ui: {
8
+ cameraLegend: 'カメラの幾何情報', focalLabel: '焦点距離', focalHelp: 'レンズまたは望遠鏡の焦点距離 mm', apertureLabel: '絞り', apertureHelp: '2.8のようなF値を入力', pixelPitchLabel: '画素ピッチ', pixelPitchHelp: 'フォトサイトの物理サイズ マイクロメートル', declinationLabel: '対象の赤緯', declinationHelp: '赤緯の絶対値を度で入力', sensorLabel: 'センサー形式', sensorOptions: { fullFrame: 'フルサイズ', apsC: 'APS C', microFourThirds: 'マイクロフォーサーズ', phone: 'スマートフォン' },
9
+ ruleLabel: '露出上限', ruleNpf: 'NPF式', rule500: '500ルール', trackingLabel: '架台の状態', untracked: '追尾なし', tracked: '追尾架台', trackingExposureLabel: '追尾時の1フレーム露出', trackingExposureHelp: '追尾架台でのみ使用します。まず30から120秒で試し、テスト画像で確認してください。', deadTimeLabel: 'フレーム間の待ち時間', deadTimeHelp: 'まず約2秒にして、バッファやカード書き込みに合わせて調整します。', totalIntegrationLabel: '希望する総露出時間', totalIntegrationHelp: '集めたい有効露出時間', resultTitle: '撮影プラン', resultKicker: '今夜の計画の出発点', secondsUnit: '1フレームあたり', framesLabel: 'フレーム', totalTimeLabel: '計画上の総露出', sessionTimeLabel: '現場での推定時間', gainLabel: '理想的なスタック効果', sessionDetail: 'フレーム間に{dead}を含む待ち時間: {deadTotal}。', workloadText: '{frames}回のシャッター動作。現場時間にはフレーム間の待ち時間が含まれます。', highWorkloadText: '{frames}回のシャッター動作。電子シャッター、予備バッテリー、容量を検討してください。現場推定時間: {session}。', sensorPixelWarning: 'カメラ仕様を確認してください。{pixel}はAPS Cとして大きな画素ピッチで、NPF上限が短くなる可能性があります。', comparisonTitle: '2つの上限から選ぶ', npfLabel: 'NPF上限', rule500Label: '500ルール上限', deltaLabel: 'NPF差', timelineTitle: '光の帯として見るスタック', timelineStart: '最初のフレーム', timelineEnd: '最後のフレーム', trackingNote: '追尾が有効です。プランは1フレーム{ceiling}で、{frames}フレーム、現場時間は約{session}です。極軸合わせ、ガイド、テスト画像でこの時間を確認してください。NPFは追尾なしの比較基準です。', untrackedNote: '{ceiling}を開始時の上限として使い、全解像度のテスト画像で星像と空の明るさを確認してください。', methodTitle: '計算方法', methodText: 'NPFは絞り、焦点距離、画素ピッチ、対象の赤緯から、画素レベルで星の移動が見える時点を推定します。500ルールは焦点距離とセンサーのクロップ係数だけを使います。どちらも追尾なしの幾何学的な目安です。追尾架台では入力した露出時間を使い、架台の性能を保証しません。', limitsTitle: '現場での限界', limitsText: '追尾、明るい空、高解像度の拡大、風、ピント移動によって実用的な露出は変わります。テスト画像を撮り、四隅、ヒストグラム、架台の動きを確認してください。', startingStatus: '入力を確認中', formulaLabel: '参考式', formulaNpf: 'NPF: (16.9 x 絞り + 0.10 x 焦点距離 + 13.7 x 画素ピッチ) / (焦点距離 x 赤緯の余弦)。', formula500: '500ルール: 500 / (焦点距離 x センサークロップ係数)。', presetsLabel: 'クイック設定', presets: { milkyWay: '24 mm フルサイズ', wideAngle: '14 mm 広角', telephoto: '85 mm 望遠' },
10
+ },
11
+ seo: [
12
+ { type: 'title', text: '露出スタックに上限が必要な理由', level: 2 },
13
+ { type: 'paragraph', html: '露出スタックは、後で位置合わせして合成する複数の画像です。1枚ずつを使える状態に保ちながら信号を増やすことが目的です。固定カメラで露出が長すぎると、空の見かけの動きで星が伸びます。短すぎる露出も読み出しノイズや保存の待ち時間で非効率になります。' },
14
+ { type: 'paragraph', html: 'このプランナーは、1枚あたりの上限と総露出時間を具体的な撮影列に変換します。NPFと500ルールを比較し、希望時間を完全なフレームに分け、フレーム間の待ち時間も現場時間に加えます。最後のフレームは端数を撮れないため、希望時間を少し超えることがあります。' },
15
+ { type: 'list', items: ['絞りと画素ピッチが分かるときはNPFを使う。', 'センサーのクロップを含む早い比較には500ルールを使う。', 'フレーム数を保存容量と選別作業の負荷として読む。', '本番前にテスト画像を1枚撮る。'] },
16
+ { type: 'tip', title: '上限は保証ではありません', html: '明るい星と四隅を全解像度で確認してください。風、レンズのコマ、ピント移動、振動は式より大きな影響を持つことがあります。' },
17
+ { type: 'title', text: 'NPFと500ルールは別の問いに答える', level: 2 },
18
+ { type: 'paragraph', html: '500ルールは速く、センサーのクロップ係数を考慮しますが、画素ピッチ、絞り、赤緯は使いません。NPFはそれらを加えるためカメラとレンズに近い推定になりますが、追尾なしの目安にすぎません。' },
19
+ { type: 'title', text: '結果を夜の撮影計画に変える', level: 2 },
20
+ { type: 'paragraph', html: '実際に使う機材の値を入力してください。実焦点距離とセンサー形式を別々に入力している場合、換算焦点距離を重ねて入力しないでください。画素ピッチはカメラ機種の仕様値を使います。' },
21
+ { type: 'list', items: ['テスト画像の四隅を全解像度で見る。', 'ヒストグラムと白飛びを確認する。', 'スタック中はピントと設定を固定する。', 'ダークやキャリブレーション用画像の時間を確保する。'] },
22
+ { type: 'title', text: '追尾架台で変わること', level: 2 },
23
+ { type: 'paragraph', html: '追尾を選ぶと、入力した1フレームの追尾露出を使ってフレーム数を計算します。NPFと500ルールは追尾なしの比較値として残りますが、フレーム数を決めません。極軸合わせ、周期誤差、ガイド、風、空の明るさ、飽和が新しい制限になることがあります。' },
24
+ { type: 'tip', title: '本番前にまず証拠を取る', html: '短いテスト列を撮り、四隅を拡大して星を確認してください。暗い空を2時間使う前に追尾露出を調整しましょう。' },
25
+ { type: 'paragraph', html: '違いを数値で確認できます。35 mm、APS C、5.9 マイクロメートル、赤緯 5 度では、NPF の上限は約 3.8 秒です。追尾なしで 2 時間撮影すると約 1,907 枚になります。追尾架台で 1 枚 120 秒なら 60 枚で済み、1 枚あたり 5 秒の待ち時間を含めても現地時間は 5 分しか増えません。' },
26
+ { type: 'paragraph', html: '積算時間と実際の撮影時間は分けて考えます。カードへの書き込み、ピント確認、ディザリング、電池交換、失敗したフレームの再撮影は、信号を増やさなくても夜の予定に含まれます。短いフレームを大量に撮る場合は電子シャッターで機械的な消耗を減らせますが、バッファと保存容量の確認は必要です。' },
27
+ { type: 'tip', title: '画素ピッチとセンサーを確認', html: 'APS C と 5.9 マイクロメートルの組み合わせは、現代の高画素カメラでは珍しい場合があります。実際の画素がもっと小さければ NPF の上限も短くなります。正確なカメラ型番を確認し、全撮影の前にテストフレームを撮影してください。' },
28
+ ],
29
+ faq: [
30
+ { question: 'NPFと500ルールのどちらを使うべきですか?', answer: '絞りと画素ピッチが分かるなら、カメラに近い出発点としてNPFを使います。500ルールは早い比較に使い、どちらも全解像度のテスト画像で確認してください。' },
31
+ { question: 'フレーム数には何が含まれますか?', answer: '希望する総露出時間に達する、または少し超えるための完全なライトフレーム数です。ダーク、フラット、バイアス、待ち時間、失敗画像は含みません。' },
32
+ { question: '追尾モードはガイド精度を計算しますか?', answer: 'いいえ。入力した追尾露出を使うだけです。極軸合わせ、ガイド、空の明るさは実際のテスト画像で確認してください。' },
33
+ ],
34
+ howTo: [
35
+ { name: 'カメラ情報を入力', text: '焦点距離、絞り、画素ピッチ、対象の赤緯を入力します。' },
36
+ { name: 'モードを選ぶ', text: '追尾なしではNPFまたは500ルールを選び、追尾ありでは1フレームの露出を設定します。' },
37
+ { name: '総露出を決める', text: '有効な総露出時間を入力し、フレーム数と現場時間を確認します。' },
38
+ { name: '現場で検証', text: 'テスト画像を撮り、星像とヒストグラムを確認して撮影列を調整します。' },
39
+ ],
40
+ });
@@ -0,0 +1,40 @@
1
+ import { createLocalizedContent } from '../localized';
2
+
3
+ export const content = createLocalizedContent({
4
+ slug: 'astrophotography-exposure-stacking-planner',
5
+ title: '천체사진 노출 스택 플래너',
6
+ description: 'NPF 공식과 500 법칙, 프레임 수, 총 적분 시간, 실제 촬영 시간을 사용해 천체사진 촬영을 계획합니다.',
7
+ ui: {
8
+ cameraLegend: '카메라 기하 정보', focalLabel: '초점 거리', focalHelp: '렌즈 또는 망원경의 초점 거리 mm', apertureLabel: '조리개', apertureHelp: '2.8과 같은 F값 입력', pixelPitchLabel: '픽셀 피치', pixelPitchHelp: '포토사이트의 실제 크기 마이크로미터', declinationLabel: '대상의 적위', declinationHelp: '절대 적위를 도 단위로 입력', sensorLabel: '센서 형식', sensorOptions: { fullFrame: '풀프레임', apsC: 'APS C', microFourThirds: '마이크로 포서드', phone: '휴대폰 센서' },
9
+ ruleLabel: '노출 상한', ruleNpf: 'NPF 공식', rule500: '500 법칙', trackingLabel: '마운트 상태', untracked: '추적 없음', tracked: '추적 마운트', trackingExposureLabel: '추적 촬영 프레임 노출', trackingExposureHelp: '추적 마운트에서만 사용합니다. 30초에서 120초로 시작하고 테스트 프레임으로 확인하세요.', deadTimeLabel: '프레임 사이 대기 시간', deadTimeHelp: '약 2초로 시작한 뒤 버퍼, 카드 기록, 카메라 인터벌에 맞게 조정하세요.', totalIntegrationLabel: '원하는 총 적분 시간', totalIntegrationHelp: '모으고 싶은 유효 노출 시간', resultTitle: '촬영 계획', resultKicker: '오늘 밤 계획의 시작점', secondsUnit: '프레임당', framesLabel: '프레임', totalTimeLabel: '계획된 적분', sessionTimeLabel: '현장 예상 시간', gainLabel: '이상적인 스택 이득', sessionDetail: '프레임 사이 {dead} 포함: 인터벌 시간 {deadTotal}.', workloadText: '{frames}회 셔터 작동. 현장 예상 시간에는 프레임 사이 대기가 포함됩니다.', highWorkloadText: '{frames}회 셔터 작동. 전자 셔터, 배터리, 저장 공간을 준비하세요. 현장 예상 시간: {session}.', sensorPixelWarning: '카메라 사양을 확인하세요. {pixel}은 APS C에 큰 픽셀 피치이므로 NPF 상한이 더 짧아질 수 있습니다.', comparisonTitle: '두 상한과 하나의 선택', npfLabel: 'NPF 상한', rule500Label: '500 법칙 상한', deltaLabel: 'NPF 차이', timelineTitle: '빛의 띠로 보는 스택', timelineStart: '첫 프레임', timelineEnd: '마지막 프레임', trackingNote: '추적이 켜져 있습니다. 계획은 프레임당 {ceiling}을 사용하므로 {frames}프레임과 약 {session}의 현장 시간이 필요합니다. 극축 정렬, 가이드, 테스트 프레임으로 이 시간을 확인하세요. NPF는 추적하지 않을 때의 비교 기준입니다.', untrackedNote: '{ceiling}을 시작 상한으로 사용하고 전체 해상도 테스트 프레임에서 별 모양과 하늘 밝기를 확인하세요.', methodTitle: '계산 방법', methodText: 'NPF는 조리개, 초점 거리, 픽셀 피치, 대상 적위로 픽셀 수준에서 별의 움직임이 보이는 시점을 추정합니다. 500 법칙은 초점 거리와 센서 크롭 계수만 사용합니다. 둘 다 비추적 카메라를 위한 기하학적 경험식입니다. 추적 마운트에서는 입력한 노출 시간을 사용하며 마운트 성능을 보증하지 않습니다.', limitsTitle: '현장 한계', limitsText: '추적, 밝은 하늘, 고해상도 크롭, 바람, 초점 이동으로 실제 노출은 달라질 수 있습니다. 테스트 프레임을 촬영하고 모서리, 히스토그램, 마운트 움직임을 확인하세요.', startingStatus: '입력 확인 중', formulaLabel: '참고 공식', formulaNpf: 'NPF: (16.9 x 조리개 + 0.10 x 초점 거리 + 13.7 x 픽셀 피치) / (초점 거리 x 적위의 코사인).', formula500: '500 법칙: 500 / (초점 거리 x 센서 크롭 계수).', presetsLabel: '빠른 설정', presets: { milkyWay: '24 mm 풀프레임', wideAngle: '14 mm 광각', telephoto: '85 mm 망원' },
10
+ },
11
+ seo: [
12
+ { type: 'title', text: '노출 스택에 상한이 필요한 이유', level: 2 },
13
+ { type: 'paragraph', html: '노출 스택은 나중에 정렬하고 합성하는 여러 개의 분리된 프레임입니다. 각 프레임을 사용할 수 있는 상태로 유지하면서 신호를 더 많이 모으는 것이 목표입니다. 고정 카메라에서 노출이 너무 길면 하늘의 겉보기 움직임 때문에 별이 늘어집니다. 너무 짧으면 읽기 노이즈와 저장 대기 때문에 세션이 비효율적일 수 있습니다.' },
14
+ { type: 'paragraph', html: '이 플래너는 프레임별 상한과 총 적분 시간을 실제 촬영 계획으로 바꿉니다. NPF와 500 법칙을 비교하고, 원하는 시간을 완전한 프레임으로 나누며, 프레임 사이 대기 시간도 현장 시간에 더합니다. 카메라는 프레임의 일부만 촬영할 수 없으므로 마지막 프레임이 목표 시간을 조금 넘을 수 있습니다.' },
15
+ { type: 'list', items: ['조리개와 픽셀 피치를 알면 NPF를 사용하세요.', '센서 크롭을 포함한 빠른 비교에는 500 법칙을 사용하세요.', '프레임 수를 저장 공간과 선별 작업의 실제 부담으로 보세요.', '전체 스택 전에 테스트 프레임을 촬영하세요.'] },
16
+ { type: 'tip', title: '상한은 보장이 아닙니다', html: '밝은 별과 모서리를 전체 해상도에서 확인하세요. 바람, 코마, 초점 이동, 진동이 공식보다 더 큰 영향을 줄 수 있습니다.' },
17
+ { type: 'title', text: 'NPF와 500 법칙은 서로 다른 질문에 답합니다', level: 2 },
18
+ { type: 'paragraph', html: '500 법칙은 빠르고 센서 크롭 계수를 반영하지만 픽셀 피치, 조리개, 적위를 사용하지 않습니다. NPF는 이 변수를 추가해 카메라와 렌즈 조합에 더 가깝지만, 여전히 비추적 카메라를 위한 경험식입니다.' },
19
+ { type: 'title', text: '결과를 밤 촬영 세션으로 바꾸기', level: 2 },
20
+ { type: 'paragraph', html: '현장에서 실제로 사용할 장비의 물리 값을 입력하세요. 실제 초점 거리와 센서 형식을 이미 따로 입력했다면 환산 초점 거리를 다시 입력하지 마세요. 픽셀 피치는 카메라 모델의 정확한 사양을 사용하세요.' },
21
+ { type: 'list', items: ['테스트 프레임의 모서리를 전체 해상도에서 확인하세요.', '히스토그램과 클리핑된 하이라이트를 확인하세요.', '스택 전체에서 초점과 설정을 유지하세요.', '다크 프레임과 보정 촬영 시간을 남겨 두세요.'] },
22
+ { type: 'title', text: '추적 마운트에서 달라지는 점', level: 2 },
23
+ { type: 'paragraph', html: '추적을 선택하면 입력한 프레임당 추적 노출을 사용해 프레임 수를 계산합니다. NPF와 500 법칙은 비추적 비교 값으로 계속 표시되지만 프레임 수를 결정하지 않습니다. 극축 정렬, 주기 오차, 가이드, 바람, 하늘 밝기, 포화가 새로운 한계가 될 수 있습니다.' },
24
+ { type: 'tip', title: '전체 스택 전에 먼저 확인하세요', html: '짧은 테스트 시퀀스를 촬영하고 모서리를 확대해 별을 확인하세요. 어두운 하늘을 두 시간 사용하기 전에 추적 노출을 조정하세요.' },
25
+ { type: 'paragraph', html: '수치로 차이를 확인할 수 있습니다. 35 mm, APS C, 5.9 마이크로미터, 적위 5도에서는 NPF 한도가 약 3.8초입니다. 추적 없이 2시간 촬영하면 약 1,907장이 필요합니다. 추적 마운트에서 한 장을 120초로 촬영하면 60장으로 줄고, 장당 5초의 대기 시간을 포함해도 현장 시간은 5분만 늘어납니다.' },
26
+ { type: 'paragraph', html: '총 적분 시간과 실제 세션 시간을 구분하세요. 저장 대기, 초점 확인, 디더링, 배터리 교체, 실패한 프레임 재촬영은 신호를 늘리지 않아도 밤의 계획에 포함됩니다. 짧은 프레임을 많이 촬영할 때 전자 셔터는 기계적 마모를 줄일 수 있지만 버퍼와 저장 공간은 반드시 확인해야 합니다.' },
27
+ { type: 'tip', title: '픽셀 피치와 센서 확인', html: 'APS C와 5.9 마이크로미터 조합은 최신 고화소 카메라에서 드문 편입니다. 실제 픽셀이 더 작다면 NPF 한도는 더 짧아집니다. 정확한 카메라 모델을 확인하고 전체 시퀀스 전에 테스트 프레임을 촬영하세요.' },
28
+ ],
29
+ faq: [
30
+ { question: 'NPF와 500 법칙 중 무엇을 써야 하나요?', answer: '조리개와 픽셀 피치를 알고 있다면 카메라에 가까운 시작점으로 NPF를 사용하세요. 500 법칙은 빠른 비교에 사용하고, 결과는 전체 해상도 테스트 프레임으로 확인하세요.' },
31
+ { question: '프레임 수에는 무엇이 포함되나요?', answer: '원하는 총 적분 시간에 도달하거나 조금 넘기기 위해 필요한 완전한 라이트 프레임 수입니다. 다크, 플랫, 바이어스, 대기 시간, 실패 프레임은 포함하지 않습니다.' },
32
+ { question: '추적 모드가 가이드 정확도를 계산하나요?', answer: '아니요. 입력한 추적 노출 시간을 사용할 뿐입니다. 정렬, 가이드, 하늘 밝기는 실제 테스트 프레임으로 확인해야 합니다.' },
33
+ ],
34
+ howTo: [
35
+ { name: '카메라 정보 입력', text: '초점 거리, 조리개, 픽셀 피치, 대상 적위를 입력하세요.' },
36
+ { name: '모드 선택', text: '비추적에서는 NPF 또는 500 법칙을 선택하고, 추적에서는 프레임당 노출을 정하세요.' },
37
+ { name: '총 적분 설정', text: '유효한 총 노출 시간을 입력하고 프레임 수와 현장 시간을 확인하세요.' },
38
+ { name: '현장에서 검증', text: '테스트 프레임을 촬영하고 별과 히스토그램을 확인한 뒤 시퀀스를 조정하세요.' },
39
+ ],
40
+ });