feat: add doc page

This commit is contained in:
Kristofers Solo 2024-12-30 22:13:53 +02:00
parent cd602f30c1
commit 25387397c4
4 changed files with 79 additions and 175 deletions

View File

@ -1,32 +1,3 @@
#[derive(Component, Default)]
pub struct Music;
#[derive(Component, Default)]
pub struct SoundEffect;
#[derive(Component, Debug, Clone, Copy, PartialEq, Eq, Default, Reflect)] #[derive(Component, Debug, Clone, Copy, PartialEq, Eq, Default, Reflect)]
#[reflect(Component)] #[reflect(Component)]
pub struct Player; pub struct Player;
#[derive(Component, Reflect)]
#[reflect(Component)]
pub struct MovementController {
pub intent: Vec2,
pub max_speed: f32,
}
#[derive(Component, Reflect)]
#[reflect(Component)]
pub struct PlayerAnimation {
timer: Timer,
frame: usize,
state: PlayerAnimationState,
}
#[derive(Component, Debug, Reflect)]
#[reflect(Component)]
pub struct InteractionPalette {
pub none: Color,
pub hovered: Color,
pub pressed: Color,
}

View File

@ -39,15 +39,6 @@ lvs_72:
date: 1996-03-27 date: 1996-03-27
organization: Latvijas Nacionālais standartizācijas un metroloģijas centrs organization: Latvijas Nacionālais standartizācijas un metroloģijas centrs
page-total: 13 page-total: 13
pipeline:
type: Web
title: "CI/CD: The what, why, and how"
author:
url: https://github.com/resources/articles/devops/ci-cd
backtracking:
type: Web
title: Backtracking
url: https://en.wikipedia.org/wiki/Backtracking
maze-generation: maze-generation:
type: Web type: Web
title: Maze Generation title: Maze Generation
@ -56,14 +47,10 @@ bevy-quickstart:
type: Web type: Web
title: Bevy New 2D title: Bevy New 2D
url: https://github.com/TheBevyFlock/bevy_new_2d url: https://github.com/TheBevyFlock/bevy_new_2d
git:
type: Web
title: Versijas kontroles sistēmas git dokumentācija
url: https://git-scm.com/doc
sem-ver: sem-ver:
type: Web type: Web
title: Semantiskā versiju veidošana title: Semantiskā versiju veidošana
url: https://semver.org/ url: {value: "https://semver.org/", date: 2024-09-17}
omg-uml: omg-uml:
type: Book type: Book
title: OMG Unified Modeling Language (OMG UML) title: OMG Unified Modeling Language (OMG UML)
@ -71,43 +58,23 @@ omg-uml:
date: 2015-03 date: 2015-03
url: https://www.omg.org/spec/UML/2.5/PDF url: https://www.omg.org/spec/UML/2.5/PDF
page-total: 794 page-total: 794
hexlab:
type: Web
title: Hexlab bibliotēka
author: Kristiāns Francis Cagulis
url: https://crates.io/crates/hexlab
hexlab-docs:
type: Web
title: Hexlab bibliotēkas dokumentācija
author: Kristiāns Francis Cagulis
url: https://docs.rs/hexlab/latest/hexlab/
gh-release:
type: Web
title: About Releases
author: GitHub komanda
url: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
gh-actions:
type: Web
title: GitHub Actions dokumentācija
author: GitHub komanda
url: https://docs.github.com/en/actions
webgl2: webgl2:
type: Web type: Web
title: Bevy + WebGPU title: Bevy + WebGPU
author: author:
url: https://bevyengine.org/news/bevy-webgpu/ url: {value: "https://bevyengine.org/news/bevy-webgpu/", date: 2024-09-20}
bevy-egui: bevy-egui:
type: Web type: Web
title: Bevy Egui bibliotēkas dokumentācija title: Bevy Egui bibliotēkas dokumentācija
author: author:
url: https://docs.rs/bevy_egui/latest/bevy_egui/ url: {value: "https://docs.rs/bevy_egui/latest/bevy_egui/", date: 2024-09-26}
bevy-inspector-egui: bevy-inspector-egui:
type: Web type: Web
title: Bevy Inspector Egui bibliotēkas dokumentācija title: Bevy Inspector Egui bibliotēkas dokumentācija
author: author:
url: https://docs.rs/bevy-inspector-egui/0.28.0/bevy_inspector_egui/ url: {value: "https://docs.rs/bevy-inspector-egui/0.28.0/bevy_inspector_egui/", date: 2024-09-26}
the-rust-performance-book: the-rust-performance-book:
type: Web type: Book
title: The Rust Performance Book title: The Rust Performance Book
author: Nicholas Nethercote author: Nicholas Nethercote
date: 2020-11 date: 2020-11
@ -116,24 +83,24 @@ cargo-tarpaulin:
type: Web type: Web
title: Tarpaulin title: Tarpaulin
author: xd009642 author: xd009642
url: https://crates.io/crates/cargo-tarpaulin url: {value: "https://crates.io/crates/cargo-tarpaulin", date: 2024-12-18}
ecs: ecs:
type: Web type: Web
title: ECS title: ECS
url: https://en.wikipedia.org/wiki/Entity_component_system url: {value: "https://en.wikipedia.org/wiki/Entity_component_system", date: 2024-09-12}
bevy-ecs: bevy-ecs:
type: Web type: Web
title: Bevy ECS title: Bevy ECS
url: https://bevyengine.org/learn/quick-start/getting-started/ecs/ url: {value: "https://bevyengine.org/learn/quick-start/getting-started/ecs/", date: 2024-09-12}
SRP: SRP:
type: Web type: Web
title: Single-responsibility principle title: Single-responsibility principle
url: https://en.wikipedia.org/wiki/Single-responsibility_principle url: {value: "https://en.wikipedia.org/wiki/Single-responsibility_principle"}
SoC: SoC:
type: Web type: Web
title: Separation of concerns title: Separation of concerns
url: https://en.wikipedia.org/wiki/Separation_of_concerns url: {value: "https://en.wikipedia.org/wiki/Separation_of_concerns"}
bitflags: begginer-patterns:
type: Book type: Book
title: Patterns for Beginning Programmers title: Patterns for Beginning Programmers
author: David Bernstein author: David Bernstein

108
doc.typ
View File

@ -1,88 +1,48 @@
#import "@preview/tablex:0.0.9": tablex #import "@preview/tablex:0.0.9": tablex
#import "@preview/dashy-todo:0.0.1": todo
#let vspace = 1fr #let vspace = 1fr
#heading(numbering: none, outlined: false, "Dokumentārā lapa") #let fill = box(width: 1fr, repeat(sym.space))
#v(vspace) #let long-underline = underline(box(width: 1fr, repeat(sym.space)))
Kvalifikācijas darbs "Spēles izstrāde, izmantojot Bevy spēļu dzinēju" ir #heading(numbering: none, outlined: false, "Dokumentārā lapa")
Kvalifikācijas darbs "*Spēles izstrāde, izmantojot Bevy spēļu dzinēju*" ir
izstrādāts Latvijas Universitātes eksakto zinātņu un tehnoloģiju fakultātē. izstrādāts Latvijas Universitātes eksakto zinātņu un tehnoloģiju fakultātē.
Darba autors apliecina, ka darbs ir veikts patstāvīgi, un ir izmantoti tikai Ar savu parakstu apliecinu, ka darbs izstrādāts patstāvīgi, izmantoti tikai tajā
tajā norādītie informācijas avoti. norādītie informācijas avoti un iesniegtā darba elektroniskā kopija atbilst
izdrukai.
#v(vspace) #context {
#figure(
tablex(
stroke: none,
columns: (1fr, 1fr),
"Darba autors:",
[
Kristiāns Francis Cagulis, kc22015
],
),
)
#v(vspace) set par(
#figure( first-line-indent: 1cm,
tablex( hanging-indent: 1cm,
stroke: none, )
columns: (1fr, 1fr),
"Darba vadītājs:",
"prof. Mg. dat. Jānis Iljins",
),
)
#v(vspace) v(vspace)
#figure( [Darba autors: *Kristiāns Francis Cagulis, kc22015 ~~\_\_.01.2025.*]
tablex(
stroke: none,
columns: (1fr, 1fr),
"Darba galīgā versija izgatavota:",
"x.01.2025.",
),
)
#v(vspace) v(vspace)
#figure( [Rekomendēju darbu aizstāvēšanai\
tablex( Darba vadītājs: *prof. Mg. dat. Jānis Iljins ~~\_\_.01.2025.*]
stroke: none,
columns: (1fr, 1fr),
"Darba iesniegšanas datums:",
"06.01.2025.",
),
)
#v(vspace) v(vspace)
#figure( [Recenzents: #todo("write reviewer name")*recenzenta grāds, vārds, uzvārds*]
tablex(
stroke: none,
columns: (1fr, 1fr),
"Darba aizstāvēšanas datums:",
"x.01.2025.",
),
)
#v(vspace)
#figure(
tablex(
stroke: none,
columns: (1fr, 1fr),
"Komisijas vērtējums:",
line(length: 100%, start: (0pt, 10pt)),
),
)
#v(vspace) v(vspace)
#figure( [Darbs iesniegs *\_\_.01.2025.*\
tablex( Kvalifikācijas darbu pārbaudījumu komisijas sekretārs(-e): #long-underline
stroke: none, ]
columns: (1fr, 1fr),
"Komisijas sastāvs:", v(vspace)
[ [Darbs aizstāvēts kvalifikācijas darbu pārbaudījuma komisijas sēdē\
#line(length: 100%, start: (0pt, 10pt)) \_\_.01.2025. prot. Nr. #long-underline
#line(length: 100%, start: (0pt, 30pt)) ]
#line(length: 100%, start: (0pt, 40pt)) v(vspace / 2)
], [Komisijas sekretārs(-e): #long-underline]
), v(vspace)
) }

View File

@ -78,8 +78,8 @@ tehnisko iespējamību.
== Saistība ar citiem dokumentiem == Saistība ar citiem dokumentiem
PPS ir izstrādāta, ievērojot LVS 68:1996 "Programmatūras prasību specifikācijas PPS ir izstrādāta, ievērojot LVS 68:1996 "Programmatūras prasību specifikācijas
ceļvedis"@lvs_68 un LVS 72:1996 "Ieteicamā prakse programmatūras projektējuma ceļvedis" un LVS 72:1996 "Ieteicamā prakse programmatūras projektējuma
aprakstīšanai"@lvs_72 standarta prasības. aprakstīšanai" standarta prasības @lvs_68 @lvs_72.
== Pārskats == Pārskats
Dokumenta ievads satur ... Dokumenta ievads satur ...
@ -114,7 +114,8 @@ ietvaros.
== Produkta perspektīva == Produkta perspektīva
"Maze Ascension" ir izstrādāta kā daudzplatformu spēle, izmantojot nepārtrauktas "Maze Ascension" ir izstrādāta kā daudzplatformu spēle, izmantojot nepārtrauktas
integrācijas un nepārtrauktas izvietošanas (CI/CD) darbplūsma@pipeline, lai integrācijas un nepārtrauktas izvietošanas (CI/CD)
darbplūsma#footnote[https://github.com/resources/articles/devops/ci-cd]<pipeline>, lai
vienkāršotu izstrādes un izplatīšanas procesu. vienkāršotu izstrādes un izplatīšanas procesu.
Šī darbplūsma ir konfigurēts tā, lai kompilētu spēli vairākām platformām, Šī darbplūsma ir konfigurēts tā, lai kompilētu spēli vairākām platformām,
tostarp Linux, macOS, Windows un WebAssembly (WASM). tostarp Linux, macOS, Windows un WebAssembly (WASM).
@ -122,7 +123,8 @@ Tas nodrošina, ka spēle ir pieejama plašai auditorijai, nodrošinot konsekven
un saistošu pieredzi dažādās operētājsistēmās un vidēs. un saistošu pieredzi dažādās operētājsistēmās un vidēs.
Spēle tiek izplatīta, izmantojot "GitHub Spēle tiek izplatīta, izmantojot "GitHub
releases"@gh-release un itch.io#footnote("https://itch.io/")<itch-io>, kas ir releases#footnote[https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases]<gh-release>"
un itch.io#footnote("https://itch.io/")<itch-io>, kas ir
populāra neatkarīgo spēļu platforma, kas ļauj viegli piekļūt un izplatīt spēles populāra neatkarīgo spēļu platforma, kas ļauj viegli piekļūt un izplatīt spēles
visā pasaulē. Izmantojot šīs platformas, datorspēle gūst dažādu maksājumu modeļu visā pasaulē. Izmantojot šīs platformas, datorspēle gūst dažādu maksājumu modeļu
un kopienas iesasaistes funkcijas, tādējādi palielinot spēles sasniedzamību un un kopienas iesasaistes funkcijas, tādējādi palielinot spēles sasniedzamību un
@ -299,15 +301,13 @@ pienākumi, un tas ietver funkcijas, kas veicina kopējo spēles sistēmu.
[Spēlētāja #red("nolaušainās")], [Spēlētāja #red("nolaušainās")],
[], [],
rowspanx(4)[Spēles stāvokļa pārvaldības modulis], // screens rowspanx(3)[Spēles stāvokļa pārvaldības modulis], // screens
[Spēles sākšana], [Spēles sākšana],
[#link(<screen-F01>)[SSPMF01]], [#link(<screen-F01>)[SSPMF01]],
[Atgriešanās uz sākumekrānu], [Atgriešanās uz sākumekrānu],
[#link(<screen-F02>)[SSPMF02]], [#link(<screen-F02>)[SSPMF02]],
[], [Attēlot sākumekrānu],
[], [#link(<screen-F03>)[SSPMF03]],
[],
[],
), ),
) <function-modules> ) <function-modules>
@ -354,7 +354,7 @@ gala lietotāji nevar piekļūt šīm uzlabotajām konfigurācijas opcijām.
[ [
+ Pārbauda, vai labirinta straudņa resurss eksistē pasaulē. + Pārbauda, vai labirinta straudņa resurss eksistē pasaulē.
+ Ja nav, iziet no sistēmas un nedara neko. + Ja nav, iziet no sistēmas un nedara neko.
+ Saņem `EguiContext` komponentu no primārā loga. + Saņem `EguiContext`@bevy_egui komponentu no primārā loga.
+ Saņem labirinta konfigurāciju un stāvu komponentus no pašreizējā stāva. + Saņem labirinta konfigurāciju un stāvu komponentus no pašreizējā stāva.
+ Izveido jaunu "Maze Controls" logu, izmantojot `egui`@bevy-egui. + Izveido jaunu "Maze Controls" logu, izmantojot `egui`@bevy-egui.
+ Ja globālais labirinta konfigurācijas resurss ir pieejams: + Ja globālais labirinta konfigurācijas resurss ir pieejams:
@ -389,7 +389,8 @@ plūsmas ir parādītas 2. līmeņa datu plūsmas diagrammā (sk. @fig:dpd-2-maz
Labirinta būvēšanas funkcija ir aprakstītas atsevišķā tabulā (sk. @tbl:hexlab-F01) Labirinta būvēšanas funkcija ir aprakstītas atsevišķā tabulā (sk. @tbl:hexlab-F01)
Modularitātes un atkārtotas lietojamības apsvērumu dēļ labirinta ģenerēšanas Modularitātes un atkārtotas lietojamības apsvērumu dēļ labirinta ģenerēšanas
funkcionalitāte tika pārnesta uz ārēju bibliotēku "hexlib"@hexlab. Šis lēmums funkcionalitāte tika pārnesta uz ārēju bibliotēku
"hexlib#footnote[https://crates.io/crates/hexlab]<hexlab>". Šis lēmums
ļauj labirinta ģenerēšanas loģiku atkārtoti izmantot dažādos projektos un ļauj labirinta ģenerēšanas loģiku atkārtoti izmantot dažādos projektos un
lietojumprogrammās, veicinot atkārtotu koda izmantošanu. lietojumprogrammās, veicinot atkārtotu koda izmantošanu.
Iekapsulējot labirinta ģenerēšanu atsevišķā bibliotēkā, to ir vieglāk pārvaldīt Iekapsulējot labirinta ģenerēšanu atsevišķā bibliotēkā, to ir vieglāk pārvaldīt
@ -680,7 +681,8 @@ labirinta izveidi un uzturēšanu.
"Glabā pilnu labirinta struktūru, izmantojot jaucējtabulu (hashmap)", "Glabā pilnu labirinta struktūru, izmantojot jaucējtabulu (hashmap)",
`Walls`, `Walls`,
"Apzīmē sienu konfigurāciju", "Apzīmē sienu konfigurāciju",
[Pārvalda sienas stāvokļus, izmantojot bitu karodziņus @bitflags.], [Pārvalda sienas stāvokļus, izmantojot bitu karodziņus
@begginer-patterns.],
) <components-maze> ) <components-maze>
==== Spēlētāja komponentes ==== Spēlētāja komponentes
@ -800,9 +802,11 @@ Spēle izmanto vairākus resursus globālās konfigurācijas un stāvokļa pārv
"Uzglabā globālos labirinta izskata parametrus.", "Uzglabā globālos labirinta izskata parametrus.",
) <resources> ) <resources>
Resurss "`GlobalMazeConfig`" ir īpaši svarīgs, jo tas pārvalda labirinta vizuālo #indent-par[
attēlojumu, ietverot tādus parametrus kā sešstūra lielums, sienu biezums un Resurss "`GlobalMazeConfig`" ir īpaši svarīgs, jo tas pārvalda labirinta vizuālo
vertikālais augstums. attēlojumu, ietverot tādus parametrus kā sešstūra lielums, sienu biezums un
vertikālais augstums.
]
== Daļējs funkciju projektējums == Daļējs funkciju projektējums
@ -821,7 +825,8 @@ testēšana, izmantojot gan automatizētus rīkus, gan manuālu pārbaudi.
== Statiskā testēšana <static-tests> == Statiskā testēšana <static-tests>
Statiskā testēšana ir svarīga daļa no projekta kvalitātes nodrošināšanas. Statiskā testēšana ir svarīga daļa no projekta kvalitātes nodrošināšanas.
"Clippy"@clippy tiek izmantots koda analīzei, meklējot potenciālas problēmas un "Clippy#footnote[https://doc.rust-lang.org/clippy/usage.html]<clippy>"
tiek izmantots koda analīzei, meklējot potenciālas problēmas un
neoptimālus risinājumus. Papildus noklusētajiem noteikumiem, tika aktivizēti neoptimālus risinājumus. Papildus noklusētajiem noteikumiem, tika aktivizēti
stingrāki koda kvalitātes pārbaudes līmeņi: "`pedantic`" režīms nodrošina stingrāki koda kvalitātes pārbaudes līmeņi: "`pedantic`" režīms nodrošina
padziļinātu koda stila pārbaudi, "`nursery`" aktivizē eksperimentālās pārbaudes, padziļinātu koda stila pārbaudi, "`nursery`" aktivizē eksperimentālās pārbaudes,
@ -859,7 +864,7 @@ Izvēlētie testu gadījumi ir detalizēti aprakstīti #todo("tab") tabulā.
=== Automatizēti testi === Automatizēti testi
Automatizētā testēšanas sistēma plaši pārklāj bibliotēku "hexlab", jo tā ir Automatizētā testēšanas sistēma plaši pārklāj bibliotēku "hexlab", jo tā ir
paredzēta publiskai lietošanai@hexlab. paredzēta publiskai lietošanai.
Testēšanas stratēģijā ir ieviesti vairāki pārbaudes līmeņi: dokumentācijas testi Testēšanas stratēģijā ir ieviesti vairāki pārbaudes līmeņi: dokumentācijas testi
no drošina piemēra koda pareizību, moduļu testi pārbauda iekšējo no drošina piemēra koda pareizību, moduļu testi pārbauda iekšējo
funkcionalitāti, savukārt testu mapē esošie vienībtesti un integrācijas testi funkcionalitāti, savukārt testu mapē esošie vienībtesti un integrācijas testi
@ -899,35 +904,36 @@ Augstas koda kvalitātes nodrošināšana ir jebkura projekta būtisks aspekts.
Lai to panāktu, tiek izmantoti vairāki rīki un prakses, kas palīdz uzturēt tīru, Lai to panāktu, tiek izmantoti vairāki rīki un prakses, kas palīdz uzturēt tīru,
efektīvu un uzticamu koda. efektīvu un uzticamu koda.
Viens no galvenajiem rīkiem, kas tiek izmantots ir "Clippy#footnote[https://doc.rust-lang.org/clippy/usage.html]<clippy>", kas analizē Viens no galvenajiem rīkiem, kas tiek izmantots ir "Clippy@clippy", kas analizē
iespējamās problēmas un iesaka uzlabojumus (sk. @static-tests nodaļu). iespējamās problēmas un iesaka uzlabojumus (sk. @static-tests nodaļu).
Kopā ar "Clippy" tiek arī izmantots "Rustfmt#footnote[https://github.com/rust-lang/rustfmt]<rustfmt>", koda formatētājs, lai Kopā ar "Clippy@clippy" tiek arī izmantots "Rustfmt#footnote[https://github.com/rust-lang/rustfmt]<rustfmt>", koda formatētājs, lai
uzturētu vienotu koda formatējumu visā projektā. Šis rīks automātiski formatē uzturētu vienotu koda formatējumu visā projektā. Šis rīks automātiski formatē
kodu saskaņā ar Rust stila kodu saskaņā ar Rust stila
vadlīnijām#footnote[https://doc.rust-lang.org/nightly/style-guide/]<rust-style>. vadlīnijām#footnote[https://doc.rust-lang.org/nightly/style-guide/]<rust-style>.
Turklāt visas publiskās funkcijas un datu struktūras Turklāt visas publiskās funkcijas un datu struktūras
hexlab bibliotēkā ir dokumentētas@hexlab-docs. Šajā dokumentācijā ir ietverti hexlab bibliotēkā ir
detalizēti apraksti un lietošanas piemēri, kas ne tikai palīdz saprast kodu, bet dokumentētas#footnote[https://docs.rs/hexlab/latest/hexlab/]<hexlab-docs>.
Programmatūras prasības specifikācija ir izstrādāta, ievērojot LVS 68:1996 Šajā dokumentācijā ir ietverti detalizēti apraksti un lietošanas piemēri, kas ne
standarta "Programmatūras prasību specifikācijas ceļvedis"@lvs_68 un LVS 72:1996 tikai palīdz saprast kodu, bet programmatūras prasības specifikācija ir
standarta "Ieteicamā prakse programmatūras projektējuma aprakstīšanai"@lvs_72 izstrādāta, ievērojot LVS 68:1996 standarta "Programmatūras prasību
standarta prasības. specifikācijas ceļvedis" un LVS 72:1996 standarta "Ieteicamā prakse
programmatūras projektējuma aprakstīšanai" standarta prasības @lvs_68 @lvs_72.
// Programmatūras projektējuma aprakstā iekļautās // Programmatūras projektējuma aprakstā iekļautās
// aktivitāšu diagrammas ir izstrādātas, ievērojot UML 2.5 versijas // aktivitāšu diagrammas ir izstrādātas, ievērojot UML 2.5 versijas
// specifikāciju@omg-uml. // specifikāciju@omg-uml.
== Konfigurācijas pārvaldība == Konfigurācijas pārvaldība
Pirmkods tiek pārvaldīts, izmantojot "git"@git versiju kontroles sistēmu. Pirmkods tiek pārvaldīts, izmantojot "git#footnote[https://git-scm.com/doc]<git>" versiju kontroles sistēmu.
Repozitorijs tiek izvietots platformā "GitHub". Repozitorijs tiek izvietots platformā "GitHub".
Rīku konfigurācija ir definēta vairākos failos: Rīku konfigurācija ir definēta vairākos failos:
- "justfile#footnote[https://just.systems/man/en/]<justfile>" -- satur atkļūdošanas un - "justfile#footnote[https://just.systems/man/en/]<justfile>" -- satur atkļūdošanas un
laidiena komandas dažādām vidēm: laidiena komandas dažādām vidēm:
- atkļūdošanas kompilācijas ar iespējotu pilnu atpakaļsekošanu; - atkļūdošanas kompilācijas ar iespējotu pilnu atpakaļsekošanu;
- laidiena kompilācijas ar iespējotu optimizāciju. - laidiena kompilācijas ar iespējotu optimizāciju.
- "GitHub Actions"@gh-actions darbplūsmas, kas apstrādā: - "GitHub Actions#footnote[https://docs.github.com/en/actions]<gh-actions>" darbplūsmas, kas apstrādā:
- koda kvalitātes pārbaudes (vienībtesti, statiskie testi, formatēšana, - koda kvalitātes pārbaudes (vienībtesti, statiskie testi, formatēšana,
dokumentācijas izveide). dokumentācijas izveide).
- kompilācijas un izvietotošanas darbplūsma, kas: - kompilācijas un izvietotošanas darbplūsma, kas:
@ -954,7 +960,7 @@ Versiju specifikācija notiek pēc semantiskās versiju atlases@sem-ver (MAJOR.M
#heading("Pielikumi", numbering: none) #heading("Pielikumi", numbering: none)
// #include "code.typ" // #include "code.typ"
// #include "doc.typ" #include "doc.typ"
#pagebreak() #pagebreak()
#total-words words #total-words words