magick-components 0.0.0-stage → 0.1.0-rc.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/LICENSE.txt +89 -0
- package/README.md +353 -2
- package/fonts/FrankRuhlLibre-Bold-letters.woff2 +0 -0
- package/fonts/FrankRuhlLibre-OFL.txt +105 -0
- package/fonts/NotoSerif-BoldItalic-compass.woff2 +0 -0
- package/fonts/NotoSerif-Italic-latin1.woff2 +0 -0
- package/fonts/NotoSerif-OFL.txt +93 -0
- package/fonts/SOURCES.md +35 -0
- package/fonts/gd-hall.css +3 -0
- package/lib/astrology/Kamea.d.ts +75 -0
- package/lib/astrology/Kamea.js +73 -0
- package/lib/astrology/MercuryWidget.d.ts +21 -0
- package/lib/astrology/MercuryWidget.js +80 -0
- package/lib/astrology/Moon.d.ts +32 -0
- package/lib/astrology/Moon.js +39 -0
- package/lib/astrology/MoonWidget.d.ts +20 -0
- package/lib/astrology/MoonWidget.js +63 -0
- package/lib/astrology/PlanetarySpirit.d.ts +103 -0
- package/lib/astrology/PlanetarySpirit.js +102 -0
- package/lib/astrology/mercuryRetrograde.d.ts +20 -0
- package/lib/astrology/mercuryRetrograde.js +80 -0
- package/lib/astrology/moonPath.d.ts +20 -0
- package/lib/astrology/moonPath.js +45 -0
- package/lib/chakras/Chakras.d.ts +34 -0
- package/lib/chakras/Chakras.js +149 -0
- package/lib/cssString.d.ts +5 -0
- package/lib/cssString.js +7 -0
- package/lib/drawingVersions.d.ts +29 -0
- package/lib/drawingVersions.js +15 -0
- package/lib/enochian/Tablet.d.ts +17 -0
- package/lib/enochian/Tablet.js +24 -0
- package/lib/enochian/tabletSigils.d.ts +46 -0
- package/lib/enochian/tabletSigils.js +172 -0
- package/lib/enochian/tabletSvg.d.ts +85 -0
- package/lib/enochian/tabletSvg.js +278 -0
- package/lib/gd/FylfotCross.d.ts +60 -0
- package/lib/gd/FylfotCross.js +121 -0
- package/lib/gd/GradeTree.d.ts +10 -0
- package/lib/gd/GradeTree.js +21 -0
- package/lib/gd/Lamen.d.ts +31 -0
- package/lib/gd/Lamen.js +317 -0
- package/lib/gd/RoseSigil.d.ts +31 -0
- package/lib/gd/RoseSigil.js +49 -0
- package/lib/gd/RoseSigilImage.d.ts +38 -0
- package/lib/gd/RoseSigilImage.js +29 -0
- package/lib/gd/SevenBranchedCandlestick.d.ts +54 -0
- package/lib/gd/SevenBranchedCandlestick.js +269 -0
- package/lib/gd/TableOfShewbread.d.ts +19 -0
- package/lib/gd/TableOfShewbread.js +120 -0
- package/lib/gd/hall/GdHall.d.ts +94 -0
- package/lib/gd/hall/GdHall.js +147 -0
- package/lib/gd/hall/art/altar.d.ts +8 -0
- package/lib/gd/hall/art/altar.js +21 -0
- package/lib/gd/hall/art/altarItems.d.ts +20 -0
- package/lib/gd/hall/art/altarItems.js +113 -0
- package/lib/gd/hall/art/banner.d.ts +23 -0
- package/lib/gd/hall/art/banner.js +64 -0
- package/lib/gd/hall/art/board.d.ts +9 -0
- package/lib/gd/hall/art/board.js +49 -0
- package/lib/gd/hall/art/cards.d.ts +11 -0
- package/lib/gd/hall/art/cards.js +124 -0
- package/lib/gd/hall/art/furnishings.d.ts +12 -0
- package/lib/gd/hall/art/furnishings.js +36 -0
- package/lib/gd/hall/art/geometry.d.ts +49 -0
- package/lib/gd/hall/art/geometry.js +97 -0
- package/lib/gd/hall/art/hebrewLetter.d.ts +10 -0
- package/lib/gd/hall/art/hebrewLetter.js +38 -0
- package/lib/gd/hall/art/index.d.ts +7 -0
- package/lib/gd/hall/art/index.js +61 -0
- package/lib/gd/hall/art/items.d.ts +12 -0
- package/lib/gd/hall/art/items.js +125 -0
- package/lib/gd/hall/art/kamea.d.ts +20 -0
- package/lib/gd/hall/art/kamea.js +64 -0
- package/lib/gd/hall/art/lamen.d.ts +9 -0
- package/lib/gd/hall/art/lamen.js +52 -0
- package/lib/gd/hall/art/lightning.d.ts +13 -0
- package/lib/gd/hall/art/lightning.js +44 -0
- package/lib/gd/hall/art/lights.d.ts +13 -0
- package/lib/gd/hall/art/lights.js +64 -0
- package/lib/gd/hall/art/marker.d.ts +8 -0
- package/lib/gd/hall/art/marker.js +19 -0
- package/lib/gd/hall/art/pantacle.d.ts +10 -0
- package/lib/gd/hall/art/pantacle.js +119 -0
- package/lib/gd/hall/art/pillar.d.ts +4 -0
- package/lib/gd/hall/art/pillar.js +25 -0
- package/lib/gd/hall/art/placeholder.d.ts +8 -0
- package/lib/gd/hall/art/placeholder.js +18 -0
- package/lib/gd/hall/art/platform.d.ts +13 -0
- package/lib/gd/hall/art/platform.js +28 -0
- package/lib/gd/hall/art/seals.d.ts +23 -0
- package/lib/gd/hall/art/seals.js +151 -0
- package/lib/gd/hall/art/shared.d.ts +87 -0
- package/lib/gd/hall/art/shared.js +95 -0
- package/lib/gd/hall/art/symbols.d.ts +37 -0
- package/lib/gd/hall/art/symbols.js +134 -0
- package/lib/gd/hall/art/tarotKey.d.ts +34 -0
- package/lib/gd/hall/art/tarotKey.js +101 -0
- package/lib/gd/hall/art/veil.d.ts +8 -0
- package/lib/gd/hall/art/veil.js +22 -0
- package/lib/gd/hall/art/vessels.d.ts +19 -0
- package/lib/gd/hall/art/vessels.js +74 -0
- package/lib/gd/hall/aspect.d.ts +31 -0
- package/lib/gd/hall/aspect.js +161 -0
- package/lib/gd/hall/attributes.d.ts +52 -0
- package/lib/gd/hall/attributes.js +116 -0
- package/lib/gd/hall/describe.d.ts +38 -0
- package/lib/gd/hall/describe.js +184 -0
- package/lib/gd/hall/dimensions.d.ts +39 -0
- package/lib/gd/hall/dimensions.js +49 -0
- package/lib/gd/hall/editor.d.ts +13 -0
- package/lib/gd/hall/editor.js +13 -0
- package/lib/gd/hall/fontMetrics.json +177 -0
- package/lib/gd/hall/fonts.d.ts +45 -0
- package/lib/gd/hall/fonts.js +73 -0
- package/lib/gd/hall/hebrewLetters.d.ts +8 -0
- package/lib/gd/hall/hebrewLetters.js +40 -0
- package/lib/gd/hall/index.d.ts +19 -0
- package/lib/gd/hall/index.js +17 -0
- package/lib/gd/hall/labels.d.ts +72 -0
- package/lib/gd/hall/labels.js +109 -0
- package/lib/gd/hall/layout.d.ts +213 -0
- package/lib/gd/hall/layout.js +837 -0
- package/lib/gd/hall/planets.d.ts +13 -0
- package/lib/gd/hall/planets.js +35 -0
- package/lib/gd/hall/presets/index.d.ts +13 -0
- package/lib/gd/hall/presets/index.js +29 -0
- package/lib/gd/hall/presets/neophyte.d.ts +7 -0
- package/lib/gd/hall/presets/neophyte.js +74 -0
- package/lib/gd/hall/presets/philosophus.d.ts +30 -0
- package/lib/gd/hall/presets/philosophus.js +244 -0
- package/lib/gd/hall/presets/portal.d.ts +24 -0
- package/lib/gd/hall/presets/portal.js +241 -0
- package/lib/gd/hall/presets/practicus.d.ts +17 -0
- package/lib/gd/hall/presets/practicus.js +181 -0
- package/lib/gd/hall/presets/theoricus.d.ts +13 -0
- package/lib/gd/hall/presets/theoricus.js +178 -0
- package/lib/gd/hall/presets/types.d.ts +72 -0
- package/lib/gd/hall/presets/types.js +58 -0
- package/lib/gd/hall/presets/zelator.d.ts +12 -0
- package/lib/gd/hall/presets/zelator.js +161 -0
- package/lib/gd/hall/spec.d.ts +54 -0
- package/lib/gd/hall/spec.js +108 -0
- package/lib/gd/hall/types.d.ts +131 -0
- package/lib/gd/hall/types.js +1 -0
- package/lib/gd/hall/validate.d.ts +13 -0
- package/lib/gd/hall/validate.js +285 -0
- package/lib/gd/hall/vocabulary.d.ts +139 -0
- package/lib/gd/hall/vocabulary.js +435 -0
- package/lib/gd/lamenGlyphs.d.ts +16 -0
- package/lib/gd/lamenGlyphs.js +167 -0
- package/lib/gd/lamenGrades.d.ts +29 -0
- package/lib/gd/lamenGrades.js +36 -0
- package/lib/gd/roseSigilGeometry.d.ts +10 -0
- package/lib/gd/roseSigilGeometry.js +10 -0
- package/lib/gd/roseSigilInternals.d.ts +85 -0
- package/lib/gd/roseSigilInternals.js +343 -0
- package/lib/gd/roseSigilOptimizer.d.ts +15 -0
- package/lib/gd/roseSigilOptimizer.js +59 -0
- package/lib/gd/roseSigilVersions.d.ts +12 -0
- package/lib/gd/roseSigilVersions.js +57 -0
- package/lib/hooks/useHydrated.d.ts +9 -0
- package/lib/hooks/useHydrated.js +13 -0
- package/lib/kabbalah/TreeOfLife.d.ts +135 -0
- package/lib/kabbalah/TreeOfLife.js +312 -0
- package/lib/kabbalah/fieldPath.d.ts +25 -0
- package/lib/kabbalah/fieldPath.js +100 -0
- package/lib/kabbalah/treeLabels.d.ts +30 -0
- package/lib/kabbalah/treeLabels.js +32 -0
- package/lib/kabbalah/treeOfLifeFigure.d.ts +59 -0
- package/lib/kabbalah/treeOfLifeFigure.js +151 -0
- package/lib/svgCoordinate.d.ts +12 -0
- package/lib/svgCoordinate.js +16 -0
- package/package.json +162 -3
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
magick-components is under three licences, by path. The repository it
|
|
2
|
+
comes from is AGPL-3.0-or-later (see ../../LICENSE.txt); this package is
|
|
3
|
+
not.
|
|
4
|
+
|
|
5
|
+
Code: MIT, below.
|
|
6
|
+
Everything but fonts/: the components, src/**/*.ts and src/**/*.tsx, and
|
|
7
|
+
the modules compiled from them into lib/, which the published package
|
|
8
|
+
carries. A component whose code is the drawing (the sigils, the lamens,
|
|
9
|
+
the hall's art, the planetary spirits' sigils) is MIT as code, its path
|
|
10
|
+
data included, so the drawing may be taken from the package under MIT.
|
|
11
|
+
The CC BY 4.0 statement in ../../README.md covers the images magick.ly
|
|
12
|
+
draws and serves, its hand-drawn images and the data, not this code.
|
|
13
|
+
Two of these files are also under BSD 3-Clause (Moon, next).
|
|
14
|
+
|
|
15
|
+
Moon: BSD 3-Clause as well as MIT.
|
|
16
|
+
src/astrology/moonPath.ts and src/astrology/Moon.tsx, and
|
|
17
|
+
lib/astrology/moonPath.js and lib/astrology/Moon.js compiled from them,
|
|
18
|
+
adapt phase_junk() in moon-phase.js from tingletech/moon-phase
|
|
19
|
+
(https://github.com/tingletech/moon-phase/blob/643015a83509ca6a662d1af6e1ac14661852cedb/moon-phase.js):
|
|
20
|
+
the path of the Moon's lit part and of its disc. They are under the BSD
|
|
21
|
+
3-Clause License below, whose notice they carry, and our changes to them
|
|
22
|
+
under MIT.
|
|
23
|
+
|
|
24
|
+
Fonts: SIL Open Font License 1.1.
|
|
25
|
+
fonts/*.woff2, subsets of Noto Serif (Copyright 2022 The Noto Project
|
|
26
|
+
Authors; fonts/NotoSerif-OFL.txt) and Frank Ruhl Libre (Copyright 2015
|
|
27
|
+
The Frank Ruhl Libre Project Authors; fonts/FrankRuhlLibre-OFL.txt).
|
|
28
|
+
fonts/SOURCES.md says where they come from. fonts/gd-hall.css, which only
|
|
29
|
+
declares them, is MIT with the code.
|
|
30
|
+
|
|
31
|
+
The data these components read comes from the magick-data package, which
|
|
32
|
+
is licensed by its own files (its code MIT, its data CC BY 4.0).
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
MIT License
|
|
37
|
+
|
|
38
|
+
Copyright (c) 2020-2026 Gadi Cohen <dragon@wastelands.net>
|
|
39
|
+
|
|
40
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
41
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
42
|
+
in the Software without restriction, including without limitation the rights
|
|
43
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
44
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
45
|
+
furnished to do so, subject to the following conditions:
|
|
46
|
+
|
|
47
|
+
The above copyright notice and this permission notice shall be included in all
|
|
48
|
+
copies or substantial portions of the Software.
|
|
49
|
+
|
|
50
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
51
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
52
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
53
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
54
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
55
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
56
|
+
SOFTWARE.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
BSD 3-Clause License (src/astrology/moonPath.ts, src/astrology/Moon.tsx
|
|
61
|
+
and what is compiled from them), from moon-phase's LICENSE.md, "License
|
|
62
|
+
for all other files" (its background image is not used here):
|
|
63
|
+
|
|
64
|
+
Copyright © 2012, Regents of the University of California
|
|
65
|
+
All rights reserved.
|
|
66
|
+
|
|
67
|
+
Redistribution and use in source and binary forms, with or without
|
|
68
|
+
modification, are permitted provided that the following conditions are met:
|
|
69
|
+
|
|
70
|
+
- Redistributions of source code must retain the above copyright notice,
|
|
71
|
+
this list of conditions and the following disclaimer.
|
|
72
|
+
- Redistributions in binary form must reproduce the above copyright notice,
|
|
73
|
+
this list of conditions and the following disclaimer in the documentation
|
|
74
|
+
and/or other materials provided with the distribution.
|
|
75
|
+
- Neither the name of the University of California nor the names of its
|
|
76
|
+
contributors may be used to endorse or promote products derived from this
|
|
77
|
+
software without specific prior written permission.
|
|
78
|
+
|
|
79
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
80
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
81
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
82
|
+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
83
|
+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
84
|
+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
85
|
+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
86
|
+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
87
|
+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
88
|
+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
89
|
+
POSSIBILITY OF SUCH DAMAGE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,354 @@
|
|
|
1
|
-
#
|
|
1
|
+
# magick-components
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
React components that draw magickal figures from
|
|
4
|
+
[magick-data](https://www.npmjs.com/package/magick-data): the Tree of Life,
|
|
5
|
+
the Golden Dawn's temple halls, its lamens and symbols, the rose-cross
|
|
6
|
+
sigil, the Enochian tablets, the planetary kameas and the planetary
|
|
7
|
+
spirits' geomantic sigils, and the Moon in its phases. They are the drawings of
|
|
8
|
+
[magick.ly](https://magick.ly), which consumes this package as anyone else
|
|
9
|
+
would. The figures are drawn from the data as inline SVG, so they scale,
|
|
10
|
+
print and can be styled by the page around them. A few wrap their drawing
|
|
11
|
+
in HTML: the fylfot cross is a table of squares, `MoonWidget` and
|
|
12
|
+
`MercuryWidget` are tiles around a drawing or a picture, and a planetary
|
|
13
|
+
spirit's sigil is
|
|
14
|
+
centred in a `<div>` you may style.
|
|
15
|
+
|
|
16
|
+
The markup inside a drawing is not part of the API: its elements, ids and
|
|
17
|
+
attributes may change in any release. What is part of it is each
|
|
18
|
+
component's props and the classes a component documents as a styling hook
|
|
19
|
+
(the Tree's layers, [below](#the-tree-on-your-page)).
|
|
20
|
+
|
|
21
|
+
It is built and tested in
|
|
22
|
+
[the repository](https://github.com/gadicc/magickly/tree/main/packages/magick-components),
|
|
23
|
+
whose smoke test installs the packed tarball as a stranger would and
|
|
24
|
+
checks the published shape this README describes.
|
|
25
|
+
|
|
26
|
+
## Licences
|
|
27
|
+
|
|
28
|
+
Copyright (c) 2020-2026 Gadi Cohen. The package is under three licences,
|
|
29
|
+
by path, and [LICENSE.txt](./LICENSE.txt) says which file is which:
|
|
30
|
+
|
|
31
|
+
- **The code is MIT**, and that includes the drawings. A component whose
|
|
32
|
+
code *is* the drawing (the sigils, the lamens, the hall's art, the
|
|
33
|
+
planetary spirits' sigils) is MIT as code, path data and all, so you may
|
|
34
|
+
take the drawing from the package under MIT. magick.ly licenses the
|
|
35
|
+
images it serves under CC BY 4.0, but anyone can render the same drawing
|
|
36
|
+
from this package under MIT.
|
|
37
|
+
- **The Moon's paths are also under BSD 3-Clause**: `astrology/Moon` and
|
|
38
|
+
the module of its paths adapt `phase_junk()` from
|
|
39
|
+
[moon-phase](https://github.com/tingletech/moon-phase/blob/643015a83509ca6a662d1af6e1ac14661852cedb/moon-phase.js),
|
|
40
|
+
Copyright © 2012, Regents of the University of California. Keep its
|
|
41
|
+
notice, in LICENSE.txt, with copies of those two modules, including in
|
|
42
|
+
what you build from them.
|
|
43
|
+
- **The hall's three fonts are under the SIL Open Font License 1.1**:
|
|
44
|
+
subsets of Noto Serif and Frank Ruhl Libre in `fonts/`, with their
|
|
45
|
+
notices and [their sources](./fonts/SOURCES.md).
|
|
46
|
+
|
|
47
|
+
The data the components read is magick-data's, which is licensed by its
|
|
48
|
+
own files: its code MIT, its data CC BY 4.0, with credit to
|
|
49
|
+
[magick.ly](https://magick.ly). The app around these components is
|
|
50
|
+
[AGPL-3.0-or-later](https://github.com/gadicc/magickly/blob/main/LICENSE.txt);
|
|
51
|
+
this package is deliberately freer, so that it can travel.
|
|
52
|
+
|
|
53
|
+
A drawing after an old source is our own drawing of a public-domain
|
|
54
|
+
printing, cited by page and scan: the planetary spirits' geomantic sigils
|
|
55
|
+
(the Rulers of the geomantic figures) follow John Heydon's *Theomagia*
|
|
56
|
+
(1663/4), and the Enochian Watchtowers' plain sigils, and the form of
|
|
57
|
+
Air's in colour, the plate of *The Equinox* (1912). Air's is a Tau with
|
|
58
|
+
four Yods above it, drawn as small flames (Regardie, *The Golden Dawn*,
|
|
59
|
+
vol. 4, 1940, p. 307). Regardie says the sigils are taken from Dee's
|
|
60
|
+
Sigillum Dei Aemeth (p. 308), whose T carries a 4 above it (*The
|
|
61
|
+
Equinox* I(7), Plate II, archive.org `crowley-equinox_202110`, leaf
|
|
62
|
+
n238), so the four Yods likely stand for that 4; the inference is ours,
|
|
63
|
+
not a source's. The form follows Plate X (leaf n256). The coloured Water and
|
|
64
|
+
Fire sigils are drawn from Regardie's description of them (1940), and
|
|
65
|
+
Earth's is a cross in four colours. Layouts taken from modern books are
|
|
66
|
+
facts, drawn in our own art.
|
|
67
|
+
|
|
68
|
+
## Installing
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
npm install magick-components react
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
It needs React 19, and it is ES modules only. `@types/react` is an optional
|
|
75
|
+
peer: TypeScript users have it already. In a Server Component, or anything
|
|
76
|
+
that renders React:
|
|
77
|
+
|
|
78
|
+
```tsx
|
|
79
|
+
import TreeOfLife from "magick-components/kabbalah/TreeOfLife";
|
|
80
|
+
|
|
81
|
+
export default function Page() {
|
|
82
|
+
return <TreeOfLife field="name.he" colorScale="queen" width={300} />;
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Server and Client Components
|
|
87
|
+
|
|
88
|
+
Most of the components use no hooks, or only `useId` and `useMemo`, and
|
|
89
|
+
render as Server Components, in plain Node with `renderToStaticMarkup`, or
|
|
90
|
+
in the browser. Three need the browser, and are marked `"use client"`:
|
|
91
|
+
|
|
92
|
+
- `astrology/MoonWidget`, which works out today's phase after hydration;
|
|
93
|
+
- `astrology/MercuryWidget`, which works out Mercury's next retrograde;
|
|
94
|
+
- `gd/RoseSigil`, which optimises and animates the sigil.
|
|
95
|
+
|
|
96
|
+
A client module's exports all become client references, so each of these
|
|
97
|
+
exports only its component. Their helpers live in modules of their own
|
|
98
|
+
(`astrology/Moon`, `gd/RoseSigilImage`, `gd/roseSigilGeometry`).
|
|
99
|
+
|
|
100
|
+
The Moon's drawing alone, `astrology/Moon`, needs no browser: it draws a
|
|
101
|
+
phase you give it, or a date's, which a page that knows the date passes:
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
import { Moon } from "magick-components/astrology/Moon";
|
|
105
|
+
|
|
106
|
+
export const Tonight = ({ date }: { date: Date }) => (
|
|
107
|
+
<Moon date={date} height={85} hemisphere="south" />
|
|
108
|
+
);
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## The entry points
|
|
112
|
+
|
|
113
|
+
Each is a subpath of the package; there is no root entry. Most subpaths
|
|
114
|
+
are one module, and `gd/hall` gathers the hall's: its exports come from
|
|
115
|
+
several modules, and the package declares no side effects but its CSS,
|
|
116
|
+
so a bundler takes from it only the modules whose exports a page uses.
|
|
117
|
+
Each component is its entry's default export and a named export too
|
|
118
|
+
(`import TreeOfLife from …` or `import { TreeOfLife } from …`). Each
|
|
119
|
+
component imports only the magick-data tables it draws, except
|
|
120
|
+
`TreeOfLife` and `GradeTree`: a sphere's label may be any field of the
|
|
121
|
+
assembled graph, so they import magick-data's root entry, every table.
|
|
122
|
+
|
|
123
|
+
| Subpath | What it is |
|
|
124
|
+
| --- | --- |
|
|
125
|
+
| `kabbalah/TreeOfLife` | The Tree of Life, its spheres labelled from any field of magick-data's sephirot, in the Queen or King scale, with the Hermetic or the Hebrew letters on its paths |
|
|
126
|
+
| `kabbalah/fieldPath` | `readFieldPath()`, which reads a dotted field path (`planet.name.en.en`, `stones.*.name.en`) from a row, as the Tree's labels do |
|
|
127
|
+
| `gd/GradeTree` | The Tree as the map of the Golden Dawn's grades |
|
|
128
|
+
| `gd/hall` | `GdHall` (also the default export), a Golden Dawn temple hall drawn from a hall description, and what a page needs to draw, check or describe one: the description's types, `validateHall()`, `describeHall()`, `estimateHallAspect()`, `GdHallSvg` and the layout it draws, the default art and the fonts |
|
|
129
|
+
| `gd/hall/presets` | The halls of the grades, Neophyte to Philosophus and the Portal, as descriptions `GdHall` draws |
|
|
130
|
+
| `gd/Lamen` | An officer's lamen |
|
|
131
|
+
| `gd/lamenGrades` | Which grades' lamens each officer wears |
|
|
132
|
+
| `gd/RoseSigil` | The rose-cross sigil of a Hebrew text, optimised and drawn on in the browser (`"use client"`) |
|
|
133
|
+
| `gd/RoseSigilImage` | The same sigil with no hooks, for the server, from points you give it |
|
|
134
|
+
| `gd/roseSigilGeometry` | The rose's letters and where a text's letters stand on it, on either version of the rose: `ROSE_LETTERS`, `roseRings()`, `roseLetters()`, `letterPoint()` and `sigilPoints()`, with `ROSE_VERSIONS` and `ROSE_VERSION_NOTES` |
|
|
135
|
+
| `gd/roseSigilOptimizer` | `optimizeSigilPoints()`, the layout optimiser (nlopt, compiled to WASM) |
|
|
136
|
+
| `gd/SevenBranchedCandlestick` | The seven-branched candlestick, with its planets, in two versions: *The Equinox*'s figure of 1909 (the default) and the modern arrangement (`CANDLESTICK_VERSIONS`, `CANDLESTICK_VERSION_NOTES`) |
|
|
137
|
+
| `gd/TableOfShewbread` | The table of shewbread, with the signs and the tribes |
|
|
138
|
+
| `gd/FylfotCross` | The fylfot cross of the signs and elements |
|
|
139
|
+
| `enochian/Tablet` | An Enochian tablet, a Watchtower or the Tablet of Union, in the Golden Dawn's, Dee's or another tradition's letters |
|
|
140
|
+
| `chakras/Chakras` | The seven chakras, in their colours, on the outline of a body |
|
|
141
|
+
| `astrology/Kamea` | A planet's kamea, its magic square |
|
|
142
|
+
| `astrology/PlanetarySpirit` | A planetary spirit's geomantic sigil (the Rulers of the figures) |
|
|
143
|
+
| `astrology/Moon` | The Moon in a phase you give, or a date's, as seen from either hemisphere |
|
|
144
|
+
| `astrology/MoonWidget` | A tile of today's Moon and its phase's name, as seen from the viewer's hemisphere (`"use client"`) |
|
|
145
|
+
| `astrology/MercuryWidget` | A tile of Mercury's current or next retrograde, under a picture of the planet you give it (`"use client"`) |
|
|
146
|
+
| `astrology/mercuryRetrograde` | Mercury's stations and retrogrades, from astronomy-engine |
|
|
147
|
+
| `fonts/*` | The hall's fonts and `gd-hall.css` ([below](#the-halls-fonts)) |
|
|
148
|
+
|
|
149
|
+
### Not stable
|
|
150
|
+
|
|
151
|
+
| Subpath | What it is |
|
|
152
|
+
| --- | --- |
|
|
153
|
+
| `gd/hall/editor` | The toolkit of magick.ly's hall editor: the hall vocabulary, the attribute readers and the layout's measures that the editor reads beyond `gd/hall`. It serves that editor and may change in any release, a patch included |
|
|
154
|
+
|
|
155
|
+
## The Tree on your page
|
|
156
|
+
|
|
157
|
+
Without props, `TreeOfLife` draws as magick.ly's Tree page does by
|
|
158
|
+
default: each sphere's Roman name (`field="name.roman"`), numbered above
|
|
159
|
+
(`topText="index"`) and named in English below (`bottomText="name.en"`),
|
|
160
|
+
in the Queen scale (`colorScale="queen"`), with the Hermetic Tree's
|
|
161
|
+
letters on its paths (`letterAttr="hermetic"`), and its labels at 10
|
|
162
|
+
(`fontSize`; another field sizes its own, 32 for `index` and 20 for
|
|
163
|
+
Hebrew). Stating a default draws the same Tree as leaving it out:
|
|
164
|
+
|
|
165
|
+
```tsx
|
|
166
|
+
import { TreeOfLife } from "magick-components/kabbalah/TreeOfLife";
|
|
167
|
+
|
|
168
|
+
export const Tree = () => <TreeOfLife width={300} />;
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
`activeSephirah` draws one sphere and fades the rest (`null` fades them
|
|
172
|
+
all), and `activePath` does the same for a path; an id the Tree does not
|
|
173
|
+
have throws. The spheres and paths are links only where you give them
|
|
174
|
+
one ([below](#what-you-supply)). The `<svg>` is well-formed XML, its
|
|
175
|
+
links and its labels' curves `xlink:href` with the prefix declared.
|
|
176
|
+
|
|
177
|
+
It keeps to itself, so that several can share a page:
|
|
178
|
+
|
|
179
|
+
- **Ids.** The `<svg>`'s id is the `id` you pass (letters, digits, `-`
|
|
180
|
+
and `_`, starting with a letter) or one from React's `useId`, and every
|
|
181
|
+
id inside it begins with that id and a hyphen (`tree-sephirot`,
|
|
182
|
+
`tree-topTextPath0`). The ids are not a styling hook; they may change.
|
|
183
|
+
`useId` is unique within one React render, so Trees that separate
|
|
184
|
+
renders put on one page (two `renderToStaticMarkup` calls joined) need
|
|
185
|
+
an `id` each.
|
|
186
|
+
- **Classes.** Its three layers carry classes you may style by, which are
|
|
187
|
+
part of its contract (`TREE_LAYER_CLASSES`): `magick-tree-paths` (the
|
|
188
|
+
paths' outlines), `magick-tree-path-letters` (their letters) and
|
|
189
|
+
`magick-tree-sephirot` (the spheres and their labels). magick.ly's dark
|
|
190
|
+
mode re-inks the outlines through them.
|
|
191
|
+
- **Its stylesheet** names only its own `<svg>`, `flip` included.
|
|
192
|
+
- **Without hooks.** `TreeOfLifeSvg`, from the same entry, draws the same
|
|
193
|
+
Tree with no hooks and needs its `id`: for `renderToStaticMarkup` in a
|
|
194
|
+
route handler, where React's server build has no dispatcher for
|
|
195
|
+
`useId`.
|
|
196
|
+
- **Fonts.** It sets its labels in Noto Sans and Noto Sans Hebrew (both
|
|
197
|
+
OFL), falling back to Arial and sans-serif, and loads nothing itself:
|
|
198
|
+
load the two families on your page, or serve `NotoSans-Regular.ttf` and
|
|
199
|
+
`NotoSansHebrew-Regular.ttf` and pass where they are as `fontBaseUrl`
|
|
200
|
+
(`<TreeOfLife fontBaseUrl="/fonts" />`). The SVG then carries
|
|
201
|
+
`@font-face` rules for them, which an exported SVG needs; like any
|
|
202
|
+
`@font-face`, they define the two families for the whole page.
|
|
203
|
+
|
|
204
|
+
## The hall's fonts
|
|
205
|
+
|
|
206
|
+
`GdHall` measures its labels with the three font subsets in `fonts/`, and
|
|
207
|
+
names its own font families so that no other build of Noto Serif or Frank
|
|
208
|
+
Ruhl Libre stands in for them. Load them in one of two ways:
|
|
209
|
+
|
|
210
|
+
- **Import the stylesheet**, and your bundler emits the fonts with the
|
|
211
|
+
rest of your assets:
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
import "magick-components/fonts/gd-hall.css";
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
The package's `sideEffects` keeps the import under any bundler.
|
|
218
|
+
TypeScript 6 checks that a side-effect import names a module it knows
|
|
219
|
+
of. Next's types, which `next-env.d.ts` brings in, declare CSS files;
|
|
220
|
+
elsewhere, a declaration file of your own does:
|
|
221
|
+
|
|
222
|
+
```ts
|
|
223
|
+
// css.d.ts
|
|
224
|
+
declare module "*.css";
|
|
225
|
+
```
|
|
226
|
+
- **Serve the files yourself** and pass where they are as `fontBaseUrl`
|
|
227
|
+
(`<GdHall hall={…} fontBaseUrl="/fonts" />`); the SVG then carries its
|
|
228
|
+
own `@font-face` rules, which an exported SVG needs.
|
|
229
|
+
|
|
230
|
+
## The rose sigil and nlopt
|
|
231
|
+
|
|
232
|
+
`RoseSigil` optimises the sigil's layout with
|
|
233
|
+
[nlopt-js](https://www.npmjs.com/package/nlopt-js), whose Emscripten glue
|
|
234
|
+
asks for Node's `fs` even in a browser bundle. Both of Next's bundlers then
|
|
235
|
+
fail with `Can't resolve 'fs'` until you stub it out:
|
|
236
|
+
|
|
237
|
+
```ts
|
|
238
|
+
// next.config.ts
|
|
239
|
+
import type { NextConfig } from "next";
|
|
240
|
+
|
|
241
|
+
const nextConfig: NextConfig = {
|
|
242
|
+
// Turbopack (next dev, and next build since Next 16): empty.ts is an
|
|
243
|
+
// empty module of your own.
|
|
244
|
+
turbopack: { resolveAlias: { fs: { browser: "./empty.ts" } } },
|
|
245
|
+
// webpack (next build --webpack)
|
|
246
|
+
webpack: (config, { isServer }) => {
|
|
247
|
+
if (!isServer)
|
|
248
|
+
config.resolve.fallback = { ...config.resolve.fallback, fs: false };
|
|
249
|
+
return config;
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
export default nextConfig;
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Only `RoseSigil` and `gd/roseSigilOptimizer` reach nlopt; a page that
|
|
257
|
+
draws the sigil on the server with `RoseSigilImage`, or uses nothing of the
|
|
258
|
+
sigil, needs no stub. If the optimiser fails to load, `RoseSigil` keeps the
|
|
259
|
+
letters' centres it first drew. Text that is not Hebrew is left out of the
|
|
260
|
+
sigil, and final forms are drawn as their base letters.
|
|
261
|
+
|
|
262
|
+
The rose has two versions, which differ in where Kaph and Tau stand on its
|
|
263
|
+
middle ring: the Golden Dawn's, as *The Equinox* printed it (`gd`, the
|
|
264
|
+
default), and Regardie's of 1939 (`version="regardie1939"`).
|
|
265
|
+
`ROSE_VERSION_NOTES`, from `gd/roseSigilGeometry`, names each and says
|
|
266
|
+
where it comes from; give `sigilPoints()` the same version as the drawing.
|
|
267
|
+
|
|
268
|
+
## What you supply
|
|
269
|
+
|
|
270
|
+
- **An Enochian font.** `Tablet` draws the Latin transliteration unless you
|
|
271
|
+
pass `enochianStyle`, the CSS of a font that sets the Enochian letters.
|
|
272
|
+
The one magick.ly uses has no licence text, so it is not in the package.
|
|
273
|
+
- **The tiles' pictures.** `MoonWidget` and `MercuryWidget` take their
|
|
274
|
+
background as `background`, a URL drawn to cover, and `MercuryWidget`
|
|
275
|
+
the planet's picture
|
|
276
|
+
as `image` (a URL, or `<img>` props such as Next's `getImageProps()`
|
|
277
|
+
gives). Neither draws a picture of its own; without them the tile has
|
|
278
|
+
no background.
|
|
279
|
+
- **The Tree's fonts**, Noto Sans and Noto Sans Hebrew, on your page or
|
|
280
|
+
through `fontBaseUrl` ([above](#the-tree-on-your-page)).
|
|
281
|
+
- **Links.** `TreeOfLife` and `GradeTree` link nothing unless you pass
|
|
282
|
+
`sephirahHref` and `pathHref`. Each is given the sphere's or the path's
|
|
283
|
+
magick-data row and returns a URL, or `null` for no link; the links are
|
|
284
|
+
plain SVG links, which the browser follows:
|
|
285
|
+
|
|
286
|
+
```tsx
|
|
287
|
+
import { TreeOfLife } from "magick-components/kabbalah/TreeOfLife";
|
|
288
|
+
|
|
289
|
+
export const LinkedTree = () => (
|
|
290
|
+
<TreeOfLife
|
|
291
|
+
sephirahHref={(sephirah) => `/sephirot/${sephirah.id}`}
|
|
292
|
+
pathHref={(path) => `/paths/${path.id}`}
|
|
293
|
+
/>
|
|
294
|
+
);
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
- **Ink, where it is not black.** The fylfot cross borders its squares,
|
|
298
|
+
and a planetary spirit's sigil is drawn, in black unless you pass `ink`,
|
|
299
|
+
a CSS colour such as your theme's custom property
|
|
300
|
+
(`ink="var(--my-ink, black)"`), as magick.ly does for the cross in its
|
|
301
|
+
dark mode. The sigil's path keeps its `stroke="#000"` attribute, which
|
|
302
|
+
your stylesheet may select, and takes `ink` as its style, which wins.
|
|
303
|
+
- **Labels.** `label` means one thing wherever a drawing takes it
|
|
304
|
+
(`Tablet`, `Kamea`). Not given, the drawing is an image named for what
|
|
305
|
+
it draws ("Enochian Watchtower of Fire", "Kamea of Saturn"); a string
|
|
306
|
+
names it otherwise; and `label={false}` marks it decorative, hidden
|
|
307
|
+
from assistive technology (`aria-hidden`), as for a drawing inside one
|
|
308
|
+
that names itself or beside text that says what it is.
|
|
309
|
+
|
|
310
|
+
## Versions
|
|
311
|
+
|
|
312
|
+
The props are still settling, so the package stays at 0.x: a minor version
|
|
313
|
+
may change them, and a patch will not. It depends on magick-data at the
|
|
314
|
+
version it was built with (`^0.x`), and moves with it.
|
|
315
|
+
|
|
316
|
+
From 0.1.0, each release is published by the repository's CI when the
|
|
317
|
+
version changes on `main`, with npm provenance naming the commit it was
|
|
318
|
+
built from, as magick-data's are. CI publishes a pre-release under the
|
|
319
|
+
`next` tag and a release under `latest`. The first version, the release
|
|
320
|
+
candidate 0.1.0-rc.0, is published by hand.
|
|
321
|
+
|
|
322
|
+
## Requirements
|
|
323
|
+
|
|
324
|
+
React 19 and an ES module environment: Node 22 or later (`engines`
|
|
325
|
+
says so), or any current bundler. The declarations name `.ts` files, as magick-data's do;
|
|
326
|
+
TypeScript 6 reads them under `bundler` and `nodenext`.
|
|
327
|
+
|
|
328
|
+
## Provenance
|
|
329
|
+
|
|
330
|
+
Every drawing here is either drawn in code from magick-data's tables or
|
|
331
|
+
our own drawing after a source, and the table below says which, with the
|
|
332
|
+
source. The code is MIT and that cannot be taken back, so "Signed off"
|
|
333
|
+
is the date the owner checked the row's provenance, and no version past
|
|
334
|
+
0.0.0 ships while a row has none; a test holds the first column to the
|
|
335
|
+
package's entries.
|
|
336
|
+
|
|
337
|
+
| Drawing | Source | Signed off |
|
|
338
|
+
| --- | --- | --- |
|
|
339
|
+
| The planetary spirits' sigils (`astrology/PlanetarySpirit`) | Our own drawings of 13 November 2026 after John Heydon, *Theomagia*, vol. 1 (London, 1663/4), book I, ch. V, pp. 13 and 15 (archive.org `theomagiaortempl00heyd`, leaves n124 and n126): a few strokes of one width placed by eye over the scan, not traced. They replace tracings of a 1994 printing in copyright, which the repository's history keeps and the package does not | 2026-11-14 |
|
|
340
|
+
| The Enochian tablets' letters (`enochian/Tablet`) | magick-data's `enochian/tablets.json5`, in each tradition's reading, signed off in its Sources; the tablet draws them as text | 2026-11-14 |
|
|
341
|
+
| The Watchtowers' sigils (`enochian/Tablet`) | Drawn in code from lines, arcs and curves. The plain sigils, and the form of Air's in colour, after *The Equinox* I(7) (1912), Plate X (archive.org `crowley-equinox_202110`, "The Equinox Vol. 1, No. 7", leaf n256); the coloured Water and Fire sigils from Regardie's description, *The Golden Dawn*, vol. 4 (1940); Earth's a cross in four colours | 2026-11-14 |
|
|
342
|
+
| The Air sigil's four Yods (`enochian/Tablet`) | Regardie, *The Golden Dawn*, vol. 4 (1940), p. 307 (archive.org `IsraelRegardie-TheGoldenDawn-Vol4-1940`, leaf n299) describes a Tau with four Yods above it; drawn as small flames after Plate X (above), hand-placed curves in code, not traced. That the Yods stand for the 4 over the T of Dee's Sigillum Dei Aemeth (*The Equinox* I(7), Plate II, leaf n238) is our inference, not a source's. They replace two fonts' glyphs, which the repository's history keeps | 2026-11-14 |
|
|
343
|
+
| The kameas (`astrology/Kamea`) | A grid drawn in code around magick-data's squares (`magick-data/astrology/kameas`), which are Agrippa's, *De occulta philosophia* (Cologne, 1533), book II, ch. 22, pp. CXLIX–CLIII (archive.org `DeOccultaPhilosophiaLoc1533`, leaves n164–n168), checked cell by cell; where the 1533 printing repeats a number (Venus, row 4: 45 for 43, which its Hebrew table gives; the Moon, row 1: 45 for 54) the square has the number that makes it magic | 2026-11-14 |
|
|
344
|
+
| The rose-cross sigil (`gd/RoseSigil`, `gd/RoseSigilImage`, `gd/roseSigilGeometry`, `gd/roseSigilOptimizer`) | Drawn in code. The rose's construction, three rings of letters at equal angles, is Gadi Cohen's original geometry, written out in `gd/roseSigilGeometry`, and the sigil's path is laid out by the optimiser over it. The order of the letters is in two versions. The Golden Dawn's (`gd`, the default) is the figure Crowley printed in *The Equinox* I(3) (1910), Diagram 63, plate facing p. 210 (archive.org `crowley-equinox_202110`, "The Equinox Vol. 1, No. 3", leaf n220), and the colour key to the rose in "The Complete Symbol of the Tarot", *The Equinox* I(8) (1912), plate facing p. 145 (the same item, "The Equinox Vol. 1, No. 8", leaf n174). Regardie's (`regardie1939`), which exchanges Kaph and Tau, is *The Golden Dawn*, vol. 3 (Aries Press, Chicago, 1939), p. 53 and Diagram 20, p. 56 (archive.org `IsraelRegardie-TheGoldenDawn-Vol3-1939`, leaves n46 and n49) | 2026-11-14 |
|
|
345
|
+
| The temple halls' art (`gd/hall`, `gd/hall/presets`, `gd/hall/editor`) | Our own art, in code. The halls' layouts are facts from Regardie, *The Golden Dawn*, vol. 2 (Aries Press, Chicago, 1938), cited for each hall by page and archive.org leaf (`IsraelRegardie-TheGoldenDawn-Vol2-1938`); no drawing of his is copied. Venus' and the Moon's seals follow Agrippa's woodcuts (1533), book II, ch. 22, pp. CLI and CLIII (archive.org `DeOccultaPhilosophiaLoc1533`, leaves n166 and n168), their geometry only. Each art records its source in its `provenance` | 2026-11-14 |
|
|
346
|
+
| The halls' fonts (`fonts/*`) | Subsets of Noto Serif and Frank Ruhl Libre under the SIL Open Font License 1.1, made from google/fonts at a pinned commit; [fonts/SOURCES.md](./fonts/SOURCES.md) gives the files, their hashes and how they are made | 2026-11-14 |
|
|
347
|
+
| The Moon (`astrology/Moon`, `astrology/MoonWidget`) | The paths of the lit part and the disc adapt `phase_junk()` from moon-phase, Copyright © 2012 Regents of the University of California, under the BSD 3-Clause License, at a pinned commit (see [Licences](#licences)); the phase comes from lune (Apache-2.0, a dependency). The tile draws no picture of its own | 2026-11-14 |
|
|
348
|
+
| Mercury's retrogrades (`astrology/MercuryWidget`, `astrology/mercuryRetrograde`) | Our code, MIT, computing the stations with astronomy-engine (MIT, a dependency). The tile draws no picture of its own: the planet's is the page's | 2026-11-14 |
|
|
349
|
+
| The Tree of Life and the Grade Tree (`kabbalah/TreeOfLife`, `kabbalah/fieldPath`, `gd/GradeTree`) | Drawn in code, original geometry: four equal circles through each other's centres (Kether, Daath, Tiphareth, Yesod), the side spheres at their crossings. Its proportions agree with the Order's own Tree, "The Minutum Mundum", in Regardie, *The Golden Dawn*, vol. 1 (Aries Press, Chicago, 1937), plate facing p. 191 (archive.org `IsraelRegardie-thegoldenDawn-vol1-1937`, leaf n182), and the six spheres round Tiphareth are the hexagram of vol. 2 (1938), p. 195 (archive.org `IsraelRegardie-TheGoldenDawn-Vol2-1938`, leaf n188). The arrangement of spheres and paths is Kircher's, *Oedipus Aegyptiacus* II.1 (1653) (Wikimedia Commons, File:Tree of Life (Kircher 1653).jpg). We found no source describing the circle construction itself. Labels and colours come from magick-data's sephirot and paths | 2026-11-14 |
|
|
350
|
+
| The lamens (`gd/Lamen`, `gd/lamenGrades`) | Drawn in code from geometry, nothing traced. The officers' lamens and their colours are facts from Regardie, *The Golden Dawn*, vol. 3 (Aries Press, 1939), pp. 82–84 and 88–96 (archive.org `IsraelRegardie-TheGoldenDawn-Vol3-1939`, leaves n74–n76 and n80–n88); the Stolistes' cup follows the Cup of Stolistes, vol. 1 (1937), p. 138 (`IsraelRegardie-thegoldenDawn-vol1-1937`, leaf n128); the Portal's lamens are from vol. 2 (1938), p. 156 (leaf n149). The rings' colours, the Keryx's caduceus and the Sentinel's wedjat are our own; no 1937–40 source gives the Sentinel's design. `gd/Lamen`'s comment cites these pages and the modern works it compared | 2026-11-14 |
|
|
351
|
+
| The seven-branched candlestick (`gd/SevenBranchedCandlestick`) | Drawn in code, our own art; the planets, their letters and the angels' and spheres' names are magick-data's. Two versions. The default (`equinox1909`) is after *The Equinox* I(2) (1909), p. 265, Diagram 17 (archive.org `crowley-equinox_202110`, "The Equinox Vol. 1, No. 2", leaf n266), its lettering not traced; the seven churches of Asia are a table in the component that cites the figure. The modern arrangement (`modern`) has no public-domain source: Regardie, *The Golden Dawn*, vol. 2 (Aries Press, Chicago, 1938), p. 62 (archive.org `IsraelRegardie-TheGoldenDawn-Vol2-1938`, leaf n56) describes the lamps but not which planet stands where, and the order is a fact from the 2015 Llewellyn edition of Regardie's *The Golden Dawn*, nothing of which is copied; its angels are Agrippa's planetary angels | 2026-11-14 |
|
|
352
|
+
| The table of shewbread (`gd/TableOfShewbread`) | Drawn in code. The Zelator ritual describes it, Regardie vol. 2 (1938), pp. 60–61 (leaves n54–n55); its form is *The Equinox* I(2) (1909), p. 265, Diagram 16 (archive.org `crowley-equinox_202110`, "The Equinox Vol. 1, No. 2", leaf n266); the Kerubim and signs are placed by the elements' quarters, East at the top; the archangels' names, the permutations of the Name and the tribes are magick-data's, the last two after Crowley's *777* (1909), cols. CXL–CXLI | 2026-11-14 |
|
|
353
|
+
| The fylfot cross (`gd/FylfotCross`) | A table of squares in code after the Fylfot Cross of the Third Knowledge Lecture, Regardie, *The Golden Dawn*, vol. 1 (Aries Press, 1937), p. 131 (archive.org `IsraelRegardie-thegoldenDawn-vol1-1937`, leaf n122), which the Zelator ritual explains, vol. 2 (1938), p. 57 (leaf n51); the symbols are magick-data's and the arms' colours our own | 2026-11-14 |
|
|
354
|
+
| The chakras (`chakras/Chakras`) | The seated figure is an original drawing of 13 November 2026, hand-placed curves in code, nothing traced or adapted; it replaces a silhouette of unrecorded source, which the repository's history keeps. The chakras' places and colours are magick-data's `chakras.json5` | 2026-11-14 |
|
|
Binary file
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
Copyright 2015 The Frank Ruhl Libre Project Authors (https://github.com/fontef/frankruhllibre)
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
https://openfontlicense.org
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
94
|
+
© 2022 GitHub, Inc.
|
|
95
|
+
Terms
|
|
96
|
+
Privacy
|
|
97
|
+
Security
|
|
98
|
+
Status
|
|
99
|
+
Docs
|
|
100
|
+
Contact GitHub
|
|
101
|
+
Pricing
|
|
102
|
+
API
|
|
103
|
+
Training
|
|
104
|
+
Blog
|
|
105
|
+
About
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2022 The Noto Project Authors (https://github.com/notofonts/latin-greek-cyrillic)
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
https://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|