@jjlmoya/utils-forensic-science 1.1.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 +69 -0
- package/scripts/crystal-lattice-catalog-translations.mjs +459 -0
- package/scripts/postinstall.mjs +27 -0
- package/scripts/sync-crystal-lattice-i18n.mjs +50 -0
- package/src/category/i18n/de.ts +55 -0
- package/src/category/i18n/en.ts +55 -0
- package/src/category/i18n/es.ts +55 -0
- package/src/category/i18n/fr.ts +55 -0
- package/src/category/i18n/id.ts +55 -0
- package/src/category/i18n/it.ts +55 -0
- package/src/category/i18n/ja.ts +56 -0
- package/src/category/i18n/ko.ts +56 -0
- package/src/category/i18n/nl.ts +55 -0
- package/src/category/i18n/pl.ts +55 -0
- package/src/category/i18n/pt.ts +55 -0
- package/src/category/i18n/ru.ts +55 -0
- package/src/category/i18n/sv.ts +55 -0
- package/src/category/i18n/tr.ts +55 -0
- package/src/category/i18n/zh.ts +56 -0
- package/src/category/index.ts +48 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +10 -0
- package/src/entries.ts +48 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +29 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +162 -0
- package/src/pages/[locale].astro +261 -0
- package/src/pages/index.astro +3 -0
- package/src/tests/diacritics_density.test.ts +140 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +24 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/seo_length.test.ts +46 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +16 -0
- package/src/tests/widmark.test.ts +28 -0
- package/src/tool/forensic-age-estimator/bibliography.astro +14 -0
- package/src/tool/forensic-age-estimator/bibliography.ts +16 -0
- package/src/tool/forensic-age-estimator/component.astro +321 -0
- package/src/tool/forensic-age-estimator/dental-skeletal-third-molar-age-estimator.css +634 -0
- package/src/tool/forensic-age-estimator/entry.ts +32 -0
- package/src/tool/forensic-age-estimator/i18n/de.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/en.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/es.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/fr.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/id.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/it.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ja.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ko.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/nl.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/pl.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/pt.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ru.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/sv.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/tr.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/zh.ts +246 -0
- package/src/tool/forensic-age-estimator/index.ts +11 -0
- package/src/tool/forensic-age-estimator/logic.ts +81 -0
- package/src/tool/forensic-age-estimator/seo.astro +15 -0
- package/src/tool/forensic-blood-test-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-blood-test-simulator/bibliography.ts +12 -0
- package/src/tool/forensic-blood-test-simulator/component.astro +168 -0
- package/src/tool/forensic-blood-test-simulator/dom-utils.ts +40 -0
- package/src/tool/forensic-blood-test-simulator/entry.ts +32 -0
- package/src/tool/forensic-blood-test-simulator/forensic-presumptive-blood-testing-luminol-kastle-meyer-simulator.css +532 -0
- package/src/tool/forensic-blood-test-simulator/helpers.ts +16 -0
- package/src/tool/forensic-blood-test-simulator/i18n/de.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/en.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/es.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/fr.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/id.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/it.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ja.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ko.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/nl.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/pl.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/pt.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ru.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/sv.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/tr.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/zh.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/index.ts +11 -0
- package/src/tool/forensic-blood-test-simulator/logic.ts +174 -0
- package/src/tool/forensic-blood-test-simulator/script.ts +192 -0
- package/src/tool/forensic-blood-test-simulator/seo.astro +15 -0
- package/src/tool/forensic-fiber-comparison-microscope/bibliography.astro +6 -0
- package/src/tool/forensic-fiber-comparison-microscope/bibliography.ts +16 -0
- package/src/tool/forensic-fiber-comparison-microscope/component.astro +146 -0
- package/src/tool/forensic-fiber-comparison-microscope/entry.ts +32 -0
- package/src/tool/forensic-fiber-comparison-microscope/forensic-fiber-comparison-microscope.css +629 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/de.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/en.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/es.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/fr.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/id.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/it.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ja.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ko.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/nl.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/pl.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/pt.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ru.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/sv.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/tr.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/zh.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/index.ts +11 -0
- package/src/tool/forensic-fiber-comparison-microscope/logic.ts +244 -0
- package/src/tool/forensic-fiber-comparison-microscope/render.ts +265 -0
- package/src/tool/forensic-fiber-comparison-microscope/seo.astro +15 -0
- package/src/tool/forensic-fiber-comparison-microscope/view.ts +267 -0
- package/src/tool/forensic-glass-becke-line-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-glass-becke-line-simulator/bibliography.ts +16 -0
- package/src/tool/forensic-glass-becke-line-simulator/component.astro +81 -0
- package/src/tool/forensic-glass-becke-line-simulator/entry.ts +32 -0
- package/src/tool/forensic-glass-becke-line-simulator/forensic-glass-becke-line-simulator.css +392 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/de.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/en.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/es.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/fr.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/id.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/it.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ja.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ko.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/nl.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/pl.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/pt.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ru.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/sv.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/tr.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/zh.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/index.ts +11 -0
- package/src/tool/forensic-glass-becke-line-simulator/logic.ts +100 -0
- package/src/tool/forensic-glass-becke-line-simulator/seo.astro +15 -0
- package/src/tool/forensic-glass-becke-line-simulator/view.ts +281 -0
- package/src/tool/forensic-image-authenticity-analyzer/bibliography.astro +9 -0
- package/src/tool/forensic-image-authenticity-analyzer/bibliography.ts +7 -0
- package/src/tool/forensic-image-authenticity-analyzer/component.astro +250 -0
- package/src/tool/forensic-image-authenticity-analyzer/entry.ts +29 -0
- package/src/tool/forensic-image-authenticity-analyzer/forensic-image-metadata-authenticity-analyzer.css +679 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/de.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/en.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/es.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/fr.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/id.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/it.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ja.ts +72 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ko.ts +72 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/nl.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pl.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pt.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ru.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/sv.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/tr.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/zh.ts +71 -0
- package/src/tool/forensic-image-authenticity-analyzer/index.ts +11 -0
- package/src/tool/forensic-image-authenticity-analyzer/logic.ts +283 -0
- package/src/tool/forensic-image-authenticity-analyzer/seo.astro +10 -0
- package/src/tool/forensic-microcrystal-drug-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-microcrystal-drug-simulator/bibliography.ts +12 -0
- package/src/tool/forensic-microcrystal-drug-simulator/component.astro +240 -0
- package/src/tool/forensic-microcrystal-drug-simulator/entry.ts +32 -0
- package/src/tool/forensic-microcrystal-drug-simulator/forensic-microcrystal-drug-simulator.css +430 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/de.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/en.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/es.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/fr.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/id.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/it.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ja.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ko.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/nl.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/pl.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/pt.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ru.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/sv.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/tr.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/zh.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/index.ts +11 -0
- package/src/tool/forensic-microcrystal-drug-simulator/logic.ts +189 -0
- package/src/tool/forensic-microcrystal-drug-simulator/seo.astro +15 -0
- package/src/tool/forensic-sex-determinator/bibliography.astro +14 -0
- package/src/tool/forensic-sex-determinator/bibliography.ts +12 -0
- package/src/tool/forensic-sex-determinator/component.astro +463 -0
- package/src/tool/forensic-sex-determinator/entry.ts +32 -0
- package/src/tool/forensic-sex-determinator/forensic-sex-determinator.css +413 -0
- package/src/tool/forensic-sex-determinator/i18n/de.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/en.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/es.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/fr.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/id.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/it.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ja.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ko.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/nl.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/pl.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/pt.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ru.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/sv.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/tr.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/zh.ts +211 -0
- package/src/tool/forensic-sex-determinator/index.ts +11 -0
- package/src/tool/forensic-sex-determinator/logic.ts +89 -0
- package/src/tool/forensic-sex-determinator/seo.astro +15 -0
- package/src/tool/forensic-stature-estimator/bibliography.astro +14 -0
- package/src/tool/forensic-stature-estimator/bibliography.ts +12 -0
- package/src/tool/forensic-stature-estimator/component.astro +49 -0
- package/src/tool/forensic-stature-estimator/components/EstimationPanel.astro +65 -0
- package/src/tool/forensic-stature-estimator/components/OsteometricBoard.astro +39 -0
- package/src/tool/forensic-stature-estimator/components/OsteometricSelector.astro +109 -0
- package/src/tool/forensic-stature-estimator/dom-utils.ts +71 -0
- package/src/tool/forensic-stature-estimator/entry.ts +32 -0
- package/src/tool/forensic-stature-estimator/forensic-stature-estimator.css +689 -0
- package/src/tool/forensic-stature-estimator/helpers.ts +51 -0
- package/src/tool/forensic-stature-estimator/i18n/de.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/en.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/es.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/fr.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/id.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/it.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ja.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ko.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/nl.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/pl.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/pt.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ru.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/sv.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/tr.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/zh.ts +196 -0
- package/src/tool/forensic-stature-estimator/index.ts +11 -0
- package/src/tool/forensic-stature-estimator/logic.ts +119 -0
- package/src/tool/forensic-stature-estimator/script.ts +288 -0
- package/src/tool/forensic-stature-estimator/seo.astro +15 -0
- package/src/tool/forensic-tlc-ink-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-tlc-ink-simulator/bibliography.ts +16 -0
- package/src/tool/forensic-tlc-ink-simulator/component.astro +245 -0
- package/src/tool/forensic-tlc-ink-simulator/entry.ts +32 -0
- package/src/tool/forensic-tlc-ink-simulator/forensic-tlc-ink-simulator.css +462 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/de.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/en.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/es.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/fr.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/id.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/it.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ja.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ko.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/nl.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/pl.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/pt.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ru.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/sv.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/tr.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/zh.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/index.ts +11 -0
- package/src/tool/forensic-tlc-ink-simulator/logic.ts +152 -0
- package/src/tool/forensic-tlc-ink-simulator/seo.astro +15 -0
- package/src/tool/gsr-dispersion-calculator/bibliography.astro +6 -0
- package/src/tool/gsr-dispersion-calculator/bibliography.ts +16 -0
- package/src/tool/gsr-dispersion-calculator/component.astro +294 -0
- package/src/tool/gsr-dispersion-calculator/entry.ts +32 -0
- package/src/tool/gsr-dispersion-calculator/gsr-dispersion-calculator.css +305 -0
- package/src/tool/gsr-dispersion-calculator/i18n/de.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/en.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/es.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/fr.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/id.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/it.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ja.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ko.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/nl.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/pl.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/pt.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ru.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/sv.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/tr.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/zh.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/index.ts +11 -0
- package/src/tool/gsr-dispersion-calculator/logic.ts +148 -0
- package/src/tool/gsr-dispersion-calculator/seo.astro +15 -0
- package/src/tool/widmark-alcohol-simulator/bibliography.astro +14 -0
- package/src/tool/widmark-alcohol-simulator/bibliography.ts +12 -0
- package/src/tool/widmark-alcohol-simulator/component.astro +453 -0
- package/src/tool/widmark-alcohol-simulator/entry.ts +32 -0
- package/src/tool/widmark-alcohol-simulator/i18n/de.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/en.ts +206 -0
- package/src/tool/widmark-alcohol-simulator/i18n/es.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/fr.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/id.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/it.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ja.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ko.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/nl.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/pl.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/pt.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ru.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/sv.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/tr.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/zh.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/index.ts +11 -0
- package/src/tool/widmark-alcohol-simulator/logic.ts +97 -0
- package/src/tool/widmark-alcohol-simulator/seo.astro +15 -0
- package/src/tool/widmark-alcohol-simulator/widmark-alcohol-simulator.css +386 -0
- package/src/tools.ts +27 -0
- package/src/types.ts +70 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensic-glass-becke-line-simulator';
|
|
5
|
+
const title = 'Forensic Glass Refractive Index Becke Line Simulator';
|
|
6
|
+
const description = 'Simulate the Becke line method for forensic glass comparison by heating an immersion liquid, matching refractive indices, and watching the bright halo disappear.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Select a questioned glass profile',
|
|
11
|
+
text: 'Choose a common glass reference profile such as soda-lime, borosilicate, lead crystal, or tempered window glass.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Adjust the hot-stage temperature',
|
|
15
|
+
text: 'Move the temperature slider to change the refractive index of the virtual immersion liquid.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Observe the Becke line movement',
|
|
19
|
+
text: 'Use the focus direction control to see whether the bright line moves inward, outward, or nearly disappears at the match point.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Read the index difference',
|
|
23
|
+
text: 'Compare liquid RI, glass RI, delta RI, and match percentage to understand why the halo becomes faint near index agreement.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'What is the Becke line in forensic glass analysis?',
|
|
30
|
+
answer: 'The Becke line is a bright halo seen near the boundary between a glass fragment and an immersion liquid when their refractive indices differ. Its movement during focusing helps determine which material has the higher refractive index.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Why does heating the immersion liquid matter?',
|
|
34
|
+
answer: 'Many immersion liquids decrease in refractive index as temperature rises. By heating the liquid until its index matches the glass, the boundary contrast fades and the fragment edge becomes difficult to see.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Can refractive index identify a glass source by itself?',
|
|
38
|
+
answer: 'No. RI can support class comparison and exclusion, but forensic source interpretation also considers elemental composition, thickness, color, fracture context, controls, uncertainty, and validated laboratory procedures.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'What does it mean when the Becke line disappears?',
|
|
42
|
+
answer: 'It means the liquid and glass have very similar refractive indices under those simulated conditions. In real microscopy, the disappearance is judged with calibrated temperature control and reference materials.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Virtual microscope view showing a glass fragment in immersion liquid',
|
|
52
|
+
units: 'Temperature unit system',
|
|
53
|
+
metric: 'Metric',
|
|
54
|
+
imperial: 'Imperial',
|
|
55
|
+
unitCelsius: 'C',
|
|
56
|
+
unitFahrenheit: 'F',
|
|
57
|
+
glassSample: 'Glass reference',
|
|
58
|
+
sodaLime: 'Soda-lime container glass',
|
|
59
|
+
borosilicate: 'Borosilicate lab glass',
|
|
60
|
+
leadCrystal: 'Lead crystal decorative glass',
|
|
61
|
+
tempered: 'Tempered window glass',
|
|
62
|
+
stageTemperature: 'Hot-stage temperature',
|
|
63
|
+
focusDirection: 'Focus direction',
|
|
64
|
+
focusRaised: 'Raise focus',
|
|
65
|
+
focusLowered: 'Lower focus',
|
|
66
|
+
liquidRi: 'Liquid RI',
|
|
67
|
+
glassRi: 'Glass RI',
|
|
68
|
+
deltaRi: 'Delta RI',
|
|
69
|
+
matchMeter: 'RI match',
|
|
70
|
+
canvasHalo: 'visible Becke halo',
|
|
71
|
+
canvasFocusSeparator: ' - ',
|
|
72
|
+
canvasMatched: 'edge nearly matched',
|
|
73
|
+
interpMatched: 'The boundary is close to optical match. In a real Becke line test, this is the region where the halo becomes faint and the fragment edge is hardest to locate.',
|
|
74
|
+
interpGlassHigher: 'The glass has the higher refractive index. With raised focus, the Becke line behavior indicates light concentrating toward the glass side of the boundary.',
|
|
75
|
+
interpLiquidHigher: 'The immersion liquid has the higher refractive index. The halo shifts toward the liquid side until temperature brings the liquid index closer to the glass.',
|
|
76
|
+
disclaimer: 'Educational simulation only. Real forensic glass comparison requires calibrated refractive-index equipment, known standards, uncertainty reporting, and qualified interpretation.',
|
|
77
|
+
},
|
|
78
|
+
seo: [
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'Becke Line Refractive Index Testing for Forensic Glass',
|
|
82
|
+
level: 2,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'diagnostic',
|
|
86
|
+
variant: 'info',
|
|
87
|
+
icon: 'mdi:microscope',
|
|
88
|
+
badge: 'Teaching simulator',
|
|
89
|
+
title: 'What this glass RI simulator demonstrates',
|
|
90
|
+
html: 'This simulator shows why a glass fragment becomes more or less visible in immersion oil as the liquid refractive index approaches the glass refractive index. It is built for forensic science students learning <strong>Becke line microscopy</strong>, hot-stage RI matching, and the limits of glass comparison evidence.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'stats',
|
|
94
|
+
columns: 4,
|
|
95
|
+
items: [
|
|
96
|
+
{ value: 'n glass - n liquid', label: 'index contrast shown', icon: 'mdi:delta' },
|
|
97
|
+
{ value: '15-145 C', label: 'hot-stage range', icon: 'mdi:thermometer' },
|
|
98
|
+
{ value: '4', label: 'glass profiles', icon: 'mdi:glass-fragile' },
|
|
99
|
+
{ value: 'C / F', label: 'convertible temperature units', icon: 'mdi:swap-horizontal' },
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'summary',
|
|
104
|
+
title: 'Practical Becke line observation checklist',
|
|
105
|
+
items: [
|
|
106
|
+
'Use a clean, small glass fragment fully immersed in a suitable refractive-index liquid.',
|
|
107
|
+
'Focus slightly above and below the boundary and watch which side the bright line appears to move toward.',
|
|
108
|
+
'Raise temperature slowly near the estimated match point because the line can fade over a narrow range.',
|
|
109
|
+
'Record temperature, liquid type, calibration standard, observed match behavior, and uncertainty.',
|
|
110
|
+
'Treat RI as class evidence: a mismatch can exclude, while a match requires additional context.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'comparative',
|
|
115
|
+
columns: 2,
|
|
116
|
+
items: [
|
|
117
|
+
{
|
|
118
|
+
title: 'What RI comparison can support',
|
|
119
|
+
icon: 'mdi:check-circle-outline',
|
|
120
|
+
highlight: true,
|
|
121
|
+
description: 'Refractive index can help compare questioned glass fragments with known reference glass under controlled conditions.',
|
|
122
|
+
points: ['Class-characteristic comparison', 'Exclusion when RI differs clearly', 'Screening before elemental analysis', 'Teaching optical boundary behavior'],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
title: 'What RI cannot prove alone',
|
|
126
|
+
icon: 'mdi:alert-circle-outline',
|
|
127
|
+
description: 'A matching RI does not uniquely identify a pane, bottle, vehicle window, or crime-scene source.',
|
|
128
|
+
points: ['No individual source attribution by itself', 'No reconstruction without scene context', 'No substitute for controls', 'No legal conclusion from a browser model'],
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'table',
|
|
134
|
+
headers: ['User question', 'Microscopy concept', 'Careful answer'],
|
|
135
|
+
rows: [
|
|
136
|
+
['Why does the bright edge move?', 'Refraction at a boundary between two refractive indices.', 'The Becke line tends to move toward the material with higher refractive index when focus is raised.'],
|
|
137
|
+
['Why does the edge disappear?', 'Index matching.', 'When glass and liquid RI are nearly equal, boundary contrast drops and the halo becomes weak.'],
|
|
138
|
+
['Why heat the liquid?', 'Thermal RI coefficient.', 'The simulated liquid RI decreases with temperature, allowing a match against different glass types.'],
|
|
139
|
+
['Is a match conclusive?', 'Class evidence limitation.', 'A match supports consistency only; many glass objects can share a similar RI.'],
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'How the Simulation Model Works',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'The model assigns each glass profile a reference refractive index and treats the immersion liquid as a temperature-sensitive medium. As the hot stage warms, the liquid index decreases by a fixed thermal coefficient. The simulator then calculates the difference between glass RI and liquid RI, using that difference to control halo brightness, halo offset, match percentage, and the interpretation message.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'The visual microscope field is intentionally qualitative. It does not attempt to ray-trace every optical path. Instead, it preserves the essential training relationship: strong RI contrast produces a bright boundary; lower contrast produces a faint boundary; and near the match point, the glass edge can appear to vanish in the liquid.',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'paragraph',
|
|
157
|
+
html: 'In professional forensic laboratories, temperature stage calibration is performed using reference glass samples of known refractive index. Since the refractive index of the immersion liquid varies predictably with temperature (usually denoted as dn/dT), the exact temperature at which the Becke line disappears allows the scientist to calculate the glass refractive index to within four decimal places. This simulator models this temperature-dependent behavior using a linear formula, enabling students to practice finding the exact match point by carefully controlling the heating stage.',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'paragraph',
|
|
161
|
+
html: 'When analyzing glass evidence, the refractive index is considered class characteristic evidence. While a matching refractive index between a crime scene fragment and a suspect\'s clothing is consistent with a common source, it does not uniquely identify the source because many glass objects share identical refractive index values. Therefore, forensic experts must interpret matching results conservatively, reporting the match in terms of consistency while highlighting that a definitive source attribution is not possible based on optical properties alone.',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'glossary',
|
|
165
|
+
items: [
|
|
166
|
+
{ term: 'Refractive index', definition: 'A measure of how strongly a material bends light compared with vacuum.' },
|
|
167
|
+
{ term: 'Immersion liquid', definition: 'A liquid with known optical properties used to surround a fragment during microscopic RI comparison.' },
|
|
168
|
+
{ term: 'Becke line', definition: 'The bright line or halo seen at a boundary when two transparent materials have different refractive indices.' },
|
|
169
|
+
{ term: 'Match point', definition: 'The temperature region where the immersion liquid and glass have nearly the same refractive index.' },
|
|
170
|
+
{ term: 'Class evidence', definition: 'Evidence that can associate an item with a group of possible sources rather than one unique source.' },
|
|
171
|
+
],
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'tip',
|
|
175
|
+
title: 'Interpretation tip for students',
|
|
176
|
+
html: 'In glass evidence, a clear RI mismatch is often more powerful than a match because it can exclude a proposed source. A match is useful, but its strength depends on population data, measurement precision, elemental composition, and the case context.',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'proscons',
|
|
180
|
+
title: 'Strengths and limits of Becke line glass RI testing',
|
|
181
|
+
items: [
|
|
182
|
+
{ pro: 'Fast, visual, and excellent for teaching transparent-material comparison.', con: 'Observer judgment and focus technique can affect the apparent line movement.' },
|
|
183
|
+
{ pro: 'Temperature matching can estimate RI with useful precision when calibrated.', con: 'Thermal control, liquid aging, contamination, and standards matter in real work.' },
|
|
184
|
+
{ pro: 'Useful for excluding glass fragments with clearly different optical properties.', con: 'Cannot individualize a source without broader analytical and contextual evidence.' },
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'diagnostic',
|
|
189
|
+
variant: 'warning',
|
|
190
|
+
icon: 'mdi:scale-balance',
|
|
191
|
+
badge: 'Forensic caution',
|
|
192
|
+
title: 'Keep the conclusion proportional',
|
|
193
|
+
html: 'A browser Becke line simulation is a learning aid, not a laboratory method. Formal glass evidence interpretation should rely on validated instruments, written procedures, calibration records, uncertainty estimates, peer review, and jurisdiction-appropriate reporting language.',
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
faq,
|
|
197
|
+
bibliography,
|
|
198
|
+
howTo,
|
|
199
|
+
schemas: [
|
|
200
|
+
{
|
|
201
|
+
'@context': 'https://schema.org',
|
|
202
|
+
'@type': 'SoftwareApplication',
|
|
203
|
+
name: title,
|
|
204
|
+
description,
|
|
205
|
+
applicationCategory: 'ForensicApplication',
|
|
206
|
+
operatingSystem: 'Any',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
'@context': 'https://schema.org',
|
|
210
|
+
'@type': 'FAQPage',
|
|
211
|
+
mainEntity: faq.map((item) => ({
|
|
212
|
+
'@type': 'Question',
|
|
213
|
+
name: item.question,
|
|
214
|
+
acceptedAnswer: {
|
|
215
|
+
'@type': 'Answer',
|
|
216
|
+
text: item.answer,
|
|
217
|
+
},
|
|
218
|
+
})),
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
'@context': 'https://schema.org',
|
|
222
|
+
'@type': 'HowTo',
|
|
223
|
+
name: title,
|
|
224
|
+
step: howTo.map((step) => ({
|
|
225
|
+
'@type': 'HowToStep',
|
|
226
|
+
name: step.name,
|
|
227
|
+
text: step.text,
|
|
228
|
+
})),
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
};
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const slug = 'simulador-linea-becke-indice-refraccion-vidrio';
|
|
5
|
+
const title = 'Simulador de la línea de Becke e índice de refracción de vidrio forense';
|
|
6
|
+
const description = 'Simula el método de la línea de Becke para la comparación forense de vidrios calentando un líquido de inmersión, igualando los índices de refracción y observando cómo desaparece el halo brillante.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Seleccionar un perfil de vidrio dubitado',
|
|
11
|
+
text: 'Elige un perfil de referencia de vidrio común como calcolizo, borosilicato, cristal de plomo o vidrio templado para ventanas.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Ajustar la temperatura de la platina calefactora',
|
|
15
|
+
text: 'Mueve el control deslizante de temperatura para cambiar el índice de refracción del líquido de inmersión virtual.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Observar el movimiento de la línea de Becke',
|
|
19
|
+
text: 'Usa el control de dirección del enfoque para ver si la línea brillante se mueve hacia adentro, hacia afuera o si casi desaparece en el punto de coincidencia.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Leer la diferencia de índices',
|
|
23
|
+
text: 'Compara el IR del líquido, el IR del vidrio, el delta de IR y el porcentaje de coincidencia para comprender por qué el halo se debilita cerca de la coincidencia de índices.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: '¿Qué es la línea de Becke en el análisis forense de vidrios?',
|
|
30
|
+
answer: 'La línea de Becke es un halo brillante que se observa cerca del límite entre un fragmento de vidrio y un líquido de inmersión cuando sus índices de refracción difieren. Su movimiento durante el enfoque ayuda a determinar cuál de los materiales tiene el índice de refracción más alto.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Por qué es importante calentar el líquido de inmersión?',
|
|
34
|
+
answer: 'El índice de refracción de muchos líquidos de inmersión disminuye a medida que aumenta la temperatura. Al calentar el líquido hasta que su índice coincida con el del vidrio, el contraste en el límite se desvanece y el borde del fragmento se vuelve difícil de ver.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: '¿Puede el índice de refracción identificar la fuente de un vidrio por sí solo?',
|
|
38
|
+
answer: 'No. El índice de refracción puede respaldar la comparación y exclusión de clases, pero la interpretación forense de la fuente también considera la composición elemental, el grosor, el color, el contexto de la fractura, los controles, la incertidumbre y los procedimientos de laboratorio validados.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: '¿Qué significa que la línea de Becke desaparezca?',
|
|
42
|
+
answer: 'Significa que el líquido y el vidrio tienen índices de refracción muy similares bajo esas condiciones simuladas. En la microscopía real, la desaparición se juzga con un control de temperatura calibrado y materiales de referencia.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Vista de microscopio virtual que muestra un fragmento de vidrio en líquido de inmersión',
|
|
52
|
+
units: 'Sistema de unidades de temperatura',
|
|
53
|
+
metric: 'Métrico',
|
|
54
|
+
imperial: 'Imperial',
|
|
55
|
+
unitCelsius: 'C',
|
|
56
|
+
unitFahrenheit: 'F',
|
|
57
|
+
glassSample: 'Vidrio de referencia',
|
|
58
|
+
sodaLime: 'Vidrio de envase calcolizo',
|
|
59
|
+
borosilicate: 'Vidrio de laboratorio de borosilicato',
|
|
60
|
+
leadCrystal: 'Cristal de plomo decorativo',
|
|
61
|
+
tempered: 'Vidrio templado para ventanas',
|
|
62
|
+
stageTemperature: 'Temperatura de la platina',
|
|
63
|
+
focusDirection: 'Dirección del enfoque',
|
|
64
|
+
focusRaised: 'Subir enfoque',
|
|
65
|
+
focusLowered: 'Bajar enfoque',
|
|
66
|
+
liquidRi: 'IR del líquido',
|
|
67
|
+
glassRi: 'IR del vidrio',
|
|
68
|
+
deltaRi: 'Delta de IR',
|
|
69
|
+
matchMeter: 'Coincidencia de IR',
|
|
70
|
+
canvasHalo: 'halo de Becke visible',
|
|
71
|
+
canvasFocusSeparator: ' - ',
|
|
72
|
+
canvasMatched: 'borde casi coincidente',
|
|
73
|
+
interpMatched: 'El límite está cerca de la coincidencia óptica. En una prueba real de la línea de Becke, esta es la región donde el halo se debilita y el borde del fragmento es más difícil de localizar.',
|
|
74
|
+
interpGlassHigher: 'El vidrio tiene el índice de refracción más alto. Al subir el enfoque, el comportamiento de la línea de Becke indica que la luz se concentra hacia el lado del vidrio en el límite.',
|
|
75
|
+
interpLiquidHigher: 'El líquido de inmersión tiene el índice de refracción más alto. El halo se desplaza hacia el lado del líquido hasta que la temperatura acerca el índice del líquido al del vidrio.',
|
|
76
|
+
disclaimer: 'Simulación únicamente educativa. La comparación forense real de vidrios requiere equipos calibrados de índice de refracción, estándares conocidos, informes de incertidumbre e interpretación calificada.',
|
|
77
|
+
},
|
|
78
|
+
seo: [
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'Prueba de índice de refracción mediante la línea de Becke para vidrio forense',
|
|
82
|
+
level: 2,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'diagnostic',
|
|
86
|
+
variant: 'info',
|
|
87
|
+
icon: 'mdi:microscope',
|
|
88
|
+
badge: 'Simulador didáctico',
|
|
89
|
+
title: 'Qué demuestra este simulador de IR de vidrio',
|
|
90
|
+
html: 'Este simulador muestra por qué un fragmento de vidrio se vuelve más o menos visible en aceite de inmersión a medida que el índice de refracción del líquido se acerca al del vidrio. Está diseñado para estudiantes de ciencia forense que aprenden <strong>microscopía de la línea de Becke</strong>, coincidencia de IR en platina calefactora y los límites de la evidencia en comparación de vidrios.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'stats',
|
|
94
|
+
columns: 4,
|
|
95
|
+
items: [
|
|
96
|
+
{ value: 'n vidrio - n líquido', label: 'contraste de índice mostrado', icon: 'mdi:delta' },
|
|
97
|
+
{ value: '15-145 C', label: 'rango de platina calefactora', icon: 'mdi:thermometer' },
|
|
98
|
+
{ value: '4', label: 'perfiles de vidrio', icon: 'mdi:glass-fragile' },
|
|
99
|
+
{ value: 'C / F', label: 'unidades de temperatura convertibles', icon: 'mdi:swap-horizontal' },
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'summary',
|
|
104
|
+
title: 'Lista de verificación práctica para la observación de la línea de Becke',
|
|
105
|
+
items: [
|
|
106
|
+
'Usa un fragmento de vidrio limpio y pequeño completamente sumergido en un líquido con índice de refracción adecuado.',
|
|
107
|
+
'Enfoca ligeramente por encima y por debajo del límite y observa hacia qué lado parece moverse la línea brillante.',
|
|
108
|
+
'Sube la temperatura lentamente cerca del punto de coincidencia estimado porque la línea puede desvanecerse en un rango estrecho.',
|
|
109
|
+
'Registra la temperatura, el tipo de líquido, el estándar de calibración, el comportamiento de coincidencia observado y la incertidumbre.',
|
|
110
|
+
'Trata el IR como evidencia de clase: una discrepancia puede excluir, mientras que una coincidencia requiere contexto adicional.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'comparative',
|
|
115
|
+
columns: 2,
|
|
116
|
+
items: [
|
|
117
|
+
{
|
|
118
|
+
title: 'Lo que la comparación de IR puede respaldar',
|
|
119
|
+
icon: 'mdi:check-circle-outline',
|
|
120
|
+
highlight: true,
|
|
121
|
+
description: 'El índice de refracción puede ayudar a comparar fragmentos de vidrio dubitados con vidrios de referencia conocidos bajo condiciones controladas.',
|
|
122
|
+
points: ['Comparación de características de clase', 'Exclusión cuando el IR difiere claramente', 'Cribado previo al análisis elemental', 'Enseñanza del comportamiento óptico en límites'],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
title: 'Lo que el IR no puede probar por sí solo',
|
|
126
|
+
icon: 'mdi:alert-circle-outline',
|
|
127
|
+
description: 'Un IR coincidente no identifica de forma única una ventana, botella, ventanilla de vehículo o fuente de la escena del crimen.',
|
|
128
|
+
points: ['Sin atribución de fuente individual por sí sola', 'Sin reconstrucción sin el contexto de la escena', 'No sustituye a los controles', 'Sin conclusión legal a partir de un modelo de navegador'],
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'table',
|
|
134
|
+
headers: ['Pregunta del usuario', 'Concepto de microscopía', 'Respuesta detallada'],
|
|
135
|
+
rows: [
|
|
136
|
+
['¿Por qué se mueve el borde brillante?', 'Refracción en el límite entre dos índices de refracción.', 'La línea de Becke tiende a moverse hacia el material con mayor índice de refracción cuando se sube el enfoque.'],
|
|
137
|
+
['¿Por qué desaparece el borde?', 'Coincidencia de índices.', 'Cuando los IR del vidrio y del líquido son casi iguales, el contraste del límite disminuye y el halo se debilita.'],
|
|
138
|
+
['¿Por qué calentar el líquido?', 'Coeficiente térmico del IR.', 'El IR del líquido simulado disminuye con la temperatura, lo que permite la coincidencia con diferentes tipos de vidrio.'],
|
|
139
|
+
['¿Es concluyente una coincidencia?', 'Limitación de la evidencia de clase.', 'Una coincidencia solo respalda la consistencia; muchos objetos de vidrio pueden compartir un IR similar.'],
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Cómo funciona el modelo de simulación',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'El modelo asigna a cada perfil de vidrio un índice de refracción de referencia y trata al líquido de inmersión como un medio sensible a la temperatura. A medida que la platina calefactora se calienta, el índice del líquido disminuye según un coeficiente térmico fijo. El simulador calcula entonces la diferencia entre el IR del vidrio y el del líquido, utilizando esa diferencia para controlar el brillo del halo, el desplazamiento del halo, el porcentaje de coincidencia y el mensaje de interpretación.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'El campo visual del microscopio es intencionadamente cualitativo. No intenta trazar los rayos de cada trayectoria óptica. En su lugar, conserva la relación educativa esencial: un fuerte contraste de IR produce un límite brillante; un contraste menor produce un límite tenue; y cerca del punto de coincidencia, el borde del vidrio puede parecer que se desvanece en el líquido.',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'paragraph',
|
|
157
|
+
html: 'En los laboratorios forenses profesionales, la calibración de la platina calefactora se realiza utilizando muestras de vidrio de referencia con un índice de refracción conocido. Dado que el índice de refracción del líquido de inmersión varía de manera predecible con la temperatura (normalmente indicado como dn/dT), la temperatura exacta en la que desaparece la línea de Becke permite al científico calcular el índice de refracción del vidrio con una precisión de hasta cuatro decimales. Este simulador modela este comportamiento dependiente de la temperatura mediante una fórmula lineal, lo que permite a los estudiantes practicar la búsqueda del punto de coincidencia exacto controlando cuidadosamente la platina de calentamiento.',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'paragraph',
|
|
161
|
+
html: 'Al analizar la evidencia de vidrios, el índice de refracción se considera una evidencia con características de clase. Si bien la coincidencia del índice de refracción entre un fragmento de la escena del crimen y la ropa de un sospechoso es consistente con una fuente común, no identifica la fuente de manera única porque muchos objetos de vidrio comparten valores de índice de refracción idénticos. Por lo tanto, los expertos forenses deben interpretar los resultados coincidentes de manera conservadora, informando la coincidencia en términos de consistencia y destacando al mismo tiempo que no es posible una atribución definitiva de la fuente basándose únicamente en las propiedades ópticas.',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'glossary',
|
|
165
|
+
items: [
|
|
166
|
+
{ term: 'Índice de refracción', definition: 'Medida de la fuerza con la que un material desvía la luz en comparación con el vacío.' },
|
|
167
|
+
{ term: 'Líquido de inmersión', definition: 'Líquido de propiedades ópticas conocidas utilizado para rodear un fragmento durante la comparación microscópica de IR.' },
|
|
168
|
+
{ term: 'Línea de Becke', definition: 'Línea o halo brillante que se observa en un límite cuando dos materiales transparentes tienen diferentes índices de refracción.' },
|
|
169
|
+
{ term: 'Punto de coincidencia', definition: 'Región de temperatura donde el líquido de inmersión y el vidrio tienen casi el mismo índice de refracción.' },
|
|
170
|
+
{ term: 'Evidencia de clase', definition: 'Evidencia que puede asociar un elemento con un grupo de fuentes posibles en lugar de una única fuente exclusiva.' },
|
|
171
|
+
],
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'tip',
|
|
175
|
+
title: 'Consejo de interpretación para estudiantes',
|
|
176
|
+
html: 'En la evidencia de vidrios, una discrepancia clara de IR suele ser más potente que una coincidencia porque puede excluir una fuente propuesta. Una coincidencia es útil, pero su fuerza depende de los datos de población, la precisión de la medición, la composición elemental y el contexto del caso.',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'proscons',
|
|
180
|
+
title: 'Fortalezas y límites de la prueba de IR de vidrio mediante la línea de Becke',
|
|
181
|
+
items: [
|
|
182
|
+
{ pro: 'Rápido, visual y excelente para enseñar la comparación de materiales transparentes.', con: 'El criterio del observador y la técnica de enfoque pueden afectar al movimiento aparente de la línea.' },
|
|
183
|
+
{ pro: 'La coincidencia de temperatura puede estimar el IR con una precisión útil si está calibrado.', con: 'El control térmico, el envejecimiento del líquido, la contaminación y los estándares son importantes en el trabajo real.' },
|
|
184
|
+
{ pro: 'Útil para excluir fragmentos de vidrio con propiedades ópticas claramente diferentes.', con: 'No puede individualizar una fuente sin una evidencia analítica y contextual más amplia.' },
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'diagnostic',
|
|
189
|
+
variant: 'warning',
|
|
190
|
+
icon: 'mdi:scale-balance',
|
|
191
|
+
badge: 'Precaución forense',
|
|
192
|
+
title: 'Mantén la conclusión proporcional',
|
|
193
|
+
html: 'Una simulación de la línea de Becke en el navegador es una ayuda para el aprendizaje, no un método de laboratorio. La interpretación formal de la evidencia de vidrios debe basarse en instrumentos validados, procedimientos escritos, registros de calibración, estimaciones de incertidumbre, revisión por pares y el lenguaje de informe adecuado para cada jurisdicción.',
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
faq,
|
|
197
|
+
bibliography,
|
|
198
|
+
howTo,
|
|
199
|
+
schemas: [
|
|
200
|
+
{
|
|
201
|
+
'@context': 'https://schema.org',
|
|
202
|
+
'@type': 'SoftwareApplication',
|
|
203
|
+
name: title,
|
|
204
|
+
description,
|
|
205
|
+
applicationCategory: 'ForensicApplication',
|
|
206
|
+
operatingSystem: 'Any',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
'@context': 'https://schema.org',
|
|
210
|
+
'@type': 'FAQPage',
|
|
211
|
+
mainEntity: faq.map((item) => ({
|
|
212
|
+
'@type': 'Question',
|
|
213
|
+
name: item.question,
|
|
214
|
+
acceptedAnswer: {
|
|
215
|
+
'@type': 'Answer',
|
|
216
|
+
text: item.answer,
|
|
217
|
+
},
|
|
218
|
+
})),
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
'@context': 'https://schema.org',
|
|
222
|
+
'@type': 'HowTo',
|
|
223
|
+
name: title,
|
|
224
|
+
step: howTo.map((step) => ({
|
|
225
|
+
'@type': 'HowToStep',
|
|
226
|
+
name: step.name,
|
|
227
|
+
text: step.text,
|
|
228
|
+
})),
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
};
|