Skip to content

Commit

Permalink
generate doc (#37)
Browse files Browse the repository at this point in the history
* Add support for enum documentation and improve type handling

Enhanced the `EnumGenerator` to include documentation comments for enumerations, using the newly introduced `appendDoc` function. Updated models to handle enum entries as triples with documentation, and added utilities to extract and process documentation strings from YAML definitions. Expanded enumerations with detailed inline comments for better context.

* Refactor documentation references and enhance string parsing.

Replaced function and method references in documentation with Markdown-style links for better readability. Added a helper function to convert formatted string references into compatible Markdown links in the YamlModel domain logic.

* Fix comment formatting in multiple files

Updated comment formatting across several files to ensure proper spacing before closing comment tags. This improves code clarity and maintains consistent documentation style.

* Remove redundant debug download tasks from build script

The debug download tasks for Android architectures were removed as they are no longer needed. This simplifies the build script and reduces unnecessary complexity, improving maintainability.

* Refactor string handling and improve documentation format.

Standardize string extension usage for clarity and reusability in `YamlModel`. Update documentation to replace inline code references with proper Dokka-style links for enhanced readability.

* Refactor string handling and improve documentation format.

Standardize string extension usage for clarity and reusability in `YamlModel`. Update documentation to replace inline code references with proper Dokka-style links for enhanced readability.

* Improve function documentation and enhance type handling

Added detailed documentation to various functions for better clarity and usability. Introduced a new `FunctionArgument` type alias to streamline function argument handling, including optional documentation. Enhanced internal processing to support and propagate argument and function-level documentation effectively.

* Refactor function return type handling across modules

Replaced `Type` with `FunctionReturnType` for better structure and added support for detailed return type documentation. Updated templates and function generation logic to handle the new structure consistently. Minor adjustments to build configurations and library dependencies.

* Add support for documenting NativeModel.Pointer and related types

Extended NativeModel.Pointer to include optional documentation and updated relevant conversion and generation logic to handle documentation consistently. Adjusted type generation to embed documentation comments for better understanding of generated classes.

* Refactor structure generation logic and add documentation support

Centralize member handling by extracting `getMembers` function, reducing duplication in structure generation. Introduce the `doc` property to NativeModel structures and improve interface definition readability using `templateBuilder`. Additionally, include detailed documentation for various WGPU-related structures.

* Add padding to WGPU struct layouts to ensure alignment

This update introduces padding fields to various WGPU struct layouts to maintain proper memory alignment. It ensures compatibility and correctness when interfacing with native libraries requiring strict data alignment.

* Add support for callback documentation handling

Enhanced the callback model to include an optional `doc` field. Updated relevant functions and templates to utilize and process callback documentation where applicable. This improves clarity and maintainability of generated code.

* add html and markdown documentation
  • Loading branch information
ygdrasil-io committed Feb 9, 2025
1 parent 0f0fd64 commit e1bfc21
Show file tree
Hide file tree
Showing 15,372 changed files with 1,394,305 additions and 197 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repositories {
dependencies {
implementation(libs.download)
implementation(libs.kotlin.multiplatform)
implementation(libs.dokka)
implementation(libs.bundles.dokka)
implementation(libs.jreleaser.plugin)
implementation(libs.android.library)

Expand Down
12 changes: 12 additions & 0 deletions doc/gfm/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
//[wgpu4k-native](index.md)

# wgpu4k-native

## Packages

| Name |
|---|
| [ffi](wgpu4k-native/ffi/index.md) |
| [io.ygdrasil.wgpu](wgpu4k-native/io.ygdrasil.wgpu/index.md) |
| [io.ygdrasil.wgpu.android](wgpu4k-native/io.ygdrasil.wgpu.android/index.md) |
| [java.lang.foreign](wgpu4k-native/java.lang.foreign/index.md) |
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-array-holder/-array-holder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[ArrayHolder](index.md)/[ArrayHolder](-array-holder.md)

# ArrayHolder

[common]\
constructor(handler: [NativeAddress](../-native-address/index.md))
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-array-holder/handler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[ArrayHolder](index.md)/[handler](handler.md)

# handler

[common]\
val [handler](handler.md): [NativeAddress](../-native-address/index.md)
26 changes: 26 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-array-holder/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[ArrayHolder](index.md)

# ArrayHolder

[common]\
@[JvmInline](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.jvm/-jvm-inline/index.html)

value class [ArrayHolder](index.md)<[T](index.md)>(val handler: [NativeAddress](../-native-address/index.md))

## Constructors

| | |
|---|---|
| [ArrayHolder](-array-holder.md) | [common]<br>constructor(handler: [NativeAddress](../-native-address/index.md)) |

## Properties

| Name | Summary |
|---|---|
| [handler](handler.md) | [common]<br>val [handler](handler.md): [NativeAddress](../-native-address/index.md) |

## Functions

| Name | Summary |
|---|---|
| [toBuffer](to-buffer.md) | [common]<br>fun [toBuffer](to-buffer.md)(size: [ULong](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-u-long/index.html)): [MemoryBuffer](../-memory-buffer/index.md) |
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-array-holder/to-buffer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[ArrayHolder](index.md)/[toBuffer](to-buffer.md)

# toBuffer

[common]\
fun [toBuffer](to-buffer.md)(size: [ULong](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-u-long/index.html)): [MemoryBuffer](../-memory-buffer/index.md)
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c-string/-c-string.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CString](index.md)/[CString](-c-string.md)

# CString

[common, android, jvm, native]\
[common]\
expect constructor(handler: [NativeAddress](../-native-address/index.md))

[android, jvm, native]\
actual constructor(handler: [NativeAddress](../-native-address/index.md))
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c-string/handler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CString](index.md)/[handler](handler.md)

# handler

[common, android, jvm, native]\
[common]\
expect val [handler](handler.md): [NativeAddress](../-native-address/index.md)

[android, jvm, native]\
actual val [handler](handler.md): [NativeAddress](../-native-address/index.md)
32 changes: 32 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c-string/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CString](index.md)

# CString

[common]\
expect value class [CString](index.md)

[android, jvm]\
@[JvmInline](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.jvm/-jvm-inline/index.html)

actual value class [CString](index.md)

[native]\
actual value class [CString](index.md)

## Constructors

| | |
|---|---|
| [CString](-c-string.md) | [common]<br>expect constructor(handler: [NativeAddress](../-native-address/index.md))<br>[android, jvm, native]<br>actual constructor(handler: [NativeAddress](../-native-address/index.md)) |

## Properties

| Name | Summary |
|---|---|
| [handler](handler.md) | [common, android, jvm, native]<br>[common]<br>expect val [handler](handler.md): [NativeAddress](../-native-address/index.md)<br>[android, jvm, native]<br>actual val [handler](handler.md): [NativeAddress](../-native-address/index.md) |

## Functions

| Name | Summary |
|---|---|
| [toKString](to-k-string.md) | [common, android, jvm, native]<br>[common]<br>expect fun [toKString](to-k-string.md)(): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)?<br>[android, jvm, native]<br>actual fun [toKString](to-k-string.md)(): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)?<br>[common]<br>expect fun [toKString](to-k-string.md)(size: [ULong](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-u-long/index.html)): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)?<br>[android, jvm, native]<br>actual fun [toKString](to-k-string.md)(size: [ULong](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-u-long/index.html)): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)? |
16 changes: 16 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c-string/to-k-string.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CString](index.md)/[toKString](to-k-string.md)

# toKString

[common, android, jvm, native]\
[common]\
expect fun [toKString](to-k-string.md)(): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)?

[android, jvm, native]\
actual fun [toKString](to-k-string.md)(): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)?

[common]\
expect fun [toKString](to-k-string.md)(size: [ULong](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-u-long/index.html)): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)?

[android, jvm, native]\
actual fun [toKString](to-k-string.md)(size: [ULong](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-u-long/index.html)): [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)?
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-b-o-o-l.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_BOOL](-c_-b-o-o-l.md)

# C_BOOL

[android, jvm]\
[android]\
val [C_BOOL](-c_-b-o-o-l.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_BOOL](-c_-b-o-o-l.md): ValueLayout
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-c-h-a-r.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_CHAR](-c_-c-h-a-r.md)

# C_CHAR

[android, jvm]\
[android]\
val [C_CHAR](-c_-c-h-a-r.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_CHAR](-c_-c-h-a-r.md): ValueLayout
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-d-o-u-b-l-e.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_DOUBLE](-c_-d-o-u-b-l-e.md)

# C_DOUBLE

[android, jvm]\
[android]\
val [C_DOUBLE](-c_-d-o-u-b-l-e.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_DOUBLE](-c_-d-o-u-b-l-e.md): ValueLayout
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-f-l-o-a-t.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_FLOAT](-c_-f-l-o-a-t.md)

# C_FLOAT

[android, jvm]\
[android]\
val [C_FLOAT](-c_-f-l-o-a-t.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_FLOAT](-c_-f-l-o-a-t.md): ValueLayout
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-i-n-t.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_INT](-c_-i-n-t.md)

# C_INT

[android, jvm]\
[android]\
val [C_INT](-c_-i-n-t.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_INT](-c_-i-n-t.md): ValueLayout
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-l-o-n-g.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_LONG](-c_-l-o-n-g.md)

# C_LONG

[android, jvm]\
[android]\
val [C_LONG](-c_-l-o-n-g.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_LONG](-c_-l-o-n-g.md): ValueLayout
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-l-o-n-g_-l-o-n-g.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_LONG_LONG](-c_-l-o-n-g_-l-o-n-g.md)

# C_LONG_LONG

[android, jvm]\
[android]\
val [C_LONG_LONG](-c_-l-o-n-g_-l-o-n-g.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_LONG_LONG](-c_-l-o-n-g_-l-o-n-g.md): ValueLayout
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-p-o-i-n-t-e-r.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_POINTER](-c_-p-o-i-n-t-e-r.md)

# C_POINTER

[android, jvm]\
[android]\
val [C_POINTER](-c_-p-o-i-n-t-e-r.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_POINTER](-c_-p-o-i-n-t-e-r.md): ValueLayout
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-c_-s-h-o-r-t.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../index.md)/[ffi](index.md)/[C_SHORT](-c_-s-h-o-r-t.md)

# C_SHORT

[android, jvm]\
[android]\
val [C_SHORT](-c_-s-h-o-r-t.md): [ValueLayout](../java.lang.foreign/-value-layout/index.md)

[jvm]\
val [C_SHORT](-c_-s-h-o-r-t.md): ValueLayout
13 changes: 13 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-callback-holder/-callback-holder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CallbackHolder](index.md)/[CallbackHolder](-callback-holder.md)

# CallbackHolder

[android, jvm, native]\
[android]\
constructor(handler: [NativeAddress](../-native-address/index.md), callback: Callback? = null)

[jvm]\
constructor(handler: [NativeAddress](../-native-address/index.md))

[native]\
constructor(handler: [NativeAddress](../-native-address/index.md), actualCallback: [COpaquePointer](https://kotlinlang.org/api/core/kotlin-stdlib/kotlinx.cinterop/-c-opaque-pointer/index.html)? = null)
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-callback-holder/actual-callback.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CallbackHolder](index.md)/[actualCallback](actual-callback.md)

# actualCallback

[native]\
val [actualCallback](actual-callback.md): [COpaquePointer](https://kotlinlang.org/api/core/kotlin-stdlib/kotlinx.cinterop/-c-opaque-pointer/index.html)? = null
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-callback-holder/callback.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CallbackHolder](index.md)/[callback](callback.md)

# callback

[android]\
val [callback](callback.md): Callback? = null
10 changes: 10 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-callback-holder/handler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CallbackHolder](index.md)/[handler](handler.md)

# handler

[common, android, jvm, native]\
[common]\
expect val [handler](handler.md): [NativeAddress](../-native-address/index.md)

[android, jvm, native]\
actual val [handler](handler.md): [NativeAddress](../-native-address/index.md)
23 changes: 23 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-callback-holder/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[CallbackHolder](index.md)

# CallbackHolder

[common]\
expect class [CallbackHolder](index.md)&lt;[T](index.md) : [Callback](../-callback/index.md)&gt;

[android, jvm, native]\
actual class [CallbackHolder](index.md)&lt;[T](index.md) : [Callback](../-callback/index.md)&gt;

## Constructors

| | |
|---|---|
| [CallbackHolder](-callback-holder.md) | [android]<br>constructor(handler: [NativeAddress](../-native-address/index.md), callback: Callback? = null)<br>[jvm]<br>constructor(handler: [NativeAddress](../-native-address/index.md))<br>[native]<br>constructor(handler: [NativeAddress](../-native-address/index.md), actualCallback: [COpaquePointer](https://kotlinlang.org/api/core/kotlin-stdlib/kotlinx.cinterop/-c-opaque-pointer/index.html)? = null) |

## Properties

| Name | Summary |
|---|---|
| [actualCallback](actual-callback.md) | [native]<br>val [actualCallback](actual-callback.md): [COpaquePointer](https://kotlinlang.org/api/core/kotlin-stdlib/kotlinx.cinterop/-c-opaque-pointer/index.html)? = null |
| [callback](callback.md) | [android]<br>val [callback](callback.md): Callback? = null |
| [handler](handler.md) | [common, android, jvm, native]<br>[common]<br>expect val [handler](handler.md): [NativeAddress](../-native-address/index.md)<br>[android, jvm, native]<br>actual val [handler](handler.md): [NativeAddress](../-native-address/index.md) |
21 changes: 21 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-callback/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[Callback](index.md)

# Callback

interface [Callback](index.md)

#### Inheritors

| |
|---|
| [WGPUBufferMapCallback](../../io.ygdrasil.wgpu/-w-g-p-u-buffer-map-callback/index.md) |
| [WGPUCompilationInfoCallback](../../io.ygdrasil.wgpu/-w-g-p-u-compilation-info-callback/index.md) |
| [WGPUCreateComputePipelineAsyncCallback](../../io.ygdrasil.wgpu/-w-g-p-u-create-compute-pipeline-async-callback/index.md) |
| [WGPUCreateRenderPipelineAsyncCallback](../../io.ygdrasil.wgpu/-w-g-p-u-create-render-pipeline-async-callback/index.md) |
| [WGPUDeviceLostCallback](../../io.ygdrasil.wgpu/-w-g-p-u-device-lost-callback/index.md) |
| [WGPUPopErrorScopeCallback](../../io.ygdrasil.wgpu/-w-g-p-u-pop-error-scope-callback/index.md) |
| [WGPUQueueWorkDoneCallback](../../io.ygdrasil.wgpu/-w-g-p-u-queue-work-done-callback/index.md) |
| [WGPURequestAdapterCallback](../../io.ygdrasil.wgpu/-w-g-p-u-request-adapter-callback/index.md) |
| [WGPURequestDeviceCallback](../../io.ygdrasil.wgpu/-w-g-p-u-request-device-callback/index.md) |
| [WGPUUncapturedErrorCallback](../../io.ygdrasil.wgpu/-w-g-p-u-uncaptured-error-callback/index.md) |
| [WGPULogCallback](../../io.ygdrasil.wgpu/-w-g-p-u-log-callback/index.md) |
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-jna-arena/-jna-arena.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[JnaArena](index.md)/[JnaArena](-jna-arena.md)

# JnaArena

[android]\
constructor()
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-jna-arena/allocate-from.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[JnaArena](index.md)/[allocateFrom](allocate-from.md)

# allocateFrom

[android]\
fun [allocateFrom](allocate-from.md)(label: [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)): Pointer
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-jna-arena/allocate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[JnaArena](index.md)/[allocate](allocate.md)

# allocate

[android]\
fun [allocate](allocate.md)(size: [Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)): Pointer
6 changes: 6 additions & 0 deletions doc/gfm/wgpu4k-native/ffi/-jna-arena/close.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//[wgpu4k-native](../../../index.md)/[ffi](../index.md)/[JnaArena](index.md)/[close](close.md)

# close

[android]\
open override fun [close](close.md)()
Loading

0 comments on commit e1bfc21

Please sign in to comment.