@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.
Files changed (316) hide show
  1. package/package.json +69 -0
  2. package/scripts/crystal-lattice-catalog-translations.mjs +459 -0
  3. package/scripts/postinstall.mjs +27 -0
  4. package/scripts/sync-crystal-lattice-i18n.mjs +50 -0
  5. package/src/category/i18n/de.ts +55 -0
  6. package/src/category/i18n/en.ts +55 -0
  7. package/src/category/i18n/es.ts +55 -0
  8. package/src/category/i18n/fr.ts +55 -0
  9. package/src/category/i18n/id.ts +55 -0
  10. package/src/category/i18n/it.ts +55 -0
  11. package/src/category/i18n/ja.ts +56 -0
  12. package/src/category/i18n/ko.ts +56 -0
  13. package/src/category/i18n/nl.ts +55 -0
  14. package/src/category/i18n/pl.ts +55 -0
  15. package/src/category/i18n/pt.ts +55 -0
  16. package/src/category/i18n/ru.ts +55 -0
  17. package/src/category/i18n/sv.ts +55 -0
  18. package/src/category/i18n/tr.ts +55 -0
  19. package/src/category/i18n/zh.ts +56 -0
  20. package/src/category/index.ts +48 -0
  21. package/src/category/seo.astro +15 -0
  22. package/src/components/PreviewNavSidebar.astro +116 -0
  23. package/src/components/PreviewToolbar.astro +143 -0
  24. package/src/data.ts +10 -0
  25. package/src/entries.ts +48 -0
  26. package/src/env.d.ts +5 -0
  27. package/src/index.ts +29 -0
  28. package/src/layouts/PreviewLayout.astro +117 -0
  29. package/src/pages/[locale]/[slug].astro +162 -0
  30. package/src/pages/[locale].astro +261 -0
  31. package/src/pages/index.astro +3 -0
  32. package/src/tests/diacritics_density.test.ts +140 -0
  33. package/src/tests/faq_count.test.ts +19 -0
  34. package/src/tests/i18n_coverage.test.ts +36 -0
  35. package/src/tests/inverted_punctuation.test.ts +84 -0
  36. package/src/tests/locale_completeness.test.ts +24 -0
  37. package/src/tests/mocks/astro_mock.js +2 -0
  38. package/src/tests/no_en_dash.test.ts +70 -0
  39. package/src/tests/no_h1_in_components.test.ts +48 -0
  40. package/src/tests/schemas_fulfillment.test.ts +23 -0
  41. package/src/tests/script_density.test.ts +94 -0
  42. package/src/tests/seo_length.test.ts +46 -0
  43. package/src/tests/shared-test-helpers.ts +56 -0
  44. package/src/tests/slug_language_code_format.test.ts +23 -0
  45. package/src/tests/slug_uniqueness.test.ts +81 -0
  46. package/src/tests/title_quality.test.ts +55 -0
  47. package/src/tests/tool_exports.test.ts +34 -0
  48. package/src/tests/tool_validation.test.ts +16 -0
  49. package/src/tests/widmark.test.ts +28 -0
  50. package/src/tool/forensic-age-estimator/bibliography.astro +14 -0
  51. package/src/tool/forensic-age-estimator/bibliography.ts +16 -0
  52. package/src/tool/forensic-age-estimator/component.astro +321 -0
  53. package/src/tool/forensic-age-estimator/dental-skeletal-third-molar-age-estimator.css +634 -0
  54. package/src/tool/forensic-age-estimator/entry.ts +32 -0
  55. package/src/tool/forensic-age-estimator/i18n/de.ts +245 -0
  56. package/src/tool/forensic-age-estimator/i18n/en.ts +245 -0
  57. package/src/tool/forensic-age-estimator/i18n/es.ts +245 -0
  58. package/src/tool/forensic-age-estimator/i18n/fr.ts +245 -0
  59. package/src/tool/forensic-age-estimator/i18n/id.ts +245 -0
  60. package/src/tool/forensic-age-estimator/i18n/it.ts +245 -0
  61. package/src/tool/forensic-age-estimator/i18n/ja.ts +245 -0
  62. package/src/tool/forensic-age-estimator/i18n/ko.ts +245 -0
  63. package/src/tool/forensic-age-estimator/i18n/nl.ts +245 -0
  64. package/src/tool/forensic-age-estimator/i18n/pl.ts +245 -0
  65. package/src/tool/forensic-age-estimator/i18n/pt.ts +245 -0
  66. package/src/tool/forensic-age-estimator/i18n/ru.ts +245 -0
  67. package/src/tool/forensic-age-estimator/i18n/sv.ts +245 -0
  68. package/src/tool/forensic-age-estimator/i18n/tr.ts +245 -0
  69. package/src/tool/forensic-age-estimator/i18n/zh.ts +246 -0
  70. package/src/tool/forensic-age-estimator/index.ts +11 -0
  71. package/src/tool/forensic-age-estimator/logic.ts +81 -0
  72. package/src/tool/forensic-age-estimator/seo.astro +15 -0
  73. package/src/tool/forensic-blood-test-simulator/bibliography.astro +6 -0
  74. package/src/tool/forensic-blood-test-simulator/bibliography.ts +12 -0
  75. package/src/tool/forensic-blood-test-simulator/component.astro +168 -0
  76. package/src/tool/forensic-blood-test-simulator/dom-utils.ts +40 -0
  77. package/src/tool/forensic-blood-test-simulator/entry.ts +32 -0
  78. package/src/tool/forensic-blood-test-simulator/forensic-presumptive-blood-testing-luminol-kastle-meyer-simulator.css +532 -0
  79. package/src/tool/forensic-blood-test-simulator/helpers.ts +16 -0
  80. package/src/tool/forensic-blood-test-simulator/i18n/de.ts +185 -0
  81. package/src/tool/forensic-blood-test-simulator/i18n/en.ts +185 -0
  82. package/src/tool/forensic-blood-test-simulator/i18n/es.ts +185 -0
  83. package/src/tool/forensic-blood-test-simulator/i18n/fr.ts +220 -0
  84. package/src/tool/forensic-blood-test-simulator/i18n/id.ts +220 -0
  85. package/src/tool/forensic-blood-test-simulator/i18n/it.ts +220 -0
  86. package/src/tool/forensic-blood-test-simulator/i18n/ja.ts +220 -0
  87. package/src/tool/forensic-blood-test-simulator/i18n/ko.ts +220 -0
  88. package/src/tool/forensic-blood-test-simulator/i18n/nl.ts +220 -0
  89. package/src/tool/forensic-blood-test-simulator/i18n/pl.ts +220 -0
  90. package/src/tool/forensic-blood-test-simulator/i18n/pt.ts +220 -0
  91. package/src/tool/forensic-blood-test-simulator/i18n/ru.ts +220 -0
  92. package/src/tool/forensic-blood-test-simulator/i18n/sv.ts +220 -0
  93. package/src/tool/forensic-blood-test-simulator/i18n/tr.ts +220 -0
  94. package/src/tool/forensic-blood-test-simulator/i18n/zh.ts +220 -0
  95. package/src/tool/forensic-blood-test-simulator/index.ts +11 -0
  96. package/src/tool/forensic-blood-test-simulator/logic.ts +174 -0
  97. package/src/tool/forensic-blood-test-simulator/script.ts +192 -0
  98. package/src/tool/forensic-blood-test-simulator/seo.astro +15 -0
  99. package/src/tool/forensic-fiber-comparison-microscope/bibliography.astro +6 -0
  100. package/src/tool/forensic-fiber-comparison-microscope/bibliography.ts +16 -0
  101. package/src/tool/forensic-fiber-comparison-microscope/component.astro +146 -0
  102. package/src/tool/forensic-fiber-comparison-microscope/entry.ts +32 -0
  103. package/src/tool/forensic-fiber-comparison-microscope/forensic-fiber-comparison-microscope.css +629 -0
  104. package/src/tool/forensic-fiber-comparison-microscope/i18n/de.ts +250 -0
  105. package/src/tool/forensic-fiber-comparison-microscope/i18n/en.ts +246 -0
  106. package/src/tool/forensic-fiber-comparison-microscope/i18n/es.ts +246 -0
  107. package/src/tool/forensic-fiber-comparison-microscope/i18n/fr.ts +246 -0
  108. package/src/tool/forensic-fiber-comparison-microscope/i18n/id.ts +250 -0
  109. package/src/tool/forensic-fiber-comparison-microscope/i18n/it.ts +246 -0
  110. package/src/tool/forensic-fiber-comparison-microscope/i18n/ja.ts +250 -0
  111. package/src/tool/forensic-fiber-comparison-microscope/i18n/ko.ts +246 -0
  112. package/src/tool/forensic-fiber-comparison-microscope/i18n/nl.ts +246 -0
  113. package/src/tool/forensic-fiber-comparison-microscope/i18n/pl.ts +250 -0
  114. package/src/tool/forensic-fiber-comparison-microscope/i18n/pt.ts +250 -0
  115. package/src/tool/forensic-fiber-comparison-microscope/i18n/ru.ts +250 -0
  116. package/src/tool/forensic-fiber-comparison-microscope/i18n/sv.ts +250 -0
  117. package/src/tool/forensic-fiber-comparison-microscope/i18n/tr.ts +246 -0
  118. package/src/tool/forensic-fiber-comparison-microscope/i18n/zh.ts +250 -0
  119. package/src/tool/forensic-fiber-comparison-microscope/index.ts +11 -0
  120. package/src/tool/forensic-fiber-comparison-microscope/logic.ts +244 -0
  121. package/src/tool/forensic-fiber-comparison-microscope/render.ts +265 -0
  122. package/src/tool/forensic-fiber-comparison-microscope/seo.astro +15 -0
  123. package/src/tool/forensic-fiber-comparison-microscope/view.ts +267 -0
  124. package/src/tool/forensic-glass-becke-line-simulator/bibliography.astro +6 -0
  125. package/src/tool/forensic-glass-becke-line-simulator/bibliography.ts +16 -0
  126. package/src/tool/forensic-glass-becke-line-simulator/component.astro +81 -0
  127. package/src/tool/forensic-glass-becke-line-simulator/entry.ts +32 -0
  128. package/src/tool/forensic-glass-becke-line-simulator/forensic-glass-becke-line-simulator.css +392 -0
  129. package/src/tool/forensic-glass-becke-line-simulator/i18n/de.ts +231 -0
  130. package/src/tool/forensic-glass-becke-line-simulator/i18n/en.ts +231 -0
  131. package/src/tool/forensic-glass-becke-line-simulator/i18n/es.ts +231 -0
  132. package/src/tool/forensic-glass-becke-line-simulator/i18n/fr.ts +231 -0
  133. package/src/tool/forensic-glass-becke-line-simulator/i18n/id.ts +231 -0
  134. package/src/tool/forensic-glass-becke-line-simulator/i18n/it.ts +231 -0
  135. package/src/tool/forensic-glass-becke-line-simulator/i18n/ja.ts +231 -0
  136. package/src/tool/forensic-glass-becke-line-simulator/i18n/ko.ts +231 -0
  137. package/src/tool/forensic-glass-becke-line-simulator/i18n/nl.ts +231 -0
  138. package/src/tool/forensic-glass-becke-line-simulator/i18n/pl.ts +231 -0
  139. package/src/tool/forensic-glass-becke-line-simulator/i18n/pt.ts +231 -0
  140. package/src/tool/forensic-glass-becke-line-simulator/i18n/ru.ts +231 -0
  141. package/src/tool/forensic-glass-becke-line-simulator/i18n/sv.ts +231 -0
  142. package/src/tool/forensic-glass-becke-line-simulator/i18n/tr.ts +231 -0
  143. package/src/tool/forensic-glass-becke-line-simulator/i18n/zh.ts +231 -0
  144. package/src/tool/forensic-glass-becke-line-simulator/index.ts +11 -0
  145. package/src/tool/forensic-glass-becke-line-simulator/logic.ts +100 -0
  146. package/src/tool/forensic-glass-becke-line-simulator/seo.astro +15 -0
  147. package/src/tool/forensic-glass-becke-line-simulator/view.ts +281 -0
  148. package/src/tool/forensic-image-authenticity-analyzer/bibliography.astro +9 -0
  149. package/src/tool/forensic-image-authenticity-analyzer/bibliography.ts +7 -0
  150. package/src/tool/forensic-image-authenticity-analyzer/component.astro +250 -0
  151. package/src/tool/forensic-image-authenticity-analyzer/entry.ts +29 -0
  152. package/src/tool/forensic-image-authenticity-analyzer/forensic-image-metadata-authenticity-analyzer.css +679 -0
  153. package/src/tool/forensic-image-authenticity-analyzer/i18n/de.ts +105 -0
  154. package/src/tool/forensic-image-authenticity-analyzer/i18n/en.ts +105 -0
  155. package/src/tool/forensic-image-authenticity-analyzer/i18n/es.ts +105 -0
  156. package/src/tool/forensic-image-authenticity-analyzer/i18n/fr.ts +105 -0
  157. package/src/tool/forensic-image-authenticity-analyzer/i18n/id.ts +76 -0
  158. package/src/tool/forensic-image-authenticity-analyzer/i18n/it.ts +105 -0
  159. package/src/tool/forensic-image-authenticity-analyzer/i18n/ja.ts +72 -0
  160. package/src/tool/forensic-image-authenticity-analyzer/i18n/ko.ts +72 -0
  161. package/src/tool/forensic-image-authenticity-analyzer/i18n/nl.ts +75 -0
  162. package/src/tool/forensic-image-authenticity-analyzer/i18n/pl.ts +75 -0
  163. package/src/tool/forensic-image-authenticity-analyzer/i18n/pt.ts +105 -0
  164. package/src/tool/forensic-image-authenticity-analyzer/i18n/ru.ts +75 -0
  165. package/src/tool/forensic-image-authenticity-analyzer/i18n/sv.ts +76 -0
  166. package/src/tool/forensic-image-authenticity-analyzer/i18n/tr.ts +76 -0
  167. package/src/tool/forensic-image-authenticity-analyzer/i18n/zh.ts +71 -0
  168. package/src/tool/forensic-image-authenticity-analyzer/index.ts +11 -0
  169. package/src/tool/forensic-image-authenticity-analyzer/logic.ts +283 -0
  170. package/src/tool/forensic-image-authenticity-analyzer/seo.astro +10 -0
  171. package/src/tool/forensic-microcrystal-drug-simulator/bibliography.astro +6 -0
  172. package/src/tool/forensic-microcrystal-drug-simulator/bibliography.ts +12 -0
  173. package/src/tool/forensic-microcrystal-drug-simulator/component.astro +240 -0
  174. package/src/tool/forensic-microcrystal-drug-simulator/entry.ts +32 -0
  175. package/src/tool/forensic-microcrystal-drug-simulator/forensic-microcrystal-drug-simulator.css +430 -0
  176. package/src/tool/forensic-microcrystal-drug-simulator/i18n/de.ts +244 -0
  177. package/src/tool/forensic-microcrystal-drug-simulator/i18n/en.ts +244 -0
  178. package/src/tool/forensic-microcrystal-drug-simulator/i18n/es.ts +244 -0
  179. package/src/tool/forensic-microcrystal-drug-simulator/i18n/fr.ts +244 -0
  180. package/src/tool/forensic-microcrystal-drug-simulator/i18n/id.ts +244 -0
  181. package/src/tool/forensic-microcrystal-drug-simulator/i18n/it.ts +244 -0
  182. package/src/tool/forensic-microcrystal-drug-simulator/i18n/ja.ts +244 -0
  183. package/src/tool/forensic-microcrystal-drug-simulator/i18n/ko.ts +244 -0
  184. package/src/tool/forensic-microcrystal-drug-simulator/i18n/nl.ts +244 -0
  185. package/src/tool/forensic-microcrystal-drug-simulator/i18n/pl.ts +244 -0
  186. package/src/tool/forensic-microcrystal-drug-simulator/i18n/pt.ts +244 -0
  187. package/src/tool/forensic-microcrystal-drug-simulator/i18n/ru.ts +244 -0
  188. package/src/tool/forensic-microcrystal-drug-simulator/i18n/sv.ts +244 -0
  189. package/src/tool/forensic-microcrystal-drug-simulator/i18n/tr.ts +244 -0
  190. package/src/tool/forensic-microcrystal-drug-simulator/i18n/zh.ts +244 -0
  191. package/src/tool/forensic-microcrystal-drug-simulator/index.ts +11 -0
  192. package/src/tool/forensic-microcrystal-drug-simulator/logic.ts +189 -0
  193. package/src/tool/forensic-microcrystal-drug-simulator/seo.astro +15 -0
  194. package/src/tool/forensic-sex-determinator/bibliography.astro +14 -0
  195. package/src/tool/forensic-sex-determinator/bibliography.ts +12 -0
  196. package/src/tool/forensic-sex-determinator/component.astro +463 -0
  197. package/src/tool/forensic-sex-determinator/entry.ts +32 -0
  198. package/src/tool/forensic-sex-determinator/forensic-sex-determinator.css +413 -0
  199. package/src/tool/forensic-sex-determinator/i18n/de.ts +211 -0
  200. package/src/tool/forensic-sex-determinator/i18n/en.ts +211 -0
  201. package/src/tool/forensic-sex-determinator/i18n/es.ts +211 -0
  202. package/src/tool/forensic-sex-determinator/i18n/fr.ts +211 -0
  203. package/src/tool/forensic-sex-determinator/i18n/id.ts +211 -0
  204. package/src/tool/forensic-sex-determinator/i18n/it.ts +211 -0
  205. package/src/tool/forensic-sex-determinator/i18n/ja.ts +211 -0
  206. package/src/tool/forensic-sex-determinator/i18n/ko.ts +211 -0
  207. package/src/tool/forensic-sex-determinator/i18n/nl.ts +211 -0
  208. package/src/tool/forensic-sex-determinator/i18n/pl.ts +211 -0
  209. package/src/tool/forensic-sex-determinator/i18n/pt.ts +211 -0
  210. package/src/tool/forensic-sex-determinator/i18n/ru.ts +211 -0
  211. package/src/tool/forensic-sex-determinator/i18n/sv.ts +211 -0
  212. package/src/tool/forensic-sex-determinator/i18n/tr.ts +211 -0
  213. package/src/tool/forensic-sex-determinator/i18n/zh.ts +211 -0
  214. package/src/tool/forensic-sex-determinator/index.ts +11 -0
  215. package/src/tool/forensic-sex-determinator/logic.ts +89 -0
  216. package/src/tool/forensic-sex-determinator/seo.astro +15 -0
  217. package/src/tool/forensic-stature-estimator/bibliography.astro +14 -0
  218. package/src/tool/forensic-stature-estimator/bibliography.ts +12 -0
  219. package/src/tool/forensic-stature-estimator/component.astro +49 -0
  220. package/src/tool/forensic-stature-estimator/components/EstimationPanel.astro +65 -0
  221. package/src/tool/forensic-stature-estimator/components/OsteometricBoard.astro +39 -0
  222. package/src/tool/forensic-stature-estimator/components/OsteometricSelector.astro +109 -0
  223. package/src/tool/forensic-stature-estimator/dom-utils.ts +71 -0
  224. package/src/tool/forensic-stature-estimator/entry.ts +32 -0
  225. package/src/tool/forensic-stature-estimator/forensic-stature-estimator.css +689 -0
  226. package/src/tool/forensic-stature-estimator/helpers.ts +51 -0
  227. package/src/tool/forensic-stature-estimator/i18n/de.ts +196 -0
  228. package/src/tool/forensic-stature-estimator/i18n/en.ts +196 -0
  229. package/src/tool/forensic-stature-estimator/i18n/es.ts +196 -0
  230. package/src/tool/forensic-stature-estimator/i18n/fr.ts +196 -0
  231. package/src/tool/forensic-stature-estimator/i18n/id.ts +196 -0
  232. package/src/tool/forensic-stature-estimator/i18n/it.ts +196 -0
  233. package/src/tool/forensic-stature-estimator/i18n/ja.ts +196 -0
  234. package/src/tool/forensic-stature-estimator/i18n/ko.ts +196 -0
  235. package/src/tool/forensic-stature-estimator/i18n/nl.ts +196 -0
  236. package/src/tool/forensic-stature-estimator/i18n/pl.ts +196 -0
  237. package/src/tool/forensic-stature-estimator/i18n/pt.ts +196 -0
  238. package/src/tool/forensic-stature-estimator/i18n/ru.ts +196 -0
  239. package/src/tool/forensic-stature-estimator/i18n/sv.ts +196 -0
  240. package/src/tool/forensic-stature-estimator/i18n/tr.ts +196 -0
  241. package/src/tool/forensic-stature-estimator/i18n/zh.ts +196 -0
  242. package/src/tool/forensic-stature-estimator/index.ts +11 -0
  243. package/src/tool/forensic-stature-estimator/logic.ts +119 -0
  244. package/src/tool/forensic-stature-estimator/script.ts +288 -0
  245. package/src/tool/forensic-stature-estimator/seo.astro +15 -0
  246. package/src/tool/forensic-tlc-ink-simulator/bibliography.astro +6 -0
  247. package/src/tool/forensic-tlc-ink-simulator/bibliography.ts +16 -0
  248. package/src/tool/forensic-tlc-ink-simulator/component.astro +245 -0
  249. package/src/tool/forensic-tlc-ink-simulator/entry.ts +32 -0
  250. package/src/tool/forensic-tlc-ink-simulator/forensic-tlc-ink-simulator.css +462 -0
  251. package/src/tool/forensic-tlc-ink-simulator/i18n/de.ts +243 -0
  252. package/src/tool/forensic-tlc-ink-simulator/i18n/en.ts +243 -0
  253. package/src/tool/forensic-tlc-ink-simulator/i18n/es.ts +243 -0
  254. package/src/tool/forensic-tlc-ink-simulator/i18n/fr.ts +243 -0
  255. package/src/tool/forensic-tlc-ink-simulator/i18n/id.ts +243 -0
  256. package/src/tool/forensic-tlc-ink-simulator/i18n/it.ts +243 -0
  257. package/src/tool/forensic-tlc-ink-simulator/i18n/ja.ts +235 -0
  258. package/src/tool/forensic-tlc-ink-simulator/i18n/ko.ts +235 -0
  259. package/src/tool/forensic-tlc-ink-simulator/i18n/nl.ts +243 -0
  260. package/src/tool/forensic-tlc-ink-simulator/i18n/pl.ts +243 -0
  261. package/src/tool/forensic-tlc-ink-simulator/i18n/pt.ts +243 -0
  262. package/src/tool/forensic-tlc-ink-simulator/i18n/ru.ts +243 -0
  263. package/src/tool/forensic-tlc-ink-simulator/i18n/sv.ts +243 -0
  264. package/src/tool/forensic-tlc-ink-simulator/i18n/tr.ts +243 -0
  265. package/src/tool/forensic-tlc-ink-simulator/i18n/zh.ts +235 -0
  266. package/src/tool/forensic-tlc-ink-simulator/index.ts +11 -0
  267. package/src/tool/forensic-tlc-ink-simulator/logic.ts +152 -0
  268. package/src/tool/forensic-tlc-ink-simulator/seo.astro +15 -0
  269. package/src/tool/gsr-dispersion-calculator/bibliography.astro +6 -0
  270. package/src/tool/gsr-dispersion-calculator/bibliography.ts +16 -0
  271. package/src/tool/gsr-dispersion-calculator/component.astro +294 -0
  272. package/src/tool/gsr-dispersion-calculator/entry.ts +32 -0
  273. package/src/tool/gsr-dispersion-calculator/gsr-dispersion-calculator.css +305 -0
  274. package/src/tool/gsr-dispersion-calculator/i18n/de.ts +272 -0
  275. package/src/tool/gsr-dispersion-calculator/i18n/en.ts +272 -0
  276. package/src/tool/gsr-dispersion-calculator/i18n/es.ts +272 -0
  277. package/src/tool/gsr-dispersion-calculator/i18n/fr.ts +272 -0
  278. package/src/tool/gsr-dispersion-calculator/i18n/id.ts +272 -0
  279. package/src/tool/gsr-dispersion-calculator/i18n/it.ts +272 -0
  280. package/src/tool/gsr-dispersion-calculator/i18n/ja.ts +272 -0
  281. package/src/tool/gsr-dispersion-calculator/i18n/ko.ts +272 -0
  282. package/src/tool/gsr-dispersion-calculator/i18n/nl.ts +272 -0
  283. package/src/tool/gsr-dispersion-calculator/i18n/pl.ts +272 -0
  284. package/src/tool/gsr-dispersion-calculator/i18n/pt.ts +272 -0
  285. package/src/tool/gsr-dispersion-calculator/i18n/ru.ts +272 -0
  286. package/src/tool/gsr-dispersion-calculator/i18n/sv.ts +272 -0
  287. package/src/tool/gsr-dispersion-calculator/i18n/tr.ts +272 -0
  288. package/src/tool/gsr-dispersion-calculator/i18n/zh.ts +272 -0
  289. package/src/tool/gsr-dispersion-calculator/index.ts +11 -0
  290. package/src/tool/gsr-dispersion-calculator/logic.ts +148 -0
  291. package/src/tool/gsr-dispersion-calculator/seo.astro +15 -0
  292. package/src/tool/widmark-alcohol-simulator/bibliography.astro +14 -0
  293. package/src/tool/widmark-alcohol-simulator/bibliography.ts +12 -0
  294. package/src/tool/widmark-alcohol-simulator/component.astro +453 -0
  295. package/src/tool/widmark-alcohol-simulator/entry.ts +32 -0
  296. package/src/tool/widmark-alcohol-simulator/i18n/de.ts +193 -0
  297. package/src/tool/widmark-alcohol-simulator/i18n/en.ts +206 -0
  298. package/src/tool/widmark-alcohol-simulator/i18n/es.ts +193 -0
  299. package/src/tool/widmark-alcohol-simulator/i18n/fr.ts +193 -0
  300. package/src/tool/widmark-alcohol-simulator/i18n/id.ts +193 -0
  301. package/src/tool/widmark-alcohol-simulator/i18n/it.ts +193 -0
  302. package/src/tool/widmark-alcohol-simulator/i18n/ja.ts +193 -0
  303. package/src/tool/widmark-alcohol-simulator/i18n/ko.ts +193 -0
  304. package/src/tool/widmark-alcohol-simulator/i18n/nl.ts +193 -0
  305. package/src/tool/widmark-alcohol-simulator/i18n/pl.ts +193 -0
  306. package/src/tool/widmark-alcohol-simulator/i18n/pt.ts +193 -0
  307. package/src/tool/widmark-alcohol-simulator/i18n/ru.ts +193 -0
  308. package/src/tool/widmark-alcohol-simulator/i18n/sv.ts +193 -0
  309. package/src/tool/widmark-alcohol-simulator/i18n/tr.ts +193 -0
  310. package/src/tool/widmark-alcohol-simulator/i18n/zh.ts +193 -0
  311. package/src/tool/widmark-alcohol-simulator/index.ts +11 -0
  312. package/src/tool/widmark-alcohol-simulator/logic.ts +97 -0
  313. package/src/tool/widmark-alcohol-simulator/seo.astro +15 -0
  314. package/src/tool/widmark-alcohol-simulator/widmark-alcohol-simulator.css +386 -0
  315. package/src/tools.ts +27 -0
  316. package/src/types.ts +70 -0
@@ -0,0 +1,250 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
3
+
4
+ const slug = 'forensic-fiber-comparison-microscope';
5
+ const title = '法科学繊維比較顕微鏡シミュレーター';
6
+ const description = '押収された疑わしい繊維プロファイルを構築し、既知の参照用繊維と比較して、形態、偏光挙動、およびUV-Vis染料スペクトル証拠を解釈します。';
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: '形態とUV-Visスペクトルを比較する',
23
+ text: '形態スコア、スペクトルスコア、総合一致度、および吸収曲線を用いて、サンプルが一致しているか、あるいは明らかに異なるかを判断します。',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ question: '繊維顕微鏡検査によって、繊維が採取された正確な衣服を特定することはできますか?',
30
+ answer: '通常はできません。繊維比較によって疑わしい繊維と既知の繊維製品との間の一致性や相違点を示すことはできますが、個別の供給源の特定には、慎重な文脈分析、検証された手法、そして多くの場合、追加の化学的または機器分析が必要です。',
31
+ },
32
+ {
33
+ question: '繊維比較において偏光を使用するのはなぜですか?',
34
+ answer: '偏光は、天然繊維と合成繊維の間の複屈折、消光挙動、および構造的な違いを明らかにするのに役立ちます。合成繊維は分子配向のため、しばしばより強い偏光応答を示します。',
35
+ },
36
+ {
37
+ question: 'UV-Visスペクトルは何をもたらしますか?',
38
+ answer: '顕微鏡検査は形状や光学特性を説明するのに対し、UV-Vis吸光度は異なる波長にわたる染料の挙動を比較できます。見た目が似ている繊維でも、染料が異なればスペクトルプロットで明確に区別できます。',
39
+ },
40
+ {
41
+ question: '結果が最終的な特定ではなくスコアとして表示されるのはなぜですか?',
42
+ answer: '法科学的な微細証拠は比例的に報告されるべきです。表示されるスコアは形態と染料の類似性に関する教育用の要約であり、鑑定書や法的意見ではありません。',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ viewerAria: '2つの繊維を比較する仮想スプリット視野法科学顕微鏡',
52
+ chartAria: '疑わしい繊維と既知の繊維の染料スペクトルを比較するUV-Vis吸光度チャート',
53
+ questionedSample: '疑わしいサンプル',
54
+ fixedEvidence: '回収された固定証拠',
55
+ builderSummaryDefault: '綿 / 18 µm / 不規則 / インディゴ',
56
+ customQuestionedLabel: '事例の疑わしい繊維',
57
+ material: '素材',
58
+ cotton: '綿',
59
+ woolMaterial: '羊毛',
60
+ polyesterMaterial: 'ポリエステル',
61
+ nylonMaterial: 'ナイロン',
62
+ materialcotton: '綿',
63
+ materialwool: '羊毛',
64
+ materialpolyester: 'ポリエステル',
65
+ materialnylon: 'ナイロン',
66
+ twist: '撚り',
67
+ irregularTwist: '不規則',
68
+ sTwist: 'S',
69
+ zTwist: 'Z',
70
+ diameter: '直径',
71
+ polarResponse: '偏光応答',
72
+ dyeProfile: '染料プロファイル',
73
+ indigoDye: 'インディゴ',
74
+ crimsonDye: 'クリムゾン',
75
+ navyDye: 'ネイビー',
76
+ violetDye: 'バイオレット',
77
+ dyeindigo: 'インディゴ',
78
+ dyecrimson: 'クリムゾン',
79
+ dyenavy: 'ネイビー',
80
+ dyeviolet: 'バイオレット',
81
+ knownSample: '既知の比較対象',
82
+ questionedCotton: '疑わしい青色の綿繊維',
83
+ suspectCotton: '容疑者のシャツの綿繊維',
84
+ wool: '赤色のウールセーターの繊維',
85
+ polyester: 'ネイビーのポリエステルジャケットの繊維',
86
+ nylon: 'バイオレットのナイロン裏地の繊維',
87
+ focus: '微動ピント',
88
+ polarizer: '偏光子角度',
89
+ morphology: '形態',
90
+ spectrum: 'UV-Vis',
91
+ birefringence: '複屈折',
92
+ combinedMatch: '総合一致度',
93
+ uvVisTitle: 'UV-Vis吸光度オーバーレイ',
94
+ statusStrong: '高い一致性',
95
+ statusPartial: '混在した比較結果',
96
+ statusDifferent: '除外を支持',
97
+ verdictStrong: '疑わしい繊維と既知の繊維は、直径、撚り、光学的挙動、および染料スペクトルにおいて高度に一致しています。実際の事例では、これを個別の身元特定ではなく、共通の衣服供給源である可能性を支持する証拠として報告します。',
98
+ verdictPartial: '比較結果は混在しています。いくつかの類特性は一致していますが、形態、染料応答、または複屈折に十分な差異が見られるため、慎重な関連付けを行う前にさらなる検査が必要となります。',
99
+ verdictDifferent: '繊維は主要な類特性において一致していません。このシミュレーション結果は、疑わしい繊維の供給源として既知の繊維製品を除外することを支持しています。',
100
+ disclaimer: '教育用シミュレーションのみ。実際の法科学的繊維比較には、検証された顕微鏡検査、コントロール、文書化、汚染防止策、ピアレビュー、および資格を持つ専門家による微細証拠解釈が必要です。',
101
+ },
102
+ seo: [
103
+ {
104
+ type: 'title',
105
+ text: 'スプリット視野顕微鏡検査とUV-Visスペクトルによる法科学繊維比較',
106
+ level: 2,
107
+ },
108
+ {
109
+ type: 'diagnostic',
110
+ variant: 'info',
111
+ icon: 'mdi:microscope',
112
+ badge: '教材用シミュレーター',
113
+ title: 'この仮想繊維顕微鏡が実証すること',
114
+ html: 'このシミュレーターは、<strong>法科学的繊維比較</strong>の背景にある実務的なワークフローをモデル化しています。疑わしい繊維を特徴づけ、既知の参照用繊維と比較し、ピントを調整し、偏光フィルターを回転させ、簡略化されたUV-Vis吸光度曲線で染料の応答を比較します。微細証拠を学ぶ学生向けに設計されており、実際の事件の意思決定用ではありません。',
115
+ },
116
+ {
117
+ type: 'stats',
118
+ columns: 4,
119
+ items: [
120
+ { value: '2つの視野', label: 'スプリット顕微鏡視野', icon: 'mdi:compare-horizontal' },
121
+ { value: '380-720 nm', label: '可視光スペクトル範囲', icon: 'mdi:chart-bell-curve' },
122
+ { value: '4つのクラス', label: '綿、羊毛、ポリエステル、ナイロン', icon: 'mdi:tshirt-crew' },
123
+ { value: '0-180°', label: '偏光子回転角', icon: 'mdi:rotate-3d-variant' },
124
+ ],
125
+ },
126
+ {
127
+ type: 'summary',
128
+ title: '繊維比較における中心的な観察項目',
129
+ items: [
130
+ '繊維に沿った自然なばらつきに注意しながら、直径を測定または推定します。',
131
+ '可能であれば、撚り方向、表面の畝、髄様特徴、艶消し剤粒子、および横断面のヒントを記録します。',
132
+ '偏光を用いて、回転時の複屈折、消光挙動、および明るさの変化を比較します。',
133
+ '顕微鏡で色を比較し、事件においてより高い識別能が必要な場合は機器による染料情報を活用します。',
134
+ '結果が一致しているか、異なっているか、あるいは判定不能かを報告します。裏付けがないまま特定の衣類が供給源であると断定する表現は避けます。',
135
+ ],
136
+ },
137
+ {
138
+ type: 'table',
139
+ headers: ['観察項目', '何を見極めるのに役立つか', '限界'],
140
+ rows: [
141
+ ['直径と形態', '繊維が物理的に類似しているか?', '製造上のばらつきにより、異なる衣服間で特徴が重複することがあります。'],
142
+ ['撚りと表面詳細', '天然または合成の特徴が一致するか?', '損傷、引き伸ばし、およびマウント処理により外観が変化することがあります。'],
143
+ ['偏光応答', '光学特性が一致するか?', '複屈折は類特性証拠であり、個別の固有署名ではありません。'],
144
+ ['UV-Vis染料スペクトル', '染料特性が一致するか?', '似た染料は近似して見えることがあります。抽出方法や機器設定が重要になります。'],
145
+ ],
146
+ },
147
+ {
148
+ type: 'comparative',
149
+ columns: 2,
150
+ items: [
151
+ {
152
+ title: '一致性を支持する要素',
153
+ icon: 'mdi:check-circle-outline',
154
+ highlight: true,
155
+ description: '疑わしい繊維と既知の繊維の間で、複数の独立した類特性が一致している。',
156
+ points: ['同等の直径範囲', '同じ一般的な繊維種別', '類似した偏光特性', '重複する染料吸収ピーク'],
157
+ },
158
+ {
159
+ title: '除外を支持する要素',
160
+ icon: 'mdi:close-circle-outline',
161
+ description: '共通の繊維供給源であれば一致するはずの特徴において、明確で再現性のある差異が認められる。',
162
+ points: ['天然繊維と合成繊維の不一致', '異なる撚りまたは表面形態', '明らかに異なる染料スペクトル', '適合しない複屈折応答'],
163
+ },
164
+ ],
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: 'シミュレーションモデルの仕組み',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'paragraph',
173
+ html: 'このモデルは、直径、撚り方向、繊維クラス、複屈折、染料ファミリー、およびUV-Vis吸光度ポイントを含む小規模な参照データベースを保持しています。疑わしい繊維はユーザーが構成できるため、比較スコアは固定された教材サンプルではなく、設定されたケースプロファイルに応じて変化します。顕微鏡の視野画像はピントや偏光子の角度に反応し、光学設定がなぜ重要なのかを学生が理解できるようになっています。',
174
+ },
175
+ {
176
+ type: 'paragraph',
177
+ html: '偏光子コントロールは、特に合成繊維において有用です。ポリエステルとナイロンには強い複屈折値が割り当てられており、偏光子が回転するとその明るさがより視覚的に変化します。天然の綿や羊毛も応答しますが、シミュレートされる効果はより控えめです。これは、分子配向や繊維構造が光学特性に影響を与えるという教育上のコンセプトを反映しています。',
178
+ },
179
+ {
180
+ type: 'paragraph',
181
+ html: 'UV-Visチャートは簡略化された重ね合わせ表示であり、実際の分光光度計の代わりになるものではありません。実際の微細証拠鑑定では、染料の比較に顕微分光測光、薄層クロマトグラフィー、抽出化学、参照コントロール、および文書化された測定不確かさが必要になります。このチャートは、顕微鏡下で似て見える2つの繊維が、なぜ染料化学によって識別できるのかを学習するために設けられています。',
182
+ },
183
+ {
184
+ type: 'paragraph',
185
+ html: '法科学鑑定官は、繊維分析プロセスのすべてのステップを文書化する必要があります。これには、詳細な写真の撮影、測定値の記録、およびすべての物理的証拠の保管チェーンの維持が含まれます。このシミュレーターは、法科学の実務における体系的な文書化と客観的な比較の重要性を学生が理解するのに役立ちます。さまざまな設定を操作することで、ユーザーは光路、サンプルの厚さ、および染料の浓度がスペクトル曲線や物理的な外観にどのように影響するかを学ぶことができます。',
186
+ },
187
+ {
188
+ type: 'paragraph',
189
+ html: '法科学鑑定官は、繊維分析プロセスのすべてのステップを文書化する必要があります。これには、詳細な写真の撮影、測定値の記録、およびすべての物理的証拠の保管チェーンの維持が含まれます。このシミュレーターは、法科学の実務における体系的な文書化と客観的な比較の重要性を学生が理解するのに役立ちます。さまざまな設定を操作することで、ユーザーは光路、サンプルの厚さ、および染料の濃度がスペクトル曲線や物理的な外観にどのように影響するかを学ぶことができます。',
190
+ },
191
+ {
192
+ type: 'glossary',
193
+ items: [
194
+ { term: '疑わしい繊維', definition: '現場、被害者、容疑者、工具、車両、またはその他の場所から回収された、供給源が不明な繊維。' },
195
+ { term: '既知の繊維', definition: '疑わしいサンプルと比較するために、既知の繊維製品や物体から採取された参照繊維。' },
196
+ { term: '複屈折', definition: '光の方向や偏光に応じて、物質が異なる屈折率を持つ光学特性。' },
197
+ { term: 'UV-Visスペクトル', definition: '染料や材料が異なる波長でどれだけ強く光を吸収するかを示すグラフ。' },
198
+ { term: '類特性', definition: '証拠を特定の固有の単一供給源ではなく、可能性のある供給源のグループに関連付けることができる特性。' },
199
+ ],
200
+ },
201
+ {
202
+ type: 'tip',
203
+ title: '学生向けの解釈のコツ',
204
+ html: '高い類似度スコアは、アイデンティティ(同一性)ではなく<strong>一致性(類特性の整合)</strong>として解釈する必要があります。微細証拠は、顕微鏡検査、化学分析、転移の状況、残存性、回収方法、および汚染管理がすべて同じ方向性を示しているときに最も強力な証明力を持ちます。',
205
+ },
206
+ {
207
+ type: 'diagnostic',
208
+ variant: 'warning',
209
+ icon: 'mdi:scale-balance',
210
+ badge: 'Forensic caution',
211
+ title: '結論を証拠の限界内に留めること',
212
+ html: 'ブラウザ上の顕微鏡が繊維の一致を確定することはできません。正式な報告書では、供給源の特定を過大評価することなく、観察結果、比較基準、限界、および証明力のレベルを客観的に記述する必要があります。',
213
+ },
214
+ ],
215
+ faq,
216
+ bibliography,
217
+ howTo,
218
+ schemas: [
219
+ {
220
+ '@context': 'https://schema.org',
221
+ '@type': 'SoftwareApplication',
222
+ name: title,
223
+ description,
224
+ applicationCategory: 'ForensicApplication',
225
+ operatingSystem: 'Any',
226
+ },
227
+ {
228
+ '@context': 'https://schema.org',
229
+ '@type': 'FAQPage',
230
+ mainEntity: faq.map((item) => ({
231
+ '@type': 'Question',
232
+ name: item.question,
233
+ acceptedAnswer: {
234
+ '@type': 'Answer',
235
+ text: item.answer,
236
+ },
237
+ })),
238
+ },
239
+ {
240
+ '@context': 'https://schema.org',
241
+ '@type': 'HowTo',
242
+ name: title,
243
+ step: howTo.map((step) => ({
244
+ '@type': 'HowToStep',
245
+ name: step.name,
246
+ text: step.text,
247
+ })),
248
+ },
249
+ ],
250
+ };
@@ -0,0 +1,246 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
3
+
4
+ const slug = 'forensic-fiber-comparison-microscope';
5
+ const title = '법과학 섬유 비교 현미경 시뮬레이터';
6
+ const description = '감정 대상이 되는 미지의 섬유 프로필을 작성하고, 알려진 기준 섬유와 비교하며 형태학적 특성, 편광 반응 및 UV-Vis 염료 흡수 스펙트럼 증거를 해석합니다.';
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: '형태학적 특징 및 UV-Vis 스펙트럼 비교',
23
+ text: '형태 점수, 스펙트럼 점수, 종합 일치도 및 흡수 곡선을 사용하여 샘플이 일치하는지 또는 명확히 다른지 판정합니다.',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ question: '섬유 현미경 검사로 섬유가 채취된 정확한 옷을 특정할 수 있나요?',
30
+ answer: '일반적으로는 불가능합니다. 섬유 비교를 통해 미지 섬유와 알려진 섬유 제품 간의 일치성이나 차이점을 보여줄 수는 있지만, 개별적인 출처를 특정하려면 면밀한 맥락 분석, 검증된 기법, 그리고 대개 추가적인 화학적 또는 기기 분석이 필요합니다.',
31
+ },
32
+ {
33
+ question: '섬유 비교에서 편광을 사용하는 이유는 무엇인가요?',
34
+ answer: '편광은 천연 섬유와 합성 섬유 간의 복굴절, 소광 행동 및 구조적 차이를 밝히는 데 유용합니다. 합성 섬유는 분자 배향성으로 인해 종종 더 강한 편광 반응을 보입니다.',
35
+ },
36
+ {
37
+ question: 'UV-Vis 스펙트럼은 어떤 정보를 추가로 제공하나요?',
38
+ answer: '현미경 검사가 형태와 광학적 특성을 설명하는 반면, UV-Vis 흡광도는 다양한 파장에서 염료의 특성을 비교합니다. 겉보기에는 유사하지만 염료가 다른 섬유는 스펙트럼 플롯에서 명확하게 구별될 수 있습니다.',
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
+ chartAria: '미지 섬유와 대조 섬유의 염료 스펙트럼을 비교하는 UV-Vis 흡광도 차트',
53
+ questionedSample: '미지 샘플',
54
+ fixedEvidence: '회수된 고정 증거',
55
+ builderSummaryDefault: '면 / 18 µm / 불규칙 / 인디고',
56
+ customQuestionedLabel: '사건의 미지 섬유',
57
+ material: '재질',
58
+ cotton: '면',
59
+ woolMaterial: '양모',
60
+ polyesterMaterial: '폴리에스테르',
61
+ nylonMaterial: '나일론',
62
+ materialcotton: '면',
63
+ materialwool: '양모',
64
+ materialpolyester: '폴리에스테르',
65
+ materialnylon: '나일론',
66
+ twist: '꼬임',
67
+ irregularTwist: '불규칙',
68
+ sTwist: 'S',
69
+ zTwist: 'Z',
70
+ diameter: '직경',
71
+ polarResponse: '편광 반응',
72
+ dyeProfile: '염료 프로필',
73
+ indigoDye: '인디고',
74
+ crimsonDye: '크림슨',
75
+ navyDye: '네이비',
76
+ violetDye: '바이올렛',
77
+ dyeindigo: '인디고',
78
+ dyecrimson: '크림슨',
79
+ dyenavy: '네이비',
80
+ dyeviolet: '바이올렛',
81
+ knownSample: '대조 섬유',
82
+ questionedCotton: '감정 대상 청색 면 섬유',
83
+ suspectCotton: '용의자 셔츠 유래 면 섬유',
84
+ wool: '적색 울 스웨터 섬유',
85
+ polyester: '네이비 폴리에스테르 재킷 섬유',
86
+ nylon: '바이올렛 나일론 안감 섬유',
87
+ focus: '미세 초점',
88
+ polarizer: '편광자 각도',
89
+ morphology: '형태학',
90
+ spectrum: 'UV-Vis',
91
+ birefringence: '복굴절',
92
+ combinedMatch: '종합 일치도',
93
+ uvVisTitle: 'UV-Vis 흡광도 비교 그래프',
94
+ statusStrong: '높은 일치성',
95
+ statusPartial: '혼재된 비교 결과',
96
+ statusDifferent: '배제 지지',
97
+ verdictStrong: '미지 섬유와 대조 섬유는 직경, 꼬임, 광학적 행동 및 염료 스펙트럼에서 높은 수준의 일치성을 보입니다. 실제 사건에서는 이를 개별 식별이 아닌 공통 의류 출처일 가능성을 지지하는 증거로 보고해야 합니다.',
98
+ verdictPartial: '비교 결과가 일관되지 않습니다. 일부 유목 특성은 일치하지만 형태, 염료 반응 또는 복굴절에 충분한 차이가 있어 관련성을 신중하게 추정하기 전에 더 자세한 시험이 필요합니다.',
99
+ verdictDifferent: '섬유들이 주요 유목 특성에서 일치하지 않습니다. 시뮬레이션 결과는 알려진 이 의류가 미지 섬유의 출처일 가능성을 배제하는 것을 지지합니다.',
100
+ disclaimer: '교육용 시뮬레이션 전용. 실제 법과학 섬유 비교는 검증된 현미경 검사, 컨트롤 사용, 문서화, 오염 방지 대책, 동료 평가 및 자격을 갖춘 미세 증거 해석 전문가를 필요로 합니다.',
101
+ },
102
+ seo: [
103
+ {
104
+ type: 'title',
105
+ text: '분할 시야 현미경 및 UV-Vis 스펙트럼을 통한 법과학 섬유 비교',
106
+ level: 2,
107
+ },
108
+ {
109
+ type: 'diagnostic',
110
+ variant: 'info',
111
+ icon: 'mdi:microscope',
112
+ badge: '교재용 시뮬레이터',
113
+ title: '이 가상 섬유 현미경이 보여주는 원리',
114
+ html: '이 시뮬레이터는 <strong>법과학적 섬유 비교</strong>의 실무 워크플로를 모델링합니다. 미지의 섬유를 묘사하고, 이를 대조용 섬유와 비교하며, 초점을 조정하고, 편광 필터를 회전하고, 단순화된 UV-Vis 흡광도 곡선으로 염료 반응을 비교합니다. 미세 증거를 학습하는 학생들을 위해 제작되었으며, 실제 감정용이 아닙니다. ',
115
+ },
116
+ {
117
+ type: 'stats',
118
+ columns: 4,
119
+ items: [
120
+ { value: '2개 시야', label: '분할 현미경 시야', icon: 'mdi:compare-horizontal' },
121
+ { value: '380-720 nm', label: '가시광선 스펙트럼 범위', icon: 'mdi:chart-bell-curve' },
122
+ { value: '4개 클래스', label: '면, 양모, 폴리에스테르, 나일론', icon: 'mdi:tshirt-crew' },
123
+ { value: '0-180°', label: '편광자 회전각', icon: 'mdi:rotate-3d-variant' },
124
+ ],
125
+ },
126
+ {
127
+ type: 'summary',
128
+ title: '의류 섬유 비교 시 핵심 관찰 사항',
129
+ items: [
130
+ '가닥을 따른 자연스러운 변화를 염두에 두고 섬유 직경을 측정하거나 추정합니다.',
131
+ '꼬임 방향, 표면 요철, 수질(medulla) 유사 구조, 소광제 입자 및 단면 특징을 관찰하여 기록합니다.',
132
+ '편광을 사용하여 회전 시 복굴절 반응, 소광 행동 및 밝기 변화를 비교합니다.',
133
+ '색상을 현미경으로 일차 비교한 후, 사건에 더 높은 감별력이 요구될 때 기기를 이용한 염료 성분을 비교합니다.',
134
+ '분석 결과가 일치하는지, 다른지, 혹은 판정 불능인지 보고해야 하며, 명확한 근거 없이 유일한 의류 출처라고 단정 짓는 표현은 피해야 합니다.',
135
+ ],
136
+ },
137
+ {
138
+ type: 'table',
139
+ headers: ['관찰 항목', '판별에 도움을 주는 부분', '한계'],
140
+ rows: [
141
+ ['직경 및 형태학', '섬유들이 물리적으로 유사한가?', '제조상의 편차로 인해 서로 다른 의류 간에도 특성이 겹칠 수 있습니다.'],
142
+ ['꼬임 및 표면 세부 정보', '천연 또는 합성 섬유의 특성이 일치하는가?', '손상, 연신 및 슬라이드 제작 과정에서 외관이 변할 수 있습니다.'],
143
+ ['편광 반응', '광학적 특성이 일치하는가?', '복굴절은 유목 특징 증거일 뿐이며, 개별적인 고유 표식은 아닙니다.'],
144
+ ['UV-Vis 염료 스펙트럼', '염료 성분이 일치하는가?', '유사한 염료는 곡선이 가깝게 나타날 수 있으며, 추출 조건과 기기 설정이 중요합니다.'],
145
+ ],
146
+ },
147
+ {
148
+ type: 'comparative',
149
+ columns: 2,
150
+ items: [
151
+ {
152
+ title: '일치성을 지지하는 요소',
153
+ icon: 'mdi:check-circle-outline',
154
+ highlight: true,
155
+ description: '미지 섬유와 대조 섬유 간에 여러 독립적인 유목 특성이 일치하는 경우.',
156
+ points: ['유사한 직경 범위', '동일한 일반 섬유 유형', '유사한 편광 특성', '중첩되는 염료 흡수 피크'],
157
+ },
158
+ {
159
+ title: '배제를 지지하는 요소',
160
+ icon: 'mdi:close-circle-outline',
161
+ description: '동일 출처라면 일치해야 할 특징에서 명확하고 재현성 있는 차이가 나타나는 경우.',
162
+ points: ['천연 섬유와 합성 섬유의 불일치', '꼬임 방향 또는 표면 형태학의 차이', '현저히 다른 염료 스펙트럼', '호환되지 않는 복굴절 반응'],
163
+ },
164
+ ],
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: '시뮬레이션 모델 작동 방식',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'paragraph',
173
+ html: '이 모델은 직경, 꼬임 방향, 섬유 종류, 복굴절율, 염료 계열 및 UV-Vis 흡광도 지점을 포함하는 참조 데이터베이스를 바탕으로 작동합니다. 미지 섬유는 사용자가 직접 구성할 수 있어 고정된 예제가 아닌 설정된 가상 사건 프로필에 따라 일치도가 변화합니다. 현미경 화면은 초점과 편광자 각도에 반응하여 광학 장비 설정의 중요성을 체득할 수 있도록 돕습니다.'
174
+ },
175
+ {
176
+ type: 'paragraph',
177
+ html: '편광 조작은 특히 합성 섬유에서 유용합니다. 폴리에스테르와 나일론에는 높은 복굴절율이 적용되어 있어 편광자가 회전함에 따라 시각적인 밝기 변화가 뚜렷합니다. 천연 면과 양모도 반응하지만 시뮬레이션 효과는 더 은은하게 나타납니다. 이는 분자 배향성과 섬유 내부 구조가 광학 특성에 영향을 미친다는 물리적 법칙을 보여줍니다.'
178
+ },
179
+ {
180
+ type: 'paragraph',
181
+ html: 'UV-Vis 차트는 원리 이해를 돕기 위한 간이 그래프이며, 분광광도계를 완전히 대체하는 것은 아닙니다. 실제 미세 증거 감정 업무에서 염료 비교는 현미분광광도법, 박층 크로마토그래피, 염료 추출 화학, 표준 시료 검사 및 측정 불확도 평가를 필요로 합니다. 이 그래프는 현미경 아래에서 비슷해 보이는 두 섬유가 염료 화학 분석을 통해 어떻게 구별될 수 있는지를 학습하도록 설계되었습니다.'
182
+ },
183
+ {
184
+ type: 'paragraph',
185
+ html: '법의학 분석가는 섬유 분석 프로세스의 모든 단계를 문서화해야 합니다. 여기에는 상세한 사진 촬영, 측정값 기록, 모든 물리적 증거에 대한 보관 체인 유지가 포함됩니다. 시뮬레이터는 학생들이 법의학 실무에서 체계적인 문서화와 객관적인 비교의 중요성을 이해하는 데 도움이 됩니다. 다양한 설정을 조작함으로써 사용자는 광로, 샘플 두께 및 염료 농도가 스펙트럼 곡선과 물리적 외관에 어떻게 영향을 미치는지 배울 수 있습니다.',
186
+ },
187
+ {
188
+ type: 'glossary',
189
+ items: [
190
+ { term: '미지 섬유 (Questioned fiber)', definition: '현장, 피해자, 용의자, 도구, 차량 등에서 회수되었으나 출처를 알 수 없는 섬유.' },
191
+ { term: '대조 섬유 (Known fiber)', definition: '미지 샘플과의 비교를 위해 알려진 섬유 제품이나 대상으로부터 채취한 기준 섬유.' },
192
+ { term: '복굴절 (Birefringence)', definition: '빛의 방향이나 편광에 따라 물질이 서로 다른 굴절률을 가지는 광학적 특성.' },
193
+ { term: 'UV-Vis 스펙트럼', definition: '염료나 소재가 다양한 파장의 빛을 흡수하는 세기를 나타낸 그래프.' },
194
+ { term: '유목 특성 (Class characteristic)', definition: '증거를 고유한 단일 출처가 아닌 가능성이 있는 소스 그룹과 관련지어 좁혀 나갈 수 있는 물리적 성질.' },
195
+ ],
196
+ },
197
+ {
198
+ type: 'tip',
199
+ title: '학생들을 위한 결과 해석 팁',
200
+ html: '높은 유사도 점수는 동일성(Identity)이 아닌 <strong>일치성(Consistency)</strong>으로 해석해야 합니다. 미세 증거는 현미경 검사, 화학 분석, 전이 맥락, 잔존성, 채취 방법 및 오염 제어가 모두 동일한 방향을 가리킬 때 가장 강력한 증명력을 가집니다.'
201
+ },
202
+ {
203
+ type: 'diagnostic',
204
+ variant: 'warning',
205
+ icon: 'mdi:scale-balance',
206
+ badge: 'Forensic caution',
207
+ title: '결론을 증거력이 허용하는 한계 내로 유지할 것',
208
+ html: '브라우저 시뮬레이터가 섬유 일치를 확정 지을 수는 없습니다. 공식 보고서는 출처 판정을 과장하지 않고 관찰 사실, 비교 기준, 한계 및 증명력 수준을 객관적으로 작성해야 합니다.',
209
+ },
210
+ ],
211
+ faq,
212
+ bibliography,
213
+ howTo,
214
+ schemas: [
215
+ {
216
+ '@context': 'https://schema.org',
217
+ '@type': 'SoftwareApplication',
218
+ name: title,
219
+ description,
220
+ applicationCategory: 'ForensicApplication',
221
+ operatingSystem: 'Any',
222
+ },
223
+ {
224
+ '@context': 'https://schema.org',
225
+ '@type': 'FAQPage',
226
+ mainEntity: faq.map((item) => ({
227
+ '@type': 'Question',
228
+ name: item.question,
229
+ acceptedAnswer: {
230
+ '@type': 'Answer',
231
+ text: item.answer,
232
+ },
233
+ })),
234
+ },
235
+ {
236
+ '@context': 'https://schema.org',
237
+ '@type': 'HowTo',
238
+ name: title,
239
+ step: howTo.map((step) => ({
240
+ '@type': 'HowToStep',
241
+ name: step.name,
242
+ text: step.text,
243
+ })),
244
+ },
245
+ ],
246
+ };