@johnmorrisdotca/hoshi-stars 0.2.0 → 0.4.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/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.4.0] - 2026-11-08
6
+
7
+ - The demo's chart and the embed page take the family's hands (kazoku-ui's view controller): a drag turns the sky, two fingers pinch, Ctrl or Command and the wheel zoom about the pointer, `+`, `-`, the arrow keys and `0` work with the chart focused, and the double tap zooms. At the opening view the plain wheel scrolls the page, and a finger's up-and-down drag does too; zoomed in, the wheel and a drag move the sky. The embed page (`embed.html`) is no longer a still picture: it has the same hands and zoom in, zoom out and back-to-start buttons, and writes `ra`, `dec` and `zoom` into its own address.
8
+ - The zoom now runs from 0.1 (the whole sky, small) to 500 (about 0.7 degree across a desk-wide chart, where Mizar and Alcor still draw as two stars), up from 0.6 to 60. Lines and the Milky Way keep drawing at the top of the range: a point is placed out to 100,000 pixels from the middle (it was six times the chart's size), so a segment that crosses the chart is not lost. Constellation names are left out below 0.25, where they cannot be told apart.
9
+ - New npm keywords `react`, `galaxy` and `component`.
10
+
11
+ - The family's thumbnail, dark thumbnail and icon (`docs/images`, made by `pnpm images`): a sky chart of Orion with its lines on the Milky Way. The README opens with it and the demo carries it as its link card (og:image) and apple-touch-icon.
12
+ - `pnpm test:readme` runs every `js` and `ts` example of the README and the guides against the built package, and checks that they name every export and every picture exists. Run by CI and by the release.
13
+ - The demo keeps less empty room under its title on a phone. Fixed: the demo's chart failed to draw (an error in the console) once zoomed in past 5, with the Milky Way on. The getting-started guide said Orion has 12 lines to draw; it has 8.
14
+
15
+ ## [0.3.0] - 2026-11-08
16
+
17
+ - 199 more common star names, 335 in all: every name on the IAU Catalog of Star Names whose star is in the 5,080, among them Acrux, Alcor, the Pleiades (Alcyone, Merope, Electra, Atlas, Maia, Taygeta, Pleione, Celaeno, Asterope), Rasalas, Mesarthim, Zosma and Tiaki. Each has its katakana (`アクルックス`, `アルコル`, `アルキオネ`), and the demo's search finds them in both. Adhara's katakana is now `アダーラ`, as the National Astronomical Observatory of Japan writes it. The source and its date are in `NOTICE.md`.
18
+
5
19
  ## [0.2.0] - 2026-11-08
6
20
 
7
21
  - New entry point `@johnmorrisdotca/hoshi-stars/milky-way`: a brightness map of the Milky Way (about 11 kB of numbers) with the bright core toward Sagittarius and the Great Rift, the Coalsack and the Cygnus Rift as dimmer places. `milkyWayBrightness(point)` gives 0 to 1 toward a point of the sky, `milkyWayBands(levels, { step })` cuts it into ribbons of sky points to fill as soft bands, and `toGalactic` and `fromGalactic` change between right ascension and declination and galactic longitude and latitude. Made by `scripts/make-milky-way-data.py` from SAO star counts (NASA HEASARC; no licence stated, used with credit and removed on request), the IRAS 100 micron and COBE DIRBE dust maps (NASA, public domain) and a bulge of our own figures; see `NOTICE.md`.
package/NOTICE.md CHANGED
@@ -5,8 +5,8 @@ Hoshi Stars is original work by John Morris, under the MIT licence in `LICENSE`.
5
5
  ## The stars
6
6
 
7
7
  - **Bright stars (`@johnmorrisdotca/hoshi-stars`)**: the Yale Bright Star Catalogue, D. Hoffleit and W. H. Warren Jr. (1991), "The Bright Star Catalogue, 5th Revised Edition (Preliminary Version)", Astronomical Data Center (NASA Goddard Space Flight Center) and the Centre de Données astronomiques de Strasbourg, catalogue V/50, as NASA's HEASARC serves it (table bsc5p, https://heasarc.gsfc.nasa.gov/W3Browse/star-catalog/bsc5p.html, file heasarc_bsc5p.tdat.gz, read 2026-11-08; a US government source), the 5,080 stars to visual magnitude 6.0, written out as numbers by `scripts/make-star-data.py` into `src/data/stars.ts`. The catalogue's own documentation calls it public domain and the Astronomical Data Center asks that it and the authors be acknowledged, which this line does; there is no formal licence text, so this footing is informal.
8
- - **Star names**: our own list after the IAU Working Group on Star Names (https://www.iau.org/science/scientific_bodies/working_groups/280/).
9
- - **Star names in Japanese (`Star.nameJa`, `src/data/star-names-ja.ts`)**: the katakana spelling of each of the 136 IAU names, written by hand for this package. A transliteration of a name is not a creative work, so no licence is needed, and no list is copied: no Wikipedia text and no source with non-commercial or share-alike terms. The spellings follow the usual Japanese forms; those of the 27 stars on the National Astronomical Observatory of Japan's "おもな恒星の名前" page (https://eco.mtk.nao.ac.jp/koyomi/faq/stars.html, read 2026-11-08, copyright NAOJ) were compared with it, and all 27 agree (the comparison only; that page is not copied). The other 109 are our own reading of the IAU spelling and **wait for a Japanese reviewer**.
8
+ - **Star names**: the IAU Working Group on Star Names (WGSN, https://www.iau.org/science/scientific_bodies/working_groups/280/), "IAU Catalog of Star Names (IAU-CSN)" (https://www.pas.rochester.edu/~emamajek/WGSN/IAU-CSN.txt, "Last updated 2022-04-04", read 2026-11-08). The names are facts (which star the IAU named what), typed as a table keyed by Bright Star Catalogue (HR) number in `scripts/make-star-data.py`: every name in the list whose star is among the 5,080 (332 names), matched by the list's HR designation, and spelled as its ASCII name column spells it. The list states that IAU-produced products are released under Creative Commons Attribution, "as long as the source is mentioned", which this line does; only the names are used, none of its text. Three more names are traditional ones that are not on the IAU list: Navi (γ Cas, HR 264), Men (α Lup, HR 5469) and Rutilicus (ζ Her, HR 6212); 335 names in all.
9
+ - **Star names in Japanese (`Star.nameJa`, `src/data/star-names-ja.ts`)**: the katakana spelling of each of the 335 names, written by hand for this package. A transliteration of a name is not a creative work, so no licence is needed, and no list is copied: no Wikipedia text and no source with non-commercial or share-alike terms. The spellings follow the usual Japanese forms; those of the 27 stars on the National Astronomical Observatory of Japan's "おもな恒星の名前" page (https://eco.mtk.nao.ac.jp/koyomi/faq/stars.html, read 2026-11-08, copyright NAOJ) were compared with it. That page lists 27 stars (Acrux among them); 26 of the 27 spellings were already ours and agreed, except that it has アダーラ for Adhara where we had アダラ, now アダーラ (the comparison only; that page is not copied). The other 308 are our own reading of the IAU spelling and **wait for a Japanese reviewer**; a table of them for the reviewer is kept outside the repository.
10
10
  - **Star colour**: Ballesteros's B-V to temperature relation (F. J. Ballesteros 2012, EPL 97, 34008) and a piecewise black-body colour fit.
11
11
 
12
12
  ## The constellations
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ <p align="center"><a href="https://johnmorrisdotca.github.io/hoshi-stars/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/johnmorrisdotca/hoshi-stars/main/docs/images/thumbnail-dark.png"><img src="https://raw.githubusercontent.com/johnmorrisdotca/hoshi-stars/main/docs/images/thumbnail.png" alt="Hoshi Stars: a sky chart of Orion with its constellation lines, on the soft band of the Milky Way." width="1200"></picture></a></p>
2
+
1
3
  # Hoshi Stars 星
2
4
 
3
5
  <p>Part of <strong>SpaceProgramX (SPX)</strong>, the space packages: <a href="https://github.com/johnmorrisdotca/wakusei-planets">Wakusei Planets</a> · <a href="https://github.com/johnmorrisdotca/hoshi-stars">Hoshi Stars</a> · <a href="https://github.com/johnmorrisdotca/chikyu-earth">Chikyu Earth</a> · <a href="https://github.com/johnmorrisdotca/uchusen-rockets">Uchusen Rockets</a></p>
@@ -15,9 +17,9 @@ import { starByName, starColour, starDistanceLightYears, starPosition, stars } f
15
17
 
16
18
  const sirius = starByName("Sirius")!;
17
19
  console.log(sirius.designation, sirius.magnitude, starColour(sirius)); // α CMa -1.46 #c9daff
18
- console.log(starDistanceLightYears(sirius)?.toFixed(1), "light-years"); // 8.7
19
- console.log(starPosition(starByName("Arcturus")!, Date.UTC(2100, 0, 1))); // carried by its proper motion
20
- console.log(stars({ magnitude: 2 }).length, "stars as bright as magnitude 2"); // 50
20
+ console.log(starDistanceLightYears(sirius)?.toFixed(1), "light-years"); // 8.7 light-years
21
+ console.log(starPosition(starByName("Arcturus")!, Date.UTC(2100, 0, 1)).rightAscension.toFixed(1)); // 213.9
22
+ console.log(stars({ magnitude: 2 }).length, "stars as bright as magnitude 2"); // 50 stars as bright as magnitude 2
21
23
  ```
22
24
 
23
25
  | Function | Gives |
@@ -106,8 +108,8 @@ import { project, unproject } from "@johnmorrisdotca/hoshi-stars/projection";
106
108
 
107
109
  const options = { centre: { rightAscension: 83.8, declination: -5.4 }, scale: 300 }; // Orion in the middle
108
110
  const betelgeuse = project("stereographic", starPosition(starByName("Betelgeuse")!), options);
109
- console.log(betelgeuse); // { x: -26.3, y: 67.4 }: left of the middle, above it
110
- console.log(unproject("stereographic", betelgeuse!, options)); // back to degrees
111
+ console.log(betelgeuse!.x.toFixed(1), betelgeuse!.y.toFixed(1)); // -26.3 67.4
112
+ console.log(unproject("stereographic", betelgeuse!, options).rightAscension.toFixed(1)); // 88.8
111
113
  ```
112
114
 
113
115
  - `x` runs right and `y` runs up. The default is the sky seen looking up: north is up and east is to the LEFT, so `x` grows toward decreasing right ascension. Pass `mirror: true` for the map convention, east right.
@@ -147,7 +149,7 @@ import { horizontalFrom } from "@johnmorrisdotca/hoshi-stars/sky";
147
149
  // Mars, IAU 2015 values at J2000: pole right ascension and declination, and W = w0 + rate * days since J2000
148
150
  const mars = { pole: { rightAscension: 317.269202, declination: 54.432516 }, primeMeridian: { w0: 176.049863, rate: 350.891982443297 } };
149
151
  const deneb = starPosition(starByName("Deneb")!);
150
- console.log(horizontalFrom(deneb, mars, { latitude: 90, longitude: 0 }, new Date()).altitude); // 79.8: Deneb is 10 degrees from Mars's pole
152
+ console.log(horizontalFrom(deneb, mars, { latitude: 90, longitude: 0 }, new Date()).altitude.toFixed(1)); // 79.8
151
153
  ```
152
154
 
153
155
  - **The stars look the same from every planet.** The nearest star, Proxima Centauri, shifts about 40 arc-seconds seen from Pluto (parallax 0.77 arc-second times 49 AU at the farthest), a typical star far less, so a J2000 position serves anywhere in the solar system. Only the pole and the turning change.
@@ -164,7 +166,7 @@ import { deepSky, deepSkyObject, messier } from "@johnmorrisdotca/hoshi-stars/de
164
166
 
165
167
  const m31 = deepSkyObject("M31")!; // or "NGC 224", "Messier 31", "Andromeda Galaxy", in any case
166
168
  console.log(m31.id, m31.ngc, m31.name, m31.type, m31.magnitude); // M31 NGC 224 Andromeda Galaxy galaxy 3.4
167
- console.log(m31.rightAscension.toFixed(3), m31.declination.toFixed(3)); // 10.685 41.269 (degrees, J2000)
169
+ console.log(m31.rightAscension.toFixed(3), m31.declination.toFixed(3)); // 10.685 41.269
168
170
  console.log(messier().length, deepSky({ type: "globular cluster" }).length); // 110 29
169
171
  console.log(deepSky({ magnitude: 4 }).map((o) => o.id)); // [ 'M7', 'M31', 'M42', 'M44', 'M45' ]
170
172
  ```
@@ -173,6 +175,7 @@ console.log(deepSky({ magnitude: 4 }).map((o) => o.id));
173
175
  |---|---|
174
176
  | `messier()` | the 110, M1 to M110 (in `/deep-sky` only) |
175
177
  | `deepSky({ catalogue?, magnitude?, type? })` | the objects that meet the options, in catalogue order: Messier, then NGC, then IC. `catalogue` is `"messier"`, `"ngc"` or `"ic"` (objects with a number in it); `magnitude` the faintest to include |
178
+ | `DEEP_SKY_CATALOGUES`, `DEEP_SKY_TYPES` | the catalogue names `catalogue` takes (`"messier"`, `"ngc"`, `"ic"`) and the kinds of object `type` takes |
176
179
  | `deepSkyObject(text)` | one object by `M31`, `NGC 224`, `IC 434`, any other NGC or IC number it carries, or an English name; `undefined` if none |
177
180
 
178
181
  An object has `id`, `messier`, `ngc`, `ic` (each a string such as `"NGC 224"`), `otherIds`, `name`, `type` (`galaxy`, `globular cluster`, `open cluster`, `nebula`, `planetary nebula`, `supernova remnant` or `other`), `constellation` (the IAU abbreviation), `rightAscension` and `declination` (degrees, J2000), `magnitude` (visual, or `undefined`) and `sizeArcmin` (the major axis, or `undefined`).
@@ -188,8 +191,8 @@ An object has `id`, `messier`, `ngc`, `ic` (each a string such as `"NGC 224"`),
188
191
  ```ts
189
192
  import { milkyWayBands, milkyWayBrightness } from "@johnmorrisdotca/hoshi-stars/milky-way";
190
193
 
191
- console.log(milkyWayBrightness({ rightAscension: 266.4, declination: -28.9 }) > 0.7); // true: the core, in Sagittarius
192
- console.log(milkyWayBands([0.2, 0.5]).map((band) => band.strips.length)); // ribbons of sky points to fill as soft bands
194
+ console.log(milkyWayBrightness({ rightAscension: 266.4, declination: -28.9 }) > 0.7); // true
195
+ console.log(milkyWayBands([0.2, 0.5]).map((band) => band.strips.length)); // [ 188, 10 ]
193
196
  ```
194
197
 
195
198
  `milkyWayBrightness(point)` is 0 (dark sky) to 1 (the core); `milkyWayBands(levels, { step })` gives ribbons of sky points for `project`; `toGalactic` and `fromGalactic` change the frame. The demo draws it as soft bands under the stars, in every projection, and its **Milky Way** button turns it off.
@@ -1,4 +1,4 @@
1
1
  // The Japanese names of the named stars, in katakana: the IAU Working Group on Star Names' spellings written in Japanese letters, by hand (a transliteration is not copyrightable), by Bright Star Catalogue (HR) number.
2
2
  // The spellings follow the usual Japanese forms (シリウス, ベテルギウス). A few are our own reading of an uncommon name and wait for a Japanese reviewer.
3
3
  /** The katakana name of each named star, by HR number. */
4
- export const STAR_NAMES_JA = { 15: "アルフェラッツ", 21: "カフ", 39: "アルゲニブ", 99: "アンカア", 168: "シェダル", 188: "ディフダ", 264: "ナビ", 337: "ミラク", 403: "ルクバー", 424: "ポラリス", 472: "アケルナル", 542: "セギン", 544: "モタッラー", 553: "シェラタン", 603: "アルマク", 617: "ハマル", 681: "ミラ", 897: "アカマル", 911: "メンカル", 936: "アルゴル", 1017: "ミルファク", 1457: "アルデバラン", 1708: "カペラ", 1713: "リゲル", 1790: "ベラトリックス", 1791: "エルナト", 1829: "ニハル", 1852: "ミンタカ", 1865: "アルネブ", 1903: "アルニラム", 1948: "アルニタク", 1956: "ファクト", 2004: "サイフ", 2040: "ワズン", 2061: "ベテルギウス", 2088: "メンカリナン", 2294: "ミルザム", 2326: "カノープス", 2421: "アルヘナ", 2491: "シリウス", 2618: "アダラ", 2693: "ウェズン", 2891: "カストル", 2943: "プロキオン", 2990: "ポルックス", 3165: "ナオス", 3307: "アビオール", 3569: "タリタ", 3634: "スハイル", 3685: "ミアプラキドゥス", 3699: "アスピディスケ", 3748: "アルファルド", 3982: "レグルス", 4033: "タニア・ボレアリス", 4057: "アルギエバ", 4069: "タニア・アウストラリス", 4287: "アルケス", 4295: "メラク", 4301: "ドゥーベ", 4375: "アルラ・アウストラリス", 4377: "アルラ・ボレアリス", 4534: "デネボラ", 4554: "フェクダ", 4623: "アルキバ", 4660: "メグレズ", 4662: "ギエナー", 4757: "アルゴラブ", 4763: "ガクルックス", 4786: "クラズ", 4825: "ポリマ", 4853: "ミモザ", 4905: "アリオト", 4932: "ビンデミアトリックス", 5054: "ミザール", 5056: "スピカ", 5191: "アルカイド", 5235: "ムフリッド", 5267: "ハダル", 5288: "メンケント", 5291: "トゥバン", 5340: "アークトゥルス", 5435: "セギヌス", 5459: "リギル・ケンタウルス", 5469: "メン", 5506: "イザール", 5531: "ズベンエルゲヌビ", 5563: "コカブ", 5602: "ネッカル", 5685: "ズベンエスカマリ", 5793: "アルフェッカ", 5854: "ウヌクアルハイ", 5953: "ジュバ", 5984: "アクラブ", 6132: "アテビネ", 6134: "アンタレス", 6148: "コルネフォロス", 6212: "ルティリクス", 6217: "アトリア", 6241: "ララワグ", 6378: "サビク", 6406: "ラスアルゲティ", 6527: "シャウラ", 6553: "サルガス", 6556: "ラスアルハゲ", 6603: "ケバルライ", 6705: "エルタニン", 6859: "カウス・メディア", 6879: "カウス・アウストラリス", 6913: "カウス・ボレアリス", 7001: "ベガ", 7106: "シェリアク", 7121: "ヌンキ", 7178: "スラファト", 7194: "アスケラ", 7235: "オカブ", 7417: "アルビレオ", 7525: "タラゼド", 7528: "ファワリス", 7557: "アルタイル", 7602: "アルシャイン", 7776: "ダビー", 7790: "ピーコック", 7796: "サドル", 7882: "ロタネブ", 7906: "スアロキン", 7924: "デネブ", 7949: "アルジャナー", 8162: "アルデラミン", 8232: "サダルスウド", 8308: "エニフ", 8414: "サダルメリク", 8425: "アルナイル", 8728: "フォーマルハウト", 8775: "シェアト", 8781: "マルカブ", 8974: "エライ" };
4
+ export const STAR_NAMES_JA = { 15: "アルフェラッツ", 21: "カフ", 39: "アルゲニブ", 99: "アンカア", 153: "フル", 168: "シェダル", 188: "ディフダ", 219: "アキルド", 264: "ナビ", 265: "カストゥラ", 337: "ミラク", 338: "ウレン", 361: "レヴァティ", 390: "アディル", 403: "ルクバー", 424: "ポラリス", 437: "アルフェルグ", 458: "ティタウィン", 464: "ネンブス", 472: "アケルナル", 510: "トルクラル", 539: "バテン・カイトス", 542: "セギン", 544: "モタッラー", 546: "メサルティム", 553: "シェラタン", 596: "アルレシャ", 603: "アルマク", 617: "ハマル", 681: "ミラ", 804: "カファルジドマ", 824: "リリイ・ボレア", 834: "ミラム", 838: "バラニ", 850: "アンゲテナル", 874: "アズハ", 897: "アカマル", 911: "メンカル", 936: "アルゴル", 941: "ミサム", 951: "ボテイン", 963: "ダリム", 984: "ジバル", 1017: "ミルファク", 1084: "ラン", 1131: "アティク", 1136: "ラナ", 1140: "ケライノ", 1142: "エレクトラ", 1145: "タイゲタ", 1149: "マイア", 1151: "アステロペ", 1156: "メロペ", 1165: "アルキオネ", 1178: "アトラス", 1180: "プレイオネ", 1228: "メンキブ", 1231: "ザウラク", 1298: "ベイド", 1325: "ケイド", 1346: "プリマ・ヒュアドゥム", 1373: "セクンダ・ヒュアドゥム", 1393: "ビーミム", 1409: "アイン", 1412: "チャムクイ", 1457: "アルデバラン", 1464: "テーミン", 1481: "セプトルム", 1543: "タビト", 1577: "ハッサレ", 1605: "アルマーズ", 1612: "サクラテニ", 1641: "ハエドゥス", 1666: "クルサ", 1708: "カペラ", 1713: "リゲル", 1790: "ベラトリックス", 1791: "エルナト", 1829: "ニハル", 1852: "ミンタカ", 1865: "アルネブ", 1879: "メイサ", 1899: "ハティサ", 1903: "アルニラム", 1910: "ティエングアン", 1948: "アルニタク", 1956: "ファクト", 2004: "サイフ", 2040: "ワズン", 2061: "ベテルギウス", 2088: "メンカリナン", 2095: "マハシム", 2177: "エルクルド", 2216: "プロプス", 2282: "フルド", 2286: "テヤト", 2294: "ミルザム", 2326: "カノープス", 2421: "アルヘナ", 2473: "メブスタ", 2484: "アルジル", 2491: "シリウス", 2618: "アダーラ", 2646: "ンガヌルガニティ", 2650: "メクブダ", 2657: "ムリフェイン", 2693: "ウェズン", 2777: "ワサト", 2827: "アルドラ", 2845: "ゴメイサ", 2891: "カストル", 2930: "ジシュイ", 2943: "プロキオン", 2990: "ポルックス", 3045: "アズミディ", 3165: "ナオス", 3185: "トゥレイス", 3208: "テグミネ", 3249: "タルフ", 3268: "ピアウトス", 3275: "アルシアウカト", 3307: "アビオール", 3323: "ムスシダ", 3418: "ミンキル", 3449: "アセルス・ボレアリス", 3461: "アセルス・アウストラリス", 3482: "アシュレーシャ", 3485: "アルセフィナ", 3522: "コペルニクス", 3569: "タリタ", 3572: "アクベンス", 3594: "アルカフラ", 3627: "ナーン", 3634: "スハイル", 3685: "ミアプラキドゥス", 3699: "アスピディスケ", 3734: "マルケブ", 3743: "インテルクルス", 3748: "アルファルド", 3773: "アルテルフ", 3845: "ウクダ", 3852: "スブラ", 3903: "ジャン", 3905: "ラスアラス", 3923: "フェリス", 3982: "レグルス", 4031: "アドハフェラ", 4033: "タニア・ボレアリス", 4057: "アルギエバ", 4069: "タニア・アウストラリス", 4247: "プラエキプア", 4277: "チャラワン", 4287: "アルケス", 4295: "メラク", 4301: "ドゥーベ", 4357: "ゾスマ", 4359: "ケルタン", 4375: "アルラ・アウストラリス", 4377: "アルラ・ボレアリス", 4434: "ギアウサル", 4518: "タイヤンショウ", 4534: "デネボラ", 4540: "ザヴィジャヴァ", 4554: "フェクダ", 4609: "トナティウ", 4623: "アルキバ", 4656: "イマイ", 4660: "メグレズ", 4662: "ギエナー", 4689: "ザニア", 4700: "ギナン", 4730: "アクルックス", 4757: "アルゴラブ", 4763: "ガクルックス", 4785: "カラ", 4786: "クラズ", 4825: "ポリマ", 4846: "ラ・スペルバ", 4853: "ミモザ", 4863: "ティエンイー", 4905: "アリオト", 4910: "ミネラウバ", 4915: "コル・カロリ", 4916: "タイイー", 4932: "ビンデミアトリックス", 4968: "ダイアデム", 5054: "ミザール", 5056: "スピカ", 5062: "アルコル", 5107: "ヘゼ", 5191: "アルカイド", 5235: "ムフリッド", 5267: "ハダル", 5288: "メンケント", 5291: "トゥバン", 5315: "カン", 5338: "シルマ", 5340: "アークトゥルス", 5351: "シュアンゲ", 5359: "カンバリア", 5409: "エルガファル", 5435: "セギヌス", 5459: "リギル・ケンタウルス", 5460: "トリマン", 5469: "メン", 5506: "イザール", 5531: "ズベンエルゲヌビ", 5533: "メルガ", 5563: "コカブ", 5602: "ネッカル", 5603: "ブラキウム", 5685: "ズベンエスカマリ", 5733: "アルカルロプス", 5735: "フェルカド", 5744: "エダシク", 5747: "ヌサカン", 5787: "ズベンエルハクラビ", 5793: "アルフェッカ", 5854: "ウヌクアルハイ", 5879: "グジャ", 5928: "イクリル", 5944: "ファン", 5953: "ジュバ", 5984: "アクラブ", 6008: "マルシク", 6027: "ジャッバ", 6056: "イェド・プリオル", 6075: "イェド・ポステリオル", 6084: "アルニヤト", 6117: "クジャム", 6132: "アテビネ", 6134: "アンタレス", 6148: "コルネフォロス", 6149: "マルフィク", 6165: "パイカウハレ", 6212: "ルティリクス", 6217: "アトリア", 6241: "ララワグ", 6247: "シャミディムラ", 6252: "ピピリマ", 6370: "アルラキス", 6378: "サビク", 6396: "アルディバ", 6402: "グニーブー", 6406: "ラスアルゲティ", 6410: "サリン", 6508: "レサト", 6526: "マーシム", 6527: "シャウラ", 6536: "ラスタバン", 6553: "サルガス", 6556: "ラスアルハゲ", 6585: "セルバンテス", 6603: "ケバルライ", 6618: "アルルバ", 6630: "フーユエ", 6636: "ジバン", 6688: "グルミウム", 6705: "エルタニン", 6746: "アルナスル", 6789: "ユルドゥン", 6812: "ポリス", 6859: "カウス・メディア", 6879: "カウス・アウストラリス", 6913: "カウス・ボレアリス", 6945: "ファフニール", 7001: "ベガ", 7106: "シェリアク", 7116: "アイナルラミ", 7121: "ヌンキ", 7141: "アリヤ", 7178: "スラファト", 7194: "アスケラ", 7228: "ポラリス・アウストラリス", 7235: "オカブ", 7254: "メリディアナ", 7264: "アルバルダ", 7298: "アルアドファル", 7310: "アルタイス", 7337: "アルカブ・プリオル", 7343: "アルカブ・ポステリオル", 7348: "ルクバト", 7405: "アンセル", 7417: "アルビレオ", 7462: "アルサフィ", 7479: "シャム", 7525: "タラゼド", 7528: "ファワリス", 7557: "アルタイル", 7595: "リベルタス", 7597: "テレベルム", 7602: "アルシャイン", 7754: "アルゲディ", 7773: "アルシャト", 7776: "ダビー", 7790: "ピーコック", 7796: "サドル", 7852: "アルドゥルフィン", 7882: "ロタネブ", 7906: "スアロキン", 7924: "デネブ", 7949: "アルジャナー", 7950: "アルバリ", 8030: "ムシカ", 8131: "キタルファ", 8162: "アルデラミン", 8232: "サダルスウド", 8238: "アルフィルク", 8264: "ブンダ", 8278: "ナシラ", 8301: "アゼルファファゲ", 8308: "エニフ", 8322: "デネブ・アルゲディ", 8353: "アルダナブ", 8414: "サダルメリク", 8417: "クルハ", 8425: "アルナイル", 8450: "ビハム", 8499: "アンチャ", 8518: "サダクビア", 8610: "シトゥラ", 8634: "ホマム", 8636: "ティアキ", 8650: "マタル", 8684: "サダルバリ", 8709: "スカト", 8728: "フォーマルハウト", 8729: "ヘルウェティオス", 8773: "フマルサマカ", 8775: "シェアト", 8781: "マルカブ", 8880: "サルム", 8905: "アルカラブ", 8930: "ウェリターテ", 8974: "エライ" };
@@ -1,6 +1,6 @@
1
1
  // GENERATED by scripts/make-star-data.py. Do not edit by hand.
2
2
  // The stars of visual magnitude 6.0 and brighter from the Yale Bright Star Catalogue (Hoffleit and Warren 1991, 5th revised edition, preliminary; ADC V/50, from NASA HEASARC):
3
- // 5080 stars, brightest first. One row a star: HR number | Bayer letter | Flamsteed number | constellation (empty here for a star with neither; scripts/set-star-constellations.ts fills it) | RA J2000 in tenths of a second of time |
3
+ // 5080 stars, brightest first. One row a star: HR number | Bayer letter | Flamsteed number | constellation (the catalogue's for a star with a Bayer letter or a Flamsteed number, else the boundaries': scripts/set-star-constellations.ts fills it in) | RA J2000 in tenths of a second of time |
4
4
  // Dec J2000 in arc-seconds (both the catalogue's own resolution) | proper motion in RA (times cos Dec) and in Dec, milliarcseconds a year | V magnitude times 100 |
5
5
  // B-V times 100 | spectral class and subclass | parallax in milliarcseconds.
6
6
  /** The star rows, one per line. */
@@ -5085,4 +5085,4 @@ export const STAR_ROWS = `2491|α|9|CMa|243089|-60178|-553|-1205|-146|0|A1|375
5085
5085
  9052|||Cas|861337|206684|-8|-3|600|21|B0|29
5086
5086
  9053|||And|861336|170481|0|-5|600|116|G8|0`;
5087
5087
  /** Common names by HR number: our own list, after the IAU Working Group on Star Names. */
5088
- export const STAR_NAMES = { 15: "Alpheratz", 21: "Caph", 39: "Algenib", 99: "Ankaa", 168: "Schedar", 188: "Diphda", 264: "Navi", 337: "Mirach", 403: "Ruchbah", 424: "Polaris", 472: "Achernar", 542: "Segin", 544: "Mothallah", 553: "Sheratan", 603: "Almach", 617: "Hamal", 681: "Mira", 897: "Acamar", 911: "Menkar", 936: "Algol", 1017: "Mirfak", 1457: "Aldebaran", 1708: "Capella", 1713: "Rigel", 1790: "Bellatrix", 1791: "Elnath", 1829: "Nihal", 1852: "Mintaka", 1865: "Arneb", 1903: "Alnilam", 1948: "Alnitak", 1956: "Phact", 2004: "Saiph", 2040: "Wazn", 2061: "Betelgeuse", 2088: "Menkalinan", 2294: "Mirzam", 2326: "Canopus", 2421: "Alhena", 2491: "Sirius", 2618: "Adhara", 2693: "Wezen", 2891: "Castor", 2943: "Procyon", 2990: "Pollux", 3165: "Naos", 3307: "Avior", 3569: "Talitha", 3634: "Suhail", 3685: "Miaplacidus", 3699: "Aspidiske", 3748: "Alphard", 3982: "Regulus", 4033: "Tania Borealis", 4057: "Algieba", 4069: "Tania Australis", 4287: "Alkes", 4295: "Merak", 4301: "Dubhe", 4375: "Alula Australis", 4377: "Alula Borealis", 4534: "Denebola", 4554: "Phecda", 4623: "Alchiba", 4660: "Megrez", 4662: "Gienah", 4757: "Algorab", 4763: "Gacrux", 4786: "Kraz", 4825: "Porrima", 4853: "Mimosa", 4905: "Alioth", 4932: "Vindemiatrix", 5054: "Mizar", 5056: "Spica", 5191: "Alkaid", 5235: "Muphrid", 5267: "Hadar", 5288: "Menkent", 5291: "Thuban", 5340: "Arcturus", 5435: "Seginus", 5459: "Rigil Kentaurus", 5469: "Men", 5506: "Izar", 5531: "Zubenelgenubi", 5563: "Kochab", 5602: "Nekkar", 5685: "Zubeneschamali", 5793: "Alphecca", 5854: "Unukalhai", 5953: "Dschubba", 5984: "Acrab", 6132: "Athebyne", 6134: "Antares", 6148: "Kornephoros", 6212: "Rutilicus", 6217: "Atria", 6241: "Larawag", 6378: "Sabik", 6406: "Rasalgethi", 6527: "Shaula", 6553: "Sargas", 6556: "Rasalhague", 6603: "Cebalrai", 6705: "Eltanin", 6859: "Kaus Media", 6879: "Kaus Australis", 6913: "Kaus Borealis", 7001: "Vega", 7106: "Sheliak", 7121: "Nunki", 7178: "Sulafat", 7194: "Ascella", 7235: "Okab", 7417: "Albireo", 7525: "Tarazed", 7528: "Fawaris", 7557: "Altair", 7602: "Alshain", 7776: "Dabih", 7790: "Peacock", 7796: "Sadr", 7882: "Rotanev", 7906: "Sualocin", 7924: "Deneb", 7949: "Aljanah", 8162: "Alderamin", 8232: "Sadalsuud", 8308: "Enif", 8414: "Sadalmelik", 8425: "Alnair", 8728: "Fomalhaut", 8775: "Scheat", 8781: "Markab", 8974: "Errai" };
5088
+ export const STAR_NAMES = { 15: "Alpheratz", 21: "Caph", 39: "Algenib", 99: "Ankaa", 153: "Fulu", 168: "Schedar", 188: "Diphda", 219: "Achird", 264: "Navi", 265: "Castula", 337: "Mirach", 338: "Wurren", 361: "Revati", 390: "Adhil", 403: "Ruchbah", 424: "Polaris", 437: "Alpherg", 458: "Titawin", 464: "Nembus", 472: "Achernar", 510: "Torcular", 539: "Baten Kaitos", 542: "Segin", 544: "Mothallah", 546: "Mesarthim", 553: "Sheratan", 596: "Alrescha", 603: "Almach", 617: "Hamal", 681: "Mira", 804: "Kaffaljidhma", 824: "Lilii Borea", 834: "Miram", 838: "Bharani", 850: "Angetenar", 874: "Azha", 897: "Acamar", 911: "Menkar", 936: "Algol", 941: "Misam", 951: "Botein", 963: "Dalim", 984: "Zibal", 1017: "Mirfak", 1084: "Ran", 1131: "Atik", 1136: "Rana", 1140: "Celaeno", 1142: "Electra", 1145: "Taygeta", 1149: "Maia", 1151: "Asterope", 1156: "Merope", 1165: "Alcyone", 1178: "Atlas", 1180: "Pleione", 1228: "Menkib", 1231: "Zaurak", 1298: "Beid", 1325: "Keid", 1346: "Prima Hyadum", 1373: "Secunda Hyadum", 1393: "Beemim", 1409: "Ain", 1412: "Chamukuy", 1457: "Aldebaran", 1464: "Theemin", 1481: "Sceptrum", 1543: "Tabit", 1577: "Hassaleh", 1605: "Almaaz", 1612: "Saclateni", 1641: "Haedus", 1666: "Cursa", 1708: "Capella", 1713: "Rigel", 1790: "Bellatrix", 1791: "Elnath", 1829: "Nihal", 1852: "Mintaka", 1865: "Arneb", 1879: "Meissa", 1899: "Hatysa", 1903: "Alnilam", 1910: "Tianguan", 1948: "Alnitak", 1956: "Phact", 2004: "Saiph", 2040: "Wazn", 2061: "Betelgeuse", 2088: "Menkalinan", 2095: "Mahasim", 2177: "Elkurud", 2216: "Propus", 2282: "Furud", 2286: "Tejat", 2294: "Mirzam", 2326: "Canopus", 2421: "Alhena", 2473: "Mebsuta", 2484: "Alzirr", 2491: "Sirius", 2618: "Adhara", 2646: "Nganurganity", 2650: "Mekbuda", 2657: "Muliphein", 2693: "Wezen", 2777: "Wasat", 2827: "Aludra", 2845: "Gomeisa", 2891: "Castor", 2930: "Jishui", 2943: "Procyon", 2990: "Pollux", 3045: "Azmidi", 3165: "Naos", 3185: "Tureis", 3208: "Tegmine", 3249: "Tarf", 3268: "Piautos", 3275: "Alsciaukat", 3307: "Avior", 3323: "Muscida", 3418: "Minchir", 3449: "Asellus Borealis", 3461: "Asellus Australis", 3482: "Ashlesha", 3485: "Alsephina", 3522: "Copernicus", 3569: "Talitha", 3572: "Acubens", 3594: "Alkaphrah", 3627: "Nahn", 3634: "Suhail", 3685: "Miaplacidus", 3699: "Aspidiske", 3734: "Markeb", 3743: "Intercrus", 3748: "Alphard", 3773: "Alterf", 3845: "Ukdah", 3852: "Subra", 3903: "Zhang", 3905: "Rasalas", 3923: "Felis", 3982: "Regulus", 4031: "Adhafera", 4033: "Tania Borealis", 4057: "Algieba", 4069: "Tania Australis", 4247: "Praecipua", 4277: "Chalawan", 4287: "Alkes", 4295: "Merak", 4301: "Dubhe", 4357: "Zosma", 4359: "Chertan", 4375: "Alula Australis", 4377: "Alula Borealis", 4434: "Giausar", 4518: "Taiyangshou", 4534: "Denebola", 4540: "Zavijava", 4554: "Phecda", 4609: "Tonatiuh", 4623: "Alchiba", 4656: "Imai", 4660: "Megrez", 4662: "Gienah", 4689: "Zaniah", 4700: "Ginan", 4730: "Acrux", 4757: "Algorab", 4763: "Gacrux", 4785: "Chara", 4786: "Kraz", 4825: "Porrima", 4846: "La Superba", 4853: "Mimosa", 4863: "Tianyi", 4905: "Alioth", 4910: "Minelauva", 4915: "Cor Caroli", 4916: "Taiyi", 4932: "Vindemiatrix", 4968: "Diadem", 5054: "Mizar", 5056: "Spica", 5062: "Alcor", 5107: "Heze", 5191: "Alkaid", 5235: "Muphrid", 5267: "Hadar", 5288: "Menkent", 5291: "Thuban", 5315: "Kang", 5338: "Syrma", 5340: "Arcturus", 5351: "Xuange", 5359: "Khambalia", 5409: "Elgafar", 5435: "Seginus", 5459: "Rigil Kentaurus", 5460: "Toliman", 5469: "Men", 5506: "Izar", 5531: "Zubenelgenubi", 5533: "Merga", 5563: "Kochab", 5602: "Nekkar", 5603: "Brachium", 5685: "Zubeneschamali", 5733: "Alkalurops", 5735: "Pherkad", 5744: "Edasich", 5747: "Nusakan", 5787: "Zubenelhakrabi", 5793: "Alphecca", 5854: "Unukalhai", 5879: "Gudja", 5928: "Iklil", 5944: "Fang", 5953: "Dschubba", 5984: "Acrab", 6008: "Marsic", 6027: "Jabbah", 6056: "Yed Prior", 6075: "Yed Posterior", 6084: "Alniyat", 6117: "Cujam", 6132: "Athebyne", 6134: "Antares", 6148: "Kornephoros", 6149: "Marfik", 6165: "Paikauhale", 6212: "Rutilicus", 6217: "Atria", 6241: "Larawag", 6247: "Xamidimura", 6252: "Pipirima", 6370: "Alrakis", 6378: "Sabik", 6396: "Aldhibah", 6402: "Guniibuu", 6406: "Rasalgethi", 6410: "Sarin", 6508: "Lesath", 6526: "Maasym", 6527: "Shaula", 6536: "Rastaban", 6553: "Sargas", 6556: "Rasalhague", 6585: "Cervantes", 6603: "Cebalrai", 6618: "Alruba", 6630: "Fuyue", 6636: "Dziban", 6688: "Grumium", 6705: "Eltanin", 6746: "Alnasl", 6789: "Yildun", 6812: "Polis", 6859: "Kaus Media", 6879: "Kaus Australis", 6913: "Kaus Borealis", 6945: "Fafnir", 7001: "Vega", 7106: "Sheliak", 7116: "Ainalrami", 7121: "Nunki", 7141: "Alya", 7178: "Sulafat", 7194: "Ascella", 7228: "Polaris Australis", 7235: "Okab", 7254: "Meridiana", 7264: "Albaldah", 7298: "Aladfar", 7310: "Altais", 7337: "Arkab Prior", 7343: "Arkab Posterior", 7348: "Rukbat", 7405: "Anser", 7417: "Albireo", 7462: "Alsafi", 7479: "Sham", 7525: "Tarazed", 7528: "Fawaris", 7557: "Altair", 7595: "Libertas", 7597: "Terebellum", 7602: "Alshain", 7754: "Algedi", 7773: "Alshat", 7776: "Dabih", 7790: "Peacock", 7796: "Sadr", 7852: "Aldulfin", 7882: "Rotanev", 7906: "Sualocin", 7924: "Deneb", 7949: "Aljanah", 7950: "Albali", 8030: "Musica", 8131: "Kitalpha", 8162: "Alderamin", 8232: "Sadalsuud", 8238: "Alfirk", 8264: "Bunda", 8278: "Nashira", 8301: "Azelfafage", 8308: "Enif", 8322: "Deneb Algedi", 8353: "Aldhanab", 8414: "Sadalmelik", 8417: "Kurhah", 8425: "Alnair", 8450: "Biham", 8499: "Ancha", 8518: "Sadachbia", 8610: "Situla", 8634: "Homam", 8636: "Tiaki", 8650: "Matar", 8684: "Sadalbari", 8709: "Skat", 8728: "Fomalhaut", 8729: "Helvetios", 8773: "Fumalsamakah", 8775: "Scheat", 8781: "Markab", 8880: "Salm", 8905: "Alkarab", 8930: "Veritate", 8974: "Errai" };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@johnmorrisdotca/hoshi-stars",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Hoshi 星: stars you can see without a telescope, as data and as sky charts. 5,080 stars with names, distance and colour, the 88 constellations with lines and boundaries, the Messier objects and seven map projections. Typed, no dependencies.",
5
5
  "keywords": [
6
6
  "stars",
@@ -16,6 +16,9 @@
16
16
  "ngc",
17
17
  "proper-motion",
18
18
  "javascript",
19
+ "react",
20
+ "galaxy",
21
+ "component",
19
22
  "typescript",
20
23
  "zero-dependencies",
21
24
  "itsutsu",
@@ -141,6 +144,8 @@
141
144
  "site": "pnpm build && node scripts/site.ts",
142
145
  "dev": "pnpm site && node scripts/dev.ts",
143
146
  "test:demo": "pnpm site && node scripts/docs-site.mjs build && playwright test",
147
+ "images": "node scripts/images.ts",
148
+ "test:readme": "pnpm build && node scripts/check-readme-examples.ts",
144
149
  "family:readme": "node scripts/family-readme.mjs",
145
150
  "test:demo:one": "pnpm site && node scripts/docs-site.mjs build && playwright test",
146
151
  "test:usage": "pnpm site && node scripts/check-usage.ts",