diff --git a/CLAUDE.md b/CLAUDE.md
index b4763cb3..a1f4d51e 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -279,7 +279,7 @@ $_.receiver(msg => {
- Custom formats: Aseprite animations, etc.
### Developer Tools
-- Built-in documentation system with `prosperon.DOC`
+- Built-in documentation system with `cell.DOC`
- Tracy profiler integration for performance monitoring
- Imgui debugging tools
- Console logging with various severity levels
diff --git a/Makefile b/Makefile
index 63313c9f..203cd546 100755
--- a/Makefile
+++ b/Makefile
@@ -1,22 +1,22 @@
debug: FORCE
meson setup build_dbg -Dbuildtype=debug
- meson compile -C build_dbg
+ meson install -C build_dbg
fast: FORCE
meson setup build_fast
- meson compile -C build_fast
+ meson install -C build_fast
release: FORCE
meson setup -Dbuildtype=release -Db_lto=true -Db_lto_mode=thin -Db_ndebug=true build_release
- meson compile -C build_release
+ meson install -C build_release
sanitize: FORCE
meson setup -Db_sanitize=address -Db_sanitize=memory -Db_sanitize=leak -Db_sanitize=undefined build_sani
- meson compile -C build_sani
+ meson install -C build_sani
small: FORCE
meson setup -Dbuildtype=minsize -Db_lto=true -Db_ndebug=true build_small
- meson compile -C build_small
+ meson install -C build_small
web: FORCE
meson setup -Deditor=false -Dbuildtype=minsize -Db_lto=true -Db_ndebug=true --cross-file emscripten.cross build_web
diff --git a/docs/api/modules/doc.md b/docs/api/modules/doc.md
index 4b068b3e..ff7fae21 100644
--- a/docs/api/modules/doc.md
+++ b/docs/api/modules/doc.md
@@ -3,7 +3,7 @@
Provides a consistent way to create documentation for prosperon elements. Objects are documented by adding docstrings directly to object-like things (functions, objects, ...), or to an object's own "doc object".
-Docstrings are set to the symbol `prosperon.DOC`
+Docstrings are set to the symbol `cell.DOC`
```js
// Suppose we have a module that returns a function
@@ -24,9 +24,9 @@ var greet = {
hello() { log.console('hello!') }
}
-greet[prosperon.DOC] = {}
-greet[prosperon.DOC][prosperon.DOC] = 'An object full of different greeter functions'
-greet[prosperon.DOC].hello = 'A greeter that says, "hello!"'
+greet[cell.DOC] = {}
+greet[cell.DOC][cell.DOC] = 'An object full of different greeter functions'
+greet[cell.DOC].hello = 'A greeter that says, "hello!"'
```
diff --git a/docs/tutorial.md b/docs/tutorial.md
index 74abc2be..c6657043 100644
--- a/docs/tutorial.md
+++ b/docs/tutorial.md
@@ -62,6 +62,6 @@ this.delay(_ => {
The global object called `prosperon` has a variety of engine specific settings on it that can be set to influence how the engine behaves. For example, `prosperon.argv` contains a list of the command line arguments given to prosperon; `prosperon.PATH` is an array of paths to resolve resources such as modules and images. `prosperon` is fully documented in the API section.
## Getting help
-The `prosperon` global has a 'doc' function, which can be invoked on any engine object to see a description of it and its members. For example, to learn about `prosperon`, try printing out `prosperon.doc(prosperon)` in your `main.js`.
+The `prosperon` global has a 'doc' function, which can be invoked on any engine object to see a description of it and its members. For example, to learn about `prosperon`, try printing out `cell.DOC(prosperon)` in your `main.js`.
Writing documentation for your own modules and game components will be explored in the chapter on actors & modules.
\ No newline at end of file
diff --git a/meson.build b/meson.build
index b051f706..f7b985ef 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('prosperon', ['c', 'cpp'],
+project('cell', ['c', 'cpp'],
version: '0.9.3',
meson_version: '>=1.4',
default_options : [ 'cpp_std=c++11'])
@@ -13,21 +13,21 @@ fs = import('fs')
add_project_arguments('-pedantic', language: ['c'])
git_tag_cmd = run_command('git', 'describe', '--tags', '--abbrev=0', check: false)
-prosperon_version = 'unknown'
+cell_version = 'unknown'
if git_tag_cmd.returncode() == 0
- prosperon_version = git_tag_cmd.stdout().strip()
+ cell_version = git_tag_cmd.stdout().strip()
endif
git_commit_cmd = run_command('git', 'rev-parse', '--short', 'HEAD', check: false)
-prosperon_commit = 'unknown'
+cell_commit = 'unknown'
if git_commit_cmd.returncode() == 0
- prosperon_commit = git_commit_cmd.stdout().strip()
+ cell_commit = git_commit_cmd.stdout().strip()
endif
# Important: pass the definitions without double-escaping quotes
add_project_arguments(
- '-DPROSPERON_VERSION="' + prosperon_version + '"',
- '-DPROSPERON_COMMIT="' + prosperon_commit + '"',
+ '-DCELL_VERSION="' + cell_version + '"',
+ '-DCELL_COMMIT="' + cell_commit + '"',
language : 'c'
)
@@ -67,21 +67,31 @@ endif
cmake = import('cmake')
-mbedtls_opts = cmake.subproject_options()
-mbedtls_opts.add_cmake_defines({
- 'ENABLE_PROGRAMS': 'OFF', # Disable Mbed TLS programs
- 'ENABLE_TESTING': 'OFF', # Disable Mbed TLS tests
- 'CMAKE_BUILD_TYPE': 'Release', # Optimize for release
- 'MBEDTLS_FATAL_WARNINGS': 'ON', # Treat warnings as errors
- 'USE_STATIC_MBEDTLS_LIBRARY': 'ON',# Build static libraries
- 'USE_SHARED_MBEDTLS_LIBRARY': 'OFF'# Disable shared libraries
-})
-mbedtls_proj = cmake.subproject('mbedtls', options: mbedtls_opts)
-deps += [
- mbedtls_proj.dependency('mbedtls'),
- mbedtls_proj.dependency('mbedx509'),
- mbedtls_proj.dependency('mbedcrypto')
-]
+# Try to find system-installed mbedtls first
+mbedtls_dep = dependency('mbedtls', static: true, required: false)
+mbedx509_dep = dependency('mbedx509', static: true, required: false)
+mbedcrypto_dep = dependency('mbedcrypto', static: true, required: false)
+
+if not mbedtls_dep.found() or not mbedx509_dep.found() or not mbedcrypto_dep.found()
+ message('⚙ System mbedtls not found, building subproject...')
+ mbedtls_opts = cmake.subproject_options()
+ mbedtls_opts.add_cmake_defines({
+ 'ENABLE_PROGRAMS': 'OFF', # Disable Mbed TLS programs
+ 'ENABLE_TESTING': 'OFF', # Disable Mbed TLS tests
+ 'CMAKE_BUILD_TYPE': 'Release', # Optimize for release
+ 'MBEDTLS_FATAL_WARNINGS': 'ON', # Treat warnings as errors
+ 'USE_STATIC_MBEDTLS_LIBRARY': 'ON',# Build static libraries
+ 'USE_SHARED_MBEDTLS_LIBRARY': 'OFF'# Disable shared libraries
+ })
+ mbedtls_proj = cmake.subproject('mbedtls', options: mbedtls_opts)
+ deps += [
+ mbedtls_proj.dependency('mbedtls'),
+ mbedtls_proj.dependency('mbedx509'),
+ mbedtls_proj.dependency('mbedcrypto')
+ ]
+else
+ deps += [mbedtls_dep, mbedx509_dep, mbedcrypto_dep]
+endif
sdl3_opts = cmake.subproject_options()
sdl3_opts.add_cmake_defines({
@@ -130,33 +140,111 @@ if host_machine.system() == 'emscripten'
method : 'pkg-config', # or 'cmake' if you prefer
required : true)
else
- sdl3_proj = cmake.subproject('sdl3', options : sdl3_opts)
- deps += sdl3_proj.dependency('SDL3-static')
+ # Try to find system-installed SDL3 first
+ sdl3_dep = dependency('sdl3', static: true, required: false)
+
+ if not sdl3_dep.found()
+ message('⚙ System SDL3 not found, building subproject...')
+ sdl3_proj = cmake.subproject('sdl3', options : sdl3_opts)
+ deps += sdl3_proj.dependency('SDL3-static')
+ else
+ deps += sdl3_dep
+ endif
endif
quickjs_opts = []
-
quickjs_opts += 'default_library=static'
-deps += dependency('quickjs', static:true, default_options:quickjs_opts)
-deps += dependency('qjs-layout', static:true)
-deps += dependency('qjs-miniz', static:true)
-deps += dependency('physfs', static:true)
+
+# Try to find system-installed quickjs first
+quickjs_dep = dependency('quickjs', static: true, required: false)
+if not quickjs_dep.found()
+ message('⚙ System quickjs not found, building subproject...')
+ deps += dependency('quickjs', static:true, default_options:quickjs_opts)
+else
+ deps += quickjs_dep
+endif
+
+# Try to find system-installed qjs-layout first
+qjs_layout_dep = dependency('qjs-layout', static: true, required: false)
+if not qjs_layout_dep.found()
+ message('⚙ System qjs-layout not found, building subproject...')
+ deps += dependency('qjs-layout', static:true)
+else
+ deps += qjs_layout_dep
+endif
+
+# Try to find system-installed qjs-miniz first
+qjs_miniz_dep = dependency('qjs-miniz', static: true, required: false)
+if not qjs_miniz_dep.found()
+ message('⚙ System qjs-miniz not found, building subproject...')
+ deps += dependency('qjs-miniz', static:true)
+else
+ deps += qjs_miniz_dep
+endif
+
+# Try to find system-installed physfs first
+physfs_dep = dependency('physfs', static: true, required: false)
+if not physfs_dep.found()
+ message('⚙ System physfs not found, building subproject...')
+ deps += dependency('physfs', static:true)
+else
+ deps += physfs_dep
+endif
+
deps += dependency('threads')
-deps += dependency('chipmunk', static:true)
+
+# Try to find system-installed chipmunk first
+chipmunk_dep = dependency('chipmunk', static: true, required: false)
+if not chipmunk_dep.found()
+ message('⚙ System chipmunk not found, building subproject...')
+ deps += dependency('chipmunk', static:true)
+else
+ deps += chipmunk_dep
+endif
if host_machine.system() != 'emscripten'
- deps += dependency('enet', static:true)
+ # Try to find system-installed enet first
+ enet_dep = dependency('enet', static: true, required: false)
+ if not enet_dep.found()
+ message('⚙ System enet not found, building subproject...')
+ deps += dependency('enet', static:true)
+ else
+ deps += enet_dep
+ endif
src += 'qjs_enet.c'
tracy_opts = ['fibers=true', 'no_exit=true', 'libunwind_backtrace=true']
add_project_arguments('-DTRACY_ENABLE', language:['c','cpp'])
- deps += dependency('tracy', static:true, default_options:tracy_opts)
+
+ # Try to find system-installed tracy first
+ tracy_dep = dependency('tracy', static: true, required: false)
+ if not tracy_dep.found()
+ message('⚙ System tracy not found, building subproject...')
+ deps += dependency('tracy', static:true, default_options:tracy_opts)
+ else
+ deps += tracy_dep
+ endif
src += 'qjs_dmon.c'
endif
-deps += dependency('soloud', static:true)
-deps += dependency('libqrencode', static:true)
+# Try to find system-installed soloud first
+soloud_dep = dependency('soloud', static: true, required: false)
+if not soloud_dep.found()
+ message('⚙ System soloud not found, building subproject...')
+ deps += dependency('soloud', static:true)
+else
+ deps += soloud_dep
+endif
+
+# Try to find system-installed qrencode first
+qr_dep = dependency('qrencode', static: true, required: false)
+if not qr_dep.found()
+ message('⚙ System qrencode not found, building subproject...')
+ deps += dependency('libqrencode', static:true)
+else
+ deps += qr_dep
+endif
# Storefront SDK support
storefront = get_option('storefront')
@@ -193,7 +281,7 @@ link_args = link
sources = []
src += [
'anim.c', 'config.c', 'datastream.c','font.c','HandmadeMath.c','jsffi.c','model.c',
- 'render.c','simplex.c','spline.c', 'transform.c','prosperon.c', 'wildmatch.c',
+ 'render.c','simplex.c','spline.c', 'transform.c','cell.c', 'wildmatch.c',
'sprite.c', 'rtree.c', 'qjs_nota.c', 'qjs_soloud.c', 'qjs_sdl.c', 'qjs_sdl_video.c', 'qjs_sdl_surface.c', 'qjs_math.c', 'qjs_geometry.c', 'qjs_transform.c', 'qjs_sprite.c', 'qjs_io.c', 'qjs_fd.c', 'qjs_os.c', 'qjs_actor.c',
'qjs_qr.c', 'qjs_wota.c', 'monocypher.c', 'qjs_blob.c', 'qjs_crypto.c', 'qjs_time.c', 'qjs_http.c', 'qjs_rtree.c', 'qjs_spline.c', 'qjs_js.c', 'qjs_debug.c'
]
@@ -222,87 +310,33 @@ foreach file : src
sources += files(full_path)
endforeach
-if get_option('editor')
-# sources += 'source/qjs_imgui.cpp'
-# foreach imgui : imsrc
-# sources += tp / 'imgui' / imgui
-# endforeach
-endif
-
includers = []
foreach inc : includes
includers += include_directories(inc)
endforeach
-zip_folders = ['scripts', 'fonts', 'icons']
-zip_paths = []
-foreach folder: zip_folders
- zip_paths += meson.project_source_root() / folder
-endforeach
-
-# Produce core.zip
-core = custom_target('core.zip',
- output : 'core.zip',
- command : ['sh', '-c',
- 'cd ' + meson.project_source_root() +
- ' && echo "Rebuilding core.zip" && rm -f ' + meson.current_build_dir() + '/core.zip && ' +
- 'zip -r ' + meson.current_build_dir() + '/core.zip scripts fonts icons'
- ],
- build_always_stale: true,
- build_by_default: true
-)
-
-prosperon_raw = executable('prosperon_raw', sources,
- dependencies: deps,
- include_directories: includers,
- link_args: link,
- build_rpath: '$ORIGIN',
- install:false
-)
-
-strip_enabled = ['release', 'minsize'].contains(get_option('buildtype'))
-
-if strip_enabled
- prosperon_raw_stripped = custom_target('prosperon_raw_stripped',
- input: prosperon_raw,
- output: 'prosperon_raw_stripped',
- command: [
- 'sh', '-c',
- 'strip "$1" && cp "$1" "$2"',
- 'stripper',
- '@INPUT@',
- '@OUTPUT@'
- ],
- build_by_default: true
- )
- exe_for_concat = prosperon_raw_stripped
-else
- exe_for_concat = prosperon_raw
-endif
-
if host_machine.system() == 'windows'
exe_ext = '.exe'
else
exe_ext = ''
endif
-prosperon = custom_target('prosperon',
- output: 'prosperon' + exe_ext,
- input: [exe_for_concat, core],
- command: [
- 'sh', '-c',
- 'cat "$1" "$2" > "$3" && chmod +x "$3" >/dev/null 2>&1',
- 'concat',
- '@INPUT0@',
- '@INPUT1@',
- '@OUTPUT@'
- ],
- build_always_stale: true,
- build_by_default: true
+strip_enabled = ['release', 'minsize'].contains(get_option('buildtype'))
+
+if strip_enabled
+ add_project_link_arguments('-s', language: ['c', 'cpp'])
+endif
+
+cell = executable('cell', sources,
+ dependencies: deps,
+ include_directories: includers,
+ link_args: link,
+ build_rpath: '$ORIGIN',
+ install: true
)
-prosperon_dep = declare_dependency(
- link_with: prosperon
+cell_dep = declare_dependency(
+ link_with: cell
)
copy_tests = custom_target(
@@ -329,5 +363,5 @@ tests = [
]
foreach file : tests
- test(file, prosperon_raw, args:['tests/' + file + '.js'], depends:copy_tests)
+ test(file, cell, args:['tests/' + file + '.js'], depends:copy_tests)
endforeach
diff --git a/moth/spline.js b/moth/spline.js
deleted file mode 100644
index 550b7c88..00000000
--- a/moth/spline.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var spline = this
-
-spline.catmull[prosperon.DOC] = "Perform Catmull-Rom spline sampling on an array of 2D points, returning an array of samples."
-spline.bezier[prosperon.DOC] = "Perform a Bezier spline (or catmull) sampling on 2D points, returning an array of sampled points."
-
-return spline
\ No newline at end of file
diff --git a/moth/video.js b/moth/video.js
deleted file mode 100644
index c19159e1..00000000
--- a/moth/video.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var video = this
-
-video.make_video[prosperon.DOC] = "Decode a video file (MPEG, etc.) from an ArrayBuffer, returning a datastream object."
-
-return video
\ No newline at end of file
diff --git a/moth/_sdl_video.js b/prosperon/_sdl_video.js
similarity index 100%
rename from moth/_sdl_video.js
rename to prosperon/_sdl_video.js
diff --git a/moth/camera.js b/prosperon/camera.js
similarity index 100%
rename from moth/camera.js
rename to prosperon/camera.js
diff --git a/moth/clay.js b/prosperon/clay.js
similarity index 100%
rename from moth/clay.js
rename to prosperon/clay.js
diff --git a/moth/color.js b/prosperon/color.js
similarity index 100%
rename from moth/color.js
rename to prosperon/color.js
diff --git a/moth/controller.js b/prosperon/controller.js
similarity index 100%
rename from moth/controller.js
rename to prosperon/controller.js
diff --git a/moth/device.js b/prosperon/device.js
similarity index 100%
rename from moth/device.js
rename to prosperon/device.js
diff --git a/moth/draw2d.js b/prosperon/draw2d.js
similarity index 98%
rename from moth/draw2d.js
rename to prosperon/draw2d.js
index 0beab38b..a1b8fec5 100644
--- a/moth/draw2d.js
+++ b/prosperon/draw2d.js
@@ -2,7 +2,7 @@ var math = use('math')
var color = use('color')
var draw = {}
-draw[prosperon.DOC] = `
+draw[cell.DOC] = `
A collection of 2D drawing functions that create drawing command lists.
These are pure functions that return plain JavaScript objects representing
drawing operations. No rendering or actor communication happens here.
@@ -115,7 +115,7 @@ draw.point = function(pos, size, opt = {}, material) {
material: material
})
}
-draw.point[prosperon.DOC] = `
+draw.point[cell.DOC] = `
:param pos: A 2D position ([x, y]) where the point should be drawn.
:param size: The size of the point.
:param opt: Optional geometry properties.
diff --git a/moth/dull.js b/prosperon/dull.js
similarity index 100%
rename from moth/dull.js
rename to prosperon/dull.js
diff --git a/moth/emitter.js b/prosperon/emitter.js
similarity index 100%
rename from moth/emitter.js
rename to prosperon/emitter.js
diff --git a/moth/examples/bunnymark/bunny.png b/prosperon/examples/bunnymark/bunny.png
similarity index 100%
rename from moth/examples/bunnymark/bunny.png
rename to prosperon/examples/bunnymark/bunny.png
diff --git a/moth/examples/bunnymark/config.js b/prosperon/examples/bunnymark/config.js
similarity index 100%
rename from moth/examples/bunnymark/config.js
rename to prosperon/examples/bunnymark/config.js
diff --git a/moth/examples/bunnymark/main.js b/prosperon/examples/bunnymark/main.js
similarity index 100%
rename from moth/examples/bunnymark/main.js
rename to prosperon/examples/bunnymark/main.js
diff --git a/moth/examples/chess/black_bishop.png b/prosperon/examples/chess/black_bishop.png
similarity index 100%
rename from moth/examples/chess/black_bishop.png
rename to prosperon/examples/chess/black_bishop.png
diff --git a/moth/examples/chess/black_king.png b/prosperon/examples/chess/black_king.png
similarity index 100%
rename from moth/examples/chess/black_king.png
rename to prosperon/examples/chess/black_king.png
diff --git a/moth/examples/chess/black_knight.png b/prosperon/examples/chess/black_knight.png
similarity index 100%
rename from moth/examples/chess/black_knight.png
rename to prosperon/examples/chess/black_knight.png
diff --git a/moth/examples/chess/black_pawn.png b/prosperon/examples/chess/black_pawn.png
similarity index 100%
rename from moth/examples/chess/black_pawn.png
rename to prosperon/examples/chess/black_pawn.png
diff --git a/moth/examples/chess/black_queen.png b/prosperon/examples/chess/black_queen.png
similarity index 100%
rename from moth/examples/chess/black_queen.png
rename to prosperon/examples/chess/black_queen.png
diff --git a/moth/examples/chess/black_rook.png b/prosperon/examples/chess/black_rook.png
similarity index 100%
rename from moth/examples/chess/black_rook.png
rename to prosperon/examples/chess/black_rook.png
diff --git a/moth/examples/chess/config.js b/prosperon/examples/chess/config.js
similarity index 100%
rename from moth/examples/chess/config.js
rename to prosperon/examples/chess/config.js
diff --git a/moth/examples/chess/grid.js b/prosperon/examples/chess/grid.js
similarity index 100%
rename from moth/examples/chess/grid.js
rename to prosperon/examples/chess/grid.js
diff --git a/moth/examples/chess/main.js b/prosperon/examples/chess/main.js
similarity index 100%
rename from moth/examples/chess/main.js
rename to prosperon/examples/chess/main.js
diff --git a/moth/examples/chess/movement.js b/prosperon/examples/chess/movement.js
similarity index 100%
rename from moth/examples/chess/movement.js
rename to prosperon/examples/chess/movement.js
diff --git a/moth/examples/chess/pieces.js b/prosperon/examples/chess/pieces.js
similarity index 100%
rename from moth/examples/chess/pieces.js
rename to prosperon/examples/chess/pieces.js
diff --git a/moth/examples/chess/prosperon b/prosperon/examples/chess/prosperon
similarity index 100%
rename from moth/examples/chess/prosperon
rename to prosperon/examples/chess/prosperon
diff --git a/moth/examples/chess/rules.js b/prosperon/examples/chess/rules.js
similarity index 100%
rename from moth/examples/chess/rules.js
rename to prosperon/examples/chess/rules.js
diff --git a/moth/examples/chess/white_bishop.png b/prosperon/examples/chess/white_bishop.png
similarity index 100%
rename from moth/examples/chess/white_bishop.png
rename to prosperon/examples/chess/white_bishop.png
diff --git a/moth/examples/chess/white_king.png b/prosperon/examples/chess/white_king.png
similarity index 100%
rename from moth/examples/chess/white_king.png
rename to prosperon/examples/chess/white_king.png
diff --git a/moth/examples/chess/white_knight.png b/prosperon/examples/chess/white_knight.png
similarity index 100%
rename from moth/examples/chess/white_knight.png
rename to prosperon/examples/chess/white_knight.png
diff --git a/moth/examples/chess/white_pawn.png b/prosperon/examples/chess/white_pawn.png
similarity index 100%
rename from moth/examples/chess/white_pawn.png
rename to prosperon/examples/chess/white_pawn.png
diff --git a/moth/examples/chess/white_queen.png b/prosperon/examples/chess/white_queen.png
similarity index 100%
rename from moth/examples/chess/white_queen.png
rename to prosperon/examples/chess/white_queen.png
diff --git a/moth/examples/chess/white_rook.png b/prosperon/examples/chess/white_rook.png
similarity index 100%
rename from moth/examples/chess/white_rook.png
rename to prosperon/examples/chess/white_rook.png
diff --git a/moth/examples/pong/config.js b/prosperon/examples/pong/config.js
similarity index 100%
rename from moth/examples/pong/config.js
rename to prosperon/examples/pong/config.js
diff --git a/moth/examples/pong/main.js b/prosperon/examples/pong/main.js
similarity index 100%
rename from moth/examples/pong/main.js
rename to prosperon/examples/pong/main.js
diff --git a/moth/examples/snake/config.js b/prosperon/examples/snake/config.js
similarity index 100%
rename from moth/examples/snake/config.js
rename to prosperon/examples/snake/config.js
diff --git a/moth/examples/snake/main.js b/prosperon/examples/snake/main.js
similarity index 100%
rename from moth/examples/snake/main.js
rename to prosperon/examples/snake/main.js
diff --git a/moth/examples/steam_example.js b/prosperon/examples/steam_example.js
similarity index 100%
rename from moth/examples/steam_example.js
rename to prosperon/examples/steam_example.js
diff --git a/moth/examples/tetris/config.js b/prosperon/examples/tetris/config.js
similarity index 100%
rename from moth/examples/tetris/config.js
rename to prosperon/examples/tetris/config.js
diff --git a/moth/examples/tetris/main.js b/prosperon/examples/tetris/main.js
similarity index 100%
rename from moth/examples/tetris/main.js
rename to prosperon/examples/tetris/main.js
diff --git a/moth/fonts/c64.ttf b/prosperon/fonts/c64.ttf
similarity index 100%
rename from moth/fonts/c64.ttf
rename to prosperon/fonts/c64.ttf
diff --git a/moth/fonts/dos.ttf b/prosperon/fonts/dos.ttf
similarity index 100%
rename from moth/fonts/dos.ttf
rename to prosperon/fonts/dos.ttf
diff --git a/moth/fonts/teenytinypixels.ttf b/prosperon/fonts/teenytinypixels.ttf
similarity index 100%
rename from moth/fonts/teenytinypixels.ttf
rename to prosperon/fonts/teenytinypixels.ttf
diff --git a/moth/geometry.js b/prosperon/geometry.js
similarity index 88%
rename from moth/geometry.js
rename to prosperon/geometry.js
index 47447397..8640ab50 100644
--- a/moth/geometry.js
+++ b/prosperon/geometry.js
@@ -1,5 +1,5 @@
var geometry = this
-geometry[prosperon.DOC] = `
+geometry[cell.DOC] = `
A collection of geometry-related functions for circles, spheres, boxes, polygons,
and rectangle utilities. Some functionality is implemented in C and exposed here.
`
@@ -7,7 +7,7 @@ and rectangle utilities. Some functionality is implemented in C and exposed here
var math = use('math')
geometry.box = {}
-geometry.box[prosperon.DOC] = `
+geometry.box[cell.DOC] = `
An object for box-related operations. Overridden later by a function definition, so
its direct usage is overshadowed. Contains:
- points(ll, ur): Return an array of four 2D points for a box from ll (lower-left) to ur (upper-right).
@@ -16,7 +16,7 @@ its direct usage is overshadowed. Contains:
geometry.box.points = function (ll, ur) {
return [ll, ll.add([ur.x - ll.x, 0]), ur, ll.add([0, ur.y - ll.y])]
}
-geometry.box.points[prosperon.DOC] = `
+geometry.box.points[cell.DOC] = `
:param ll: Lower-left coordinate as a 2D vector (x,y).
:param ur: Upper-right coordinate as a 2D vector (x,y).
:return: An array of four points forming the corners of the box in order [ll, lower-right, ur, upper-left].
@@ -24,14 +24,14 @@ Compute the four corners of a box given lower-left and upper-right corners.
`
geometry.sphere = {}
-geometry.sphere[prosperon.DOC] = `
+geometry.sphere[cell.DOC] = `
Sphere-related geometry functions:
- volume(r): Return the volume of a sphere with radius r.
- random(r, theta, phi): Return a random point on or inside a sphere.
`
geometry.circle = {}
-geometry.circle[prosperon.DOC] = `
+geometry.circle[cell.DOC] = `
Circle-related geometry functions:
- area(r): Return the area of a circle with radius r.
- random(r, theta): Return a random 2D point on a circle; uses sphere.random internally and extracts x,z.
@@ -40,7 +40,7 @@ Circle-related geometry functions:
geometry.sphere.volume = function (r) {
return (Math.pi * r * r * r * 4) / 3
}
-geometry.sphere.volume[prosperon.DOC] = `
+geometry.sphere.volume[cell.DOC] = `
:param r: The sphere radius.
:return: The volume of the sphere, calculated as (4/3) * pi * r^3.
`
@@ -55,7 +55,7 @@ geometry.sphere.random = function (r, theta = [0, 1], phi = [-0.5, 0.5]) {
var pa = Math.turn2rad(Math.random_range(phi[0], phi[1]))
return [ra * Math.sin(ta) * Math.cos(pa), ra * Math.sin(ta) * Math.sin(pa), ra * Math.cos(ta)]
}
-geometry.sphere.random[prosperon.DOC] = `
+geometry.sphere.random[cell.DOC] = `
:param r: A single number (radius) or a 2-element array [minRadius, maxRadius].
:param theta: A single number or 2-element array defining the range in turns for the theta angle, default [0,1].
:param phi: A single number or 2-element array defining the range in turns for the phi angle, default [-0.5,0.5].
@@ -66,7 +66,7 @@ Generate a random point inside a sphere of variable radius, distributing angles
geometry.circle.area = function (r) {
return Math.pi * r * r
}
-geometry.circle.area[prosperon.DOC] = `
+geometry.circle.area[cell.DOC] = `
:param r: Radius of the circle.
:return: The area, pi * r^2.
`
@@ -74,7 +74,7 @@ geometry.circle.area[prosperon.DOC] = `
geometry.circle.random = function (r, theta) {
return geometry.sphere.random(r, theta).xz
}
-geometry.circle.random[prosperon.DOC] = `
+geometry.circle.random[cell.DOC] = `
:param r: A radius or [minRadius, maxRadius].
:param theta: Angle range in turns (single number or [min,max]).
:return: A 2D point (x,z) in the circle, using the sphere random generator and ignoring y.
@@ -91,7 +91,7 @@ geometry.box = function (w, h) {
]
return points
}
-geometry.box[prosperon.DOC] = `
+geometry.box[cell.DOC] = `
:param w: The width of the box.
:param h: The height of the box.
:return: An array of four 2D points representing the corners of a rectangle centered at [0,0].
@@ -101,7 +101,7 @@ Construct a box centered at the origin with the given width and height. This ove
geometry.ngon = function (radius, n) {
return geometry.arc(radius, 360, n)
}
-geometry.ngon[prosperon.DOC] = `
+geometry.ngon[cell.DOC] = `
:param radius: The radius of the n-gon from center to each vertex.
:param n: Number of sides/vertices.
:return: An array of 2D points forming a regular n-gon.
@@ -118,7 +118,7 @@ geometry.arc = function (radius, angle, n, start = 0) {
for (var i = 0; i < n; i++) points.push(math.rotate([radius, 0], start + arclen * i))
return points
}
-geometry.arc[prosperon.DOC] = `
+geometry.arc[cell.DOC] = `
:param radius: The distance from center to the arc points.
:param angle: The total angle (in degrees) over which points are generated, capped at 360.
:param n: Number of segments (if <=1, empty array is returned).
@@ -131,7 +131,7 @@ geometry.circle.points = function (radius, n) {
if (n <= 1) return []
return geometry.arc(radius, 360, n)
}
-geometry.circle.points[prosperon.DOC] = `
+geometry.circle.points[cell.DOC] = `
:param radius: The circle's radius.
:param n: Number of points around the circle.
:return: An array of 2D points equally spaced around a full 360-degree circle.
@@ -141,7 +141,7 @@ Shortcut for geometry.arc(radius, 360, n).
geometry.corners2points = function (ll, ur) {
return [ll, ll.add([ur.x, 0]), ur, ll.add([0, ur.y])]
}
-geometry.corners2points[prosperon.DOC] = `
+geometry.corners2points[cell.DOC] = `
:param ll: Lower-left 2D coordinate.
:param ur: Upper-right 2D coordinate (relative offset in x,y).
:return: A four-point array of corners [ll, lower-right, upper-right, upper-left].
@@ -158,7 +158,7 @@ geometry.sortpointsccw = function (points) {
})
return ccw.map(function (x) { return x.add(cm) })
}
-geometry.sortpointsccw[prosperon.DOC] = `
+geometry.sortpointsccw[cell.DOC] = `
:param points: An array of 2D points.
:return: A new array of the same points, sorted counterclockwise around their centroid.
Sort an array of points in CCW order based on their angles from the centroid.
@@ -185,61 +185,61 @@ geometry.points2cm = function(points) {
})
return [x / n, y / n]
}
-geometry.points2cm[prosperon.DOC] = `
+geometry.points2cm[cell.DOC] = `
:param points: An array of 2D points.
:return: The centroid (average x,y) of the given points.
`
-geometry.rect_intersection[prosperon.DOC] = `
+geometry.rect_intersection[cell.DOC] = `
:param a: The first rectangle as {x, y, w, h}.
:param b: The second rectangle as {x, y, w, h}.
:return: A rectangle that is the intersection of the two. May have zero width/height if no overlap.
Return the intersection of two rectangles. The result may be empty if no intersection.
`
-geometry.rect_intersects[prosperon.DOC] = `
+geometry.rect_intersects[cell.DOC] = `
:param a: Rectangle {x,y,w,h}.
:param b: Rectangle {x,y,w,h}.
:return: A boolean indicating whether the two rectangles overlap.
`
-geometry.rect_expand[prosperon.DOC] = `
+geometry.rect_expand[cell.DOC] = `
:param a: Rectangle {x,y,w,h}.
:param b: Rectangle {x,y,w,h}.
:return: A new rectangle that covers the bounds of both input rectangles.
Merge or combine two rectangles, returning their bounding rectangle.
`
-geometry.rect_inside[prosperon.DOC] = `
+geometry.rect_inside[cell.DOC] = `
:param inner: A rectangle to test.
:param outer: A rectangle that may contain 'inner'.
:return: True if 'inner' is completely inside 'outer', otherwise false.
`
-geometry.rect_random[prosperon.DOC] = `
+geometry.rect_random[cell.DOC] = `
:param rect: A rectangle {x,y,w,h}.
:return: A random point within the rectangle (uniform distribution).
`
-geometry.cwh2rect[prosperon.DOC] = `
+geometry.cwh2rect[cell.DOC] = `
:param center: A 2D point [cx, cy].
:param wh: A 2D size [width, height].
:return: A rectangle {x, y, w, h} with x,y set to center and w,h set to the given size.
Helper: convert a center point and width/height vector to a rect object.
`
-geometry.rect_point_inside[prosperon.DOC] = `
+geometry.rect_point_inside[cell.DOC] = `
:param rect: A rectangle {x,y,w,h}.
:param point: A 2D point [px, py].
:return: True if the point lies inside the rectangle, otherwise false.
`
-geometry.rect_pos[prosperon.DOC] = `
+geometry.rect_pos[cell.DOC] = `
:param rect: A rectangle {x,y,w,h}.
:return: A 2D vector [x,y] giving the rectangle's position.
`
-geometry.rect_move[prosperon.DOC] = `
+geometry.rect_move[cell.DOC] = `
:param rect: A rectangle {x,y,w,h}.
:param offset: A 2D vector to add to the rectangle's position.
:return: A new rectangle with updated x,y offset.
diff --git a/moth/graphics.js b/prosperon/graphics.js
similarity index 95%
rename from moth/graphics.js
rename to prosperon/graphics.js
index 6ae12690..fa18e88b 100644
--- a/moth/graphics.js
+++ b/prosperon/graphics.js
@@ -1,6 +1,6 @@
var graphics = this
-graphics[prosperon.DOC] = `
+graphics[cell.DOC] = `
Provides functionality for loading and managing images, fonts, textures, and sprite meshes.
Includes both JavaScript and C-implemented routines for creating geometry buffers, performing
rectangle packing, etc.
@@ -197,7 +197,7 @@ var image = {}
image.dimensions = function() {
return [this.texture.width, this.texture.height].scale([this.rect[2], this.rect[3]])
}
-image.dimensions[prosperon.DOC] = `
+image.dimensions[cell.DOC] = `
:return: A 2D array [width, height] that is the scaled size of this image (texture size * rect size).
`
@@ -218,7 +218,7 @@ function pack_into_sheet(images) {
graphics.is_image = function(obj) {
if (obj.texture && obj.rect) return true
}
-graphics.is_image[prosperon.DOC] = `
+graphics.is_image[cell.DOC] = `
:param obj: An object to check.
:return: True if 'obj' has a .texture and a .rect property, indicating it's an image object.
`
@@ -266,7 +266,7 @@ graphics.texture = function texture(path) {
cache.set(id, image)
return image
}
-graphics.texture[prosperon.DOC] = `
+graphics.texture[cell.DOC] = `
:param path: A string path to an image file or an already-loaded image object.
:return: An image object with {surface, texture, frames?, etc.} depending on the format.
Load or retrieve a cached image, converting it into a GPU texture. If 'path' is already an object, it’s returned directly.
@@ -280,7 +280,7 @@ graphics.texture.total_size = function() {
// Not yet implemented, presumably sum of (texture.width * texture.height * 4) for images in RAM
return size
}
-graphics.texture.total_size[prosperon.DOC] = `
+graphics.texture.total_size[cell.DOC] = `
:return: The total estimated memory size of all cached textures in RAM, in bytes. (Not yet implemented.)
`
@@ -289,7 +289,7 @@ graphics.texture.total_vram = function() {
// Not yet implemented, presumably sum of GPU memory usage
return vram
}
-graphics.texture.total_vram[prosperon.DOC] = `
+graphics.texture.total_vram[cell.DOC] = `
:return: The total estimated GPU memory usage of all cached textures, in bytes. (Not yet implemented.)
`
@@ -305,7 +305,7 @@ graphics.tex_hotreload = function tex_hotreload(file) {
merge_objects(oldimg, img, ['surface', 'texture', 'loop', 'time'])
}
-graphics.tex_hotreload[prosperon.DOC] = `
+graphics.tex_hotreload[cell.DOC] = `
:param file: The file path that was changed on disk.
:return: None
Reload the image for the given file, updating the cached copy in memory and GPU.
@@ -364,7 +364,7 @@ graphics.get_font = function get_font(path, size) {
return font
}
-graphics.get_font[prosperon.DOC] = `
+graphics.get_font[cell.DOC] = `
:param path: A string path to a font file, optionally with ".size" appended.
:param size: Pixel size of the font, if not included in 'path'.
:return: A font object with .surface and .texture for rendering text.
@@ -382,14 +382,14 @@ graphics.queue_sprite_mesh = function(queue) {
}
return [mesh.pos, mesh.uv, mesh.color, mesh.indices]
}
-graphics.queue_sprite_mesh[prosperon.DOC] = `
+graphics.queue_sprite_mesh[cell.DOC] = `
:param queue: An array of draw commands, some of which are {type:'sprite'} objects.
:return: An array of references to GPU buffers [pos,uv,color,indices].
Builds a single geometry mesh for all sprite-type commands in the queue, storing first_index/num_indices
so they can be rendered in one draw call.
`
-graphics.make_text_buffer[prosperon.DOC] = `
+graphics.make_text_buffer[cell.DOC] = `
:param text: The string to render.
:param rect: A rectangle specifying position and possibly wrapping.
:param angle: Rotation angle (unused or optional).
@@ -400,7 +400,7 @@ graphics.make_text_buffer[prosperon.DOC] = `
Generate a GPU buffer mesh of text quads for rendering with a font, etc.
`
-graphics.rectpack[prosperon.DOC] = `
+graphics.rectpack[cell.DOC] = `
:param width: The width of the area to pack into.
:param height: The height of the area to pack into.
:param sizes: An array of [w,h] pairs for the rectangles to pack.
@@ -408,39 +408,39 @@ graphics.rectpack[prosperon.DOC] = `
Perform a rectangle packing using the stbrp library. Return positions for each rect.
`
-graphics.make_texture[prosperon.DOC] = `
+graphics.make_texture[cell.DOC] = `
:param data: Raw image bytes (PNG, JPG, etc.) as an ArrayBuffer.
:return: An SDL_Surface object representing the decoded image in RAM, for use with GPU or software rendering.
Convert raw image bytes into an SDL_Surface object.
`
-graphics.make_gif[prosperon.DOC] = `
+graphics.make_gif[cell.DOC] = `
:param data: An ArrayBuffer containing GIF data.
:return: An object with frames[], each frame having its own .surface. Some also have a .texture for GPU use.
Load a GIF, returning its frames. If it's a single-frame GIF, the result may have .surface only.
`
-graphics.make_aseprite[prosperon.DOC] = `
+graphics.make_aseprite[cell.DOC] = `
:param data: An ArrayBuffer containing Aseprite (ASE) file data.
:return: An object containing frames or animations, each with .surface. May also have top-level .surface for a single-layer case.
Load an Aseprite/ASE file from an array of bytes, returning frames or animations.
`
-graphics.cull_sprites[prosperon.DOC] = `
+graphics.cull_sprites[cell.DOC] = `
:param sprites: An array of sprite objects (each has rect or transform).
:param camera: A camera or bounding rectangle defining the view area.
:return: A new array of sprites that are visible in the camera's view.
Filter an array of sprites to only those visible in the provided camera’s view.
`
-graphics.make_font[prosperon.DOC] = `
+graphics.make_font[cell.DOC] = `
:param data: TTF/OTF file data as an ArrayBuffer.
:param size: Pixel size for rendering glyphs.
:return: A font object with surface, texture, and glyph data, for text rendering with make_text_buffer.
Load a font from TTF/OTF data at the given size.
`
-graphics.make_line_prim[prosperon.DOC] = `
+graphics.make_line_prim[cell.DOC] = `
:param points: An array of [x,y] points forming the line.
:param thickness: The thickness (width) of the polyline.
:param startCap: (Unused) Possibly the type of cap for the start.
diff --git a/moth/icons/moon.gif b/prosperon/icons/moon.gif
similarity index 100%
rename from moth/icons/moon.gif
rename to prosperon/icons/moon.gif
diff --git a/moth/icons/no_tex.gif b/prosperon/icons/no_tex.gif
similarity index 100%
rename from moth/icons/no_tex.gif
rename to prosperon/icons/no_tex.gif
diff --git a/moth/icons_dev/airplane.png b/prosperon/icons_dev/airplane.png
similarity index 100%
rename from moth/icons_dev/airplane.png
rename to prosperon/icons_dev/airplane.png
diff --git a/moth/icons_dev/ak47.png b/prosperon/icons_dev/ak47.png
similarity index 100%
rename from moth/icons_dev/ak47.png
rename to prosperon/icons_dev/ak47.png
diff --git a/moth/icons_dev/amputation.png b/prosperon/icons_dev/amputation.png
similarity index 100%
rename from moth/icons_dev/amputation.png
rename to prosperon/icons_dev/amputation.png
diff --git a/moth/icons_dev/ant.png b/prosperon/icons_dev/ant.png
similarity index 100%
rename from moth/icons_dev/ant.png
rename to prosperon/icons_dev/ant.png
diff --git a/moth/icons_dev/archer.png b/prosperon/icons_dev/archer.png
similarity index 100%
rename from moth/icons_dev/archer.png
rename to prosperon/icons_dev/archer.png
diff --git a/moth/icons_dev/armadillo.png b/prosperon/icons_dev/armadillo.png
similarity index 100%
rename from moth/icons_dev/armadillo.png
rename to prosperon/icons_dev/armadillo.png
diff --git a/moth/icons_dev/atom.png b/prosperon/icons_dev/atom.png
similarity index 100%
rename from moth/icons_dev/atom.png
rename to prosperon/icons_dev/atom.png
diff --git a/moth/icons_dev/banana.png b/prosperon/icons_dev/banana.png
similarity index 100%
rename from moth/icons_dev/banana.png
rename to prosperon/icons_dev/banana.png
diff --git a/moth/icons_dev/bank.png b/prosperon/icons_dev/bank.png
similarity index 100%
rename from moth/icons_dev/bank.png
rename to prosperon/icons_dev/bank.png
diff --git a/moth/icons_dev/banknote.png b/prosperon/icons_dev/banknote.png
similarity index 100%
rename from moth/icons_dev/banknote.png
rename to prosperon/icons_dev/banknote.png
diff --git a/moth/icons_dev/barn.png b/prosperon/icons_dev/barn.png
similarity index 100%
rename from moth/icons_dev/barn.png
rename to prosperon/icons_dev/barn.png
diff --git a/moth/icons_dev/barrel.png b/prosperon/icons_dev/barrel.png
similarity index 100%
rename from moth/icons_dev/barrel.png
rename to prosperon/icons_dev/barrel.png
diff --git a/moth/icons_dev/basket.png b/prosperon/icons_dev/basket.png
similarity index 100%
rename from moth/icons_dev/basket.png
rename to prosperon/icons_dev/basket.png
diff --git a/moth/icons_dev/bat.png b/prosperon/icons_dev/bat.png
similarity index 100%
rename from moth/icons_dev/bat.png
rename to prosperon/icons_dev/bat.png
diff --git a/moth/icons_dev/bed.png b/prosperon/icons_dev/bed.png
similarity index 100%
rename from moth/icons_dev/bed.png
rename to prosperon/icons_dev/bed.png
diff --git a/moth/icons_dev/belt.png b/prosperon/icons_dev/belt.png
similarity index 100%
rename from moth/icons_dev/belt.png
rename to prosperon/icons_dev/belt.png
diff --git a/moth/icons_dev/boar.png b/prosperon/icons_dev/boar.png
similarity index 100%
rename from moth/icons_dev/boar.png
rename to prosperon/icons_dev/boar.png
diff --git a/moth/icons_dev/broom.png b/prosperon/icons_dev/broom.png
similarity index 100%
rename from moth/icons_dev/broom.png
rename to prosperon/icons_dev/broom.png
diff --git a/moth/icons_dev/cabin.png b/prosperon/icons_dev/cabin.png
similarity index 100%
rename from moth/icons_dev/cabin.png
rename to prosperon/icons_dev/cabin.png
diff --git a/moth/icons_dev/card-10-clubs.png b/prosperon/icons_dev/card-10-clubs.png
similarity index 100%
rename from moth/icons_dev/card-10-clubs.png
rename to prosperon/icons_dev/card-10-clubs.png
diff --git a/moth/icons_dev/card-10-diamonds.png b/prosperon/icons_dev/card-10-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-10-diamonds.png
rename to prosperon/icons_dev/card-10-diamonds.png
diff --git a/moth/icons_dev/card-10-hearts.png b/prosperon/icons_dev/card-10-hearts.png
similarity index 100%
rename from moth/icons_dev/card-10-hearts.png
rename to prosperon/icons_dev/card-10-hearts.png
diff --git a/moth/icons_dev/card-10-spades.png b/prosperon/icons_dev/card-10-spades.png
similarity index 100%
rename from moth/icons_dev/card-10-spades.png
rename to prosperon/icons_dev/card-10-spades.png
diff --git a/moth/icons_dev/card-2-clubs.png b/prosperon/icons_dev/card-2-clubs.png
similarity index 100%
rename from moth/icons_dev/card-2-clubs.png
rename to prosperon/icons_dev/card-2-clubs.png
diff --git a/moth/icons_dev/card-2-diamonds.png b/prosperon/icons_dev/card-2-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-2-diamonds.png
rename to prosperon/icons_dev/card-2-diamonds.png
diff --git a/moth/icons_dev/card-2-hearts.png b/prosperon/icons_dev/card-2-hearts.png
similarity index 100%
rename from moth/icons_dev/card-2-hearts.png
rename to prosperon/icons_dev/card-2-hearts.png
diff --git a/moth/icons_dev/card-2-spades.png b/prosperon/icons_dev/card-2-spades.png
similarity index 100%
rename from moth/icons_dev/card-2-spades.png
rename to prosperon/icons_dev/card-2-spades.png
diff --git a/moth/icons_dev/card-3-clubs.png b/prosperon/icons_dev/card-3-clubs.png
similarity index 100%
rename from moth/icons_dev/card-3-clubs.png
rename to prosperon/icons_dev/card-3-clubs.png
diff --git a/moth/icons_dev/card-3-diamonds.png b/prosperon/icons_dev/card-3-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-3-diamonds.png
rename to prosperon/icons_dev/card-3-diamonds.png
diff --git a/moth/icons_dev/card-3-hearts.png b/prosperon/icons_dev/card-3-hearts.png
similarity index 100%
rename from moth/icons_dev/card-3-hearts.png
rename to prosperon/icons_dev/card-3-hearts.png
diff --git a/moth/icons_dev/card-3-spades.png b/prosperon/icons_dev/card-3-spades.png
similarity index 100%
rename from moth/icons_dev/card-3-spades.png
rename to prosperon/icons_dev/card-3-spades.png
diff --git a/moth/icons_dev/card-4-clubs.png b/prosperon/icons_dev/card-4-clubs.png
similarity index 100%
rename from moth/icons_dev/card-4-clubs.png
rename to prosperon/icons_dev/card-4-clubs.png
diff --git a/moth/icons_dev/card-4-diamonds.png b/prosperon/icons_dev/card-4-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-4-diamonds.png
rename to prosperon/icons_dev/card-4-diamonds.png
diff --git a/moth/icons_dev/card-4-hearts.png b/prosperon/icons_dev/card-4-hearts.png
similarity index 100%
rename from moth/icons_dev/card-4-hearts.png
rename to prosperon/icons_dev/card-4-hearts.png
diff --git a/moth/icons_dev/card-4-spades.png b/prosperon/icons_dev/card-4-spades.png
similarity index 100%
rename from moth/icons_dev/card-4-spades.png
rename to prosperon/icons_dev/card-4-spades.png
diff --git a/moth/icons_dev/card-5-clubs.png b/prosperon/icons_dev/card-5-clubs.png
similarity index 100%
rename from moth/icons_dev/card-5-clubs.png
rename to prosperon/icons_dev/card-5-clubs.png
diff --git a/moth/icons_dev/card-5-diamonds.png b/prosperon/icons_dev/card-5-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-5-diamonds.png
rename to prosperon/icons_dev/card-5-diamonds.png
diff --git a/moth/icons_dev/card-5-hearts.png b/prosperon/icons_dev/card-5-hearts.png
similarity index 100%
rename from moth/icons_dev/card-5-hearts.png
rename to prosperon/icons_dev/card-5-hearts.png
diff --git a/moth/icons_dev/card-5-spades.png b/prosperon/icons_dev/card-5-spades.png
similarity index 100%
rename from moth/icons_dev/card-5-spades.png
rename to prosperon/icons_dev/card-5-spades.png
diff --git a/moth/icons_dev/card-6-clubs.png b/prosperon/icons_dev/card-6-clubs.png
similarity index 100%
rename from moth/icons_dev/card-6-clubs.png
rename to prosperon/icons_dev/card-6-clubs.png
diff --git a/moth/icons_dev/card-6-diamonds.png b/prosperon/icons_dev/card-6-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-6-diamonds.png
rename to prosperon/icons_dev/card-6-diamonds.png
diff --git a/moth/icons_dev/card-6-hearts.png b/prosperon/icons_dev/card-6-hearts.png
similarity index 100%
rename from moth/icons_dev/card-6-hearts.png
rename to prosperon/icons_dev/card-6-hearts.png
diff --git a/moth/icons_dev/card-6-spades.png b/prosperon/icons_dev/card-6-spades.png
similarity index 100%
rename from moth/icons_dev/card-6-spades.png
rename to prosperon/icons_dev/card-6-spades.png
diff --git a/moth/icons_dev/card-7-clubs.png b/prosperon/icons_dev/card-7-clubs.png
similarity index 100%
rename from moth/icons_dev/card-7-clubs.png
rename to prosperon/icons_dev/card-7-clubs.png
diff --git a/moth/icons_dev/card-7-diamonds.png b/prosperon/icons_dev/card-7-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-7-diamonds.png
rename to prosperon/icons_dev/card-7-diamonds.png
diff --git a/moth/icons_dev/card-7-hearts.png b/prosperon/icons_dev/card-7-hearts.png
similarity index 100%
rename from moth/icons_dev/card-7-hearts.png
rename to prosperon/icons_dev/card-7-hearts.png
diff --git a/moth/icons_dev/card-7-spades.png b/prosperon/icons_dev/card-7-spades.png
similarity index 100%
rename from moth/icons_dev/card-7-spades.png
rename to prosperon/icons_dev/card-7-spades.png
diff --git a/moth/icons_dev/card-8-clubs.png b/prosperon/icons_dev/card-8-clubs.png
similarity index 100%
rename from moth/icons_dev/card-8-clubs.png
rename to prosperon/icons_dev/card-8-clubs.png
diff --git a/moth/icons_dev/card-8-diamonds.png b/prosperon/icons_dev/card-8-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-8-diamonds.png
rename to prosperon/icons_dev/card-8-diamonds.png
diff --git a/moth/icons_dev/card-8-hearts.png b/prosperon/icons_dev/card-8-hearts.png
similarity index 100%
rename from moth/icons_dev/card-8-hearts.png
rename to prosperon/icons_dev/card-8-hearts.png
diff --git a/moth/icons_dev/card-8-spades.png b/prosperon/icons_dev/card-8-spades.png
similarity index 100%
rename from moth/icons_dev/card-8-spades.png
rename to prosperon/icons_dev/card-8-spades.png
diff --git a/moth/icons_dev/card-9-clubs.png b/prosperon/icons_dev/card-9-clubs.png
similarity index 100%
rename from moth/icons_dev/card-9-clubs.png
rename to prosperon/icons_dev/card-9-clubs.png
diff --git a/moth/icons_dev/card-9-diamonds.png b/prosperon/icons_dev/card-9-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-9-diamonds.png
rename to prosperon/icons_dev/card-9-diamonds.png
diff --git a/moth/icons_dev/card-9-hearts.png b/prosperon/icons_dev/card-9-hearts.png
similarity index 100%
rename from moth/icons_dev/card-9-hearts.png
rename to prosperon/icons_dev/card-9-hearts.png
diff --git a/moth/icons_dev/card-9-spades.png b/prosperon/icons_dev/card-9-spades.png
similarity index 100%
rename from moth/icons_dev/card-9-spades.png
rename to prosperon/icons_dev/card-9-spades.png
diff --git a/moth/icons_dev/card-ace-clubs.png b/prosperon/icons_dev/card-ace-clubs.png
similarity index 100%
rename from moth/icons_dev/card-ace-clubs.png
rename to prosperon/icons_dev/card-ace-clubs.png
diff --git a/moth/icons_dev/card-ace-diamonds.png b/prosperon/icons_dev/card-ace-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-ace-diamonds.png
rename to prosperon/icons_dev/card-ace-diamonds.png
diff --git a/moth/icons_dev/card-ace-hearts.png b/prosperon/icons_dev/card-ace-hearts.png
similarity index 100%
rename from moth/icons_dev/card-ace-hearts.png
rename to prosperon/icons_dev/card-ace-hearts.png
diff --git a/moth/icons_dev/card-ace-spades.png b/prosperon/icons_dev/card-ace-spades.png
similarity index 100%
rename from moth/icons_dev/card-ace-spades.png
rename to prosperon/icons_dev/card-ace-spades.png
diff --git a/moth/icons_dev/card-discard.png b/prosperon/icons_dev/card-discard.png
similarity index 100%
rename from moth/icons_dev/card-discard.png
rename to prosperon/icons_dev/card-discard.png
diff --git a/moth/icons_dev/card-draw.png b/prosperon/icons_dev/card-draw.png
similarity index 100%
rename from moth/icons_dev/card-draw.png
rename to prosperon/icons_dev/card-draw.png
diff --git a/moth/icons_dev/card-jack-clubs.png b/prosperon/icons_dev/card-jack-clubs.png
similarity index 100%
rename from moth/icons_dev/card-jack-clubs.png
rename to prosperon/icons_dev/card-jack-clubs.png
diff --git a/moth/icons_dev/card-jack-diamonds.png b/prosperon/icons_dev/card-jack-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-jack-diamonds.png
rename to prosperon/icons_dev/card-jack-diamonds.png
diff --git a/moth/icons_dev/card-jack-hearts.png b/prosperon/icons_dev/card-jack-hearts.png
similarity index 100%
rename from moth/icons_dev/card-jack-hearts.png
rename to prosperon/icons_dev/card-jack-hearts.png
diff --git a/moth/icons_dev/card-jack-spades.png b/prosperon/icons_dev/card-jack-spades.png
similarity index 100%
rename from moth/icons_dev/card-jack-spades.png
rename to prosperon/icons_dev/card-jack-spades.png
diff --git a/moth/icons_dev/card-joker.png b/prosperon/icons_dev/card-joker.png
similarity index 100%
rename from moth/icons_dev/card-joker.png
rename to prosperon/icons_dev/card-joker.png
diff --git a/moth/icons_dev/card-king-clubs.png b/prosperon/icons_dev/card-king-clubs.png
similarity index 100%
rename from moth/icons_dev/card-king-clubs.png
rename to prosperon/icons_dev/card-king-clubs.png
diff --git a/moth/icons_dev/card-king-diamonds.png b/prosperon/icons_dev/card-king-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-king-diamonds.png
rename to prosperon/icons_dev/card-king-diamonds.png
diff --git a/moth/icons_dev/card-king-hearts.png b/prosperon/icons_dev/card-king-hearts.png
similarity index 100%
rename from moth/icons_dev/card-king-hearts.png
rename to prosperon/icons_dev/card-king-hearts.png
diff --git a/moth/icons_dev/card-king-spades.png b/prosperon/icons_dev/card-king-spades.png
similarity index 100%
rename from moth/icons_dev/card-king-spades.png
rename to prosperon/icons_dev/card-king-spades.png
diff --git a/moth/icons_dev/card-pick.png b/prosperon/icons_dev/card-pick.png
similarity index 100%
rename from moth/icons_dev/card-pick.png
rename to prosperon/icons_dev/card-pick.png
diff --git a/moth/icons_dev/card-queen-clubs.png b/prosperon/icons_dev/card-queen-clubs.png
similarity index 100%
rename from moth/icons_dev/card-queen-clubs.png
rename to prosperon/icons_dev/card-queen-clubs.png
diff --git a/moth/icons_dev/card-queen-diamonds.png b/prosperon/icons_dev/card-queen-diamonds.png
similarity index 100%
rename from moth/icons_dev/card-queen-diamonds.png
rename to prosperon/icons_dev/card-queen-diamonds.png
diff --git a/moth/icons_dev/card-queen-hearts.png b/prosperon/icons_dev/card-queen-hearts.png
similarity index 100%
rename from moth/icons_dev/card-queen-hearts.png
rename to prosperon/icons_dev/card-queen-hearts.png
diff --git a/moth/icons_dev/card-queen-spades.png b/prosperon/icons_dev/card-queen-spades.png
similarity index 100%
rename from moth/icons_dev/card-queen-spades.png
rename to prosperon/icons_dev/card-queen-spades.png
diff --git a/moth/icons_dev/card-random.png b/prosperon/icons_dev/card-random.png
similarity index 100%
rename from moth/icons_dev/card-random.png
rename to prosperon/icons_dev/card-random.png
diff --git a/moth/icons_dev/chess-bishop.png b/prosperon/icons_dev/chess-bishop.png
similarity index 100%
rename from moth/icons_dev/chess-bishop.png
rename to prosperon/icons_dev/chess-bishop.png
diff --git a/moth/icons_dev/chess-king.png b/prosperon/icons_dev/chess-king.png
similarity index 100%
rename from moth/icons_dev/chess-king.png
rename to prosperon/icons_dev/chess-king.png
diff --git a/moth/icons_dev/chess-knight.png b/prosperon/icons_dev/chess-knight.png
similarity index 100%
rename from moth/icons_dev/chess-knight.png
rename to prosperon/icons_dev/chess-knight.png
diff --git a/moth/icons_dev/chess-pawn.png b/prosperon/icons_dev/chess-pawn.png
similarity index 100%
rename from moth/icons_dev/chess-pawn.png
rename to prosperon/icons_dev/chess-pawn.png
diff --git a/moth/icons_dev/chess-queen.png b/prosperon/icons_dev/chess-queen.png
similarity index 100%
rename from moth/icons_dev/chess-queen.png
rename to prosperon/icons_dev/chess-queen.png
diff --git a/moth/icons_dev/chess-rook.png b/prosperon/icons_dev/chess-rook.png
similarity index 100%
rename from moth/icons_dev/chess-rook.png
rename to prosperon/icons_dev/chess-rook.png
diff --git a/moth/icons_dev/chicken.png b/prosperon/icons_dev/chicken.png
similarity index 100%
rename from moth/icons_dev/chicken.png
rename to prosperon/icons_dev/chicken.png
diff --git a/moth/icons_dev/clarinet.png b/prosperon/icons_dev/clarinet.png
similarity index 100%
rename from moth/icons_dev/clarinet.png
rename to prosperon/icons_dev/clarinet.png
diff --git a/moth/icons_dev/cloak.png b/prosperon/icons_dev/cloak.png
similarity index 100%
rename from moth/icons_dev/cloak.png
rename to prosperon/icons_dev/cloak.png
diff --git a/moth/icons_dev/clown.png b/prosperon/icons_dev/clown.png
similarity index 100%
rename from moth/icons_dev/clown.png
rename to prosperon/icons_dev/clown.png
diff --git a/moth/icons_dev/coins.png b/prosperon/icons_dev/coins.png
similarity index 100%
rename from moth/icons_dev/coins.png
rename to prosperon/icons_dev/coins.png
diff --git a/moth/icons_dev/compass.png b/prosperon/icons_dev/compass.png
similarity index 100%
rename from moth/icons_dev/compass.png
rename to prosperon/icons_dev/compass.png
diff --git a/moth/icons_dev/cow.png b/prosperon/icons_dev/cow.png
similarity index 100%
rename from moth/icons_dev/cow.png
rename to prosperon/icons_dev/cow.png
diff --git a/moth/icons_dev/crossed-swords.png b/prosperon/icons_dev/crossed-swords.png
similarity index 100%
rename from moth/icons_dev/crossed-swords.png
rename to prosperon/icons_dev/crossed-swords.png
diff --git a/moth/icons_dev/deer.png b/prosperon/icons_dev/deer.png
similarity index 100%
rename from moth/icons_dev/deer.png
rename to prosperon/icons_dev/deer.png
diff --git a/moth/icons_dev/dice.png b/prosperon/icons_dev/dice.png
similarity index 100%
rename from moth/icons_dev/dice.png
rename to prosperon/icons_dev/dice.png
diff --git a/moth/icons_dev/dodo.png b/prosperon/icons_dev/dodo.png
similarity index 100%
rename from moth/icons_dev/dodo.png
rename to prosperon/icons_dev/dodo.png
diff --git a/moth/icons_dev/donkey.png b/prosperon/icons_dev/donkey.png
similarity index 100%
rename from moth/icons_dev/donkey.png
rename to prosperon/icons_dev/donkey.png
diff --git a/moth/icons_dev/door.png b/prosperon/icons_dev/door.png
similarity index 100%
rename from moth/icons_dev/door.png
rename to prosperon/icons_dev/door.png
diff --git a/moth/icons_dev/duck.png b/prosperon/icons_dev/duck.png
similarity index 100%
rename from moth/icons_dev/duck.png
rename to prosperon/icons_dev/duck.png
diff --git a/moth/icons_dev/dynamite.png b/prosperon/icons_dev/dynamite.png
similarity index 100%
rename from moth/icons_dev/dynamite.png
rename to prosperon/icons_dev/dynamite.png
diff --git a/moth/icons_dev/f-clef.png b/prosperon/icons_dev/f-clef.png
similarity index 100%
rename from moth/icons_dev/f-clef.png
rename to prosperon/icons_dev/f-clef.png
diff --git a/moth/icons_dev/fairy.png b/prosperon/icons_dev/fairy.png
similarity index 100%
rename from moth/icons_dev/fairy.png
rename to prosperon/icons_dev/fairy.png
diff --git a/moth/icons_dev/fangs.png b/prosperon/icons_dev/fangs.png
similarity index 100%
rename from moth/icons_dev/fangs.png
rename to prosperon/icons_dev/fangs.png
diff --git a/moth/icons_dev/fez.png b/prosperon/icons_dev/fez.png
similarity index 100%
rename from moth/icons_dev/fez.png
rename to prosperon/icons_dev/fez.png
diff --git a/moth/icons_dev/files.png b/prosperon/icons_dev/files.png
similarity index 100%
rename from moth/icons_dev/files.png
rename to prosperon/icons_dev/files.png
diff --git a/moth/icons_dev/finch.png b/prosperon/icons_dev/finch.png
similarity index 100%
rename from moth/icons_dev/finch.png
rename to prosperon/icons_dev/finch.png
diff --git a/moth/icons_dev/fire.png b/prosperon/icons_dev/fire.png
similarity index 100%
rename from moth/icons_dev/fire.png
rename to prosperon/icons_dev/fire.png
diff --git a/moth/icons_dev/flashlight.png b/prosperon/icons_dev/flashlight.png
similarity index 100%
rename from moth/icons_dev/flashlight.png
rename to prosperon/icons_dev/flashlight.png
diff --git a/moth/icons_dev/footsteps.png b/prosperon/icons_dev/footsteps.png
similarity index 100%
rename from moth/icons_dev/footsteps.png
rename to prosperon/icons_dev/footsteps.png
diff --git a/moth/icons_dev/forest.png b/prosperon/icons_dev/forest.png
similarity index 100%
rename from moth/icons_dev/forest.png
rename to prosperon/icons_dev/forest.png
diff --git a/moth/icons_dev/fox.png b/prosperon/icons_dev/fox.png
similarity index 100%
rename from moth/icons_dev/fox.png
rename to prosperon/icons_dev/fox.png
diff --git a/moth/icons_dev/fuji.png b/prosperon/icons_dev/fuji.png
similarity index 100%
rename from moth/icons_dev/fuji.png
rename to prosperon/icons_dev/fuji.png
diff --git a/moth/icons_dev/g-clef.png b/prosperon/icons_dev/g-clef.png
similarity index 100%
rename from moth/icons_dev/g-clef.png
rename to prosperon/icons_dev/g-clef.png
diff --git a/moth/icons_dev/gargoyle.png b/prosperon/icons_dev/gargoyle.png
similarity index 100%
rename from moth/icons_dev/gargoyle.png
rename to prosperon/icons_dev/gargoyle.png
diff --git a/moth/icons_dev/garlic.png b/prosperon/icons_dev/garlic.png
similarity index 100%
rename from moth/icons_dev/garlic.png
rename to prosperon/icons_dev/garlic.png
diff --git a/moth/icons_dev/gasmask.png b/prosperon/icons_dev/gasmask.png
similarity index 100%
rename from moth/icons_dev/gasmask.png
rename to prosperon/icons_dev/gasmask.png
diff --git a/moth/icons_dev/gate.png b/prosperon/icons_dev/gate.png
similarity index 100%
rename from moth/icons_dev/gate.png
rename to prosperon/icons_dev/gate.png
diff --git a/moth/icons_dev/goblin.png b/prosperon/icons_dev/goblin.png
similarity index 100%
rename from moth/icons_dev/goblin.png
rename to prosperon/icons_dev/goblin.png
diff --git a/moth/icons_dev/goose.png b/prosperon/icons_dev/goose.png
similarity index 100%
rename from moth/icons_dev/goose.png
rename to prosperon/icons_dev/goose.png
diff --git a/moth/icons_dev/gorilla.png b/prosperon/icons_dev/gorilla.png
similarity index 100%
rename from moth/icons_dev/gorilla.png
rename to prosperon/icons_dev/gorilla.png
diff --git a/moth/icons_dev/grass.png b/prosperon/icons_dev/grass.png
similarity index 100%
rename from moth/icons_dev/grass.png
rename to prosperon/icons_dev/grass.png
diff --git a/moth/icons_dev/harp.png b/prosperon/icons_dev/harp.png
similarity index 100%
rename from moth/icons_dev/harp.png
rename to prosperon/icons_dev/harp.png
diff --git a/moth/icons_dev/hatchet.png b/prosperon/icons_dev/hatchet.png
similarity index 100%
rename from moth/icons_dev/hatchet.png
rename to prosperon/icons_dev/hatchet.png
diff --git a/moth/icons_dev/heart.png b/prosperon/icons_dev/heart.png
similarity index 100%
rename from moth/icons_dev/heart.png
rename to prosperon/icons_dev/heart.png
diff --git a/moth/icons_dev/hedgehog.png b/prosperon/icons_dev/hedgehog.png
similarity index 100%
rename from moth/icons_dev/hedgehog.png
rename to prosperon/icons_dev/hedgehog.png
diff --git a/moth/icons_dev/heron.png b/prosperon/icons_dev/heron.png
similarity index 100%
rename from moth/icons_dev/heron.png
rename to prosperon/icons_dev/heron.png
diff --git a/moth/icons_dev/hook.png b/prosperon/icons_dev/hook.png
similarity index 100%
rename from moth/icons_dev/hook.png
rename to prosperon/icons_dev/hook.png
diff --git a/moth/icons_dev/hotdog.png b/prosperon/icons_dev/hotdog.png
similarity index 100%
rename from moth/icons_dev/hotdog.png
rename to prosperon/icons_dev/hotdog.png
diff --git a/moth/icons_dev/info.png b/prosperon/icons_dev/info.png
similarity index 100%
rename from moth/icons_dev/info.png
rename to prosperon/icons_dev/info.png
diff --git a/moth/icons_dev/key.png b/prosperon/icons_dev/key.png
similarity index 100%
rename from moth/icons_dev/key.png
rename to prosperon/icons_dev/key.png
diff --git a/moth/icons_dev/kite.png b/prosperon/icons_dev/kite.png
similarity index 100%
rename from moth/icons_dev/kite.png
rename to prosperon/icons_dev/kite.png
diff --git a/moth/icons_dev/ladder.png b/prosperon/icons_dev/ladder.png
similarity index 100%
rename from moth/icons_dev/ladder.png
rename to prosperon/icons_dev/ladder.png
diff --git a/moth/icons_dev/lambda.png b/prosperon/icons_dev/lambda.png
similarity index 100%
rename from moth/icons_dev/lambda.png
rename to prosperon/icons_dev/lambda.png
diff --git a/moth/icons_dev/led.png b/prosperon/icons_dev/led.png
similarity index 100%
rename from moth/icons_dev/led.png
rename to prosperon/icons_dev/led.png
diff --git a/moth/icons_dev/lemon.png b/prosperon/icons_dev/lemon.png
similarity index 100%
rename from moth/icons_dev/lemon.png
rename to prosperon/icons_dev/lemon.png
diff --git a/moth/icons_dev/log.png b/prosperon/icons_dev/log.png
similarity index 100%
rename from moth/icons_dev/log.png
rename to prosperon/icons_dev/log.png
diff --git a/moth/icons_dev/maracas.png b/prosperon/icons_dev/maracas.png
similarity index 100%
rename from moth/icons_dev/maracas.png
rename to prosperon/icons_dev/maracas.png
diff --git a/moth/icons_dev/moai.png b/prosperon/icons_dev/moai.png
similarity index 100%
rename from moth/icons_dev/moai.png
rename to prosperon/icons_dev/moai.png
diff --git a/moth/icons_dev/mole.png b/prosperon/icons_dev/mole.png
similarity index 100%
rename from moth/icons_dev/mole.png
rename to prosperon/icons_dev/mole.png
diff --git a/moth/icons_dev/mouse.png b/prosperon/icons_dev/mouse.png
similarity index 100%
rename from moth/icons_dev/mouse.png
rename to prosperon/icons_dev/mouse.png
diff --git a/moth/icons_dev/move.png b/prosperon/icons_dev/move.png
similarity index 100%
rename from moth/icons_dev/move.png
rename to prosperon/icons_dev/move.png
diff --git a/moth/icons_dev/necklace.png b/prosperon/icons_dev/necklace.png
similarity index 100%
rename from moth/icons_dev/necklace.png
rename to prosperon/icons_dev/necklace.png
diff --git a/moth/icons_dev/ocarina.png b/prosperon/icons_dev/ocarina.png
similarity index 100%
rename from moth/icons_dev/ocarina.png
rename to prosperon/icons_dev/ocarina.png
diff --git a/moth/icons_dev/panflute.png b/prosperon/icons_dev/panflute.png
similarity index 100%
rename from moth/icons_dev/panflute.png
rename to prosperon/icons_dev/panflute.png
diff --git a/moth/icons_dev/pangolin.png b/prosperon/icons_dev/pangolin.png
similarity index 100%
rename from moth/icons_dev/pangolin.png
rename to prosperon/icons_dev/pangolin.png
diff --git a/moth/icons_dev/pc.png b/prosperon/icons_dev/pc.png
similarity index 100%
rename from moth/icons_dev/pc.png
rename to prosperon/icons_dev/pc.png
diff --git a/moth/icons_dev/phone.png b/prosperon/icons_dev/phone.png
similarity index 100%
rename from moth/icons_dev/phone.png
rename to prosperon/icons_dev/phone.png
diff --git a/moth/icons_dev/piechart.png b/prosperon/icons_dev/piechart.png
similarity index 100%
rename from moth/icons_dev/piechart.png
rename to prosperon/icons_dev/piechart.png
diff --git a/moth/icons_dev/pin.png b/prosperon/icons_dev/pin.png
similarity index 100%
rename from moth/icons_dev/pin.png
rename to prosperon/icons_dev/pin.png
diff --git a/moth/icons_dev/pizza.png b/prosperon/icons_dev/pizza.png
similarity index 100%
rename from moth/icons_dev/pizza.png
rename to prosperon/icons_dev/pizza.png
diff --git a/moth/icons_dev/poi.png b/prosperon/icons_dev/poi.png
similarity index 100%
rename from moth/icons_dev/poi.png
rename to prosperon/icons_dev/poi.png
diff --git a/moth/icons_dev/polarbear.png b/prosperon/icons_dev/polarbear.png
similarity index 100%
rename from moth/icons_dev/polarbear.png
rename to prosperon/icons_dev/polarbear.png
diff --git a/moth/icons_dev/quiver.png b/prosperon/icons_dev/quiver.png
similarity index 100%
rename from moth/icons_dev/quiver.png
rename to prosperon/icons_dev/quiver.png
diff --git a/moth/icons_dev/rabbit.png b/prosperon/icons_dev/rabbit.png
similarity index 100%
rename from moth/icons_dev/rabbit.png
rename to prosperon/icons_dev/rabbit.png
diff --git a/moth/icons_dev/raft.png b/prosperon/icons_dev/raft.png
similarity index 100%
rename from moth/icons_dev/raft.png
rename to prosperon/icons_dev/raft.png
diff --git a/moth/icons_dev/random.png b/prosperon/icons_dev/random.png
similarity index 100%
rename from moth/icons_dev/random.png
rename to prosperon/icons_dev/random.png
diff --git a/moth/icons_dev/rat.png b/prosperon/icons_dev/rat.png
similarity index 100%
rename from moth/icons_dev/rat.png
rename to prosperon/icons_dev/rat.png
diff --git a/moth/icons_dev/rattlesnake.png b/prosperon/icons_dev/rattlesnake.png
similarity index 100%
rename from moth/icons_dev/rattlesnake.png
rename to prosperon/icons_dev/rattlesnake.png
diff --git a/moth/icons_dev/resize.png b/prosperon/icons_dev/resize.png
similarity index 100%
rename from moth/icons_dev/resize.png
rename to prosperon/icons_dev/resize.png
diff --git a/moth/icons_dev/revolver.png b/prosperon/icons_dev/revolver.png
similarity index 100%
rename from moth/icons_dev/revolver.png
rename to prosperon/icons_dev/revolver.png
diff --git a/moth/icons_dev/ring.png b/prosperon/icons_dev/ring.png
similarity index 100%
rename from moth/icons_dev/ring.png
rename to prosperon/icons_dev/ring.png
diff --git a/moth/icons_dev/rooster.png b/prosperon/icons_dev/rooster.png
similarity index 100%
rename from moth/icons_dev/rooster.png
rename to prosperon/icons_dev/rooster.png
diff --git a/moth/icons_dev/rss.png b/prosperon/icons_dev/rss.png
similarity index 100%
rename from moth/icons_dev/rss.png
rename to prosperon/icons_dev/rss.png
diff --git a/moth/icons_dev/rupee.png b/prosperon/icons_dev/rupee.png
similarity index 100%
rename from moth/icons_dev/rupee.png
rename to prosperon/icons_dev/rupee.png
diff --git a/moth/icons_dev/sausage.png b/prosperon/icons_dev/sausage.png
similarity index 100%
rename from moth/icons_dev/sausage.png
rename to prosperon/icons_dev/sausage.png
diff --git a/moth/icons_dev/scorpion.png b/prosperon/icons_dev/scorpion.png
similarity index 100%
rename from moth/icons_dev/scorpion.png
rename to prosperon/icons_dev/scorpion.png
diff --git a/moth/icons_dev/screw.png b/prosperon/icons_dev/screw.png
similarity index 100%
rename from moth/icons_dev/screw.png
rename to prosperon/icons_dev/screw.png
diff --git a/moth/icons_dev/shamrock.png b/prosperon/icons_dev/shamrock.png
similarity index 100%
rename from moth/icons_dev/shamrock.png
rename to prosperon/icons_dev/shamrock.png
diff --git a/moth/icons_dev/sheep.png b/prosperon/icons_dev/sheep.png
similarity index 100%
rename from moth/icons_dev/sheep.png
rename to prosperon/icons_dev/sheep.png
diff --git a/moth/icons_dev/shirt.png b/prosperon/icons_dev/shirt.png
similarity index 100%
rename from moth/icons_dev/shirt.png
rename to prosperon/icons_dev/shirt.png
diff --git a/moth/icons_dev/shop.png b/prosperon/icons_dev/shop.png
similarity index 100%
rename from moth/icons_dev/shop.png
rename to prosperon/icons_dev/shop.png
diff --git a/moth/icons_dev/shuriken.png b/prosperon/icons_dev/shuriken.png
similarity index 100%
rename from moth/icons_dev/shuriken.png
rename to prosperon/icons_dev/shuriken.png
diff --git a/moth/icons_dev/sloth.png b/prosperon/icons_dev/sloth.png
similarity index 100%
rename from moth/icons_dev/sloth.png
rename to prosperon/icons_dev/sloth.png
diff --git a/moth/icons_dev/snail.png b/prosperon/icons_dev/snail.png
similarity index 100%
rename from moth/icons_dev/snail.png
rename to prosperon/icons_dev/snail.png
diff --git a/moth/icons_dev/snake.png b/prosperon/icons_dev/snake.png
similarity index 100%
rename from moth/icons_dev/snake.png
rename to prosperon/icons_dev/snake.png
diff --git a/moth/icons_dev/soap.png b/prosperon/icons_dev/soap.png
similarity index 100%
rename from moth/icons_dev/soap.png
rename to prosperon/icons_dev/soap.png
diff --git a/moth/icons_dev/sombrero.png b/prosperon/icons_dev/sombrero.png
similarity index 100%
rename from moth/icons_dev/sombrero.png
rename to prosperon/icons_dev/sombrero.png
diff --git a/moth/icons_dev/stairs.png b/prosperon/icons_dev/stairs.png
similarity index 100%
rename from moth/icons_dev/stairs.png
rename to prosperon/icons_dev/stairs.png
diff --git a/moth/icons_dev/steak.png b/prosperon/icons_dev/steak.png
similarity index 100%
rename from moth/icons_dev/steak.png
rename to prosperon/icons_dev/steak.png
diff --git a/moth/icons_dev/tomato.png b/prosperon/icons_dev/tomato.png
similarity index 100%
rename from moth/icons_dev/tomato.png
rename to prosperon/icons_dev/tomato.png
diff --git a/moth/icons_dev/trade.png b/prosperon/icons_dev/trade.png
similarity index 100%
rename from moth/icons_dev/trade.png
rename to prosperon/icons_dev/trade.png
diff --git a/moth/icons_dev/trombone.png b/prosperon/icons_dev/trombone.png
similarity index 100%
rename from moth/icons_dev/trombone.png
rename to prosperon/icons_dev/trombone.png
diff --git a/moth/icons_dev/trousers.png b/prosperon/icons_dev/trousers.png
similarity index 100%
rename from moth/icons_dev/trousers.png
rename to prosperon/icons_dev/trousers.png
diff --git a/moth/icons_dev/trumpet.png b/prosperon/icons_dev/trumpet.png
similarity index 100%
rename from moth/icons_dev/trumpet.png
rename to prosperon/icons_dev/trumpet.png
diff --git a/moth/icons_dev/tuba.png b/prosperon/icons_dev/tuba.png
similarity index 100%
rename from moth/icons_dev/tuba.png
rename to prosperon/icons_dev/tuba.png
diff --git a/moth/icons_dev/tv.png b/prosperon/icons_dev/tv.png
similarity index 100%
rename from moth/icons_dev/tv.png
rename to prosperon/icons_dev/tv.png
diff --git a/moth/icons_dev/ufo.png b/prosperon/icons_dev/ufo.png
similarity index 100%
rename from moth/icons_dev/ufo.png
rename to prosperon/icons_dev/ufo.png
diff --git a/moth/icons_dev/vial.png b/prosperon/icons_dev/vial.png
similarity index 100%
rename from moth/icons_dev/vial.png
rename to prosperon/icons_dev/vial.png
diff --git a/moth/icons_dev/watch.png b/prosperon/icons_dev/watch.png
similarity index 100%
rename from moth/icons_dev/watch.png
rename to prosperon/icons_dev/watch.png
diff --git a/moth/icons_dev/waterfall.png b/prosperon/icons_dev/waterfall.png
similarity index 100%
rename from moth/icons_dev/waterfall.png
rename to prosperon/icons_dev/waterfall.png
diff --git a/moth/icons_dev/well.png b/prosperon/icons_dev/well.png
similarity index 100%
rename from moth/icons_dev/well.png
rename to prosperon/icons_dev/well.png
diff --git a/moth/icons_dev/windmill.png b/prosperon/icons_dev/windmill.png
similarity index 100%
rename from moth/icons_dev/windmill.png
rename to prosperon/icons_dev/windmill.png
diff --git a/moth/icons_dev/wizard.png b/prosperon/icons_dev/wizard.png
similarity index 100%
rename from moth/icons_dev/wizard.png
rename to prosperon/icons_dev/wizard.png
diff --git a/moth/icons_dev/zipper.png b/prosperon/icons_dev/zipper.png
similarity index 100%
rename from moth/icons_dev/zipper.png
rename to prosperon/icons_dev/zipper.png
diff --git a/moth/imgui.js b/prosperon/imgui.js
similarity index 62%
rename from moth/imgui.js
rename to prosperon/imgui.js
index f4cc8dae..34e5a192 100644
--- a/moth/imgui.js
+++ b/prosperon/imgui.js
@@ -101,85 +101,85 @@ if (render_menu) {
prosperon.imgui();
};
-imgui.windowpos[prosperon.DOC] = `Return the position of the current ImGui window as an ImVec2.
+imgui.windowpos[cell.DOC] = `Return the position of the current ImGui window as an ImVec2.
:return: A 2-element array [x, y] representing the top-left corner of the current window in screen coordinates.
`;
-imgui.plot2pixels[prosperon.DOC] = `Convert a point from plot coordinates to pixel coordinates in the current ImPlot.
+imgui.plot2pixels[cell.DOC] = `Convert a point from plot coordinates to pixel coordinates in the current ImPlot.
:param coords: A 2-element array [x, y] in plot coordinates.
:return: A 2-element array [x, y] in pixel coordinates, mapped from the current ImPlot.
`;
-imgui.plotpos[prosperon.DOC] = `Return the top-left corner of the current ImPlot region in screen (pixel) coordinates.
+imgui.plotpos[cell.DOC] = `Return the top-left corner of the current ImPlot region in screen (pixel) coordinates.
:return: A 2-element array [x, y] representing the position of the current ImPlot in screen coordinates.
`;
-imgui.plotlimits[prosperon.DOC] = `Retrieve the current plot’s axis limits (min/max) for both X and Y axes.
+imgui.plotlimits[cell.DOC] = `Retrieve the current plot’s axis limits (min/max) for both X and Y axes.
:return: An object { x: { min, max }, y: { min, max } } describing the current plot’s visible axis ranges.
`;
-imgui.setaxes[prosperon.DOC] = `Switch the active axes in ImPlot (useful if multiple axes exist).
+imgui.setaxes[cell.DOC] = `Switch the active axes in ImPlot (useful if multiple axes exist).
:param xAxis: The x-axis index (0..2).
:param yAxis: The y-axis index (0..2).
:return: None
`;
-imgui.setupaxis[prosperon.DOC] = `Setup the specified axis in the current ImPlot (e.g., for customizing tick labels).
+imgui.setupaxis[cell.DOC] = `Setup the specified axis in the current ImPlot (e.g., for customizing tick labels).
:param axis: The numeric index of the axis (0..2).
:return: None
`;
-imgui.inplot[prosperon.DOC] = `Check if the given point is within the current ImPlot's visible region.
+imgui.inplot[cell.DOC] = `Check if the given point is within the current ImPlot's visible region.
:param coords: A 2-element array [x, y] in plot coordinates.
:return: True if the point is within the visible plot region, otherwise false.
`;
-imgui.window[prosperon.DOC] = `Create a new ImGui window with the given title and invoke the callback to render inside it.
+imgui.window[cell.DOC] = `Create a new ImGui window with the given title and invoke the callback to render inside it.
:param title: The text displayed as the window title.
:param callback: A function called to render the contents of the window.
:return: A boolean indicating if the window is still active (open) after rendering.
`;
-imgui.menu[prosperon.DOC] = `Create a new menu entry in a menu bar or menu. The callback is invoked to populate the menu if opened.
+imgui.menu[cell.DOC] = `Create a new menu entry in a menu bar or menu. The callback is invoked to populate the menu if opened.
:param label: The label of the menu (visible in the menubar).
:param callback: A function called to render menu items when the menu is open.
:return: None
`;
-imgui.sameline[prosperon.DOC] = `Place the next widget on the same line, optionally specifying a horizontal offset.
+imgui.sameline[cell.DOC] = `Place the next widget on the same line, optionally specifying a horizontal offset.
:param offset: A float offset from the current cursor position. If omitted, defaults to 0.
:return: None
`;
-imgui.int[prosperon.DOC] = `Display an integer input box with a label.
+imgui.int[cell.DOC] = `Display an integer input box with a label.
:param label: The label text for the input.
:param value: The initial integer value.
:return: The updated integer value after user edits.
`;
-imgui.pushid[prosperon.DOC] = `Push an integer ID onto the ImGui ID stack.
+imgui.pushid[cell.DOC] = `Push an integer ID onto the ImGui ID stack.
:param id: An integer used to differentiate widgets/items with the same label.
:return: None
`;
-imgui.popid[prosperon.DOC] = `Pop an ID off the ImGui ID stack.
+imgui.popid[cell.DOC] = `Pop an ID off the ImGui ID stack.
:return: None
`;
-imgui.slider[prosperon.DOC] = `Create a float slider (or multi-float sliders if given an array) within the specified range.
+imgui.slider[cell.DOC] = `Create a float slider (or multi-float sliders if given an array) within the specified range.
:param label: The slider label text.
:param value: A single float or an array of floats (e.g., [r,g,b,a]).
@@ -188,7 +188,7 @@ imgui.slider[prosperon.DOC] = `Create a float slider (or multi-float sliders if
:return: The updated float or array of floats after user adjustment.
`;
-imgui.intslider[prosperon.DOC] = `Create an integer slider (or multiple integer sliders if given a typed array) in the specified range.
+imgui.intslider[cell.DOC] = `Create an integer slider (or multiple integer sliders if given a typed array) in the specified range.
:param label: The slider label text.
:param value: A single integer or a typed array of integers (for multi-component sliders).
@@ -197,19 +197,19 @@ imgui.intslider[prosperon.DOC] = `Create an integer slider (or multiple integer
:return: The updated integer or array of integers after user adjustment.
`;
-imgui.menubar[prosperon.DOC] = `Begin rendering a menubar. The callback is invoked to create menu items. Ends automatically.
+imgui.menubar[cell.DOC] = `Begin rendering a menubar. The callback is invoked to create menu items. Ends automatically.
:param callback: A function that creates menu items within the menubar.
:return: None
`;
-imgui.mainmenubar[prosperon.DOC] = `Create the main menu bar at the top of the screen. The callback is invoked for populating it.
+imgui.mainmenubar[cell.DOC] = `Create the main menu bar at the top of the screen. The callback is invoked for populating it.
:param callback: A function to render items in the main menu bar.
:return: None
`;
-imgui.menuitem[prosperon.DOC] = `Create a menu item that can optionally be toggled. If selected, calls the provided callback.
+imgui.menuitem[cell.DOC] = `Create a menu item that can optionally be toggled. If selected, calls the provided callback.
:param label: The text label of the menu item.
:param shortcut: An optional shortcut text to display (e.g. "Ctrl+S").
@@ -218,20 +218,20 @@ imgui.menuitem[prosperon.DOC] = `Create a menu item that can optionally be toggl
:return: A boolean reflecting the toggled state.
`;
-imgui.radio[prosperon.DOC] = `Create a radio button.
+imgui.radio[cell.DOC] = `Create a radio button.
:param label: The text label for the radio button.
:param active: Whether this radio button is currently selected.
:return: True if this radio button is now selected by the user, otherwise false.
`;
-imgui.image[prosperon.DOC] = `Render a texture as an image at a default size (100x100).
+imgui.image[cell.DOC] = `Render a texture as an image at a default size (100x100).
:param texture: The GPU texture to display.
:return: None
`;
-imgui.imagebutton[prosperon.DOC] = `Create an ImageButton widget which displays a texture; calls the callback when clicked.
+imgui.imagebutton[cell.DOC] = `Create an ImageButton widget which displays a texture; calls the callback when clicked.
:param label: A string identifier (not visually used).
:param texture: The GPU texture to display on the button.
@@ -239,48 +239,48 @@ imgui.imagebutton[prosperon.DOC] = `Create an ImageButton widget which displays
:return: None
`;
-imgui.textinput[prosperon.DOC] = `Show a single-line text input widget.
+imgui.textinput[cell.DOC] = `Show a single-line text input widget.
:param label: The label text next to the input box.
:param text: The current text. If undefined, the box starts empty.
:return: The updated text string after user editing.
`;
-imgui.textbox[prosperon.DOC] = `Show a multi-line text input widget.
+imgui.textbox[cell.DOC] = `Show a multi-line text input widget.
:param label: The label text next to the input box.
:param text: The current multi-line text. If undefined, starts empty.
:return: The updated text after user editing.
`;
-imgui.button[prosperon.DOC] = `Create a button. The callback fires if the user clicks it.
+imgui.button[cell.DOC] = `Create a button. The callback fires if the user clicks it.
:param label: The text displayed on the button.
:param callback: The function called on click.
:return: None
`;
-imgui.checkbox[prosperon.DOC] = `Create a checkbox to toggle a boolean value.
+imgui.checkbox[cell.DOC] = `Create a checkbox to toggle a boolean value.
:param label: The text label for the checkbox.
:param checked: The current boolean state.
:return: The updated boolean state after user toggle.
`;
-imgui.text[prosperon.DOC] = `Render a line of text in the ImGui window.
+imgui.text[cell.DOC] = `Render a line of text in the ImGui window.
:param text: The string to display.
:return: None
`;
-imgui.plot[prosperon.DOC] = `Begin a new ImPlot region with the specified title. Calls the callback to render plot contents.
+imgui.plot[cell.DOC] = `Begin a new ImPlot region with the specified title. Calls the callback to render plot contents.
:param title: The title (label) of the plot.
:param callback: A function that sets up and draws within the ImPlot region.
:return: None
`;
-imgui.lineplot[prosperon.DOC] = `Plot a line graph in the current ImPlot.
+imgui.lineplot[cell.DOC] = `Plot a line graph in the current ImPlot.
:param label: The label for the line plot.
:param data: An array of [x,y] points or a single array of y-values.
@@ -289,7 +289,7 @@ imgui.lineplot[prosperon.DOC] = `Plot a line graph in the current ImPlot.
:return: None
`;
-imgui.scatterplot[prosperon.DOC] = `Plot a scatter graph in the current ImPlot.
+imgui.scatterplot[cell.DOC] = `Plot a scatter graph in the current ImPlot.
:param label: The label for the scatter plot.
:param data: An array of [x,y] points or a single array of y-values.
@@ -298,7 +298,7 @@ imgui.scatterplot[prosperon.DOC] = `Plot a scatter graph in the current ImPlot.
:return: None
`;
-imgui.stairplot[prosperon.DOC] = `Plot a stair-step graph in the current ImPlot.
+imgui.stairplot[cell.DOC] = `Plot a stair-step graph in the current ImPlot.
:param label: The label for the stair plot.
:param data: An array of [x,y] points or a single array of y-values.
@@ -307,7 +307,7 @@ imgui.stairplot[prosperon.DOC] = `Plot a stair-step graph in the current ImPlot.
:return: None
`;
-imgui.digitalplot[prosperon.DOC] = `Plot a digital (step-like) graph in the current ImPlot.
+imgui.digitalplot[cell.DOC] = `Plot a digital (step-like) graph in the current ImPlot.
:param label: The label for the digital plot.
:param data: An array of [x,y] points or a single array of y-values.
@@ -316,7 +316,7 @@ imgui.digitalplot[prosperon.DOC] = `Plot a digital (step-like) graph in the curr
:return: None
`;
-imgui.barplot[prosperon.DOC] = `Plot a bar chart in the current ImPlot.
+imgui.barplot[cell.DOC] = `Plot a bar chart in the current ImPlot.
:param label: The label for the bar series.
:param data: An array of [x,y] points or just an array of y-values.
@@ -324,38 +324,38 @@ imgui.barplot[prosperon.DOC] = `Plot a bar chart in the current ImPlot.
:return: None
`;
-imgui.textplot[prosperon.DOC] = `Render text at the specified coordinates in plot space.
+imgui.textplot[cell.DOC] = `Render text at the specified coordinates in plot space.
:param text: The string to render.
:param coords: A 2-element array [x, y] in plot coordinates.
:return: None
`;
-imgui.histogramplot[prosperon.DOC] = `Plot a histogram from the given data array/typed array in the current ImPlot.
+imgui.histogramplot[cell.DOC] = `Plot a histogram from the given data array/typed array in the current ImPlot.
:param label: The label for the histogram.
:param data: A typed array (or numeric array) containing the values to bin/display.
:return: None
`;
-imgui.plotaxes[prosperon.DOC] = `Set up labels for the X and Y axes of the current ImPlot.
+imgui.plotaxes[cell.DOC] = `Set up labels for the X and Y axes of the current ImPlot.
:param xLabel: The label for the x-axis.
:param yLabel: The label for the y-axis.
:return: None
`;
-imgui.plotmousepos[prosperon.DOC] = `Get the mouse cursor’s position in the current plot’s coordinate system.
+imgui.plotmousepos[cell.DOC] = `Get the mouse cursor’s position in the current plot’s coordinate system.
:return: A 2-element array [x, y] representing the mouse position in plot coordinates.
`;
-imgui.plothovered[prosperon.DOC] = `Check if the mouse is hovering over the current ImPlot.
+imgui.plothovered[cell.DOC] = `Check if the mouse is hovering over the current ImPlot.
:return: True if the plot area is hovered, otherwise false.
`;
-imgui.axeslimits[prosperon.DOC] = `Set up the visible axis limits in the current ImPlot.
+imgui.axeslimits[cell.DOC] = `Set up the visible axis limits in the current ImPlot.
:param xMin: The left (min) bound of the x-axis.
:param xMax: The right (max) bound of the x-axis.
@@ -364,43 +364,43 @@ imgui.axeslimits[prosperon.DOC] = `Set up the visible axis limits in the current
:return: None
`;
-imgui.prepend[prosperon.DOC] = `Prepare ImGui draw data for rendering, typically called after ImGui::Render().
+imgui.prepend[cell.DOC] = `Prepare ImGui draw data for rendering, typically called after ImGui::Render().
:param commandBuffer: The SDL GPU command buffer where draw data will be queued.
:return: None
`;
-imgui.fitaxis[prosperon.DOC] = `Fit either the x-axis or y-axis to its data range on the next plot frame.
+imgui.fitaxis[cell.DOC] = `Fit either the x-axis or y-axis to its data range on the next plot frame.
:param axis: 0 for X-axis, 1 for Y-axis.
:return: None
`;
-imgui.columns[prosperon.DOC] = `Switch the layout to use a specified number of columns.
+imgui.columns[cell.DOC] = `Switch the layout to use a specified number of columns.
:param count: The number of columns to layout in the current region.
:return: None
`;
-imgui.nextcolumn[prosperon.DOC] = `Advance to the next column in a multi-column layout.
+imgui.nextcolumn[cell.DOC] = `Advance to the next column in a multi-column layout.
:return: None
`;
-imgui.collapsingheader[prosperon.DOC] = `Create a collapsible header. Returns true if it is open (expanded).
+imgui.collapsingheader[cell.DOC] = `Create a collapsible header. Returns true if it is open (expanded).
:param label: The text label of the header.
:return: True if the header is expanded, otherwise false.
`;
-imgui.tree[prosperon.DOC] = `Create a tree node. If opened, calls the callback for nested content.
+imgui.tree[cell.DOC] = `Create a tree node. If opened, calls the callback for nested content.
:param label: The label for the tree node.
:param callback: A function called if the node is expanded.
:return: None
`;
-imgui.listbox[prosperon.DOC] = `Create a list box widget to select from a list of strings.
+imgui.listbox[cell.DOC] = `Create a list box widget to select from a list of strings.
:param label: The label next to the list box.
:param items: An array of strings to display.
@@ -408,60 +408,60 @@ imgui.listbox[prosperon.DOC] = `Create a list box widget to select from a list o
:return: The updated selected index after user selection.
`;
-imgui.axisfmt[prosperon.DOC] = `Set a custom formatter for a specified y-axis in ImPlot.
+imgui.axisfmt[cell.DOC] = `Set a custom formatter for a specified y-axis in ImPlot.
:param axis: The y-axis index (0..2) to format.
:param callback: A function(value) => string that converts axis values to text.
:return: None
`;
-imgui.tabbar[prosperon.DOC] = `Begin a tab bar container. The callback is invoked to create tabs.
+imgui.tabbar[cell.DOC] = `Begin a tab bar container. The callback is invoked to create tabs.
:param label: The identifier label of the tab bar.
:param callback: A function that creates tab items.
:return: None
`;
-imgui.tab[prosperon.DOC] = `Create a tab item. If selected, calls the callback for tab content.
+imgui.tab[cell.DOC] = `Create a tab item. If selected, calls the callback for tab content.
:param label: The name of the tab.
:param callback: A function to render the tab’s content if active.
:return: None
`;
-imgui.open_popup[prosperon.DOC] = `Open a popup by its identifier.
+imgui.open_popup[cell.DOC] = `Open a popup by its identifier.
:param label: The identifier of the popup to open.
:return: None
`;
-imgui.modal[prosperon.DOC] = `Begin a modal popup. The callback is invoked to display contents if the modal is open.
+imgui.modal[cell.DOC] = `Begin a modal popup. The callback is invoked to display contents if the modal is open.
:param label: The identifier of the modal popup.
:param callback: A function for rendering the modal’s UI if open.
:return: None
`;
-imgui.popup[prosperon.DOC] = `Begin a popup. The callback is invoked if the popup is open.
+imgui.popup[cell.DOC] = `Begin a popup. The callback is invoked if the popup is open.
:param label: The identifier of the popup.
:param callback: A function for rendering the popup’s UI.
:return: None
`;
-imgui.close_popup[prosperon.DOC] = `Close the current popup.
+imgui.close_popup[cell.DOC] = `Close the current popup.
:return: None
`;
-imgui.context[prosperon.DOC] = `Create a popup context menu. The callback is invoked if the menu opens.
+imgui.context[cell.DOC] = `Create a popup context menu. The callback is invoked if the menu opens.
:param label: The identifier for the context menu.
:param callback: A function that renders menu items in the context.
:return: None
`;
-imgui.table[prosperon.DOC] = `Create a table with multiple columns. Optionally enable sorting and pass a sort callback.
+imgui.table[cell.DOC] = `Create a table with multiple columns. Optionally enable sorting and pass a sort callback.
:param label: The identifier for the table.
:param columns: The number of columns.
@@ -470,33 +470,33 @@ imgui.table[prosperon.DOC] = `Create a table with multiple columns. Optionally e
:return: None
`;
-imgui.tablenextcolumn[prosperon.DOC] = `Move to the next column in a table row.
+imgui.tablenextcolumn[cell.DOC] = `Move to the next column in a table row.
:return: None
`;
-imgui.tablenextrow[prosperon.DOC] = `Move to the next row in a table.
+imgui.tablenextrow[cell.DOC] = `Move to the next row in a table.
:return: None
`;
-imgui.tableheadersrow[prosperon.DOC] = `Create a row of headers in the current table (should be called once after column setup).
+imgui.tableheadersrow[cell.DOC] = `Create a row of headers in the current table (should be called once after column setup).
:return: None
`;
-imgui.tableangledheadersrow[prosperon.DOC] = `Create an angled header row (for advanced usage). Typically not used as often.
+imgui.tableangledheadersrow[cell.DOC] = `Create an angled header row (for advanced usage). Typically not used as often.
:return: None
`;
-imgui.tablesetupcolumn[prosperon.DOC] = `Setup configuration for a single column in the table.
+imgui.tablesetupcolumn[cell.DOC] = `Setup configuration for a single column in the table.
:param label: The label/header text for this column.
:return: None
`;
-imgui.dnd[prosperon.DOC] = `Begin a drag source for custom data payload.
+imgui.dnd[cell.DOC] = `Begin a drag source for custom data payload.
:param type: A string identifier for the drag-drop payload type.
:param payload: A numeric payload stored in the drag-drop.
@@ -504,21 +504,21 @@ imgui.dnd[prosperon.DOC] = `Begin a drag source for custom data payload.
:return: None
`;
-imgui.dndtarget[prosperon.DOC] = `Create a drop target for matching drag-drop payload type. Invokes callback on drop.
+imgui.dndtarget[cell.DOC] = `Create a drop target for matching drag-drop payload type. Invokes callback on drop.
:param type: A string identifier for the drag-drop payload type to accept.
:param callback: A function(payloadNumber) called when a matching payload is dropped.
:return: None
`;
-imgui.color[prosperon.DOC] = `Create a color editor (3 or 4 floats). Returns the updated color.
+imgui.color[cell.DOC] = `Create a color editor (3 or 4 floats). Returns the updated color.
:param label: The label for the color editor.
:param color: An array [r,g,b] or [r,g,b,a].
:return: Updated color array after user input.
`;
-imgui.startnode[prosperon.DOC] = `Begin a node editor session with ImNodes. The callback defines nodes.
+imgui.startnode[cell.DOC] = `Begin a node editor session with ImNodes. The callback defines nodes.
Additional callbacks handle link creation and hover events.
:param callback: A function to define node editor contents (adding nodes, etc).
@@ -528,28 +528,28 @@ Additional callbacks handle link creation and hover events.
:return: None
`;
-imgui.node[prosperon.DOC] = `Begin a node with a unique ID, then call the callback to define its contents.
+imgui.node[cell.DOC] = `Begin a node with a unique ID, then call the callback to define its contents.
:param nodeId: A unique integer ID for this node.
:param callback: A function that populates the node’s UI.
:return: None
`;
-imgui.nodein[prosperon.DOC] = `Create an input attribute in the current node.
+imgui.nodein[cell.DOC] = `Create an input attribute in the current node.
:param attributeId: The attribute ID for this input.
:param callback: A function that defines the UI within the input attribute.
:return: None
`;
-imgui.nodeout[prosperon.DOC] = `Create an output attribute in the current node.
+imgui.nodeout[cell.DOC] = `Create an output attribute in the current node.
:param attributeId: The attribute ID for this output.
:param callback: A function that defines the UI within the output attribute.
:return: None
`;
-imgui.nodelink[prosperon.DOC] = `Link two node attributes by their IDs.
+imgui.nodelink[cell.DOC] = `Link two node attributes by their IDs.
:param linkId: A unique integer ID for this link.
:param startAttributeId: The attribute ID where the link starts.
@@ -557,49 +557,49 @@ imgui.nodelink[prosperon.DOC] = `Link two node attributes by their IDs.
:return: None
`;
-imgui.nodemini[prosperon.DOC] = `Show a minimap for the current node editor.
+imgui.nodemini[cell.DOC] = `Show a minimap for the current node editor.
:param size: A float controlling the minimap size ratio.
:return: None
`;
-imgui.mousehoveringrect[prosperon.DOC] = `Check if the mouse is hovering within the given rectangle.
+imgui.mousehoveringrect[cell.DOC] = `Check if the mouse is hovering within the given rectangle.
:param min: A 2-element array [x, y] for the top-left corner.
:param max: A 2-element array [x, y] for the bottom-right corner.
:return: True if the mouse is within that rectangle, otherwise false.
`;
-imgui.mouseclicked[prosperon.DOC] = `Check if a specific mouse button was clicked (went from up to down) this frame.
+imgui.mouseclicked[cell.DOC] = `Check if a specific mouse button was clicked (went from up to down) this frame.
:param button: An integer for the mouse button index (0 = left, 1 = right, etc).
:return: True if the button was clicked, otherwise false.
`;
-imgui.mousedown[prosperon.DOC] = `Check if the specified mouse button is currently held down.
+imgui.mousedown[cell.DOC] = `Check if the specified mouse button is currently held down.
:param button: The mouse button index.
:return: True if the button is down, otherwise false.
`;
-imgui.mousereleased[prosperon.DOC] = `Check if the specified mouse button was released this frame.
+imgui.mousereleased[cell.DOC] = `Check if the specified mouse button was released this frame.
:param button: The mouse button index.
:return: True if the button was released, otherwise false.
`;
-imgui.mousedragging[prosperon.DOC] = `Check if the mouse is being dragged with the specified button.
+imgui.mousedragging[cell.DOC] = `Check if the mouse is being dragged with the specified button.
:param button: The mouse button index.
:return: True if the mouse is dragging, otherwise false.
`;
-imgui.mousedelta[prosperon.DOC] = `Get the mouse movement delta (difference) for the current frame.
+imgui.mousedelta[cell.DOC] = `Get the mouse movement delta (difference) for the current frame.
:return: A 2-element array [dx, dy] representing the mouse movement.
`;
-imgui.rect[prosperon.DOC] = `Draw a rectangle outline in the current window’s draw list.
+imgui.rect[cell.DOC] = `Draw a rectangle outline in the current window’s draw list.
:param pMin: A 2-element array [x, y] for the top-left corner.
:param pMax: A 2-element array [x, y] for the bottom-right corner.
@@ -607,7 +607,7 @@ imgui.rect[prosperon.DOC] = `Draw a rectangle outline in the current window’s
:return: None
`;
-imgui.rectfilled[prosperon.DOC] = `Draw a filled rectangle in the current window’s draw list.
+imgui.rectfilled[cell.DOC] = `Draw a filled rectangle in the current window’s draw list.
:param pMin: [x, y] for the top-left corner.
:param pMax: [x, y] for the bottom-right corner.
@@ -615,7 +615,7 @@ imgui.rectfilled[prosperon.DOC] = `Draw a filled rectangle in the current window
:return: None
`;
-imgui.line[prosperon.DOC] = `Draw a line between two points in the current window’s draw list.
+imgui.line[cell.DOC] = `Draw a line between two points in the current window’s draw list.
:param p1: [x, y] start position.
:param p2: [x, y] end position.
@@ -623,7 +623,7 @@ imgui.line[prosperon.DOC] = `Draw a line between two points in the current windo
:return: None
`;
-imgui.bezierquad[prosperon.DOC] = `Draw a quadratic bezier curve.
+imgui.bezierquad[cell.DOC] = `Draw a quadratic bezier curve.
:param p1: [x, y] start point.
:param p2: [x, y] control point.
@@ -633,7 +633,7 @@ imgui.bezierquad[prosperon.DOC] = `Draw a quadratic bezier curve.
:return: None
`;
-imgui.beziercubic[prosperon.DOC] = `Draw a cubic bezier curve.
+imgui.beziercubic[cell.DOC] = `Draw a cubic bezier curve.
:param p1: [x, y] start point.
:param p2: [x, y] first control point.
@@ -644,7 +644,7 @@ imgui.beziercubic[prosperon.DOC] = `Draw a cubic bezier curve.
:return: None
`;
-imgui.point[prosperon.DOC] = `Draw a filled circle (point) in the current window’s draw list.
+imgui.point[cell.DOC] = `Draw a filled circle (point) in the current window’s draw list.
:param center: [x, y] center of the circle.
:param radius: The radius of the circle.
@@ -652,7 +652,7 @@ imgui.point[prosperon.DOC] = `Draw a filled circle (point) in the current window
:return: None
`;
-imgui.drawtext[prosperon.DOC] = `Draw text at the given screen position with a specified color.
+imgui.drawtext[cell.DOC] = `Draw text at the given screen position with a specified color.
:param text: The string to draw.
:param position: [x, y] in screen coordinates.
@@ -660,70 +660,70 @@ imgui.drawtext[prosperon.DOC] = `Draw text at the given screen position with a s
:return: None
`;
-imgui.cursorscreenpos[prosperon.DOC] = `Get the current ImGui cursor screen position.
+imgui.cursorscreenpos[cell.DOC] = `Get the current ImGui cursor screen position.
:return: A 2-element array [x, y] in screen coordinates.
`;
-imgui.setcursorscreenpos[prosperon.DOC] = `Set the ImGui cursor screen position.
+imgui.setcursorscreenpos[cell.DOC] = `Set the ImGui cursor screen position.
:param position: A 2-element array [x, y] in screen coordinates.
:return: None
`;
-imgui.contentregionavail[prosperon.DOC] = `Return the available space in the current window’s content region.
+imgui.contentregionavail[cell.DOC] = `Return the available space in the current window’s content region.
:return: A 2-element array [width, height] of available space.
`;
-imgui.dummy[prosperon.DOC] = `Add a dummy item (invisible) of the specified size to the layout.
+imgui.dummy[cell.DOC] = `Add a dummy item (invisible) of the specified size to the layout.
:param size: A 2-element array [width, height].
:return: None
`;
-imgui.invisiblebutton[prosperon.DOC] = `Create an invisible button that occupies a given size and can catch clicks.
+imgui.invisiblebutton[cell.DOC] = `Create an invisible button that occupies a given size and can catch clicks.
:param label: The identifier for the button.
:param size: [width, height] specifying the button area.
:return: None
`;
-imgui.width[prosperon.DOC] = `Set the width of the next item in the layout.
+imgui.width[cell.DOC] = `Set the width of the next item in the layout.
:param width: The width (in pixels) for the next item.
:return: None
`;
-imgui.setclipboard[prosperon.DOC] = `Set the system clipboard text.
+imgui.setclipboard[cell.DOC] = `Set the system clipboard text.
:param text: The string to put into the clipboard.
:return: None
`;
-imgui.newframe[prosperon.DOC] = `Start a new ImGui frame. Should be called once per frame before rendering UI elements.
+imgui.newframe[cell.DOC] = `Start a new ImGui frame. Should be called once per frame before rendering UI elements.
:return: None
`;
-imgui.endframe[prosperon.DOC] = `Finalize and render the ImGui draw data to the specified command buffer and render pass.
+imgui.endframe[cell.DOC] = `Finalize and render the ImGui draw data to the specified command buffer and render pass.
:param commandBuffer: The SDL GPU command buffer to render into.
:param renderPass: The SDL GPU render pass used to draw ImGui data.
:return: None
`;
-imgui.wantmouse[prosperon.DOC] = `Check if ImGui wants to capture the mouse (e.g., if a window or widget needs mouse events).
+imgui.wantmouse[cell.DOC] = `Check if ImGui wants to capture the mouse (e.g., if a window or widget needs mouse events).
:return: True if ImGui is capturing the mouse, otherwise false.
`;
-imgui.wantkeys[prosperon.DOC] = `Check if ImGui wants to capture the keyboard (e.g., if a text input is active).
+imgui.wantkeys[cell.DOC] = `Check if ImGui wants to capture the keyboard (e.g., if a text input is active).
:return: True if ImGui is capturing the keyboard, otherwise false.
`;
-imgui.init[prosperon.DOC] = `Initialize ImGui with SDL and SDL_gpu, creating the ImGui context and configuring it.
+imgui.init[cell.DOC] = `Initialize ImGui with SDL and SDL_gpu, creating the ImGui context and configuring it.
:param gpuDevice: The SDL_GPUDevice object.
:param window: The SDL_Window object to attach ImGui onto.
diff --git a/moth/lcdsprite.js b/prosperon/lcdsprite.js
similarity index 100%
rename from moth/lcdsprite.js
rename to prosperon/lcdsprite.js
diff --git a/moth/moth.js b/prosperon/moth.js
similarity index 100%
rename from moth/moth.js
rename to prosperon/moth.js
diff --git a/moth/nogame/config.js b/prosperon/nogame/config.js
similarity index 100%
rename from moth/nogame/config.js
rename to prosperon/nogame/config.js
diff --git a/moth/nogame/main.js b/prosperon/nogame/main.js
similarity index 100%
rename from moth/nogame/main.js
rename to prosperon/nogame/main.js
diff --git a/moth/rasterize.js b/prosperon/rasterize.js
similarity index 100%
rename from moth/rasterize.js
rename to prosperon/rasterize.js
diff --git a/moth/scenetree.js b/prosperon/scenetree.js
similarity index 97%
rename from moth/scenetree.js
rename to prosperon/scenetree.js
index 78003672..11db13df 100644
--- a/moth/scenetree.js
+++ b/prosperon/scenetree.js
@@ -254,7 +254,7 @@ actor.delay.doc = `Call 'fn' after 'seconds' with 'this' set to the actor.`
actor[UNDERLINGS] = new Set()
-ex[prosperon.DOC] = `
+ex[cell.DOC] = `
A set of utilities for iterating over a hierarchy of actor-like objects, as well
as managing tag-based lookups. Objects are assumed to have a "objects" property,
pointing to children or sub-objects, forming a tree.
@@ -273,7 +273,7 @@ function eachobj(obj, fn) {
ex.all_objects = function (fn, startobj = world) {
return eachobj(startobj, fn)
}
-ex.all_objects[prosperon.DOC] = `
+ex.all_objects[cell.DOC] = `
:param fn: A callback function that receives each object. If it returns a truthy value, iteration stops and that value is returned.
:param startobj: The root object at which iteration begins, default is the global "world".
:return: The first truthy value returned by fn, or undefined if none.
@@ -281,7 +281,7 @@ Iterate over each object (and its sub-objects) in the hierarchy, calling fn for
`
ex.find_object = function (fn, startobj = world) {}
-ex.find_object[prosperon.DOC] = `
+ex.find_object[cell.DOC] = `
:param fn: A callback or criteria to locate a particular object.
:param startobj: The root object at which search begins, default "world".
:return: Not yet implemented.
@@ -294,7 +294,7 @@ ex.tag_add = function (tag, obj) {
gtags[tag] ??= new Set()
gtags[tag].add(obj)
}
-ex.tag_add[prosperon.DOC] = `
+ex.tag_add[cell.DOC] = `
:param tag: A string tag to associate with the object.
:param obj: The object to add under this tag.
:return: None
@@ -304,7 +304,7 @@ Associate the given object with the specified tag. Creates a new tag set if it d
ex.tag_rm = function (tag, obj) {
delete gtags[tag].delete(obj)
}
-ex.tag_rm[prosperon.DOC] = `
+ex.tag_rm[cell.DOC] = `
:param tag: The tag to remove the object from.
:param obj: The object to remove from the tag set.
:return: None
@@ -314,7 +314,7 @@ Remove the given object from the specified tag’s set, if it exists.
ex.tag_clear_guid = function (obj) {
for (var tag in gtags) gtags[tag].delete(obj)
}
-ex.tag_clear_guid[prosperon.DOC] = `
+ex.tag_clear_guid[cell.DOC] = `
:param obj: The object whose tags should be cleared.
:return: None
Remove the object from all tag sets.
@@ -324,7 +324,7 @@ ex.objects_with_tag = function (tag) {
if (!gtags[tag]) return []
return Array.from(gtags[tag])
}
-ex.objects_with_tag[prosperon.DOC] = `
+ex.objects_with_tag[cell.DOC] = `
:param tag: A string tag to look up.
:return: An array of objects associated with the given tag.
Retrieve all objects currently tagged with the specified tag.
diff --git a/moth/sdl_gpu.js b/prosperon/sdl_gpu.js
similarity index 88%
rename from moth/sdl_gpu.js
rename to prosperon/sdl_gpu.js
index 9b524eae..cc6042b1 100644
--- a/moth/sdl_gpu.js
+++ b/prosperon/sdl_gpu.js
@@ -108,7 +108,7 @@ function full_upload(buffers) {
cmds.submit();
}
-full_upload[prosperon.DOC] = `Acquire a command buffer and upload the provided data buffers to the GPU, then submit.
+full_upload[cell.DOC] = `Acquire a command buffer and upload the provided data buffers to the GPU, then submit.
:param buffers: An array of data buffers to be uploaded.
:return: None
@@ -120,7 +120,7 @@ function bind_pipeline(pass, pipeline) {
pass.pipeline = pipeline;
}
-bind_pipeline[prosperon.DOC] = `Ensure the specified pipeline is created on the GPU and bind it to the given render pass.
+bind_pipeline[cell.DOC] = `Ensure the specified pipeline is created on the GPU and bind it to the given render pass.
:param pass: The current render pass to bind the pipeline to.
:param pipeline: The pipeline object containing shader and state info.
@@ -141,7 +141,7 @@ function get_pipeline_ubo_slot(pipeline, name) {
return undefined;
}
-get_pipeline_ubo_slot[prosperon.DOC] = `Return the index of a uniform buffer block within the pipeline's vertex reflection data by name suffix.
+get_pipeline_ubo_slot[cell.DOC] = `Return the index of a uniform buffer block within the pipeline's vertex reflection data by name suffix.
:param pipeline: The pipeline whose vertex reflection is inspected.
:param name: A string suffix to match against the uniform buffer block name.
@@ -157,7 +157,7 @@ function transpose4x4(val) {
return out;
}
-transpose4x4[prosperon.DOC] = `Return a new 4x4 matrix array that is the transpose of the passed matrix.
+transpose4x4[cell.DOC] = `Return a new 4x4 matrix array that is the transpose of the passed matrix.
:param val: An array of length 16 representing a 4x4 matrix in row-major format.
:return: A new array of length 16 representing the transposed matrix.
@@ -190,7 +190,7 @@ function ubo_obj_to_array(pipeline, name, obj) {
return buf;
}
-ubo_obj_to_array[prosperon.DOC] = `Construct an ArrayBuffer containing UBO data from the provided object, matching the pipeline's reflection info.
+ubo_obj_to_array[cell.DOC] = `Construct an ArrayBuffer containing UBO data from the provided object, matching the pipeline's reflection info.
:param pipeline: The pipeline whose vertex reflection is read for UBO structure.
:param name: The name suffix that identifies the target UBO in the reflection data.
@@ -209,7 +209,7 @@ function type_to_byte_count(type) {
}
}
-type_to_byte_count[prosperon.DOC] = `Return the byte size for known float-based types.
+type_to_byte_count[cell.DOC] = `Return the byte size for known float-based types.
:param type: A string type identifier (e.g., 'float', 'vec2', 'vec3', 'vec4', 'mat4').
:return: Integer number of bytes.
@@ -288,7 +288,7 @@ function make_pipeline(pipeline) {
pipeline.gpu = context.make_pipeline(pipeline);
}
-make_pipeline[prosperon.DOC] = `Create and store a GPU pipeline object if it has not already been created.
+make_pipeline[cell.DOC] = `Create and store a GPU pipeline object if it has not already been created.
:param pipeline: An object describing the pipeline state, shaders, and reflection data.
:return: None
@@ -319,7 +319,7 @@ function make_shader(sh_file) {
return shader
}
-make_shader[prosperon.DOC] = `Load and compile a shader from disk, caching the result. Reflective metadata is also loaded.
+make_shader[cell.DOC] = `Load and compile a shader from disk, caching the result. Reflective metadata is also loaded.
:param sh_file: The base filename (without extension) of the shader to compile.
:return: A shader object with GPU and reflection data attached.
@@ -355,7 +355,7 @@ function upload_model(model) {
context.upload(this, bufs);
}
-upload_model[prosperon.DOC] = `Upload all buffer-like properties of the given model to the GPU.
+upload_model[cell.DOC] = `Upload all buffer-like properties of the given model to the GPU.
:param model: An object whose buffer properties are to be uploaded.
:return: None
@@ -373,7 +373,7 @@ function bind_model(pass, pipeline, model) {
pass.bind_index_buffer(model.indices);
}
-bind_model[prosperon.DOC] = `Bind the model's vertex and index buffers for the given pipeline and render pass.
+bind_model[cell.DOC] = `Bind the model's vertex and index buffers for the given pipeline and render pass.
:param pass: The current render pass.
:param pipeline: The pipeline object with vertex buffer descriptions.
@@ -396,7 +396,7 @@ function bind_mat(pass, pipeline, mat) {
}
}
-bind_mat[prosperon.DOC] = `Bind the material images and samplers needed by the pipeline's fragment shader.
+bind_mat[cell.DOC] = `Bind the material images and samplers needed by the pipeline's fragment shader.
:param pass: The current render pass.
:param pipeline: The pipeline whose fragment shader reflection indicates required textures.
@@ -433,7 +433,7 @@ function group_sprites_by_texture(sprites, mesh) {
*/
}
-group_sprites_by_texture[prosperon.DOC] = `Assign each sprite to the provided mesh, generating index data as needed.
+group_sprites_by_texture[cell.DOC] = `Assign each sprite to the provided mesh, generating index data as needed.
:param sprites: An array of sprite objects.
:param mesh: A mesh object (pos, color, uv, indices, etc.) to link to each sprite.
@@ -562,7 +562,7 @@ function render_camera(cmds, camera) {
hud_queue = [];
}
-render_camera[prosperon.DOC] = `Render a scene using the provided camera, drawing both render queue and HUD queue items.
+render_camera[cell.DOC] = `Render a scene using the provided camera, drawing both render queue and HUD queue items.
:param cmds: A command buffer obtained from the GPU context.
:param camera: The camera object (with size, optional target, etc.).
@@ -602,7 +602,7 @@ render.present = function() {
}
}
-render.present[prosperon.DOC] = `Perform the per-frame rendering and present the final swapchain image, including imgui pass if available.
+render.present[cell.DOC] = `Perform the per-frame rendering and present the final swapchain image, including imgui pass if available.
:return: None
`
@@ -637,7 +637,7 @@ function fillmask(ref) {
render.draw(shape.quad);
}
-render.fillmask[prosperon.DOC] = `Draw a fullscreen shape using a 'screenfill' shader to populate the stencil buffer with a given reference.
+render.fillmask[cell.DOC] = `Draw a fullscreen shape using a 'screenfill' shader to populate the stencil buffer with a given reference.
:param ref: The stencil reference value to write.
:return: None
@@ -671,7 +671,7 @@ function mask(image, pos, scale, rotation = 0, ref = 1) {
render.draw(shape.quad);
}
-render.mask[prosperon.DOC] = `Draw an image to the stencil buffer, marking its area with a specified reference value.
+render.mask[cell.DOC] = `Draw an image to the stencil buffer, marking its area with a specified reference value.
:param image: A texture or string path (which is converted to a texture).
:param pos: The translation (x, y) for the image placement.
@@ -685,7 +685,7 @@ render.viewport = function(rect) {
context.viewport(rect);
}
-render.viewport[prosperon.DOC] = `Set the GPU viewport to the specified rectangle.
+render.viewport[cell.DOC] = `Set the GPU viewport to the specified rectangle.
:param rect: A rectangle [x, y, width, height].
:return: None
@@ -695,7 +695,7 @@ render.scissor = function(rect) {
render.viewport(rect)
}
-render.scissor[prosperon.DOC] = `Set the GPU scissor region to the specified rectangle (alias of render.viewport).
+render.scissor[cell.DOC] = `Set the GPU scissor region to the specified rectangle (alias of render.viewport).
:param rect: A rectangle [x, y, width, height].
:return: None
@@ -712,7 +712,7 @@ render.queue = function(cmd) {
current_queue.push(cmd)
}
-render.queue[prosperon.DOC] = `Enqueue one or more draw commands. These commands are batched until render_camera is called.
+render.queue[cell.DOC] = `Enqueue one or more draw commands. These commands are batched until render_camera is called.
:param cmd: Either a single command object or an array of command objects.
:return: None
@@ -723,7 +723,7 @@ render.setup_draw = function() {
prosperon.draw();
}
-render.setup_draw[prosperon.DOC] = `Switch the current queue to the primary scene render queue, then invoke 'prosperon.draw' if defined.
+render.setup_draw[cell.DOC] = `Switch the current queue to the primary scene render queue, then invoke 'prosperon.draw' if defined.
:return: None
`
@@ -733,7 +733,7 @@ render.setup_hud = function() {
prosperon.hud();
}
-render.setup_hud[prosperon.DOC] = `Switch the current queue to the HUD render queue, then invoke 'prosperon.hud' if defined.
+render.setup_hud[cell.DOC] = `Switch the current queue to the HUD render queue, then invoke 'prosperon.hud' if defined.
:return: None
`
diff --git a/moth/shaders/circle.frag.hlsl b/prosperon/shaders/circle.frag.hlsl
similarity index 100%
rename from moth/shaders/circle.frag.hlsl
rename to prosperon/shaders/circle.frag.hlsl
diff --git a/moth/shaders/common/common.hlsl b/prosperon/shaders/common/common.hlsl
similarity index 100%
rename from moth/shaders/common/common.hlsl
rename to prosperon/shaders/common/common.hlsl
diff --git a/moth/shaders/common/model_pixel.hlsl b/prosperon/shaders/common/model_pixel.hlsl
similarity index 100%
rename from moth/shaders/common/model_pixel.hlsl
rename to prosperon/shaders/common/model_pixel.hlsl
diff --git a/moth/shaders/common/model_vertex.hlsl b/prosperon/shaders/common/model_vertex.hlsl
similarity index 100%
rename from moth/shaders/common/model_vertex.hlsl
rename to prosperon/shaders/common/model_vertex.hlsl
diff --git a/moth/shaders/common/pixel.hlsl b/prosperon/shaders/common/pixel.hlsl
similarity index 100%
rename from moth/shaders/common/pixel.hlsl
rename to prosperon/shaders/common/pixel.hlsl
diff --git a/moth/shaders/common/sdf.hlsl b/prosperon/shaders/common/sdf.hlsl
similarity index 100%
rename from moth/shaders/common/sdf.hlsl
rename to prosperon/shaders/common/sdf.hlsl
diff --git a/moth/shaders/common/vertex.hlsl b/prosperon/shaders/common/vertex.hlsl
similarity index 100%
rename from moth/shaders/common/vertex.hlsl
rename to prosperon/shaders/common/vertex.hlsl
diff --git a/moth/shaders/compile.sh b/prosperon/shaders/compile.sh
similarity index 100%
rename from moth/shaders/compile.sh
rename to prosperon/shaders/compile.sh
diff --git a/moth/shaders/dbgline.frag.hlsl b/prosperon/shaders/dbgline.frag.hlsl
similarity index 100%
rename from moth/shaders/dbgline.frag.hlsl
rename to prosperon/shaders/dbgline.frag.hlsl
diff --git a/moth/shaders/dbgline.vert.hlsl b/prosperon/shaders/dbgline.vert.hlsl
similarity index 100%
rename from moth/shaders/dbgline.vert.hlsl
rename to prosperon/shaders/dbgline.vert.hlsl
diff --git a/moth/shaders/dxil/dbgline.frag.dxil b/prosperon/shaders/dxil/dbgline.frag.dxil
similarity index 100%
rename from moth/shaders/dxil/dbgline.frag.dxil
rename to prosperon/shaders/dxil/dbgline.frag.dxil
diff --git a/moth/shaders/dxil/dbgline.vert.dxil b/prosperon/shaders/dxil/dbgline.vert.dxil
similarity index 100%
rename from moth/shaders/dxil/dbgline.vert.dxil
rename to prosperon/shaders/dxil/dbgline.vert.dxil
diff --git a/moth/shaders/dxil/model.frag.dxil b/prosperon/shaders/dxil/model.frag.dxil
similarity index 100%
rename from moth/shaders/dxil/model.frag.dxil
rename to prosperon/shaders/dxil/model.frag.dxil
diff --git a/moth/shaders/dxil/model.vert.dxil b/prosperon/shaders/dxil/model.vert.dxil
similarity index 100%
rename from moth/shaders/dxil/model.vert.dxil
rename to prosperon/shaders/dxil/model.vert.dxil
diff --git a/moth/shaders/dxil/model_lit.frag.dxil b/prosperon/shaders/dxil/model_lit.frag.dxil
similarity index 100%
rename from moth/shaders/dxil/model_lit.frag.dxil
rename to prosperon/shaders/dxil/model_lit.frag.dxil
diff --git a/moth/shaders/dxil/post.frag.dxil b/prosperon/shaders/dxil/post.frag.dxil
similarity index 100%
rename from moth/shaders/dxil/post.frag.dxil
rename to prosperon/shaders/dxil/post.frag.dxil
diff --git a/moth/shaders/dxil/post.vert.dxil b/prosperon/shaders/dxil/post.vert.dxil
similarity index 100%
rename from moth/shaders/dxil/post.vert.dxil
rename to prosperon/shaders/dxil/post.vert.dxil
diff --git a/moth/shaders/dxil/ps1.frag.dxil b/prosperon/shaders/dxil/ps1.frag.dxil
similarity index 100%
rename from moth/shaders/dxil/ps1.frag.dxil
rename to prosperon/shaders/dxil/ps1.frag.dxil
diff --git a/moth/shaders/dxil/ps1.vert.dxil b/prosperon/shaders/dxil/ps1.vert.dxil
similarity index 100%
rename from moth/shaders/dxil/ps1.vert.dxil
rename to prosperon/shaders/dxil/ps1.vert.dxil
diff --git a/moth/shaders/dxil/rectangle.frag.dxil b/prosperon/shaders/dxil/rectangle.frag.dxil
similarity index 100%
rename from moth/shaders/dxil/rectangle.frag.dxil
rename to prosperon/shaders/dxil/rectangle.frag.dxil
diff --git a/moth/shaders/dxil/sprite.frag.dxil b/prosperon/shaders/dxil/sprite.frag.dxil
similarity index 100%
rename from moth/shaders/dxil/sprite.frag.dxil
rename to prosperon/shaders/dxil/sprite.frag.dxil
diff --git a/moth/shaders/dxil/sprite.vert.dxil b/prosperon/shaders/dxil/sprite.vert.dxil
similarity index 100%
rename from moth/shaders/dxil/sprite.vert.dxil
rename to prosperon/shaders/dxil/sprite.vert.dxil
diff --git a/moth/shaders/model.frag.hlsl b/prosperon/shaders/model.frag.hlsl
similarity index 100%
rename from moth/shaders/model.frag.hlsl
rename to prosperon/shaders/model.frag.hlsl
diff --git a/moth/shaders/model.vert.hlsl b/prosperon/shaders/model.vert.hlsl
similarity index 100%
rename from moth/shaders/model.vert.hlsl
rename to prosperon/shaders/model.vert.hlsl
diff --git a/moth/shaders/model_lit.frag.hlsl b/prosperon/shaders/model_lit.frag.hlsl
similarity index 100%
rename from moth/shaders/model_lit.frag.hlsl
rename to prosperon/shaders/model_lit.frag.hlsl
diff --git a/moth/shaders/msl/dbgline.frag.msl b/prosperon/shaders/msl/dbgline.frag.msl
similarity index 100%
rename from moth/shaders/msl/dbgline.frag.msl
rename to prosperon/shaders/msl/dbgline.frag.msl
diff --git a/moth/shaders/msl/dbgline.vert.msl b/prosperon/shaders/msl/dbgline.vert.msl
similarity index 100%
rename from moth/shaders/msl/dbgline.vert.msl
rename to prosperon/shaders/msl/dbgline.vert.msl
diff --git a/moth/shaders/msl/model.frag.msl b/prosperon/shaders/msl/model.frag.msl
similarity index 100%
rename from moth/shaders/msl/model.frag.msl
rename to prosperon/shaders/msl/model.frag.msl
diff --git a/moth/shaders/msl/model.vert.msl b/prosperon/shaders/msl/model.vert.msl
similarity index 100%
rename from moth/shaders/msl/model.vert.msl
rename to prosperon/shaders/msl/model.vert.msl
diff --git a/moth/shaders/msl/model_lit.frag.msl b/prosperon/shaders/msl/model_lit.frag.msl
similarity index 100%
rename from moth/shaders/msl/model_lit.frag.msl
rename to prosperon/shaders/msl/model_lit.frag.msl
diff --git a/moth/shaders/msl/post.frag.msl b/prosperon/shaders/msl/post.frag.msl
similarity index 100%
rename from moth/shaders/msl/post.frag.msl
rename to prosperon/shaders/msl/post.frag.msl
diff --git a/moth/shaders/msl/post.vert.msl b/prosperon/shaders/msl/post.vert.msl
similarity index 100%
rename from moth/shaders/msl/post.vert.msl
rename to prosperon/shaders/msl/post.vert.msl
diff --git a/moth/shaders/msl/ps1.frag.msl b/prosperon/shaders/msl/ps1.frag.msl
similarity index 100%
rename from moth/shaders/msl/ps1.frag.msl
rename to prosperon/shaders/msl/ps1.frag.msl
diff --git a/moth/shaders/msl/ps1.vert.msl b/prosperon/shaders/msl/ps1.vert.msl
similarity index 100%
rename from moth/shaders/msl/ps1.vert.msl
rename to prosperon/shaders/msl/ps1.vert.msl
diff --git a/moth/shaders/msl/rectangle.frag.msl b/prosperon/shaders/msl/rectangle.frag.msl
similarity index 100%
rename from moth/shaders/msl/rectangle.frag.msl
rename to prosperon/shaders/msl/rectangle.frag.msl
diff --git a/moth/shaders/msl/sprite.frag.msl b/prosperon/shaders/msl/sprite.frag.msl
similarity index 100%
rename from moth/shaders/msl/sprite.frag.msl
rename to prosperon/shaders/msl/sprite.frag.msl
diff --git a/moth/shaders/msl/sprite.vert.msl b/prosperon/shaders/msl/sprite.vert.msl
similarity index 100%
rename from moth/shaders/msl/sprite.vert.msl
rename to prosperon/shaders/msl/sprite.vert.msl
diff --git a/moth/shaders/post.frag.hlsl b/prosperon/shaders/post.frag.hlsl
similarity index 100%
rename from moth/shaders/post.frag.hlsl
rename to prosperon/shaders/post.frag.hlsl
diff --git a/moth/shaders/post.vert.hlsl b/prosperon/shaders/post.vert.hlsl
similarity index 100%
rename from moth/shaders/post.vert.hlsl
rename to prosperon/shaders/post.vert.hlsl
diff --git a/moth/shaders/ps1.frag.hlsl b/prosperon/shaders/ps1.frag.hlsl
similarity index 100%
rename from moth/shaders/ps1.frag.hlsl
rename to prosperon/shaders/ps1.frag.hlsl
diff --git a/moth/shaders/ps1.vert.hlsl b/prosperon/shaders/ps1.vert.hlsl
similarity index 100%
rename from moth/shaders/ps1.vert.hlsl
rename to prosperon/shaders/ps1.vert.hlsl
diff --git a/moth/shaders/rectangle.frag.hlsl b/prosperon/shaders/rectangle.frag.hlsl
similarity index 100%
rename from moth/shaders/rectangle.frag.hlsl
rename to prosperon/shaders/rectangle.frag.hlsl
diff --git a/moth/shaders/reflection/dbgline.frag.json b/prosperon/shaders/reflection/dbgline.frag.json
similarity index 100%
rename from moth/shaders/reflection/dbgline.frag.json
rename to prosperon/shaders/reflection/dbgline.frag.json
diff --git a/moth/shaders/reflection/dbgline.vert.json b/prosperon/shaders/reflection/dbgline.vert.json
similarity index 100%
rename from moth/shaders/reflection/dbgline.vert.json
rename to prosperon/shaders/reflection/dbgline.vert.json
diff --git a/moth/shaders/reflection/model.frag.json b/prosperon/shaders/reflection/model.frag.json
similarity index 100%
rename from moth/shaders/reflection/model.frag.json
rename to prosperon/shaders/reflection/model.frag.json
diff --git a/moth/shaders/reflection/model.vert.json b/prosperon/shaders/reflection/model.vert.json
similarity index 100%
rename from moth/shaders/reflection/model.vert.json
rename to prosperon/shaders/reflection/model.vert.json
diff --git a/moth/shaders/reflection/model_lit.frag.json b/prosperon/shaders/reflection/model_lit.frag.json
similarity index 100%
rename from moth/shaders/reflection/model_lit.frag.json
rename to prosperon/shaders/reflection/model_lit.frag.json
diff --git a/moth/shaders/reflection/post.frag.json b/prosperon/shaders/reflection/post.frag.json
similarity index 100%
rename from moth/shaders/reflection/post.frag.json
rename to prosperon/shaders/reflection/post.frag.json
diff --git a/moth/shaders/reflection/post.vert.json b/prosperon/shaders/reflection/post.vert.json
similarity index 100%
rename from moth/shaders/reflection/post.vert.json
rename to prosperon/shaders/reflection/post.vert.json
diff --git a/moth/shaders/reflection/ps1.frag.json b/prosperon/shaders/reflection/ps1.frag.json
similarity index 100%
rename from moth/shaders/reflection/ps1.frag.json
rename to prosperon/shaders/reflection/ps1.frag.json
diff --git a/moth/shaders/reflection/ps1.vert.json b/prosperon/shaders/reflection/ps1.vert.json
similarity index 100%
rename from moth/shaders/reflection/ps1.vert.json
rename to prosperon/shaders/reflection/ps1.vert.json
diff --git a/moth/shaders/reflection/rectangle.frag.json b/prosperon/shaders/reflection/rectangle.frag.json
similarity index 100%
rename from moth/shaders/reflection/rectangle.frag.json
rename to prosperon/shaders/reflection/rectangle.frag.json
diff --git a/moth/shaders/reflection/sprite.frag.json b/prosperon/shaders/reflection/sprite.frag.json
similarity index 100%
rename from moth/shaders/reflection/sprite.frag.json
rename to prosperon/shaders/reflection/sprite.frag.json
diff --git a/moth/shaders/reflection/sprite.vert.json b/prosperon/shaders/reflection/sprite.vert.json
similarity index 100%
rename from moth/shaders/reflection/sprite.vert.json
rename to prosperon/shaders/reflection/sprite.vert.json
diff --git a/moth/shaders/sprite.frag.hlsl b/prosperon/shaders/sprite.frag.hlsl
similarity index 100%
rename from moth/shaders/sprite.frag.hlsl
rename to prosperon/shaders/sprite.frag.hlsl
diff --git a/moth/shaders/sprite.vert.hlsl b/prosperon/shaders/sprite.vert.hlsl
similarity index 100%
rename from moth/shaders/sprite.vert.hlsl
rename to prosperon/shaders/sprite.vert.hlsl
diff --git a/moth/shaders/spv/dbgline.frag.spv b/prosperon/shaders/spv/dbgline.frag.spv
similarity index 100%
rename from moth/shaders/spv/dbgline.frag.spv
rename to prosperon/shaders/spv/dbgline.frag.spv
diff --git a/moth/shaders/spv/dbgline.vert.spv b/prosperon/shaders/spv/dbgline.vert.spv
similarity index 100%
rename from moth/shaders/spv/dbgline.vert.spv
rename to prosperon/shaders/spv/dbgline.vert.spv
diff --git a/moth/shaders/spv/model.frag.spv b/prosperon/shaders/spv/model.frag.spv
similarity index 100%
rename from moth/shaders/spv/model.frag.spv
rename to prosperon/shaders/spv/model.frag.spv
diff --git a/moth/shaders/spv/model.vert.spv b/prosperon/shaders/spv/model.vert.spv
similarity index 100%
rename from moth/shaders/spv/model.vert.spv
rename to prosperon/shaders/spv/model.vert.spv
diff --git a/moth/shaders/spv/model_lit.frag.spv b/prosperon/shaders/spv/model_lit.frag.spv
similarity index 100%
rename from moth/shaders/spv/model_lit.frag.spv
rename to prosperon/shaders/spv/model_lit.frag.spv
diff --git a/moth/shaders/spv/post.frag.spv b/prosperon/shaders/spv/post.frag.spv
similarity index 100%
rename from moth/shaders/spv/post.frag.spv
rename to prosperon/shaders/spv/post.frag.spv
diff --git a/moth/shaders/spv/post.vert.spv b/prosperon/shaders/spv/post.vert.spv
similarity index 100%
rename from moth/shaders/spv/post.vert.spv
rename to prosperon/shaders/spv/post.vert.spv
diff --git a/moth/shaders/spv/ps1.frag.spv b/prosperon/shaders/spv/ps1.frag.spv
similarity index 100%
rename from moth/shaders/spv/ps1.frag.spv
rename to prosperon/shaders/spv/ps1.frag.spv
diff --git a/moth/shaders/spv/ps1.vert.spv b/prosperon/shaders/spv/ps1.vert.spv
similarity index 100%
rename from moth/shaders/spv/ps1.vert.spv
rename to prosperon/shaders/spv/ps1.vert.spv
diff --git a/moth/shaders/spv/rectangle.frag.spv b/prosperon/shaders/spv/rectangle.frag.spv
similarity index 100%
rename from moth/shaders/spv/rectangle.frag.spv
rename to prosperon/shaders/spv/rectangle.frag.spv
diff --git a/moth/shaders/spv/sprite.frag.spv b/prosperon/shaders/spv/sprite.frag.spv
similarity index 100%
rename from moth/shaders/spv/sprite.frag.spv
rename to prosperon/shaders/spv/sprite.frag.spv
diff --git a/moth/shaders/spv/sprite.vert.spv b/prosperon/shaders/spv/sprite.vert.spv
similarity index 100%
rename from moth/shaders/spv/sprite.vert.spv
rename to prosperon/shaders/spv/sprite.vert.spv
diff --git a/moth/shaders/wind.hlsl b/prosperon/shaders/wind.hlsl
similarity index 100%
rename from moth/shaders/wind.hlsl
rename to prosperon/shaders/wind.hlsl
diff --git a/moth/sound.js b/prosperon/sound.js
similarity index 100%
rename from moth/sound.js
rename to prosperon/sound.js
diff --git a/prosperon/spline.js b/prosperon/spline.js
new file mode 100644
index 00000000..524e63c5
--- /dev/null
+++ b/prosperon/spline.js
@@ -0,0 +1,6 @@
+var spline = this
+
+spline.catmull[cell.DOC] = "Perform Catmull-Rom spline sampling on an array of 2D points, returning an array of samples."
+spline.bezier[cell.DOC] = "Perform a Bezier spline (or catmull) sampling on 2D points, returning an array of sampled points."
+
+return spline
\ No newline at end of file
diff --git a/moth/sprite.js b/prosperon/sprite.js
similarity index 100%
rename from moth/sprite.js
rename to prosperon/sprite.js
diff --git a/moth/tests/animation.js b/prosperon/tests/animation.js
similarity index 100%
rename from moth/tests/animation.js
rename to prosperon/tests/animation.js
diff --git a/moth/tests/bunny.png b/prosperon/tests/bunny.png
similarity index 100%
rename from moth/tests/bunny.png
rename to prosperon/tests/bunny.png
diff --git a/moth/tests/bunnymark.js b/prosperon/tests/bunnymark.js
similarity index 100%
rename from moth/tests/bunnymark.js
rename to prosperon/tests/bunnymark.js
diff --git a/moth/tests/camera.js b/prosperon/tests/camera.js
similarity index 100%
rename from moth/tests/camera.js
rename to prosperon/tests/camera.js
diff --git a/moth/tests/camera_colorspace.js b/prosperon/tests/camera_colorspace.js
similarity index 100%
rename from moth/tests/camera_colorspace.js
rename to prosperon/tests/camera_colorspace.js
diff --git a/moth/tests/camera_colorspace_convert.js b/prosperon/tests/camera_colorspace_convert.js
similarity index 100%
rename from moth/tests/camera_colorspace_convert.js
rename to prosperon/tests/camera_colorspace_convert.js
diff --git a/moth/tests/camera_info.js b/prosperon/tests/camera_info.js
similarity index 100%
rename from moth/tests/camera_info.js
rename to prosperon/tests/camera_info.js
diff --git a/moth/tests/crab.gif b/prosperon/tests/crab.gif
similarity index 100%
rename from moth/tests/crab.gif
rename to prosperon/tests/crab.gif
diff --git a/moth/tests/draw2d.js b/prosperon/tests/draw2d.js
similarity index 100%
rename from moth/tests/draw2d.js
rename to prosperon/tests/draw2d.js
diff --git a/moth/tests/prosperon.js b/prosperon/tests/prosperon.js
similarity index 100%
rename from moth/tests/prosperon.js
rename to prosperon/tests/prosperon.js
diff --git a/moth/tests/steam.js b/prosperon/tests/steam.js
similarity index 100%
rename from moth/tests/steam.js
rename to prosperon/tests/steam.js
diff --git a/moth/tests/surface.js b/prosperon/tests/surface.js
similarity index 100%
rename from moth/tests/surface.js
rename to prosperon/tests/surface.js
diff --git a/moth/tests/surface_colorspace.js b/prosperon/tests/surface_colorspace.js
similarity index 100%
rename from moth/tests/surface_colorspace.js
rename to prosperon/tests/surface_colorspace.js
diff --git a/moth/tests/warrior.aseprite b/prosperon/tests/warrior.aseprite
similarity index 100%
rename from moth/tests/warrior.aseprite
rename to prosperon/tests/warrior.aseprite
diff --git a/moth/tests/webcam.js b/prosperon/tests/webcam.js
similarity index 100%
rename from moth/tests/webcam.js
rename to prosperon/tests/webcam.js
diff --git a/moth/tests/window.js b/prosperon/tests/window.js
similarity index 100%
rename from moth/tests/window.js
rename to prosperon/tests/window.js
diff --git a/moth/tween.js b/prosperon/tween.js
similarity index 98%
rename from moth/tween.js
rename to prosperon/tween.js
index f79c85c6..2a2d08f6 100644
--- a/moth/tween.js
+++ b/prosperon/tween.js
@@ -219,7 +219,7 @@ var Tween = {
Tween.make = Tween.start
-Ease[prosperon.DOC] = `
+Ease[cell.DOC] = `
This object provides multiple easing functions that remap a 0..1 input to produce
a smoothed or non-linear output. They can be used standalone or inside tweens.
@@ -238,7 +238,7 @@ Available functions:
All easing functions expect t in [0..1] and return a remapped value in [0..1].
`
-tween[prosperon.DOC] = `
+tween[cell.DOC] = `
:param from: The starting object or value to interpolate from.
:param to: The ending object or value to interpolate to.
:param time: The total duration of the tween in milliseconds or some time unit.
@@ -251,7 +251,7 @@ and calls "fn" with each interpolated value. Once finished, "fn" is called with
then "cb" is invoked if provided, and the tween is cleaned up.
`
-Tween[prosperon.DOC] = `
+Tween[cell.DOC] = `
An object providing methods to create and control tweens with additional features
like looping, custom easing, multiple stages, etc.
@@ -262,7 +262,7 @@ Methods:
- make: Alias of start.
`
-Tween.start[prosperon.DOC] = `
+Tween.start[cell.DOC] = `
:param obj: The object whose property is being tweened, or context for the callback.
:param target: A string property name in obj or a callback function receiving interpolated values.
:param tvals: An array of values to tween through (each must support .lerp()).
@@ -274,7 +274,7 @@ time is the total duration, and "ease" can be any function from Ease. Once start
every frame until completion or stop/pause is called.
`
-Tween.make[prosperon.DOC] = `
+Tween.make[cell.DOC] = `
Alias of Tween.start. See Tween.start for usage details.
`
diff --git a/prosperon/video.js b/prosperon/video.js
new file mode 100644
index 00000000..e4e63464
--- /dev/null
+++ b/prosperon/video.js
@@ -0,0 +1,5 @@
+var video = this
+
+video.make_video[cell.DOC] = "Decode a video file (MPEG, etc.) from an ArrayBuffer, returning a datastream object."
+
+return video
\ No newline at end of file
diff --git a/scripts/base.js b/scripts/base.js
index 072b16b8..ac0322eb 100644
--- a/scripts/base.js
+++ b/scripts/base.js
@@ -4,7 +4,7 @@ Object.mixin = function (target, source) {
return target;
};
-Object.mixin[prosperon.DOC] = `Copy all property descriptors from 'source' into 'target'.
+Object.mixin[cell.DOC] = `Copy all property descriptors from 'source' into 'target'.
:param target: The object that will receive properties.
:param source: The object whose properties are to be copied.
@@ -18,7 +18,7 @@ Object.defineProperty(Object.prototype, "mixin", {
},
});
-(Object.prototype.mixin)[prosperon.DOC] = `Mix properties from 'obj' into the current object. If 'obj' is a string,
+(Object.prototype.mixin)[cell.DOC] = `Mix properties from 'obj' into the current object. If 'obj' is a string,
it first calls 'use(obj)' to retrieve the object.
:param obj: The object (or string reference to an object) to mix in.
@@ -32,7 +32,7 @@ Object.defineProperty(String.prototype, "rm", {
},
});
-(String.prototype.rm)[prosperon.DOC] = `Remove characters from this string between 'index' (inclusive)
+(String.prototype.rm)[cell.DOC] = `Remove characters from this string between 'index' (inclusive)
and 'endidx' (exclusive). If 'endidx' is omitted, it defaults to 'index + 1'.
:param index: The starting index to remove.
@@ -48,7 +48,7 @@ Object.defineProperty(String.prototype, "tolast", {
},
});
-(String.prototype.tolast)[prosperon.DOC] = `Return the substring of this string up to the last occurrence of 'val'.
+(String.prototype.tolast)[cell.DOC] = `Return the substring of this string up to the last occurrence of 'val'.
If 'val' is not found, the entire string is returned.
:param val: The substring to locate from the end.
@@ -62,7 +62,7 @@ Object.defineProperty(String.prototype, "dir", {
},
});
-(String.prototype.dir)[prosperon.DOC] = `Return everything before the last slash ('/') in the string.
+(String.prototype.dir)[cell.DOC] = `Return everything before the last slash ('/') in the string.
If no slash is found, return an empty string.
:return: The directory portion of the path.
@@ -89,7 +89,7 @@ Object.defineProperty(String.prototype, "next", {
},
});
-(String.prototype.next)[prosperon.DOC] = `Search for the next occurrence of 'char' in this string, starting at 'from'.
+(String.prototype.next)[cell.DOC] = `Search for the next occurrence of 'char' in this string, starting at 'from'.
If 'char' is an array, any of those characters qualifies. Return the matching index,
or -1 if none is found.
@@ -115,7 +115,7 @@ Object.defineProperty(String.prototype, "prev", {
},
});
-(String.prototype.prev)[prosperon.DOC] = `Search for the previous occurrence of 'char' before index 'from'.
+(String.prototype.prev)[cell.DOC] = `Search for the previous occurrence of 'char' before index 'from'.
If 'count' is greater than 1, skip multiple occurrences going backward.
Return the found index or 0 if not found.
@@ -131,7 +131,7 @@ Object.defineProperty(String.prototype, "strip_ext", {
},
});
-(String.prototype.strip_ext)[prosperon.DOC] = `Return the string up to (but not including) the last '.' character.
+(String.prototype.strip_ext)[cell.DOC] = `Return the string up to (but not including) the last '.' character.
If '.' is not found, the entire string is returned.
:return: The string without its last extension.
@@ -143,7 +143,7 @@ Object.defineProperty(String.prototype, "ext", {
},
});
-(String.prototype.ext)[prosperon.DOC] = `Return the substring after the last '.' in this string.
+(String.prototype.ext)[cell.DOC] = `Return the substring after the last '.' in this string.
If '.' is not found, return an empty string.
:return: The file extension or an empty string.
@@ -158,7 +158,7 @@ Object.defineProperty(String.prototype, "up_path", {
},
});
-(String.prototype.up_path)[prosperon.DOC] = `Go up one directory level from the current path, preserving the file name at the end.
+(String.prototype.up_path)[cell.DOC] = `Go up one directory level from the current path, preserving the file name at the end.
:return: A new path string one directory up, with the base filename preserved.
`;
@@ -171,7 +171,7 @@ Object.defineProperty(String.prototype, "fromlast", {
},
});
-(String.prototype.fromlast)[prosperon.DOC] = `Return the substring that appears after the last occurrence of 'val'.
+(String.prototype.fromlast)[cell.DOC] = `Return the substring that appears after the last occurrence of 'val'.
If 'val' is not found, an empty string is returned.
:param val: The substring to locate.
@@ -186,7 +186,7 @@ Object.defineProperty(String.prototype, "tofirst", {
},
});
-(String.prototype.tofirst)[prosperon.DOC] = `Return the substring from the start of this string up to the first occurrence
+(String.prototype.tofirst)[cell.DOC] = `Return the substring from the start of this string up to the first occurrence
of 'val' (excluded). If 'val' is not found, the entire string is returned.
:param val: The substring to locate.
@@ -201,7 +201,7 @@ Object.defineProperty(String.prototype, "fromfirst", {
},
});
-(String.prototype.fromfirst)[prosperon.DOC] = `Return the substring after the first occurrence of 'val'.
+(String.prototype.fromfirst)[cell.DOC] = `Return the substring after the first occurrence of 'val'.
If 'val' is not found, the entire string is returned.
:param val: The substring to locate.
@@ -216,7 +216,7 @@ Object.defineProperty(String.prototype, "name", {
},
});
-(String.prototype.name)[prosperon.DOC] = `Return the "name" portion of the path without extension.
+(String.prototype.name)[cell.DOC] = `Return the "name" portion of the path without extension.
If no slash is found, it's up to the last '.' in the entire string.
If there is a slash, it's from the last slash up to (but not including) the last '.'.
@@ -230,7 +230,7 @@ Object.defineProperty(String.prototype, "set_name", {
},
});
-(String.prototype.set_name)[prosperon.DOC] = `Set the base name (excluding extension) of the path to 'name', preserving
+(String.prototype.set_name)[cell.DOC] = `Set the base name (excluding extension) of the path to 'name', preserving
the original directory and extension.
:param name: The new name to use.
@@ -243,7 +243,7 @@ Object.defineProperty(String.prototype, "base", {
},
});
-(String.prototype.base)[prosperon.DOC] = `Return the portion of this string after the last '/' character.
+(String.prototype.base)[cell.DOC] = `Return the portion of this string after the last '/' character.
If no '/' is present, the entire string is returned.
:return: The base name of the path.
@@ -257,7 +257,7 @@ Object.defineProperty(String.prototype, "updir", {
},
});
-(String.prototype.updir)[prosperon.DOC] = `Go up one directory from the current path, removing the last directory name.
+(String.prototype.updir)[cell.DOC] = `Go up one directory from the current path, removing the last directory name.
If the path ends with a slash, remove it first. Then remove the final directory.
:return: A new string representing one directory level up.
@@ -276,7 +276,7 @@ Object.defineProperty(Array.prototype, "filter!", {
},
});
-(Array.prototype["filter!"])[prosperon.DOC] = `Perform an in-place filter of this array using the provided callback 'fn'.
+(Array.prototype["filter!"])[cell.DOC] = `Perform an in-place filter of this array using the provided callback 'fn'.
Any element for which 'fn' returns a falsy value is removed. The array is modified
and then returned.
@@ -292,7 +292,7 @@ Object.defineProperty(Array.prototype, "delete", {
}
});
-(Array.prototype.delete)[prosperon.DOC] = `Remove the first occurrence of 'item' from the array, if it exists.
+(Array.prototype.delete)[cell.DOC] = `Remove the first occurrence of 'item' from the array, if it exists.
Returns undefined.
:param item: The item to remove.
@@ -309,7 +309,7 @@ Object.defineProperty(Array.prototype, "copy", {
},
});
-(Array.prototype.copy)[prosperon.DOC] = `Return a deep copy of this array by applying 'deep_copy' to each element.
+(Array.prototype.copy)[cell.DOC] = `Return a deep copy of this array by applying 'deep_copy' to each element.
The resulting array is entirely new.
:return: A new array that is a deep copy of the original.
@@ -329,7 +329,7 @@ Object.defineProperty(Array.prototype, "equal", {
},
});
-(Array.prototype.equal)[prosperon.DOC] = `Check if this array and array 'b' have the same elements in the same order.
+(Array.prototype.equal)[cell.DOC] = `Check if this array and array 'b' have the same elements in the same order.
If they are of different lengths, return false. Otherwise compare them via JSON.
:param b: Another array to compare against.
@@ -342,7 +342,7 @@ Object.defineProperty(Array.prototype, "last", {
},
});
-(Array.prototype.last)[prosperon.DOC] = `Return the last element of this array. If the array is empty, returns undefined.
+(Array.prototype.last)[cell.DOC] = `Return the last element of this array. If the array is empty, returns undefined.
:return: The last element of the array, or undefined if empty.
`;
@@ -355,7 +355,7 @@ Object.defineProperty(Array.prototype, "wrapped", {
},
});
-(Array.prototype.wrapped)[prosperon.DOC] = `Return a copy of the array with the first 'x' elements appended to the end.
+(Array.prototype.wrapped)[cell.DOC] = `Return a copy of the array with the first 'x' elements appended to the end.
Does not modify the original array.
:param x: The number of leading elements to re-append.
@@ -371,7 +371,7 @@ Object.defineProperty(Array.prototype, "wrap_idx", {
},
});
-(Array.prototype.wrap_idx)[prosperon.DOC] = `Wrap the integer 'x' around this array's length, ensuring the resulting index
+(Array.prototype.wrap_idx)[cell.DOC] = `Wrap the integer 'x' around this array's length, ensuring the resulting index
lies within [0, this.length - 1].
:param x: The index to wrap.
@@ -387,7 +387,7 @@ Object.defineProperty(Array.prototype, "mirrored", {
},
});
-(Array.prototype.mirrored)[prosperon.DOC] = `Return a new array that appends a reversed copy (excluding the last element)
+(Array.prototype.mirrored)[cell.DOC] = `Return a new array that appends a reversed copy (excluding the last element)
of itself to the end. For example, [1,2,3] -> [1,2,3,2,1]. If the array has length
<= 1, a copy of it is returned directly.
@@ -397,7 +397,7 @@ of itself to the end. For example, [1,2,3] -> [1,2,3,2,1]. If the array has leng
/// doc for builtin string
-(String.prototype.at)[prosperon.DOC] = `Return the character (or surrogate pair) at the specified index, with support
+(String.prototype.at)[cell.DOC] = `Return the character (or surrogate pair) at the specified index, with support
for negative indices (counting from the end). If the index is out of range,
returns undefined.
@@ -405,28 +405,28 @@ returns undefined.
:return: A string of length 1 representing the character, or undefined if out of range.
`;
-(String.prototype.charCodeAt)[prosperon.DOC] = `Return a number indicating the UTF-16 code unit value at the given index.
+(String.prototype.charCodeAt)[cell.DOC] = `Return a number indicating the UTF-16 code unit value at the given index.
If the index is out of range, returns NaN.
:param index: An integer between 0 and string length - 1.
:return: An integer in the range [0, 65535] or NaN if out of range.
`;
-(String.prototype.charAt)[prosperon.DOC] = `Return a string consisting of the single UTF-16 code unit at the given index.
+(String.prototype.charAt)[cell.DOC] = `Return a string consisting of the single UTF-16 code unit at the given index.
If the index is out of range, returns an empty string.
:param index: The zero-based index of the desired character.
:return: The single-character string at the specified index, or '' if out of range.
`;
-(String.prototype.concat)[prosperon.DOC] = `Concatenate the provided string arguments to the current string and return a
+(String.prototype.concat)[cell.DOC] = `Concatenate the provided string arguments to the current string and return a
new string.
:param stringN: One or more strings to concatenate.
:return: A new string formed by joining the caller with the provided arguments.
`;
-(String.prototype.codePointAt)[prosperon.DOC] = `Return a non-negative integer that is the Unicode code point value at the
+(String.prototype.codePointAt)[cell.DOC] = `Return a non-negative integer that is the Unicode code point value at the
given position. Supports code points above 0xFFFF. Returns undefined if index
is out of range.
@@ -434,19 +434,19 @@ is out of range.
:return: The code point value, or undefined if out of range.
`;
-(String.prototype.isWellFormed)[prosperon.DOC] = `Return a boolean indicating whether the string is valid Unicode.
+(String.prototype.isWellFormed)[cell.DOC] = `Return a boolean indicating whether the string is valid Unicode.
If it contains unpaired surrogate code points, return false.
:return: True if the string is well-formed UTF-16, otherwise false.
`;
-(String.prototype.toWellFormed)[prosperon.DOC] = `Return a new string in which any unpaired surrogate code points have been
+(String.prototype.toWellFormed)[cell.DOC] = `Return a new string in which any unpaired surrogate code points have been
replaced by the Unicode replacement character U+FFFD.
:return: A well-formed UTF-16 version of the string.
`;
-(String.prototype.indexOf)[prosperon.DOC] = `Return the zero-based index of the first occurrence of 'searchValue' in the
+(String.prototype.indexOf)[cell.DOC] = `Return the zero-based index of the first occurrence of 'searchValue' in the
string, starting at 'fromIndex'. If not found, return -1.
:param searchValue: The substring to search for.
@@ -454,7 +454,7 @@ string, starting at 'fromIndex'. If not found, return -1.
:return: The index of the first match, or -1 if not found.
`;
-(String.prototype.lastIndexOf)[prosperon.DOC] = `Return the zero-based index of the last occurrence of 'searchValue' in the
+(String.prototype.lastIndexOf)[cell.DOC] = `Return the zero-based index of the last occurrence of 'searchValue' in the
string, searching backwards from 'fromIndex'. If not found, return -1.
:param searchValue: The substring to search for.
@@ -462,7 +462,7 @@ string, searching backwards from 'fromIndex'. If not found, return -1.
:return: The index of the last match, or -1 if not found.
`;
-(String.prototype.includes)[prosperon.DOC] = `Return a boolean indicating whether 'searchString' appears within this string.
+(String.prototype.includes)[cell.DOC] = `Return a boolean indicating whether 'searchString' appears within this string.
An optional position can be provided to start searching.
:param searchString: The substring to search for.
@@ -470,7 +470,7 @@ An optional position can be provided to start searching.
:return: True if the substring is found, otherwise false.
`;
-(String.prototype.endsWith)[prosperon.DOC] = `Return a boolean indicating whether the string ends with 'searchString'.
+(String.prototype.endsWith)[cell.DOC] = `Return a boolean indicating whether the string ends with 'searchString'.
An optional 'length' can be provided to treat the string as if it were only
that long.
@@ -479,7 +479,7 @@ that long.
:return: True if the string ends with 'searchString', otherwise false.
`;
-(String.prototype.startsWith)[prosperon.DOC] = `Return a boolean indicating whether the string begins with 'searchString'.
+(String.prototype.startsWith)[cell.DOC] = `Return a boolean indicating whether the string begins with 'searchString'.
An optional position can be provided to start checking at that index.
:param searchString: The substring to search for at the start.
@@ -487,28 +487,28 @@ An optional position can be provided to start checking at that index.
:return: True if the string starts with 'searchString', otherwise false.
`;
-(String.prototype.match)[prosperon.DOC] = `Use a regular expression to match the string. If 'regexp' is not a RegExp, it
+(String.prototype.match)[cell.DOC] = `Use a regular expression to match the string. If 'regexp' is not a RegExp, it
is converted to one. Return an array of matches or null if none found.
:param regexp: The pattern to match (RegExp or string).
:return: An array of matches or null.
`;
-(String.prototype.matchAll)[prosperon.DOC] = `Return an iterator of all RegExp match objects found within the string.
+(String.prototype.matchAll)[cell.DOC] = `Return an iterator of all RegExp match objects found within the string.
If 'regexp' is not a global or sticky RegExp, a TypeError is thrown.
:param regexp: The global/sticky RegExp to match over this string.
:return: An iterator of match arrays.
`;
-(String.prototype.search)[prosperon.DOC] = `Use a regular expression to search for a match within the string. Return the
+(String.prototype.search)[cell.DOC] = `Use a regular expression to search for a match within the string. Return the
index of the first match, or -1 if no match is found.
:param regexp: A RegExp or string. If a string, it is converted to RegExp.
:return: The index of the first match, or -1 if not found.
`;
-(String.prototype.split)[prosperon.DOC] = `Split the string into an array of substrings using 'separator' (RegExp or
+(String.prototype.split)[cell.DOC] = `Split the string into an array of substrings using 'separator' (RegExp or
string). An optional 'limit' can be provided to limit the number of splits.
:param separator: A string or RegExp used to divide the string.
@@ -516,7 +516,7 @@ string). An optional 'limit' can be provided to limit the number of splits.
:return: An array of the split substrings.
`;
-(String.prototype.substring)[prosperon.DOC] = `Return the substring between 'start' and 'end'. Indices outside the range
+(String.prototype.substring)[cell.DOC] = `Return the substring between 'start' and 'end'. Indices outside the range
are clamped. If 'end' < 'start', they swap.
:param start: The starting index (0-based).
@@ -524,7 +524,7 @@ are clamped. If 'end' < 'start', they swap.
:return: The extracted substring.
`;
-(String.prototype.substr)[prosperon.DOC] = `Return the substring from 'start' for 'length' characters. Negative 'start'
+(String.prototype.substr)[cell.DOC] = `Return the substring from 'start' for 'length' characters. Negative 'start'
counts from the end. This method is deprecated but still supported in many
engines.
@@ -533,7 +533,7 @@ engines.
:return: The extracted substring.
`;
-(String.prototype.slice)[prosperon.DOC] = `Extract a section of the string from 'start' up to (but not including) 'end',
+(String.prototype.slice)[cell.DOC] = `Extract a section of the string from 'start' up to (but not including) 'end',
and return it as a new string. Supports negative indices.
:param start: The starting index. Negative values count from the end.
@@ -541,14 +541,14 @@ and return it as a new string. Supports negative indices.
:return: The extracted slice.
`;
-(String.prototype.repeat)[prosperon.DOC] = `Construct and return a new string which contains the specified number of copies
+(String.prototype.repeat)[cell.DOC] = `Construct and return a new string which contains the specified number of copies
of the calling string, concatenated together.
:param count: The number of times to repeat the string (must be >= 0).
:return: A new repeated string.
`;
-(String.prototype.replace)[prosperon.DOC] = `Return a new string where the first match (or all matches if 'searchValue'
+(String.prototype.replace)[cell.DOC] = `Return a new string where the first match (or all matches if 'searchValue'
is a global RegExp) of 'searchValue' is replaced by 'replaceValue'.
If 'searchValue' is a string, only the first occurrence is replaced.
@@ -557,7 +557,7 @@ If 'searchValue' is a string, only the first occurrence is replaced.
:return: A new string with the matched substring(s) replaced.
`;
-(String.prototype.replaceAll)[prosperon.DOC] = `Return a new string where all (non-overlapping) occurrences of 'searchValue'
+(String.prototype.replaceAll)[cell.DOC] = `Return a new string where all (non-overlapping) occurrences of 'searchValue'
are replaced by 'replaceValue'. If 'searchValue' is a string, each exact match
is replaced.
@@ -566,7 +566,7 @@ is replaced.
:return: A new string with all matches replaced.
`;
-(String.prototype.padEnd)[prosperon.DOC] = `Pad the string from the end with the given 'padString' so its length reaches
+(String.prototype.padEnd)[cell.DOC] = `Pad the string from the end with the given 'padString' so its length reaches
'maxLength'. The result is a new string.
:param maxLength: The desired length of the resulting string.
@@ -574,7 +574,7 @@ is replaced.
:return: A new string padded at the end.
`;
-(String.prototype.padStart)[prosperon.DOC] = `Pad the string from the start with the given 'padString' so its length reaches
+(String.prototype.padStart)[cell.DOC] = `Pad the string from the start with the given 'padString' so its length reaches
'maxLength'. The result is a new string.
:param maxLength: The desired length of the resulting string.
@@ -582,148 +582,148 @@ is replaced.
:return: A new string padded at the start.
`;
-(String.prototype.trim)[prosperon.DOC] = `Return a new string with whitespace trimmed from the start and end of this
+(String.prototype.trim)[cell.DOC] = `Return a new string with whitespace trimmed from the start and end of this
string.
:return: The trimmed string.
`;
-(String.prototype.trimEnd)[prosperon.DOC] = `Return a new string with trailing whitespace removed. Alias: trimRight().
+(String.prototype.trimEnd)[cell.DOC] = `Return a new string with trailing whitespace removed. Alias: trimRight().
:return: The string without trailing whitespace.
`;
-(String.prototype.trimRight)[prosperon.DOC] = `Alias for trimEnd(). Remove trailing whitespace from the string.
+(String.prototype.trimRight)[cell.DOC] = `Alias for trimEnd(). Remove trailing whitespace from the string.
:return: The string without trailing whitespace.
`;
-(String.prototype.trimStart)[prosperon.DOC] = `Return a new string with leading whitespace removed. Alias: trimLeft().
+(String.prototype.trimStart)[cell.DOC] = `Return a new string with leading whitespace removed. Alias: trimLeft().
:return: The string without leading whitespace.
`;
-(String.prototype.trimLeft)[prosperon.DOC] = `Alias for trimStart(). Remove leading whitespace from the string.
+(String.prototype.trimLeft)[cell.DOC] = `Alias for trimStart(). Remove leading whitespace from the string.
:return: The string without leading whitespace.
`;
-(String.prototype.toString)[prosperon.DOC] = `Return a string representing the specified object (itself). Usually called
+(String.prototype.toString)[cell.DOC] = `Return a string representing the specified object (itself). Usually called
implicitly. Overrides Object.prototype.toString.
:return: The string itself.
`;
-(String.prototype.valueOf)[prosperon.DOC] = `Return the primitive string value of this String object.
+(String.prototype.valueOf)[cell.DOC] = `Return the primitive string value of this String object.
:return: The primitive string value.
`;
-(String.prototype.__quote)[prosperon.DOC] = `(Non-standard) Return a quoted representation of the string, typically for
+(String.prototype.__quote)[cell.DOC] = `(Non-standard) Return a quoted representation of the string, typically for
debug or serialization. Implementation details may vary.
:return: A quoted version of the string.
`;
-(String.prototype.toLowerCase)[prosperon.DOC] = `Return a new string with all alphabetic characters converted to lowercase.
+(String.prototype.toLowerCase)[cell.DOC] = `Return a new string with all alphabetic characters converted to lowercase.
:return: The lowercase version of this string.
`;
-(String.prototype.toUpperCase)[prosperon.DOC] = `Return a new string with all alphabetic characters converted to uppercase.
+(String.prototype.toUpperCase)[cell.DOC] = `Return a new string with all alphabetic characters converted to uppercase.
:return: The uppercase version of this string.
`;
-(String.prototype.toLocaleLowerCase)[prosperon.DOC] = `Return a locale-aware lowercase version of this string, using the host's
+(String.prototype.toLocaleLowerCase)[cell.DOC] = `Return a locale-aware lowercase version of this string, using the host's
current locale or the specified locale if supported.
:return: The locale-sensitive lowercase string.
`;
-(String.prototype.toLocaleUpperCase)[prosperon.DOC] = `Return a locale-aware uppercase version of this string, using the host's
+(String.prototype.toLocaleUpperCase)[cell.DOC] = `Return a locale-aware uppercase version of this string, using the host's
current locale or the specified locale if supported.
:return: The locale-sensitive uppercase string.
`;
-(String.prototype.anchor)[prosperon.DOC] = `Return a string representing an HTML element with a 'name' attribute
+(String.prototype.anchor)[cell.DOC] = `Return a string representing an HTML element with a 'name' attribute
set to the current string.
:param name: The name attribute for the anchor.
:return: An HTML ... string.
`;
-(String.prototype.big)[prosperon.DOC] = `Return a string representing an HTML element containing the current
+(String.prototype.big)[cell.DOC] = `Return a string representing an HTML element containing the current
string.
:return: An HTML ... string.
`;
-(String.prototype.blink)[prosperon.DOC] = `Return a string representing an HTML