@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 = 'simulyator-linii-bekke-pokazatelya-prelomleniya-stekla';
|
|
5
|
+
const title = 'Судебный симулятор линии Бекке и показателя преломления стекла';
|
|
6
|
+
const description = 'Моделируйте метод линии Бекке для судебно-медицинского сравнения стекол путем нагревания иммерсионной жидкости, сопоставления показателей преломления и наблюдения за исчезновением яркого ореола.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Выберите профиль исследуемого стекла',
|
|
11
|
+
text: 'Выберите стандартный профиль сравнения стекол, такой как известково-натриевое, боросиликатное, свинцовый хрусталь или закаленное оконное стекло.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Отрегулируйте температуру нагревательного столика',
|
|
15
|
+
text: 'Перемещайте ползунок температуры, чтобы изменить показатель преломления виртуальной иммерсионной жидкости.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Наблюдайте за движением линии Бекке',
|
|
19
|
+
text: 'Используйте управление направлением фокусировки, чтобы увидеть, движется ли яркая линия внутрь, наружу или почти исчезает в точке совпадения.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Прочитайте разницу показателей',
|
|
23
|
+
text: 'Сравните показатель преломления (RI) жидкости, RI стекла, разницу RI (delta) и процент совпадения, чтобы понять, почему ореол становится бледным вблизи равенства показателей.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Что такое линия Бекке в судебной экспертизе стекла?',
|
|
30
|
+
answer: 'Линия Бекке представляет собой светлую полосу (ореол), видимая вблизи границы между осколком стекла и иммерсионной жидкостью, когда их показатели преломления различаются. Ее смещение при фокусировке помогает определить, какой материал имеет более высокий показатель преломления.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Почему важен нагрев иммерсионной жидкости?',
|
|
34
|
+
answer: 'Показатель преломления многих иммерсионных жидкостей уменьшается при повышении температуры. Нагревая жидкость до тех пор, пока ее показатель не совпадет с показателем стекла, контраст на границе исчезает, и край осколка становится трудноразличимым.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Может ли показатель преломления сам по себе идентифицировать источник стекла?',
|
|
38
|
+
answer: 'Нет. Показатель преломления может помочь при групповом сравнении и исключении источника, но криминалистическая интерпретация происхождения также учитывает элементный состав, толщину, цвет, характер разрушения, контроли, неопределенность измерений и утвержденные лабораторные процедуры.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Что означает исчезновение линии Бекке?',
|
|
42
|
+
answer: 'Это означает, что жидкость и стекло имеют очень близкие показатели преломления в данных смоделированных условиях. В реальной микроскопии исчезновение оценивается с помощью откалиброванного контроля температуры и эталонных материалов.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Вид виртуального микроскопа, показывающий осколок стекла в иммерсионной жидкости',
|
|
52
|
+
units: 'Система единиц температуры',
|
|
53
|
+
metric: 'Метрическая',
|
|
54
|
+
imperial: 'Имперская',
|
|
55
|
+
unitCelsius: 'C',
|
|
56
|
+
unitFahrenheit: 'F',
|
|
57
|
+
glassSample: 'Эталонное стекло',
|
|
58
|
+
sodaLime: 'Известково-натриевое тарное стекло',
|
|
59
|
+
borosilicate: 'Боросиликатное лабораторное стекло',
|
|
60
|
+
leadCrystal: 'Декоративный свинцовый хрусталь',
|
|
61
|
+
tempered: 'Закаленное оконное стекло',
|
|
62
|
+
stageTemperature: 'Температура столика',
|
|
63
|
+
focusDirection: 'Направление фокусировки',
|
|
64
|
+
focusRaised: 'Поднять фокус',
|
|
65
|
+
focusLowered: 'Опустить фокус',
|
|
66
|
+
liquidRi: 'RI жидкости',
|
|
67
|
+
glassRi: 'RI стекла',
|
|
68
|
+
deltaRi: 'Разница RI',
|
|
69
|
+
matchMeter: 'Совпадение RI',
|
|
70
|
+
canvasHalo: 'видимый ореол Бекке',
|
|
71
|
+
canvasFocusSeparator: ' - ',
|
|
72
|
+
canvasMatched: 'край почти совпал',
|
|
73
|
+
interpMatched: 'Граница близка к оптическому совпадению. В реальном тесте линии Бекке это область, где ореол становится бледным, а край фрагмента труднее всего локализовать.',
|
|
74
|
+
interpGlassHigher: 'Стекло имеет более высокий показатель преломления. При поднятии фокуса поведение линии Бекке указывает на концентрацию света в сторону стекла.',
|
|
75
|
+
interpLiquidHigher: 'Иммерсионная жидкость имеет более высокий показатель преломления. Ореол смещается в сторону жидкости до тех пор, пока температура не приблизит показатель жидкости к показателю стекла.',
|
|
76
|
+
disclaimer: 'Только для учебных целей. Реальное криминалистическое сравнение стекол требует калиброванного оборудования для измерения показателей преломления, известных стандартов, отчетов о неопределенности и квалифицированной интерпретации.',
|
|
77
|
+
},
|
|
78
|
+
seo: [
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'Определение показателя преломления стекла методом линии Бекке',
|
|
82
|
+
level: 2,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'diagnostic',
|
|
86
|
+
variant: 'info',
|
|
87
|
+
icon: 'mdi:microscope',
|
|
88
|
+
badge: 'Обучающий симулятор',
|
|
89
|
+
title: 'Что демонстрирует этот симулятор RI стекла',
|
|
90
|
+
html: 'Этот симулятор показывает, почему осколок стекла становится более или менее заметным в иммерсионном масле по мере приближения показателя преломления жидкости к показателю преломления стекла. Он создан для студентов-криминалистов, изучающих <strong>микроскопию линии Бекке</strong>, температурный метод совпадения RI и ограничения доказательств при сравнении стекол.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'stats',
|
|
94
|
+
columns: 4,
|
|
95
|
+
items: [
|
|
96
|
+
{ value: 'n стекла - n жидкости', label: 'показан контраст показателей', icon: 'mdi:delta' },
|
|
97
|
+
{ value: '15-145 C', label: 'диапазон нагрева столика', icon: 'mdi:thermometer' },
|
|
98
|
+
{ value: '4', label: 'профили стекла', icon: 'mdi:glass-fragile' },
|
|
99
|
+
{ value: 'C / F', label: 'переключаемые единицы температуры', icon: 'mdi:swap-horizontal' },
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'summary',
|
|
104
|
+
title: 'Практическая памятка для наблюдения линии Бекке',
|
|
105
|
+
items: [
|
|
106
|
+
'Используйте чистый небольшой осколок стекла, полностью погруженный в подходящую иммерсионную жидкость.',
|
|
107
|
+
'Сфокусируйтесь чуть выше и ниже границы раздела и проследите, в какую сторону смещается светлая линия.',
|
|
108
|
+
'Медленно повышайте температуру вблизи предполагаемой точки совпадения, так как линия может исчезнуть в узком диапазоне.',
|
|
109
|
+
'Записывайте температуру, тип жидкости, калибровочный стандарт, наблюдаемое поведение линии и погрешность.',
|
|
110
|
+
'Относитесь к RI как к групповому признаку: несовпадение может исключить источник, тогда как совпадение требует контекста.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'comparative',
|
|
115
|
+
columns: 2,
|
|
116
|
+
items: [
|
|
117
|
+
{
|
|
118
|
+
title: 'Что может подтвердить сравнение RI',
|
|
119
|
+
icon: 'mdi:check-circle-outline',
|
|
120
|
+
highlight: true,
|
|
121
|
+
description: 'Показатель преломления помогает сравнивать исследуемые осколки стекла с известными эталонами в контролируемых условиях.',
|
|
122
|
+
points: ['Сравнение групповых характеристик', 'Исключение при явном различии RI', 'Предварительный отбор перед элементным анализом', 'Изучение оптического поведения на границе сред'],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
title: 'Что один только RI не может доказать',
|
|
126
|
+
icon: 'mdi:alert-circle-outline',
|
|
127
|
+
description: 'Совпадение RI не идентифицирует однозначно оконное стекло, бутылку, стекло автомобиля или конкретное место происшествия.',
|
|
128
|
+
points: ['Нет индивидуальной идентификации источника самой по себе', 'Нет реконструкции без контекста происшествия', 'Не заменяет контрольные образцы', 'Никаких юридических выводов из браузерной модели'],
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'table',
|
|
134
|
+
headers: ['Вопрос пользователя', 'Концепция микроскопии', 'Подробный ответ'],
|
|
135
|
+
rows: [
|
|
136
|
+
['Почему смещается светлый край?', 'Преломление на границе двух сред с разным RI.', 'Линия Бекке смещается в сторону материала с более высоким показателем преломления при поднятии тубуса (фокуса).'],
|
|
137
|
+
['Почему край исчезает?', 'Равенство показателей преломления.', 'Когда RI стекла и жидкости практически равны, контраст на границе пропадает и ореол становится слабым.'],
|
|
138
|
+
['Зачем нагревать жидкость?', 'Термический коэффициент RI.', 'Показатель преломления моделируемой жидкости уменьшается с температурой, позволяя найти совпадение для разных типов стекол.'],
|
|
139
|
+
['Является ли совпадение окончательным?', 'Ограничение групповых доказательств.', 'Совпадение указывает лишь на соответствие; многие стеклянные изделия могут иметь сходный RI.'],
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Как работает модель симуляции',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Модель присваивает каждому профилю стекла эталонный показатель преломления и рассматривает иммерсионную жидкость как температурозависимую среду. При нагревании столика показатель преломления жидкости уменьшается на фиксированный термический коэффициент. Затем симулятор вычисляет разность между RI стекла и жидкости, используя эту разность для управления яркостью ореола, его смещением, процентом совпадения и выводом сообщения.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'Визуальное поле микроскопа намеренно сделано качественным. Оно не пытается рассчитать все траектории световых лучей. Вместо этого оно сохраняет ключевую учебную зависимость: сильный контраст RI дает яркую границу; низкий контраст дает бледную границу; а вблизи точки совпадения край стекла словно растворяется в жидкости.',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'paragraph',
|
|
157
|
+
html: 'В профессиональных судебно-медицинских лабораториях калибровка нагревательного столика выполняется с использованием эталонных образцов стекла с известным показателем преломления. Поскольку показатель преломления иммерсионной жидкости предсказуемо изменяется с температурой (обычно обозначается как dn/dT), точная температура, при которой исчезает линия Бекке, позволяет ученому рассчитать показатель преломления стекла с точностью до четырех знаков после запятой. Этот симулятор моделирует это температурно-зависимое поведение с использованием линейной формулы, позволяя учащимся практиковаться в поиске точной точки совпадения путем тщательного контроля нагревательного столика.',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'paragraph',
|
|
161
|
+
html: 'При анализе стеклянных вещественных доказательств показатель преломления считается групповым доказательством. Хотя совпадающий показатель преломления между осколком с места происшествия и одеждой подозреваемого согласуется с общим источником, он не идентифицирует источник однозначно, поскольку многие стеклянные предметы имеют одинаковые значения показателя преломления. Поэтому судебные эксперты должны интерпретировать совпадающие результаты консервативно, сообщая о совпадении с точки зрения согласованности, подчеркивая при этом, что окончательная идентификация источника невозможна только на основе оптических свойств.',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'glossary',
|
|
165
|
+
items: [
|
|
166
|
+
{ term: 'Показатель преломления', definition: 'Мера того, насколько сильно среда преломляет свет по сравнению с вакуумом.' },
|
|
167
|
+
{ term: 'Иммерсионная жидкость', definition: 'Жидкость с известными оптическими свойствами, используемая для окружения осколка при микроскопическом сравнении RI.' },
|
|
168
|
+
{ term: 'Линия Бекке', definition: 'Светлая полоса или ореол, видимый на границе раздела сред, когда два прозрачных материала имеют разные показатели преломления.' },
|
|
169
|
+
{ term: 'Точка совпадения', definition: 'Температурный диапазон, в котором иммерсионная жидкость и стекло имеют практически одинаковый показатель преломления.' },
|
|
170
|
+
{ term: 'Групповое доказательство', definition: 'Доказательство, которое позволяет связать объект с группой возможных источников, а не с единственным конкретным источником.' },
|
|
171
|
+
],
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'tip',
|
|
175
|
+
title: 'Совет по интерпретации для студентов',
|
|
176
|
+
html: 'При исследовании стекла явное несовпадение показателей преломления часто дает больше информации, чем совпадение, так как позволяет надежно исключить предполагаемый источник. Совпадение полезно, но его доказательственное значение зависит от данных о распределении RI, точности измерений, элементного состава и деталей дела.',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'proscons',
|
|
180
|
+
title: 'Преимущества и ограничения метода линии Бекке',
|
|
181
|
+
items: [
|
|
182
|
+
{ pro: 'Быстрый, наглядный и отличный метод для обучения сравнению прозрачных материалов.', con: 'Субъективная оценка наблюдателя и техника фокусировки могут влиять на видимое движение линии.' },
|
|
183
|
+
{ pro: 'Температурный метод позволяет определить RI с хорошей точностью при надлежащей калибровке.', con: 'В реальной работе критически важны температурный контроль, старение жидкости, загрязнения и стандарты.' },
|
|
184
|
+
{ pro: 'Эффективен для исключения осколков стекла с явно отличающимися оптическими свойствами.', con: 'Не позволяет индивидуализировать источник без дополнительных аналитических и контекстуальных данных.' },
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'diagnostic',
|
|
189
|
+
variant: 'warning',
|
|
190
|
+
icon: 'mdi:scale-balance',
|
|
191
|
+
badge: 'Предостережение',
|
|
192
|
+
title: 'Соблюдайте соразмерность выводов',
|
|
193
|
+
html: 'Браузерный симулятор линии Бекке является учебным пособием, а не лабораторной методикой. Официальная судебная интерпретация доказательств должна основываться на поверенных приборах, документированных методиках, калибровочных записях, оценках неопределенности, экспертной оценке и формулировках выводов, соответствующих юрисдикции.',
|
|
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 = 'becke-linje-glas-brytningsindex-simulator';
|
|
5
|
+
const title = 'Forensisk simulator för Becke linje och glasbrytningsindex';
|
|
6
|
+
const description = 'Simulera Becke-linjemetoden för forensisk glasjämförelse genom att värma en immersionsvätska, matcha brytningsindex och se hur den ljusa halon försvinner.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Välj en glasprofil under utredning',
|
|
11
|
+
text: 'Välj en vanlig glasreferensprofil såsom sodaglas, borosilikatglas, blykristall eller härdat fönsterglas.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Justera temperaturen på värmebordet',
|
|
15
|
+
text: 'Dra i temperaturreglaget för att ändra brytningsindexet för den virtuella immersionsvätskan.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Observera Becke-linjens rörelse',
|
|
19
|
+
text: 'Använd fokusriktningskontrollen för att se om den ljusa linjen rör sig inåt, utåt eller nästan försvinner vid matchningspunkten.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Avläs indexdifferensen',
|
|
23
|
+
text: 'Jämför vätskans RI, glasets RI, delta RI och matchningsprocent för tolkningen varför halon blir svag nära indexöverensstämmelse.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Vad är Becke-linjen vid forensisk glasanalys?',
|
|
30
|
+
answer: 'Becke-linjen är en ljus halo (ljusring) som ses nära gränsen mellan ett glasfragment och en immersionsvätska när deras brytningsindex skiljer sig åt. Dess rörelse under fokusering hjälper till att avgöra vilket material som har det högre brytningsindexet.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Varför spelar uppvärmning av immersionsvätskan roll?',
|
|
34
|
+
answer: 'Brytningsindexet för många immersionsvätskor minskar när temperaturen stiger. Genom att värma vätskan tills dess index matchar glasets bleknar gränskontrasten och fragmentets kant blir svår att se.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Kan brytningsindex ensamt identifiera en glaskälla?',
|
|
38
|
+
answer: 'Nej. RI kan stödja klassjämförelse och uteslutning, mas forensisk källtolkning tar också hänsyn till elementsammansättning, tjocklek, färg, frakturkontext, kontroller, osäkerhet och validerade laboratorieprocedurer.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Vad betyder det när Becke-linjen försvinner?',
|
|
42
|
+
answer: 'Det betyder att vätskan och glaset har mycket liknande brytningsindex under de simulerade förhållandena. I verklig mikroskopi bedöms försvinnandet med kalibrerad temperaturkontroll och referensmaterial.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Virtuell mikroskopvy som visar ett glasfragment i immersionsvätska',
|
|
52
|
+
units: 'Temperaturenhetssystem',
|
|
53
|
+
metric: 'Metrisch',
|
|
54
|
+
imperial: 'Imperial',
|
|
55
|
+
unitCelsius: 'C',
|
|
56
|
+
unitFahrenheit: 'F',
|
|
57
|
+
glassSample: 'Glasreferens',
|
|
58
|
+
sodaLime: 'Sodaglas (förpackningsglas)',
|
|
59
|
+
borosilicate: 'Borosilikatglas (laboratorieglas)',
|
|
60
|
+
leadCrystal: 'Blykristall (dekorationsglas)',
|
|
61
|
+
tempered: 'Härdat fönsterglas',
|
|
62
|
+
stageTemperature: 'Värmebordstemperatur',
|
|
63
|
+
focusDirection: 'Fokusriktning',
|
|
64
|
+
focusRaised: 'Höj fokus',
|
|
65
|
+
focusLowered: 'Sänk fokus',
|
|
66
|
+
liquidRi: 'Vätske-RI',
|
|
67
|
+
glassRi: 'Glas-RI',
|
|
68
|
+
deltaRi: 'Delta-RI',
|
|
69
|
+
matchMeter: 'RI-matchning',
|
|
70
|
+
canvasHalo: 'synlig Becke-halo',
|
|
71
|
+
canvasFocusSeparator: ' - ',
|
|
72
|
+
canvasMatched: 'kant nästan matchad',
|
|
73
|
+
interpMatched: 'Gränsen är nära optisk matchning. I ett verkligt Becke-linjetest är detta det område där halon blir svag och fragmentets kant är svårast att lokalisera.',
|
|
74
|
+
interpGlassHigher: 'Glaset har det högre brytningsindexet. Med höjt fokus indikerar Becke-linjens beteende att ljuset koncentreras mot glassidan av gränsen.',
|
|
75
|
+
interpLiquidHigher: 'Immersionsvätskan har det högre brytningsindexet. Halon skiftar mot vätskesidan tills temperaturen för vätskans index närmare glaset.',
|
|
76
|
+
disclaimer: 'Endast pedagogisk simulering. Verklig forensisk glasjämförelse kräver kalibrerad utrustning för brytningsindex, kända standarder, osäkerhetsrapportering och kvalificerad tolkning.',
|
|
77
|
+
},
|
|
78
|
+
seo: [
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'Brytningsindextest med Becke-linje för forensiskt glas',
|
|
82
|
+
level: 2,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'diagnostic',
|
|
86
|
+
variant: 'info',
|
|
87
|
+
icon: 'mdi:microscope',
|
|
88
|
+
badge: 'Undervisningssimulator',
|
|
89
|
+
title: 'Vad denna glas RI simulator visar',
|
|
90
|
+
html: 'Denna simulator visar varför um glasfragment blir mer eller mindre synligt i immersionsolja när vätskans brytningsindex närmar sig glasets brytningsindex. Den är byggd för studenter i forensisk vetenskap som lär sig <strong>Becke-linjemikroskopi</strong>, matchning av RI på värmebord och gränserna för glasjämförelsebevis.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'stats',
|
|
94
|
+
columns: 4,
|
|
95
|
+
items: [
|
|
96
|
+
{ value: 'n glas - n vätska', label: 'visad indexkontrast', icon: 'mdi:delta' },
|
|
97
|
+
{ value: '15-145 C', label: 'värmebordsintervall', icon: 'mdi:thermometer' },
|
|
98
|
+
{ value: '4', label: 'glasprofiler', icon: 'mdi:glass-fragile' },
|
|
99
|
+
{ value: 'C / F', label: 'konverterbara temperaturenheter', icon: 'mdi:swap-horizontal' },
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'summary',
|
|
104
|
+
title: 'Praktisk checklista för observation av Becke linje',
|
|
105
|
+
items: [
|
|
106
|
+
'Använd ett rent, litet glasfragment helt nedsänkt i en lämplig brytningsindexvätska.',
|
|
107
|
+
'Fokusera något över och under gränsen och titta på vilken sida den ljusa linjen verkar röra sig mot.',
|
|
108
|
+
'Höj temperaturen långsamt nära den uppskattade matchningspunkten eftersom linjen kan blekna över ett snävt intervall.',
|
|
109
|
+
'Registrera temperatur, vätsketyp, kalibreringsstandard, observerat matchningsbeteende och osäkerhet.',
|
|
110
|
+
'Behandla RI som klassbevis: en missmatchning kan utesluta, medan en matchning kräver ytterligare kontext.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'comparative',
|
|
115
|
+
columns: 2,
|
|
116
|
+
items: [
|
|
117
|
+
{
|
|
118
|
+
title: 'Vad en RI jämförelse kan stödja',
|
|
119
|
+
icon: 'mdi:check-circle-outline',
|
|
120
|
+
highlight: true,
|
|
121
|
+
description: 'Brytningsindex kan hjälpa till att jämföra glasfragment under utredning med känt referensglas under kontrollerade förhållanden.',
|
|
122
|
+
points: ['Jämförelse av klasselement', 'Uteslutning när RI skiljer sig tydligt', 'Undersökning före elementaranalys', 'Undervisning i optiskt beteende vid gränser'],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
title: 'Vad RI inte kan bevisa ensamt',
|
|
126
|
+
icon: 'mdi:alert-circle-outline',
|
|
127
|
+
description: 'Ett matchande RI identifierar inte unikt en ruta, flaska, fordonsruta eller källa på en brottsplats.',
|
|
128
|
+
points: ['Ingen individuell källattributering i sig', 'Ingen rekonstruktion utan scenkontext', 'Ersätter inte kontroller', 'Ingen juridisk slutsats från en webbläsarmodell'],
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'table',
|
|
134
|
+
headers: ['Användarfråga', 'Mikroskopikoncept', 'Noggrant svar'],
|
|
135
|
+
rows: [
|
|
136
|
+
['Varför rör sig den ljusa kanten?', 'Brytning vid en gräns mellan två brytningsindex.', 'Becke-linjen tenderar att röra sig mot materialet med högre brytningsindex när fokus höjs.'],
|
|
137
|
+
['Varför försvinner kanten?', 'Indexmatchning.', 'När glas och vätske-RI är nästan lika, sjunker gränskontrasten och halon blir svag.'],
|
|
138
|
+
['Varför värma vätskan?', 'Termisk RI-koefficient.', 'Den simulerade vätskans RI minskar med temperaturen, vilket möjliggör matchning mot olika glastyper.'],
|
|
139
|
+
['Är en matchning avgörande?', 'Klassbevisbegränsning.', 'En matchning stöder endast överensstämmelse; många glasobjekt kan dela ett liknande RI.'],
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Hur simuleringsmodellen fungerar',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Modellen tilldelar varje glasprofil ett referensbrytningsindex och behandlar immersionsvätskan som ett temperaturkänsligt medium. När värmebordet värms upp minskar vätskans index med en fast termisk koefficient. Simulatorn beräknar sedan skillnaden mellan glasets RI och vätskans RI, och använder den skillnaden för att styra halostyrka, haloförskjutning, matchningsprocent och tolkningens meddelande.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'Det visuella mikroskopfältet är avsiktligt kvalitativt. Det försöker inte spåra varje optisk väg i detalj. Istället bevarar det det väsentliga pedagogiska förhållandet: stark RI-kontrast ger en ljus gräns; lägre kontrast ger en svag gräns; och nära matchningspunkten kan glasets kant se ut att försvinna i vätskan.',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'paragraph',
|
|
157
|
+
html: 'I professionella forensiska laboratorier utförs kalibrering av värmebordet med hjälp av referensglasprover med känt brytningsindex. Eftersom brytningsindexet för immersionsvätskan varierar förutsägbart med temperaturen (vanligtvis betecknat som dn/dT), gör den exakta temperaturen vid vilken Becke-linjen försvinner det möjligt för forskaren att beräkna glasets brytningsindex med upp till fyra decimalers noggrannhet. Denna simulator modellerar detta temperaturberoende beteende med en linjär formel, vilket gör det möjligt för studenter att öva på att hitta den exakta matchningspunkten genom att noggrant styra värmebordet.',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'paragraph',
|
|
161
|
+
html: 'Vid analys av glasbevis betraktas brytningsindex som klassbevis. Även om ett matchande brytningsindex mellan ett fragment från en brottsplats och en misstänkt persons kläder överensstämmer med en gemensam källa, identifierar det inte källan unikt eftersom många glasföremål delar identiska brytningsindexvärden. Därför måste forensiska experter tolka matchande resultat försiktigt och rapportera matchningen i termer av konsistens, samtidigt som de betonar att en slutgiltig källattributering inte är möjlig baserat enbart på optiska egenskaper.',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'glossary',
|
|
165
|
+
items: [
|
|
166
|
+
{ term: 'Brytningsindex', definition: 'Ett mått på hur starkt ett material böjer ljuset jämfört med vakuum.' },
|
|
167
|
+
{ term: 'Immersionsvätska', definition: 'En vätska med kända optiska egenskaper som används för att omge ett fragment under mikroskopisk RI-jämförelse.' },
|
|
168
|
+
{ term: 'Becke-linje', definition: 'Den ljusa linjen eller halon som ses vid en gräns när två transparenta material har olika brytningsindex.' },
|
|
169
|
+
{ term: 'Matchningspunkt', definition: 'Det temperaturområde där immersionsvätskan och glaset har nästan samma brytningsindex.' },
|
|
170
|
+
{ term: 'Klassbevis', definition: 'Bevis som kan associera ett föremål med en grupp av möjliga källor snarare än en unik källa.' },
|
|
171
|
+
],
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'tip',
|
|
175
|
+
title: 'Tolkningstips för studenter',
|
|
176
|
+
html: 'I glasbevis är en tydlig RI-missmatchning ofta starkare än en matchning eftersom den kan utesluta en föreslagen källa. En matchning är användbar, men dess styrka beror på populationsdata, mätprecision, elementsammansättning och fallkontext.',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'proscons',
|
|
180
|
+
title: 'Styrkor och begränsningar med Becke linjeglas RI testning',
|
|
181
|
+
items: [
|
|
182
|
+
{ pro: 'Snabb, visuell och utmärkt för att lära ut jämförelse av transparenta material.', con: 'Observatörens bedömning och fokuseringsteknik kan påverka linjens uppenbara rörelse.' },
|
|
183
|
+
{ pro: 'Temperaturmatchning kan uppskatta RI med användbar precision när den kalibreras.', con: 'Termisk kontroll, vätskeåldring, kontaminering och standarder är viktiga i verkligt arbete.' },
|
|
184
|
+
{ pro: 'Användbar för att utesluta glasfragment med tydligt olika optiska egenskaper.', con: 'Kan inte individualisera en källa utan bredare analytisk och kontextuell bevisning.' },
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'diagnostic',
|
|
189
|
+
variant: 'warning',
|
|
190
|
+
icon: 'mdi:scale-balance',
|
|
191
|
+
badge: 'Forensisk försiktighet',
|
|
192
|
+
title: 'Håll slutsatsen proportionerlig',
|
|
193
|
+
html: 'En Becke-linjesimulering i en webbläsare är ett inlärningsverktyg, inte en laboratoriemetod. Formell tolkning av glasbevis bör baseras på validerade instrument, skriftliga procedurer, kalibreringsprotokoll, osäkerhetsuppskattningar, kollegial bedömning och rapporteringsspråk som är lämpligt för jurisdiktionen.',
|
|
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
|
+
};
|