brick-engine-js 1.0.21 → 1.0.23
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/README.adoc +2 -2
- package/dist/docs/index.html +3 -3
- package/dist/docs/jsdoc_standard.html +30 -13
- package/dist/docs/reference/bootstrap.html +556 -0
- package/dist/docs/reference/context/RendererContext.html +19 -9
- package/dist/docs/reference/enums/Color.html +11 -5
- package/dist/docs/reference/enums/ControlEventType.html +7 -5
- package/dist/docs/reference/enums/ControlKey.html +7 -5
- package/dist/docs/reference/enums/EventSuffix.html +7 -5
- package/dist/docs/reference/enums/FontAlignment.html +9 -7
- package/dist/docs/reference/enums/FontSize.html +7 -5
- package/dist/docs/reference/enums/Sound.html +7 -5
- package/dist/docs/reference/enums/StateProperty.html +7 -5
- package/dist/docs/reference/helpers/CellHelper.html +6 -2
- package/dist/docs/reference/helpers/ControlInputHandlerHelper.html +9 -5
- package/dist/docs/reference/helpers/CoordinateHelper.html +14 -10
- package/dist/docs/reference/helpers/RelativeValuesHelper.html +7 -3
- package/dist/docs/reference/interfaces/Debuggable.html +9 -7
- package/dist/docs/reference/interfaces/GameModules.html +7 -5
- package/dist/docs/reference/interfaces/Initializable.html +9 -7
- package/dist/docs/reference/interfaces/RendererInitializable.html +9 -7
- package/dist/docs/reference/interfaces/StateContext.html +7 -5
- package/dist/docs/reference/interfaces/StateSyncable.html +11 -9
- package/dist/docs/reference/interfaces/modules/Control.html +19 -17
- package/dist/docs/reference/interfaces/modules/Grid.html +77 -55
- package/dist/docs/reference/interfaces/modules/Renderer.html +9 -7
- package/dist/docs/reference/interfaces/modules/RendererComposite.html +13 -11
- package/dist/docs/reference/interfaces/modules/Score.html +21 -19
- package/dist/docs/reference/interfaces/modules/Session.html +64 -18
- package/dist/docs/reference/interfaces/modules/State.html +59 -57
- package/dist/docs/reference/interfaces/modules/Text.html +21 -19
- package/dist/docs/reference/interfaces/modules/Time.html +80 -24
- package/dist/docs/reference/modules/Debugger.html +16 -14
- package/dist/docs/reference/modules/DisplayRenderer.html +10 -8
- package/dist/docs/reference/modules/EventEmitter.html +34 -26
- package/dist/docs/reference/modules/Game.html +55 -30
- package/dist/docs/reference/modules/GameControl.html +49 -44
- package/dist/docs/reference/modules/GameEventRegistry.html +17 -34
- package/dist/docs/reference/modules/GameGrid.html +174 -116
- package/dist/docs/reference/modules/GameHudGrid.html +10 -8
- package/dist/docs/reference/modules/GameRenderer.html +14 -12
- package/dist/docs/reference/modules/GameScore.html +36 -34
- package/dist/docs/reference/modules/GameSession.html +37 -19
- package/dist/docs/reference/modules/GameSound.html +20 -18
- package/dist/docs/reference/modules/GameState.html +70 -68
- package/dist/docs/reference/modules/GameText.html +29 -27
- package/dist/docs/reference/modules/GameTime.html +98 -30
- package/dist/docs/reference/modules/HudRenderer.html +10 -8
- package/dist/docs/reference/modules/InitialStateSnapshot.html +13 -11
- package/dist/docs/reference/modules/SessionModal.html +11 -9
- package/dist/docs/reference/types/Axis.html +7 -5
- package/dist/docs/reference/types/Cell.html +7 -5
- package/dist/docs/reference/types/ControlCallback.html +7 -5
- package/dist/docs/reference/types/Coordinate.html +7 -5
- package/dist/docs/reference/types/GameEvent.html +7 -5
- package/dist/docs/reference/types/Piece.html +7 -5
- package/dist/docs/reference/types/RendererMetrics.html +7 -5
- package/dist/docs/reference/types/Vector.html +7 -5
- package/dist/docs/reference/view/GameView.html +29 -21
- package/dist/docs/testing_best_practices.html +2 -2
- package/dist/game.bundle.js +1 -1
- package/dist/types/bootstrap.d.ts +12 -11
- package/dist/types/core/Game.d.ts +46 -39
- package/dist/types/core/InitialStateSnapshot.d.ts +18 -6
- package/dist/types/core/context/RendererContext.d.ts +32 -10
- package/dist/types/core/event/EventEmitter.d.ts +64 -21
- package/dist/types/core/event/GameEventRegistry.d.ts +17 -3
- package/dist/types/core/helpers/CellHelper.d.ts +11 -4
- package/dist/types/core/helpers/ControlInputHandlerHelper.d.ts +20 -11
- package/dist/types/core/helpers/CoordinateHelper.d.ts +28 -23
- package/dist/types/core/helpers/InterfaceIdentifierHelper.d.ts +34 -0
- package/dist/types/core/helpers/RelativeValuesHelper.d.ts +10 -8
- package/dist/types/core/module/control/GameControl.d.ts +26 -14
- package/dist/types/core/module/grid/GameGrid.d.ts +92 -53
- package/dist/types/core/module/grid/GameHudGrid.d.ts +9 -7
- package/dist/types/core/module/grid/engines/GridAnalysisEngine.d.ts +25 -6
- package/dist/types/core/module/grid/engines/GridLineEngine.d.ts +51 -13
- package/dist/types/core/module/grid/engines/GridMovementEngine.d.ts +97 -13
- package/dist/types/core/module/grid/engines/GridRegionEngine.d.ts +24 -5
- package/dist/types/core/module/grid/engines/GridTransformEngine.d.ts +21 -5
- package/dist/types/core/module/renderer/DisplayRenderer.d.ts +27 -15
- package/dist/types/core/module/renderer/GameRenderer.d.ts +20 -13
- package/dist/types/core/module/renderer/HudRenderer.d.ts +27 -19
- package/dist/types/core/module/score/GameScore.d.ts +29 -18
- package/dist/types/core/module/session/GameSession.d.ts +56 -0
- package/dist/types/core/module/sound/GameSound.d.ts +39 -23
- package/dist/types/core/module/state/GameState.d.ts +38 -14
- package/dist/types/core/module/text/GameText.d.ts +40 -25
- package/dist/types/core/module/time/GameTime.d.ts +52 -18
- package/dist/types/core/types/Interfaces.d.ts +15 -0
- package/dist/types/core/types/Types.d.ts +1 -0
- package/dist/types/core/types/enums.d.ts +2 -1
- package/dist/types/core/types/modules.d.ts +214 -45
- package/dist/types/view/Debugger.d.ts +23 -0
- package/dist/types/view/GameView.d.ts +44 -27
- package/dist/types/view/SessionModal.d.ts +24 -0
- package/package.json +1 -1
- package/dist/CNAME +0 -1
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<meta name="generator" content="Asciidoctor 2.0.20">
|
|
8
|
+
<meta name="description" content="Executable starting point of the Engine securely mounting Game logic to HTML Document nodes.">
|
|
9
|
+
<meta name="keywords" content="bootstrap, initialization, entry, p5">
|
|
10
|
+
<title>Bootstrap Reference</title>
|
|
11
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
|
12
|
+
<style>
|
|
13
|
+
/*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
|
|
14
|
+
/* Uncomment the following line when using as a custom stylesheet */
|
|
15
|
+
/* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */
|
|
16
|
+
html{font-family:sans-serif;-webkit-text-size-adjust:100%}
|
|
17
|
+
a{background:none}
|
|
18
|
+
a:focus{outline:thin dotted}
|
|
19
|
+
a:active,a:hover{outline:0}
|
|
20
|
+
h1{font-size:2em;margin:.67em 0}
|
|
21
|
+
b,strong{font-weight:bold}
|
|
22
|
+
abbr{font-size:.9em}
|
|
23
|
+
abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
|
|
24
|
+
dfn{font-style:italic}
|
|
25
|
+
hr{height:0}
|
|
26
|
+
mark{background:#ff0;color:#000}
|
|
27
|
+
code,kbd,pre,samp{font-family:monospace;font-size:1em}
|
|
28
|
+
pre{white-space:pre-wrap}
|
|
29
|
+
q{quotes:"\201C" "\201D" "\2018" "\2019"}
|
|
30
|
+
small{font-size:80%}
|
|
31
|
+
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
|
|
32
|
+
sup{top:-.5em}
|
|
33
|
+
sub{bottom:-.25em}
|
|
34
|
+
img{border:0}
|
|
35
|
+
svg:not(:root){overflow:hidden}
|
|
36
|
+
figure{margin:0}
|
|
37
|
+
audio,video{display:inline-block}
|
|
38
|
+
audio:not([controls]){display:none;height:0}
|
|
39
|
+
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
|
|
40
|
+
legend{border:0;padding:0}
|
|
41
|
+
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
|
|
42
|
+
button,input{line-height:normal}
|
|
43
|
+
button,select{text-transform:none}
|
|
44
|
+
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
|
|
45
|
+
button[disabled],html input[disabled]{cursor:default}
|
|
46
|
+
input[type=checkbox],input[type=radio]{padding:0}
|
|
47
|
+
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
|
|
48
|
+
textarea{overflow:auto;vertical-align:top}
|
|
49
|
+
table{border-collapse:collapse;border-spacing:0}
|
|
50
|
+
*,::before,::after{box-sizing:border-box}
|
|
51
|
+
html,body{font-size:100%}
|
|
52
|
+
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
|
|
53
|
+
a:hover{cursor:pointer}
|
|
54
|
+
img,object,embed{max-width:100%;height:auto}
|
|
55
|
+
object,embed{height:100%}
|
|
56
|
+
img{-ms-interpolation-mode:bicubic}
|
|
57
|
+
.left{float:left!important}
|
|
58
|
+
.right{float:right!important}
|
|
59
|
+
.text-left{text-align:left!important}
|
|
60
|
+
.text-right{text-align:right!important}
|
|
61
|
+
.text-center{text-align:center!important}
|
|
62
|
+
.text-justify{text-align:justify!important}
|
|
63
|
+
.hide{display:none}
|
|
64
|
+
img,object,svg{display:inline-block;vertical-align:middle}
|
|
65
|
+
textarea{height:auto;min-height:50px}
|
|
66
|
+
select{width:100%}
|
|
67
|
+
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
|
|
68
|
+
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}
|
|
69
|
+
a{color:#2156a5;text-decoration:underline;line-height:inherit}
|
|
70
|
+
a:hover,a:focus{color:#1d4b8f}
|
|
71
|
+
a img{border:0}
|
|
72
|
+
p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
|
|
73
|
+
p aside{font-size:.875em;line-height:1.35;font-style:italic}
|
|
74
|
+
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
|
|
75
|
+
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
|
|
76
|
+
h1{font-size:2.125em}
|
|
77
|
+
h2{font-size:1.6875em}
|
|
78
|
+
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
|
|
79
|
+
h4,h5{font-size:1.125em}
|
|
80
|
+
h6{font-size:1em}
|
|
81
|
+
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
|
|
82
|
+
em,i{font-style:italic;line-height:inherit}
|
|
83
|
+
strong,b{font-weight:bold;line-height:inherit}
|
|
84
|
+
small{font-size:60%;line-height:inherit}
|
|
85
|
+
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
|
|
86
|
+
ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
|
|
87
|
+
ul,ol{margin-left:1.5em}
|
|
88
|
+
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
|
|
89
|
+
ul.circle{list-style-type:circle}
|
|
90
|
+
ul.disc{list-style-type:disc}
|
|
91
|
+
ul.square{list-style-type:square}
|
|
92
|
+
ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
|
|
93
|
+
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
|
|
94
|
+
dl dt{margin-bottom:.3125em;font-weight:bold}
|
|
95
|
+
dl dd{margin-bottom:1.25em}
|
|
96
|
+
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
|
|
97
|
+
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
|
|
98
|
+
@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
|
|
99
|
+
h1{font-size:2.75em}
|
|
100
|
+
h2{font-size:2.3125em}
|
|
101
|
+
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
|
|
102
|
+
h4{font-size:1.4375em}}
|
|
103
|
+
table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
|
|
104
|
+
table thead,table tfoot{background:#f7f8f7}
|
|
105
|
+
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
|
|
106
|
+
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
|
|
107
|
+
table tr.even,table tr.alt{background:#f8f8f7}
|
|
108
|
+
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
|
|
109
|
+
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
|
|
110
|
+
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
|
|
111
|
+
.center{margin-left:auto;margin-right:auto}
|
|
112
|
+
.stretch{width:100%}
|
|
113
|
+
.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
|
|
114
|
+
.clearfix::after,.float-group::after{clear:both}
|
|
115
|
+
:not(pre).nobreak{word-wrap:normal}
|
|
116
|
+
:not(pre).nowrap{white-space:nowrap}
|
|
117
|
+
:not(pre).pre-wrap{white-space:pre-wrap}
|
|
118
|
+
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
|
|
119
|
+
pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
|
|
120
|
+
pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
|
|
121
|
+
pre>code{display:block}
|
|
122
|
+
pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
|
|
123
|
+
em em{font-style:normal}
|
|
124
|
+
strong strong{font-weight:400}
|
|
125
|
+
.keyseq{color:rgba(51,51,51,.8)}
|
|
126
|
+
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
|
|
127
|
+
.keyseq kbd:first-child{margin-left:0}
|
|
128
|
+
.keyseq kbd:last-child{margin-right:0}
|
|
129
|
+
.menuseq,.menuref{color:#000}
|
|
130
|
+
.menuseq b:not(.caret),.menuref{font-weight:inherit}
|
|
131
|
+
.menuseq{word-spacing:-.02em}
|
|
132
|
+
.menuseq b.caret{font-size:1.25em;line-height:.8}
|
|
133
|
+
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
|
|
134
|
+
b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
|
|
135
|
+
b.button::before{content:"[";padding:0 3px 0 2px}
|
|
136
|
+
b.button::after{content:"]";padding:0 2px 0 3px}
|
|
137
|
+
p a>code:hover{color:rgba(0,0,0,.9)}
|
|
138
|
+
#header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
|
|
139
|
+
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
|
|
140
|
+
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
|
|
141
|
+
#content{margin-top:1.25em}
|
|
142
|
+
#content::before{content:none}
|
|
143
|
+
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
|
|
144
|
+
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
|
|
145
|
+
#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
|
|
146
|
+
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}
|
|
147
|
+
#header .details span:first-child{margin-left:-.125em}
|
|
148
|
+
#header .details span.email a{color:rgba(0,0,0,.85)}
|
|
149
|
+
#header .details br{display:none}
|
|
150
|
+
#header .details br+span::before{content:"\00a0\2013\00a0"}
|
|
151
|
+
#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
|
|
152
|
+
#header .details br+span#revremark::before{content:"\00a0|\00a0"}
|
|
153
|
+
#header #revnumber{text-transform:capitalize}
|
|
154
|
+
#header #revnumber::after{content:"\00a0"}
|
|
155
|
+
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
|
|
156
|
+
#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
|
|
157
|
+
#toc>ul{margin-left:.125em}
|
|
158
|
+
#toc ul.sectlevel0>li>a{font-style:italic}
|
|
159
|
+
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
|
|
160
|
+
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
|
|
161
|
+
#toc li{line-height:1.3334;margin-top:.3334em}
|
|
162
|
+
#toc a{text-decoration:none}
|
|
163
|
+
#toc a:active{text-decoration:underline}
|
|
164
|
+
#toctitle{color:#7a2518;font-size:1.2em}
|
|
165
|
+
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
|
|
166
|
+
body.toc2{padding-left:15em;padding-right:0}
|
|
167
|
+
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
|
|
168
|
+
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
|
|
169
|
+
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
|
|
170
|
+
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
|
|
171
|
+
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
|
|
172
|
+
body.toc2.toc-right{padding-left:0;padding-right:15em}
|
|
173
|
+
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
|
|
174
|
+
@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
|
|
175
|
+
#toc.toc2{width:20em}
|
|
176
|
+
#toc.toc2 #toctitle{font-size:1.375em}
|
|
177
|
+
#toc.toc2>ul{font-size:.95em}
|
|
178
|
+
#toc.toc2 ul ul{padding-left:1.25em}
|
|
179
|
+
body.toc2.toc-right{padding-left:0;padding-right:20em}}
|
|
180
|
+
#content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}
|
|
181
|
+
#content #toc>:first-child{margin-top:0}
|
|
182
|
+
#content #toc>:last-child{margin-bottom:0}
|
|
183
|
+
#footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em}
|
|
184
|
+
#footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}
|
|
185
|
+
#content{margin-bottom:.625em}
|
|
186
|
+
.sect1{padding-bottom:.625em}
|
|
187
|
+
@media screen and (min-width:768px){#content{margin-bottom:1.25em}
|
|
188
|
+
.sect1{padding-bottom:1.25em}}
|
|
189
|
+
.sect1:last-child{padding-bottom:0}
|
|
190
|
+
.sect1+.sect1{border-top:1px solid #e7e7e9}
|
|
191
|
+
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
|
|
192
|
+
#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
|
|
193
|
+
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
|
|
194
|
+
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
|
|
195
|
+
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
|
|
196
|
+
details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
|
|
197
|
+
details{margin-left:1.25rem}
|
|
198
|
+
details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent}
|
|
199
|
+
details>summary::-webkit-details-marker{display:none}
|
|
200
|
+
details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)}
|
|
201
|
+
details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
|
|
202
|
+
details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem}
|
|
203
|
+
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
|
|
204
|
+
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
|
|
205
|
+
.paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
|
|
206
|
+
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
|
|
207
|
+
.admonitionblock>table td.icon{text-align:center;width:80px}
|
|
208
|
+
.admonitionblock>table td.icon img{max-width:none}
|
|
209
|
+
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
|
|
210
|
+
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere}
|
|
211
|
+
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
|
|
212
|
+
.exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
|
|
213
|
+
.sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
|
|
214
|
+
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
|
|
215
|
+
.exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0}
|
|
216
|
+
.exampleblock>.content>:last-child,.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
|
|
217
|
+
.literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
|
|
218
|
+
@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
|
|
219
|
+
@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
|
|
220
|
+
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
|
|
221
|
+
.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
|
|
222
|
+
.listingblock>.content{position:relative}
|
|
223
|
+
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}
|
|
224
|
+
.listingblock:hover code[data-lang]::before{display:block}
|
|
225
|
+
.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
|
|
226
|
+
.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
|
|
227
|
+
.listingblock pre.highlightjs{padding:0}
|
|
228
|
+
.listingblock pre.highlightjs>code{padding:1em;border-radius:4px}
|
|
229
|
+
.listingblock pre.prettyprint{border-width:0}
|
|
230
|
+
.prettyprint{background:#f7f7f8}
|
|
231
|
+
pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
|
|
232
|
+
pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
|
|
233
|
+
pre.prettyprint li code[data-lang]::before{opacity:1}
|
|
234
|
+
pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
|
|
235
|
+
table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
|
|
236
|
+
table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
|
|
237
|
+
table.linenotable td.code{padding-left:.75em}
|
|
238
|
+
table.linenotable td.linenos,pre.pygments .linenos{border-right:1px solid;opacity:.35;padding-right:.5em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
|
|
239
|
+
pre.pygments span.linenos{display:inline-block;margin-right:.75em}
|
|
240
|
+
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
|
|
241
|
+
.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
|
|
242
|
+
.quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
|
|
243
|
+
.quoteblock blockquote{margin:0;padding:0;border:0}
|
|
244
|
+
.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
|
|
245
|
+
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
|
|
246
|
+
.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
|
|
247
|
+
.verseblock{margin:0 1em 1.25em}
|
|
248
|
+
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
|
|
249
|
+
.verseblock pre strong{font-weight:400}
|
|
250
|
+
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
|
|
251
|
+
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
|
|
252
|
+
.quoteblock .attribution br,.verseblock .attribution br{display:none}
|
|
253
|
+
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
|
|
254
|
+
.quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none}
|
|
255
|
+
.quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0}
|
|
256
|
+
.quoteblock.abstract{margin:0 1em 1.25em;display:block}
|
|
257
|
+
.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}
|
|
258
|
+
.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
|
|
259
|
+
.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
|
|
260
|
+
.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
|
|
261
|
+
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0}
|
|
262
|
+
p.tableblock:last-child{margin-bottom:0}
|
|
263
|
+
td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
|
|
264
|
+
td.tableblock>.content>:last-child{margin-bottom:-1.25em}
|
|
265
|
+
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
|
|
266
|
+
table.grid-all>*>tr>*{border-width:1px}
|
|
267
|
+
table.grid-cols>*>tr>*{border-width:0 1px}
|
|
268
|
+
table.grid-rows>*>tr>*{border-width:1px 0}
|
|
269
|
+
table.frame-all{border-width:1px}
|
|
270
|
+
table.frame-ends{border-width:1px 0}
|
|
271
|
+
table.frame-sides{border-width:0 1px}
|
|
272
|
+
table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
|
|
273
|
+
table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
|
|
274
|
+
table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
|
|
275
|
+
table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
|
|
276
|
+
table.stripes-all>*>tr,table.stripes-odd>*>tr:nth-of-type(odd),table.stripes-even>*>tr:nth-of-type(even),table.stripes-hover>*>tr:hover{background:#f8f8f7}
|
|
277
|
+
th.halign-left,td.halign-left{text-align:left}
|
|
278
|
+
th.halign-right,td.halign-right{text-align:right}
|
|
279
|
+
th.halign-center,td.halign-center{text-align:center}
|
|
280
|
+
th.valign-top,td.valign-top{vertical-align:top}
|
|
281
|
+
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
|
|
282
|
+
th.valign-middle,td.valign-middle{vertical-align:middle}
|
|
283
|
+
table thead th,table tfoot th{font-weight:bold}
|
|
284
|
+
tbody tr th{background:#f7f8f7}
|
|
285
|
+
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
|
|
286
|
+
p.tableblock>code:only-child{background:none;padding:0}
|
|
287
|
+
p.tableblock{font-size:1em}
|
|
288
|
+
ol{margin-left:1.75em}
|
|
289
|
+
ul li ol{margin-left:1.5em}
|
|
290
|
+
dl dd{margin-left:1.125em}
|
|
291
|
+
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
|
|
292
|
+
li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
|
|
293
|
+
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
|
|
294
|
+
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
|
|
295
|
+
ul.unstyled,ol.unstyled{margin-left:0}
|
|
296
|
+
li>p:empty:only-child::before{content:"";display:inline-block}
|
|
297
|
+
ul.checklist>li>p:first-child{margin-left:-1em}
|
|
298
|
+
ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
|
|
299
|
+
ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
|
|
300
|
+
ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
|
|
301
|
+
ul.inline>li{margin-left:1.25em}
|
|
302
|
+
.unstyled dl dt{font-weight:400;font-style:normal}
|
|
303
|
+
ol.arabic{list-style-type:decimal}
|
|
304
|
+
ol.decimal{list-style-type:decimal-leading-zero}
|
|
305
|
+
ol.loweralpha{list-style-type:lower-alpha}
|
|
306
|
+
ol.upperalpha{list-style-type:upper-alpha}
|
|
307
|
+
ol.lowerroman{list-style-type:lower-roman}
|
|
308
|
+
ol.upperroman{list-style-type:upper-roman}
|
|
309
|
+
ol.lowergreek{list-style-type:lower-greek}
|
|
310
|
+
.hdlist>table,.colist>table{border:0;background:none}
|
|
311
|
+
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
|
|
312
|
+
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
|
|
313
|
+
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
|
|
314
|
+
td.hdlist2{word-wrap:anywhere}
|
|
315
|
+
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
|
|
316
|
+
.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
|
|
317
|
+
.colist td:not([class]):first-child img{max-width:none}
|
|
318
|
+
.colist td:not([class]):last-child{padding:.25em 0}
|
|
319
|
+
.thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}
|
|
320
|
+
.imageblock.left{margin:.25em .625em 1.25em 0}
|
|
321
|
+
.imageblock.right{margin:.25em 0 1.25em .625em}
|
|
322
|
+
.imageblock>.title{margin-bottom:0}
|
|
323
|
+
.imageblock.thumb,.imageblock.th{border-width:6px}
|
|
324
|
+
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
|
|
325
|
+
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
|
|
326
|
+
.image.left{margin-right:.625em}
|
|
327
|
+
.image.right{margin-left:.625em}
|
|
328
|
+
a.image{text-decoration:none;display:inline-block}
|
|
329
|
+
a.image object{pointer-events:none}
|
|
330
|
+
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
|
|
331
|
+
sup.footnote a,sup.footnoteref a{text-decoration:none}
|
|
332
|
+
sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
|
|
333
|
+
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
|
|
334
|
+
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
|
|
335
|
+
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
|
|
336
|
+
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
|
|
337
|
+
#footnotes .footnote:last-of-type{margin-bottom:0}
|
|
338
|
+
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
|
|
339
|
+
div.unbreakable{page-break-inside:avoid}
|
|
340
|
+
.big{font-size:larger}
|
|
341
|
+
.small{font-size:smaller}
|
|
342
|
+
.underline{text-decoration:underline}
|
|
343
|
+
.overline{text-decoration:overline}
|
|
344
|
+
.line-through{text-decoration:line-through}
|
|
345
|
+
.aqua{color:#00bfbf}
|
|
346
|
+
.aqua-background{background:#00fafa}
|
|
347
|
+
.black{color:#000}
|
|
348
|
+
.black-background{background:#000}
|
|
349
|
+
.blue{color:#0000bf}
|
|
350
|
+
.blue-background{background:#0000fa}
|
|
351
|
+
.fuchsia{color:#bf00bf}
|
|
352
|
+
.fuchsia-background{background:#fa00fa}
|
|
353
|
+
.gray{color:#606060}
|
|
354
|
+
.gray-background{background:#7d7d7d}
|
|
355
|
+
.green{color:#006000}
|
|
356
|
+
.green-background{background:#007d00}
|
|
357
|
+
.lime{color:#00bf00}
|
|
358
|
+
.lime-background{background:#00fa00}
|
|
359
|
+
.maroon{color:#600000}
|
|
360
|
+
.maroon-background{background:#7d0000}
|
|
361
|
+
.navy{color:#000060}
|
|
362
|
+
.navy-background{background:#00007d}
|
|
363
|
+
.olive{color:#606000}
|
|
364
|
+
.olive-background{background:#7d7d00}
|
|
365
|
+
.purple{color:#600060}
|
|
366
|
+
.purple-background{background:#7d007d}
|
|
367
|
+
.red{color:#bf0000}
|
|
368
|
+
.red-background{background:#fa0000}
|
|
369
|
+
.silver{color:#909090}
|
|
370
|
+
.silver-background{background:#bcbcbc}
|
|
371
|
+
.teal{color:#006060}
|
|
372
|
+
.teal-background{background:#007d7d}
|
|
373
|
+
.white{color:#bfbfbf}
|
|
374
|
+
.white-background{background:#fafafa}
|
|
375
|
+
.yellow{color:#bfbf00}
|
|
376
|
+
.yellow-background{background:#fafa00}
|
|
377
|
+
span.icon>.fa{cursor:default}
|
|
378
|
+
a span.icon>.fa{cursor:inherit}
|
|
379
|
+
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
|
|
380
|
+
.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c}
|
|
381
|
+
.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
|
|
382
|
+
.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
|
|
383
|
+
.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
|
|
384
|
+
.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
|
|
385
|
+
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
|
|
386
|
+
.conum[data-value] *{color:#fff!important}
|
|
387
|
+
.conum[data-value]+b{display:none}
|
|
388
|
+
.conum[data-value]::after{content:attr(data-value)}
|
|
389
|
+
pre .conum[data-value]{position:relative;top:-.125em}
|
|
390
|
+
b.conum *{color:inherit!important}
|
|
391
|
+
.conum:not([data-value]):empty{display:none}
|
|
392
|
+
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
|
|
393
|
+
h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
|
|
394
|
+
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
|
|
395
|
+
p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
|
|
396
|
+
p{margin-bottom:1.25rem}
|
|
397
|
+
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
|
|
398
|
+
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}
|
|
399
|
+
.print-only{display:none!important}
|
|
400
|
+
@page{margin:1.25cm .75cm}
|
|
401
|
+
@media print{*{box-shadow:none!important;text-shadow:none!important}
|
|
402
|
+
html{font-size:80%}
|
|
403
|
+
a{color:inherit!important;text-decoration:underline!important}
|
|
404
|
+
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
|
|
405
|
+
a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
|
|
406
|
+
abbr[title]{border-bottom:1px dotted}
|
|
407
|
+
abbr[title]::after{content:" (" attr(title) ")"}
|
|
408
|
+
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
|
|
409
|
+
thead{display:table-header-group}
|
|
410
|
+
svg{max-width:100%}
|
|
411
|
+
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
|
|
412
|
+
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
|
|
413
|
+
#header,#content,#footnotes,#footer{max-width:none}
|
|
414
|
+
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
|
|
415
|
+
#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
|
|
416
|
+
body.book #header{text-align:center}
|
|
417
|
+
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
|
|
418
|
+
body.book #header .details{border:0!important;display:block;padding:0!important}
|
|
419
|
+
body.book #header .details span:first-child{margin-left:0!important}
|
|
420
|
+
body.book #header .details br{display:block}
|
|
421
|
+
body.book #header .details br+span::before{content:none!important}
|
|
422
|
+
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
|
|
423
|
+
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
|
|
424
|
+
.listingblock code[data-lang]::before{display:block}
|
|
425
|
+
#footer{padding:0 .9375em}
|
|
426
|
+
.hide-on-print{display:none!important}
|
|
427
|
+
.print-only{display:block!important}
|
|
428
|
+
.hide-for-print{display:none!important}
|
|
429
|
+
.show-for-print{display:inherit!important}}
|
|
430
|
+
@media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem}
|
|
431
|
+
.sect1{padding:0!important}
|
|
432
|
+
.sect1+.sect1{border:0}
|
|
433
|
+
#footer{background:none}
|
|
434
|
+
#footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
|
|
435
|
+
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
|
|
436
|
+
</style>
|
|
437
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
438
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.3/styles/github.min.css">
|
|
439
|
+
</head>
|
|
440
|
+
<body class="article toc2 toc-left">
|
|
441
|
+
<div id="header">
|
|
442
|
+
<h1>Bootstrap Reference</h1>
|
|
443
|
+
<div id="toc" class="toc2">
|
|
444
|
+
<div id="toctitle">Table of Contents</div>
|
|
445
|
+
<ul class="sectlevel1">
|
|
446
|
+
<li><a href="#architectural-purpose">1. Architectural Purpose</a></li>
|
|
447
|
+
<li><a href="#api-reference">2. API Reference</a>
|
|
448
|
+
<ul class="sectlevel2">
|
|
449
|
+
<li><a href="#bootstrapclientgame-clientgameconstructor-p5">2.1. <code>bootstrap(ClientGame: ClientGameConstructor): p5</code></a></li>
|
|
450
|
+
<li><a href="#setactivegamegame-game-void">2.2. <code>setActiveGame(game: Game): void</code></a></li>
|
|
451
|
+
</ul>
|
|
452
|
+
</li>
|
|
453
|
+
</ul>
|
|
454
|
+
</div>
|
|
455
|
+
</div>
|
|
456
|
+
<div id="content">
|
|
457
|
+
<div class="sect1">
|
|
458
|
+
<h2 id="architectural-purpose"><a class="link" href="#architectural-purpose">1. Architectural Purpose</a></h2>
|
|
459
|
+
<div class="sectionbody">
|
|
460
|
+
<div class="paragraph">
|
|
461
|
+
<p>The <code>bootstrap.ts</code> module acts as the absolute architectural start sequence isolating complex viewport interactions from gameplay bounds. It encapsulates the hardware-dependent framework injection (P5.js canvas creation) and constructs the active Context pointers before explicitly deferring the draw loops seamlessly back onto the Client’s <code>Game</code> constructor instance.</p>
|
|
462
|
+
</div>
|
|
463
|
+
</div>
|
|
464
|
+
</div>
|
|
465
|
+
<div class="sect1">
|
|
466
|
+
<h2 id="api-reference"><a class="link" href="#api-reference">2. API Reference</a></h2>
|
|
467
|
+
<div class="sectionbody">
|
|
468
|
+
<div class="sect2">
|
|
469
|
+
<h3 id="bootstrapclientgame-clientgameconstructor-p5"><a class="link" href="#bootstrapclientgame-clientgameconstructor-p5">2.1. <code>bootstrap(ClientGame: ClientGameConstructor): p5</code></a></h3>
|
|
470
|
+
<div class="paragraph">
|
|
471
|
+
<p>Orchestrates structural point of initialization isolating strict client code execution.</p>
|
|
472
|
+
</div>
|
|
473
|
+
<div class="paragraph">
|
|
474
|
+
<p><strong>Parameters</strong></p>
|
|
475
|
+
</div>
|
|
476
|
+
<table class="tableblock frame-all grid-all stretch">
|
|
477
|
+
<colgroup>
|
|
478
|
+
<col style="width: 20%;">
|
|
479
|
+
<col style="width: 20%;">
|
|
480
|
+
<col style="width: 60%;">
|
|
481
|
+
</colgroup>
|
|
482
|
+
<thead>
|
|
483
|
+
<tr>
|
|
484
|
+
<th class="tableblock halign-left valign-top">Name</th>
|
|
485
|
+
<th class="tableblock halign-left valign-top">Type</th>
|
|
486
|
+
<th class="tableblock halign-left valign-top">Description</th>
|
|
487
|
+
</tr>
|
|
488
|
+
</thead>
|
|
489
|
+
<tbody>
|
|
490
|
+
<tr>
|
|
491
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ClientGame</code></p></td>
|
|
492
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ClientGameConstructor</code></p></td>
|
|
493
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">The non-instantiated class definition targeted.</p></td>
|
|
494
|
+
</tr>
|
|
495
|
+
</tbody>
|
|
496
|
+
</table>
|
|
497
|
+
<div class="paragraph">
|
|
498
|
+
<p><strong>Returns</strong></p>
|
|
499
|
+
</div>
|
|
500
|
+
<div class="paragraph">
|
|
501
|
+
<p><code>p5</code> - The successfully built processing sketch mapping logic safely onto the web document.</p>
|
|
502
|
+
</div>
|
|
503
|
+
<hr>
|
|
504
|
+
</div>
|
|
505
|
+
<div class="sect2">
|
|
506
|
+
<h3 id="setactivegamegame-game-void"><a class="link" href="#setactivegamegame-game-void">2.2. <code>setActiveGame(game: Game): void</code></a></h3>
|
|
507
|
+
<div class="paragraph">
|
|
508
|
+
<p>Hotswaps the persistent engine tracking pointer dictating logic execution loops.</p>
|
|
509
|
+
</div>
|
|
510
|
+
<div class="paragraph">
|
|
511
|
+
<p><strong>Parameters</strong></p>
|
|
512
|
+
</div>
|
|
513
|
+
<table class="tableblock frame-all grid-all stretch">
|
|
514
|
+
<colgroup>
|
|
515
|
+
<col style="width: 20%;">
|
|
516
|
+
<col style="width: 20%;">
|
|
517
|
+
<col style="width: 60%;">
|
|
518
|
+
</colgroup>
|
|
519
|
+
<thead>
|
|
520
|
+
<tr>
|
|
521
|
+
<th class="tableblock halign-left valign-top">Name</th>
|
|
522
|
+
<th class="tableblock halign-left valign-top">Type</th>
|
|
523
|
+
<th class="tableblock halign-left valign-top">Description</th>
|
|
524
|
+
</tr>
|
|
525
|
+
</thead>
|
|
526
|
+
<tbody>
|
|
527
|
+
<tr>
|
|
528
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>game</code></p></td>
|
|
529
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="modules/Game.html">Game</a></code></p></td>
|
|
530
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">The fully instantiated class implementing custom module rules.</p></td>
|
|
531
|
+
</tr>
|
|
532
|
+
</tbody>
|
|
533
|
+
</table>
|
|
534
|
+
<div class="paragraph">
|
|
535
|
+
<p><strong>Returns</strong></p>
|
|
536
|
+
</div>
|
|
537
|
+
<div class="paragraph">
|
|
538
|
+
<p><code>void</code> - Returns nothing.</p>
|
|
539
|
+
</div>
|
|
540
|
+
</div>
|
|
541
|
+
</div>
|
|
542
|
+
</div>
|
|
543
|
+
</div>
|
|
544
|
+
<div id="footer">
|
|
545
|
+
<div id="footer-text">
|
|
546
|
+
</div>
|
|
547
|
+
</div>
|
|
548
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.3/highlight.min.js"></script>
|
|
549
|
+
<script>
|
|
550
|
+
if (!hljs.initHighlighting.called) {
|
|
551
|
+
hljs.initHighlighting.called = true
|
|
552
|
+
;[].slice.call(document.querySelectorAll('pre.highlight > code[data-lang]')).forEach(function (el) { hljs.highlightBlock(el) })
|
|
553
|
+
}
|
|
554
|
+
</script>
|
|
555
|
+
</body>
|
|
556
|
+
</html>
|
|
@@ -443,7 +443,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
|
443
443
|
<div id="toc" class="toc2">
|
|
444
444
|
<div id="toctitle">Table of Contents</div>
|
|
445
445
|
<ul class="sectlevel1">
|
|
446
|
-
<li><a href="#
|
|
446
|
+
<li><a href="#motivation">1. Motivation</a></li>
|
|
447
447
|
<li><a href="#api-reference">2. API Reference</a>
|
|
448
448
|
<ul class="sectlevel2">
|
|
449
449
|
<li><a href="#initp-p5-void">2.1. <code>init(p: p5): void</code></a></li>
|
|
@@ -464,10 +464,10 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
|
464
464
|
</div>
|
|
465
465
|
</div>
|
|
466
466
|
<div class="sect1">
|
|
467
|
-
<h2 id="
|
|
467
|
+
<h2 id="motivation"><a class="link" href="#motivation">1. Motivation</a></h2>
|
|
468
468
|
<div class="sectionbody">
|
|
469
469
|
<div class="paragraph">
|
|
470
|
-
<p>By acting as a central provider, <code>RendererContext</code> eliminates the need to pass the <code>p5</code> object via dependency injection (constructor arguments) to every component, view, layout, and module in the architecture. It
|
|
470
|
+
<p>By acting as a central provider, <code>RendererContext</code> eliminates the need to pass the <code>p5</code> object via dependency injection (constructor arguments) down to every component, view, layout, and module in the architecture. It decouples the rendering logic from the application data flow and prevents tightly coupling components to the rendering library from the top down, solving the core problem of bloated constructors and deep prop drilling.</p>
|
|
471
471
|
</div>
|
|
472
472
|
</div>
|
|
473
473
|
</div>
|
|
@@ -477,7 +477,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
|
477
477
|
<div class="sect2">
|
|
478
478
|
<h3 id="initp-p5-void"><a class="link" href="#initp-p5-void">2.1. <code>init(p: p5): void</code></a></h3>
|
|
479
479
|
<div class="paragraph">
|
|
480
|
-
<p>Initializes the context with the active P5.js instance.</p>
|
|
480
|
+
<p>Initializes the context with the active P5.js instance. This method is designed to be called exactly once during the application startup lifecycle, typically by the engine’s entry point.</p>
|
|
481
481
|
</div>
|
|
482
482
|
<div class="paragraph">
|
|
483
483
|
<p><strong>Parameters</strong></p>
|
|
@@ -499,7 +499,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
|
499
499
|
<tr>
|
|
500
500
|
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>p</code></p></td>
|
|
501
501
|
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>p5</code></p></td>
|
|
502
|
-
<td class="tableblock halign-left valign-top"><p class="tableblock">The
|
|
502
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">The active, initialized <code>p5</code> instance that will be shared across the application ecosystem.</p></td>
|
|
503
503
|
</tr>
|
|
504
504
|
</tbody>
|
|
505
505
|
</table>
|
|
@@ -507,7 +507,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
|
507
507
|
<p><strong>Behavior</strong></p>
|
|
508
508
|
</div>
|
|
509
509
|
<div class="paragraph">
|
|
510
|
-
<p>This method captures the <code>p5</code> instance and stores it internally for global access. It includes a safeguard: trying to call this method if the context is already initialized will output a warning and will not overwrite the existing
|
|
510
|
+
<p>This method captures the <code>p5</code> instance and stores it internally for global access. It includes a safeguard: trying to call this method if the context is already initialized will output a console warning and will safely ignore the subsequent initialization so it does not overwrite the existing core rendering capabilities.</p>
|
|
511
511
|
</div>
|
|
512
512
|
<hr>
|
|
513
513
|
</div>
|
|
@@ -520,7 +520,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
|
520
520
|
<p><strong>Behavior</strong></p>
|
|
521
521
|
</div>
|
|
522
522
|
<div class="paragraph">
|
|
523
|
-
<p>
|
|
523
|
+
<p>The motivation for this method is strictly to support test isolation. It clears the singleton state internally to ensure that unit tests utilizing virtual <code>p5</code> mock instances can be created and torn down reliably across test suites in <code>beforeEach</code> and <code>afterEach</code> configurations without retaining state from previous executions.</p>
|
|
524
524
|
</div>
|
|
525
525
|
<hr>
|
|
526
526
|
</div>
|
|
@@ -533,13 +533,23 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
|
|
|
533
533
|
<p><strong>Returns</strong></p>
|
|
534
534
|
</div>
|
|
535
535
|
<div class="paragraph">
|
|
536
|
-
<p>The initialized P5.js instance.</p>
|
|
536
|
+
<p>The active, initialized P5.js (<code>p5</code>) instance object.</p>
|
|
537
|
+
</div>
|
|
538
|
+
<div class="paragraph">
|
|
539
|
+
<p><strong>Exceptions</strong></p>
|
|
540
|
+
</div>
|
|
541
|
+
<div class="ulist">
|
|
542
|
+
<ul>
|
|
543
|
+
<li>
|
|
544
|
+
<p><code>Error</code>: Thrown if this getter is accessed before the <code>init</code> method has been successfully executed. This strict error boundary prevents silent failures during render cycles by ensuring components are not drawing against an undefined context.</p>
|
|
545
|
+
</li>
|
|
546
|
+
</ul>
|
|
537
547
|
</div>
|
|
538
548
|
<div class="paragraph">
|
|
539
549
|
<p><strong>Behavior</strong></p>
|
|
540
550
|
</div>
|
|
541
551
|
<div class="paragraph">
|
|
542
|
-
<p>Returns the internal reference to the <code>p5</code> instance.
|
|
552
|
+
<p>Returns the internal reference to the <code>p5</code> instance. Acts as the primary access point for any drawing or rendering operation across the application ecosystem. In standard project operation, it is safe to access once initialization is complete.</p>
|
|
543
553
|
</div>
|
|
544
554
|
</div>
|
|
545
555
|
</div>
|