Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
v0.2.3
15 January 2024
- Add props and control sliders for ambient and directional lighting to
Structure
#45
- Add
SymmetryCard.svelte
#42
- add /molecule demo page with initial examples water, methane, benzene
71ce70b
- fix find_image_atoms() for non-cuboid lattices
9138582
- add lib/structure/bonding.ts with max_dist and nearest_neighbor bonding strategies
f707cf2
- add lib/math.ts
58cf060
- Structure add fullscreen button + improve default initial camera_position
bda2e5f
- fix black text color on transparent ElementTiles
3ace071
- add src/emmet_pydantic_to_ts.py to auto-convert emmet pydantic models to typescript types
e4bcc92
- add /api page to inspect AWS Open Data schema
83bc866
- add similar structures and robocrys sections to mp-[slug] page
d4dce4b
- extract (demos)/periodic-table/+page.svelte from landing page, change landing +page.svelte to +page.md
cd32144
- fix duplicate bonds in max_dist and nearest_neighbor functions
14027e3
- StructureScene add prop fov: number | undefined = undefined
770ffbf
- rename prop site_labels -> show_site_labels, default to true + fix site site_labels rendering
ff0336a
- add largest MP structure mp-1204603 to demo
1b0bc6d
- bump threlte to v6 official release
45e3dc2
- periodic-table.test.ts don’t iterate over full table, do random subset for speed
be68b6a
- fetch_zipped() only console.error, not raise if !response.ok
f46cee0
v0.2.0
8 July 2023
- Add
Lattice.svelte
#41
- Show cylinder between active and hovered sites
#40
- Fix structure controls for
atom_radius
,same_size_atoms
#38
- Add
Bond
component#37
- Split
/src/lib
into submodules#36
- Add materials detail pages
#35
- Highlight active and hovered sites in
Structure
#34
- Structure tooltips when hovering atoms
#33
- get started with testing Structure.svelte and structure.ts
#32
- Structure hide buttons on desktop until hover
#31
- Structure grid example
#30
Structure
allow selecting from different element color schemes + override individual elements#29
- add function find_image_atoms() used in StructureScene to draw images of atoms
3098d6c
- Structure add prop show_image_atoms, expand MaterialCard to show more attrs, mp-[slug] pages sync material ID with url
f43dd31
- add Structure control bond_color + make all Structure CSS into variables
a79ff00
- make initial camera_position responsive to crystal size
5b1e82a
- use InstancedMesh from @threlte/extras for more efficient drawing of crystal sites
142effb
- add API explorer page (under /api)
2a7c60e
- display distance between active and hovered site in hover tooltip
9e1af46
- add props
c586225
- drop valid Pymatgen structures as JSON files on Structure.svelte to display them
7127b18
- PeriodicTable add prop color_overrides
1042bf2
- add copy buttons to all code blocks
7f3fb5c
- fix landing page layout broken in last commit
6f675dd
v0.1.7
3 May 2023
- Initial support for rendering interactive 3d structures
#28
- Rename ColorBar props
#27
- handle structure=undefined in Structure and StructureCard component
3aa160b
- add Structure props zoom_speed, pan_speed
b2484ed
- add option to show cell as surface, wireframe or not at all, add range slider for cell opacity
072d57a
- add Structure props show_vectors, vector_colors, vector_origin
a3f4468
- fix ElementTile dispatch event payload name dom_event
f557b07
- Structure add bindable props width, height
3921f9d
- rename Structure->PymatgenStructure
2009670
v0.1.6
8 April 2023
- DRY workflows and ColorBar snap tick labels to nice values
#22
- Add unit tests for
ColorBar.svelte
#21
- add prop precision: number = 2 to ElementTile
9847290
- add ElementStats.test.ts
ccc98bf
- add precision prop to ColorBar
b9bc392
v0.1.4
19 March 2023
- Add prop color_scale_range to PeriodicTable
#20
- Add tick labels to ColorBar
#19
- add test ‘element tiles are accessible to keyboard users’
314876a
- add prop text_color to ElementTile
79b1eb4
- fix error msg on bad color scale names
c1d0f2a
v0.1.2 and v0.1.3 were faulty and have been unpublished.
v0.1.1
16 March 2023
- AVIF element images
#18
- add src/lib/ColorBar.svelte
1bff50c
- record element image provider to static/img-sources.json in src/fetch-elem-images.ts
c3a5a91
- replace PrevNextElement.svelte with PrevNext from svelte-zoo
4773c24
- show tiles of reduced opacity representing all lanth-/actinides in grid col=3, row=6/7
be4f88a
- fix DemoNav active route
887e8ce
- update svelte-package to v2
0e61a9d
- add CmdPalette for keyboard-only site navigation
8a82f55
v0.1.0
14 February 2023
- prepare NPM Release
#16
- Deploy site to GitHub Pages
#15
- add test ‘hooking PeriodicTable up to PropertySelect and selecting heatmap sets element tile background’
#14
- convert
src/lib/element-data.{ts -> yml}
#13
- Migrate to PNPM
#12
- Update scatter tooltip when hovering element tiles
#9
- SvelteKit auto migration
#8
- [pre-commit.ci] pre-commit autoupdate
#5
- Add fill area below elemental periodicity line plot
#4
- add individual element detail pages (closes #1)
#1
- split ActiveElement.svelte into TableInset + ElementStats + ElementPhoto (closes #2, closes #3)
#2
#3
- revert #13
src/lib/element-data.{yml -> ts}
b181839
- initial commit
feeae8f
- add src/lib/Nucleus.svelte along with demo src/routes/(demos)/nucleus/+page.svx
b148e54
- spice up ElementStats and element detail pages with iconify icons
4eace91
- add color-scale + element-tile demo page
664e8f5
- add ability to plot predefined heat maps
71459fa
- rename package and repo to elementari
1921efe
- split ScatterPlot into data-agnostic ScatterPlot and ElementScatter
ea7e57f
- add show icons toggle to Footer
7649f90
- add katex math rendering to markdown and mdsvex
81ce9b3
- rename package and repo to sveriodic-table
7867167
- fix scatter point fill color,
mv {ChemicalElement->ElementTile}.svelte
, now controlled externally by PeriodicTable.svelte9d10109
- add PrevNextElement.svelte to element detail pages
266fab3
- fix ColorCustomizer which had zero effect since adding heatmap functionality
80dcfb0
- ptable color_scale prop now takes d3-scale-chromatic scale names or any function mapping [0,1] to color strings
84060cd
- show table of electron occupations per orbital in element detail page
c3580c0
- add layout +error pages
ffe433e
- show PeriodicTable on element detail pages
b7d1313
- improve detail page layout
b6cf71a
- fix oversights
4f40e97
- improve test coverage for periodic table in heatmap mode and Bohr atoms page
343662b
- move types into src/lib/index.ts
b706882
- pnpm add -D d3-color to set ElementTile text_color based on lightness of bg_color
a0b82fd
- add color scale ramp slots to ColorScaleSelect to provide visual preview of color scale
ebcb0a3
- pnpm add -D svelte-zoo mdsvexamples
1a76bae
- keep scroll pos on element tile links
2dbc382
- add basic E2E tests and run in CI on push & pull to main branch
e031919
- add ScatterPlot into TableInset showing periodicity trends when heat map selected
efd2ed6
- add EasterEgg.svelte
c8959ba
- delete ‘boil’ key in periodic-table-data.ts
e8eb1cf
- move ColorCustomizer from PeriodicTable to index.svelte and hide it when in heatmap mode
688a0bd
- remove EasterEgg.svelte from landing page
686c904
- improve element tile and element stats inset screen width responsiveness
7b2b762
- only wrap ElementTile in
<a>
if passed href prop, else<div>
d8643c8
- add vitest unit tests
fad1b3a
- add contributing.md
3033f6e
- add tests ‘clicking element tile emits event’, ‘gap prop’ and ‘setting active_category=%s highlights corresponding element tiles’
36e757d
- fix pretty_num() raising TypeError: Cannot read properties of null (reading ‘toExponential’)
fa81d29
- use src/(routes|lib)/index.ts convenience imports internally
35f7fbe
- move heatmap + color_scale to svelte stores
0bb686b
- allow navigating periodic table and detail pages with arrow keys
8ffef5b
- reduce max-width landing page ptable, negative margins on bohr atom demo, replace Toggle with svelte-zoo’s Toggle
8e4c90a
- PeriodicTable forward click, mouseenter, mouseleave, keyup, keydown events from ElementTile
13db2fa
- add src/fetch-elem-images.ts to download element photos to static assets
a2dff38
- fix Bohr electron orbital speed
ff3af1a
- fix ScatterPlot label and grid offset
942719b
- declare module periodic-table-data.ts + clean up
6b9f717
- add coverage badges to readme
39da8c1
- add hover tooltip for scatter plot
0745307
- add ElementTile unit tests
'show_${prop} toggles ${prop} visibility'
and ‘applies class active when active=true’fd8c33f
- add prop gap =
0.3cqw
between element tiles, default is 0.3% of container widthaa6b503
- add npm install cmd to readme
d8e15e9
- add src/lib/BohrAtom.svelte
ccb8e02
- fix scatter plot not showing on element detail pages without photo
9501bbb
- ElementTile use text color also for active/hover border
178c27e
- add BohrAtom to [slug].svelte
6b3a71d
- add src/lib/Toggle.svelte
a80df20
- add x and y axes to ScatterPlot.svelte
f6f8325
- add prop highlight_shell to BohrAtom.svelte
5741f34
- improve SEO meta tags on index and [slug] pages
abb5152
- add script src/update-site-screenshots.ts
b70e8bd
- add src/lib/PropertySelect.svelte used byindex.svelte and [slug].svelte
2654347
- incl logo in readme heading, update deps, fix error page offline warning
415e788
- simplify svg coords in BohrAtom.svelte by placing origin in
- move d3-array, d3-interpolate-path, d3-shape, d3-scale, @iconify/svelte from package devDeps to deps
f901471
- add src/routes/bohr-atoms.svelte
b77abe8
- use new SvelteKit snapshot feature to restore color scale on browser back navigation
edf121d
- add element detail page screen recording to readme
88a27be
- add toggle to start/stop electrons orbiting nucleus
fcd9022
- fix density unit to g/liter for gases instead of g/cm^3 for solids/liquids
a145443
- export active_element + active_category from PeriodicTable.svelte
56ce7e3
- move non-package components to new src/site dir
14440ae
- hide element names if
windowWidth < 1000
to prevent text overflow905d932
- drop year heatmap, add covalent_radius + first_ionization instead
6b2953e
- keep increased brightness on last-active element
b441c78
- update index page screenshot
853cd18
- tweak ColorCustomizer.svelte CSS
cdcf92e
- group demo routes
89aae68
- add ScatterPlot axis labels
65fdc41
- change import to import type for purely type imports
ac53e0e
- display BohrAtom in PeriodicTable if window width permits
c5aacdc
- make ScatterPlot always show current element on detail pages unless user actively hovers another element
6a4c021
- document BohrAtom.svelte props
bc100c2
- reinstate default category color css variables
7dae519
- acknowledge images-of-elements.com and github.com/kadinzhang/Periodicity in readme
92d9941
- link to /bohr-atoms page from footer
eca7889
- silence sveltekit tsconfig warning
c3a4a0c
- mv src/lib/graph/* src/lib
2d7eb2f
- add screenshot to readme
54084ed