@oidoid/void 0.1.0-7 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/index.js +19 -15
- package/dist/public/index.js.map +4 -4
- package/dist/public/preload-atlas.webp +0 -0
- package/dist/public/void-v0.1.0+20251227.1060661.html +115 -0
- package/dist/schema/config-file.v0.json +86 -15
- package/dist/schema/level-file.v0.json +423 -0
- package/dist/src/audio.d.ts +1 -0
- package/dist/src/audio.d.ts.map +1 -0
- package/dist/src/demo/assets/manifest.json +2 -2
- package/dist/src/demo/assets/void.game.json +202 -0
- package/dist/src/demo/ents/cam.d.ts +6 -0
- package/dist/src/demo/ents/cam.d.ts.map +1 -0
- package/dist/src/demo/ents/cam.js +21 -0
- package/dist/src/demo/ents/cam.js.map +1 -0
- package/dist/src/demo/ents/clock.d.ts +10 -0
- package/dist/src/demo/ents/clock.d.ts.map +1 -0
- package/dist/src/demo/ents/clock.js +16 -0
- package/dist/src/demo/ents/clock.js.map +1 -0
- package/dist/src/demo/ents/draw.d.ts +6 -0
- package/dist/src/demo/ents/draw.d.ts.map +1 -0
- package/dist/src/demo/ents/draw.js +14 -0
- package/dist/src/demo/ents/draw.js.map +1 -0
- package/dist/src/demo/ents/ent.d.ts +6 -0
- package/dist/src/demo/ents/ent.d.ts.map +1 -0
- package/dist/src/demo/ents/ent.js +2 -0
- package/dist/src/demo/ents/ent.js.map +1 -0
- package/dist/src/demo/ents/loader.d.ts +6 -0
- package/dist/src/demo/ents/loader.d.ts.map +1 -0
- package/dist/src/demo/ents/loader.js +45 -0
- package/dist/src/demo/ents/loader.js.map +1 -0
- package/dist/src/demo/ents/render-toggle.d.ts +7 -0
- package/dist/src/demo/ents/render-toggle.d.ts.map +1 -0
- package/dist/src/demo/ents/render-toggle.js +8 -0
- package/dist/src/demo/ents/render-toggle.js.map +1 -0
- package/dist/src/demo/ents/tally.d.ts +8 -0
- package/dist/src/demo/ents/tally.d.ts.map +1 -0
- package/dist/src/demo/ents/tally.js +14 -0
- package/dist/src/demo/ents/tally.js.map +1 -0
- package/dist/src/demo/index.d.ts +1 -0
- package/dist/src/demo/index.d.ts.map +1 -0
- package/dist/src/demo/index.js +12 -3
- package/dist/src/demo/index.js.map +1 -1
- package/dist/src/demo/level/level-file.json +50 -0
- package/dist/src/demo/level/level-parser.d.ts +5 -0
- package/dist/src/demo/level/level-parser.d.ts.map +1 -0
- package/dist/src/demo/level/level-parser.js +21 -0
- package/dist/src/demo/level/level-parser.js.map +1 -0
- package/dist/src/demo/level/level-schema.d.ts +4 -0
- package/dist/src/demo/level/level-schema.d.ts.map +1 -0
- package/dist/src/demo/level/level-schema.js +2 -0
- package/dist/src/demo/level/level-schema.js.map +1 -0
- package/dist/src/demo/types/decl.d.ts +30 -0
- package/dist/src/demo/types/decl.d.ts.map +1 -0
- package/dist/src/demo/types/decl.js +2 -0
- package/dist/src/demo/types/decl.js.map +1 -0
- package/dist/src/demo/void.json +8 -4
- package/dist/src/ents/button.d.ts +14 -0
- package/dist/src/ents/button.d.ts.map +1 -0
- package/dist/src/ents/button.js +59 -0
- package/dist/src/ents/button.js.map +1 -0
- package/dist/src/ents/cam.d.ts +3 -0
- package/dist/src/ents/cam.d.ts.map +1 -0
- package/dist/src/ents/cam.js +2 -0
- package/dist/src/ents/cam.js.map +1 -0
- package/dist/src/ents/cursor.d.ts +20 -0
- package/dist/src/ents/cursor.d.ts.map +1 -0
- package/dist/src/ents/cursor.js +49 -0
- package/dist/src/ents/cursor.js.map +1 -0
- package/dist/src/ents/debug-input.d.ts +8 -0
- package/dist/src/ents/debug-input.d.ts.map +1 -0
- package/dist/src/ents/debug-input.js +25 -0
- package/dist/src/ents/debug-input.js.map +1 -0
- package/dist/src/ents/draw.d.ts +3 -0
- package/dist/src/ents/draw.d.ts.map +1 -0
- package/dist/src/ents/draw.js +2 -0
- package/dist/src/ents/draw.js.map +1 -0
- package/dist/src/ents/ent-query.d.ts +26 -0
- package/dist/src/ents/ent-query.d.ts.map +1 -0
- package/dist/src/ents/ent-query.js +10 -0
- package/dist/src/ents/ent-query.js.map +1 -0
- package/dist/src/ents/ent.d.ts +92 -6
- package/dist/src/ents/ent.d.ts.map +1 -0
- package/dist/src/ents/fps.d.ts +7 -0
- package/dist/src/ents/fps.d.ts.map +1 -0
- package/dist/src/ents/fps.js +14 -0
- package/dist/src/ents/fps.js.map +1 -0
- package/dist/src/ents/hud.d.ts +14 -0
- package/dist/src/ents/hud.d.ts.map +1 -0
- package/dist/src/ents/hud.js +38 -0
- package/dist/src/ents/hud.js.map +1 -0
- package/dist/src/ents/loader.d.ts +3 -0
- package/dist/src/ents/loader.d.ts.map +1 -0
- package/dist/src/ents/loader.js +2 -0
- package/dist/src/ents/loader.js.map +1 -0
- package/dist/src/ents/nine-patch.d.ts +17 -0
- package/dist/src/ents/nine-patch.d.ts.map +1 -0
- package/dist/src/ents/nine-patch.js +99 -0
- package/dist/src/ents/nine-patch.js.map +1 -0
- package/dist/src/ents/override.d.ts +8 -0
- package/dist/src/ents/override.d.ts.map +1 -0
- package/dist/src/ents/override.js +8 -0
- package/dist/src/ents/override.js.map +1 -0
- package/dist/src/ents/sprite.d.ts +8 -0
- package/dist/src/ents/sprite.d.ts.map +1 -0
- package/dist/src/ents/sprite.js +10 -0
- package/dist/src/ents/sprite.js.map +1 -0
- package/dist/src/ents/sys.d.ts +14 -0
- package/dist/src/ents/sys.d.ts.map +1 -0
- package/dist/src/ents/sys.js +2 -0
- package/dist/src/ents/sys.js.map +1 -0
- package/dist/src/ents/text.d.ts +21 -0
- package/dist/src/ents/text.d.ts.map +1 -0
- package/dist/src/ents/text.js +118 -0
- package/dist/src/ents/text.js.map +1 -0
- package/dist/src/ents/zoo.d.ts +18 -11
- package/dist/src/ents/zoo.d.ts.map +1 -0
- package/dist/src/ents/zoo.js +75 -15
- package/dist/src/ents/zoo.js.map +1 -1
- package/dist/src/graphics/atlas-parser.d.ts +3 -1
- package/dist/src/graphics/atlas-parser.d.ts.map +1 -0
- package/dist/src/graphics/atlas-parser.js.map +1 -1
- package/dist/src/graphics/atlas.d.ts +9 -15
- package/dist/src/graphics/atlas.d.ts.map +1 -0
- package/dist/src/graphics/cam.d.ts +13 -10
- package/dist/src/graphics/cam.d.ts.map +1 -0
- package/dist/src/graphics/cam.js +23 -17
- package/dist/src/graphics/cam.js.map +1 -1
- package/dist/src/graphics/gl.d.ts +1 -8
- package/dist/src/graphics/gl.d.ts.map +1 -0
- package/dist/src/graphics/gl.js +0 -1
- package/dist/src/graphics/gl.js.map +1 -1
- package/dist/src/graphics/layer.d.ts +21 -17
- package/dist/src/graphics/layer.d.ts.map +1 -0
- package/dist/src/graphics/layer.js +23 -18
- package/dist/src/graphics/layer.js.map +1 -1
- package/dist/src/graphics/pixel-ratio-observer.d.ts +8 -0
- package/dist/src/graphics/pixel-ratio-observer.d.ts.map +1 -0
- package/dist/src/graphics/pixel-ratio-observer.js +23 -0
- package/dist/src/graphics/pixel-ratio-observer.js.map +1 -0
- package/dist/src/graphics/render-mode.d.ts +2 -0
- package/dist/src/graphics/render-mode.d.ts.map +1 -0
- package/dist/src/graphics/render-mode.js +2 -0
- package/dist/src/graphics/render-mode.js.map +1 -0
- package/dist/src/graphics/renderer.d.ts +9 -4
- package/dist/src/graphics/renderer.d.ts.map +1 -0
- package/dist/src/graphics/renderer.js +30 -13
- package/dist/src/graphics/renderer.js.map +1 -1
- package/dist/src/graphics/sprite-frag.glsl.d.ts +1 -0
- package/dist/src/graphics/sprite-frag.glsl.d.ts.map +1 -0
- package/dist/src/graphics/sprite-frag.glsl.js +3 -4
- package/dist/src/graphics/sprite-frag.glsl.js.map +1 -1
- package/dist/src/graphics/sprite-vert.glsl.d.ts +1 -0
- package/dist/src/graphics/sprite-vert.glsl.d.ts.map +1 -0
- package/dist/src/graphics/sprite-vert.glsl.js +9 -7
- package/dist/src/graphics/sprite-vert.glsl.js.map +1 -1
- package/dist/src/graphics/sprite.d.ts +54 -16
- package/dist/src/graphics/sprite.d.ts.map +1 -0
- package/dist/src/graphics/sprite.js +109 -32
- package/dist/src/graphics/sprite.js.map +1 -1
- package/dist/src/index.d.ts +31 -6
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +33 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/input/context-menu.d.ts +1 -1
- package/dist/src/input/context-menu.d.ts.map +1 -0
- package/dist/src/input/context-menu.js +0 -1
- package/dist/src/input/context-menu.js.map +1 -1
- package/dist/src/input/gamepad.d.ts +1 -1
- package/dist/src/input/gamepad.d.ts.map +1 -0
- package/dist/src/input/gamepad.js +0 -1
- package/dist/src/input/gamepad.js.map +1 -1
- package/dist/src/input/input.d.ts +30 -23
- package/dist/src/input/input.d.ts.map +1 -0
- package/dist/src/input/input.js +53 -31
- package/dist/src/input/input.js.map +1 -1
- package/dist/src/input/keyboard.d.ts +1 -0
- package/dist/src/input/keyboard.d.ts.map +1 -0
- package/dist/src/input/pointer.d.ts +1 -0
- package/dist/src/input/pointer.d.ts.map +1 -0
- package/dist/src/input/pointer.js +11 -8
- package/dist/src/input/pointer.js.map +1 -1
- package/dist/src/input/wheel.d.ts +6 -1
- package/dist/src/input/wheel.d.ts.map +1 -0
- package/dist/src/input/wheel.js +5 -1
- package/dist/src/input/wheel.js.map +1 -1
- package/dist/src/level/level-parser.d.ts +26 -0
- package/dist/src/level/level-parser.d.ts.map +1 -0
- package/dist/src/level/level-parser.js +258 -0
- package/dist/src/level/level-parser.js.map +1 -0
- package/dist/src/level/level-schema-json.d.ts +5 -0
- package/dist/src/level/level-schema-json.d.ts.map +1 -0
- package/dist/src/level/level-schema-json.js +2 -0
- package/dist/src/level/level-schema-json.js.map +1 -0
- package/dist/src/level/level-schema.d.ts +87 -0
- package/dist/src/level/level-schema.d.ts.map +1 -0
- package/dist/src/level/level-schema.js +2 -0
- package/dist/src/level/level-schema.js.map +1 -0
- package/dist/src/level/level.d.ts +8 -0
- package/dist/src/level/level.d.ts.map +1 -0
- package/dist/src/level/level.js +2 -0
- package/dist/src/level/level.js.map +1 -0
- package/dist/src/looper.d.ts +1 -0
- package/dist/src/looper.d.ts.map +1 -0
- package/dist/src/looper.js +5 -2
- package/dist/src/looper.js.map +1 -1
- package/dist/src/mem/pool-map.d.ts +6 -0
- package/dist/src/mem/pool-map.d.ts.map +1 -0
- package/dist/src/mem/pool-map.js +2 -0
- package/dist/src/mem/pool-map.js.map +1 -0
- package/dist/src/mem/pool.d.ts +5 -1
- package/dist/src/mem/pool.d.ts.map +1 -0
- package/dist/src/mem/pool.js +22 -21
- package/dist/src/mem/pool.js.map +1 -1
- package/dist/src/mem/sprite-pool.d.ts +12 -0
- package/dist/src/mem/sprite-pool.d.ts.map +1 -0
- package/dist/src/mem/sprite-pool.js +11 -0
- package/dist/src/mem/sprite-pool.js.map +1 -0
- package/dist/src/random/random.d.ts +1 -0
- package/dist/src/random/random.d.ts.map +1 -0
- package/dist/src/storage/local-storage.d.ts +2 -1
- package/dist/src/storage/local-storage.d.ts.map +1 -0
- package/dist/src/storage/local-storage.js.map +1 -1
- package/dist/src/text/font.d.ts +5 -3
- package/dist/src/text/font.d.ts.map +1 -0
- package/dist/src/text/font.js +8 -5
- package/dist/src/text/font.js.map +1 -1
- package/dist/src/text/mem-prop-5x6.json +20 -5
- package/dist/src/text/text-layout.d.ts +16 -5
- package/dist/src/text/text-layout.d.ts.map +1 -0
- package/dist/src/text/text-layout.js +46 -28
- package/dist/src/text/text-layout.js.map +1 -1
- package/dist/src/types/bundle.d.ts +10 -0
- package/dist/src/types/bundle.d.ts.map +1 -0
- package/dist/src/types/bundle.js +2 -0
- package/dist/src/types/bundle.js.map +1 -0
- package/dist/src/types/game-config.d.ts +27 -0
- package/dist/src/types/game-config.d.ts.map +1 -0
- package/dist/src/types/game-config.js +2 -0
- package/dist/src/types/game-config.js.map +1 -0
- package/dist/src/types/geo.d.ts +9 -2
- package/dist/src/types/geo.d.ts.map +1 -0
- package/dist/src/types/geo.js +16 -0
- package/dist/src/types/geo.js.map +1 -1
- package/dist/src/types/json.d.ts +1 -0
- package/dist/src/types/json.d.ts.map +1 -0
- package/dist/src/types/time.d.ts +13 -2
- package/dist/src/types/time.d.ts.map +1 -0
- package/dist/src/types/time.js +10 -0
- package/dist/src/types/time.js.map +1 -1
- package/dist/src/utils/async-util.d.ts +1 -0
- package/dist/src/utils/async-util.d.ts.map +1 -0
- package/dist/src/utils/async-util.js +2 -0
- package/dist/src/utils/async-util.js.map +1 -1
- package/dist/src/utils/canvas-util.d.ts +3 -1
- package/dist/src/utils/canvas-util.d.ts.map +1 -0
- package/dist/src/utils/canvas-util.js +7 -3
- package/dist/src/utils/canvas-util.js.map +1 -1
- package/dist/src/utils/color-util.d.ts +6 -0
- package/dist/src/utils/color-util.d.ts.map +1 -0
- package/dist/src/utils/color-util.js +12 -0
- package/dist/src/utils/color-util.js.map +1 -1
- package/dist/src/utils/debug.d.ts +1 -0
- package/dist/src/utils/debug.d.ts.map +1 -0
- package/dist/src/utils/debug.js +4 -4
- package/dist/src/utils/debug.js.map +1 -1
- package/dist/src/utils/delay-interval.d.ts +1 -0
- package/dist/src/utils/delay-interval.d.ts.map +1 -0
- package/dist/src/utils/dom-util.d.ts +3 -2
- package/dist/src/utils/dom-util.d.ts.map +1 -0
- package/dist/src/utils/dom-util.js +16 -12
- package/dist/src/utils/dom-util.js.map +1 -1
- package/dist/src/utils/fetch-util.d.ts +2 -1
- package/dist/src/utils/fetch-util.d.ts.map +1 -0
- package/dist/src/utils/fetch-util.js +2 -2
- package/dist/src/utils/math.d.ts +1 -0
- package/dist/src/utils/math.d.ts.map +1 -0
- package/dist/src/utils/math.js +1 -1
- package/dist/src/utils/math.js.map +1 -1
- package/dist/src/utils/obj-util.d.ts +7 -0
- package/dist/src/utils/obj-util.d.ts.map +1 -0
- package/dist/src/utils/obj-util.js +8 -0
- package/dist/src/utils/obj-util.js.map +1 -0
- package/dist/src/utils/str-util.d.ts +2 -0
- package/dist/src/utils/str-util.d.ts.map +1 -0
- package/dist/src/utils/str-util.js +6 -0
- package/dist/src/utils/str-util.js.map +1 -0
- package/dist/src/utils/vibrate.d.ts +1 -0
- package/dist/src/utils/vibrate.d.ts.map +1 -0
- package/dist/src/void.d.ts +42 -30
- package/dist/src/void.d.ts.map +1 -0
- package/dist/src/void.js +78 -34
- package/dist/src/void.js.map +1 -1
- package/dist/tools/atlas-pack/aseprite-json.d.ts +5 -0
- package/dist/tools/atlas-pack/aseprite-json.d.ts.map +1 -0
- package/dist/tools/atlas-pack/aseprite-json.js +2 -0
- package/dist/tools/atlas-pack/aseprite-json.js.map +1 -0
- package/dist/tools/atlas-pack/aseprite.d.ts +58 -31
- package/dist/tools/atlas-pack/aseprite.d.ts.map +1 -0
- package/dist/tools/atlas-pack/aseprite.js +1 -1
- package/dist/tools/atlas-pack/aseprite.js.map +1 -1
- package/dist/tools/atlas-pack/atlas-json-parser.d.ts +11 -10
- package/dist/tools/atlas-pack/atlas-json-parser.d.ts.map +1 -0
- package/dist/tools/atlas-pack/atlas-json-parser.js +14 -14
- package/dist/tools/atlas-pack/atlas-json-parser.js.map +1 -1
- package/dist/tools/atlas-pack/atlas-pack.d.ts +4 -2
- package/dist/tools/atlas-pack/atlas-pack.d.ts.map +1 -0
- package/dist/tools/atlas-pack/atlas-pack.js +1 -6
- package/dist/tools/atlas-pack/atlas-pack.js.map +1 -1
- package/dist/tools/bundle/bundle.d.ts +3 -3
- package/dist/tools/bundle/bundle.d.ts.map +1 -0
- package/dist/tools/bundle/bundle.js +32 -7
- package/dist/tools/bundle/bundle.js.map +1 -1
- package/dist/tools/bundle/html-plugin.d.ts +1 -0
- package/dist/tools/bundle/html-plugin.d.ts.map +1 -0
- package/dist/tools/bundle/html-plugin.js +5 -20
- package/dist/tools/bundle/html-plugin.js.map +1 -1
- package/dist/tools/tsconfig-base.json +1 -1
- package/dist/tools/tsconfig.json +1 -2
- package/dist/{schema → tools/types}/config-file.d.ts +21 -9
- package/dist/tools/types/config-file.d.ts.map +1 -0
- package/dist/{schema → tools/types}/config-file.js +18 -5
- package/dist/tools/types/config-file.js.map +1 -0
- package/dist/tools/types/config.d.ts +10 -9
- package/dist/tools/types/config.d.ts.map +1 -0
- package/dist/tools/types/config.js +23 -5
- package/dist/tools/types/config.js.map +1 -1
- package/dist/tools/types/package-json.d.ts +3 -2
- package/dist/tools/types/package-json.d.ts.map +1 -0
- package/dist/tools/utils/argv.d.ts +3 -0
- package/dist/tools/utils/argv.d.ts.map +1 -0
- package/dist/tools/utils/argv.js +1 -1
- package/dist/tools/utils/argv.js.map +1 -1
- package/dist/tools/utils/exec.d.ts +2 -1
- package/dist/tools/utils/exec.d.ts.map +1 -0
- package/dist/tools/utils/exec.js.map +1 -1
- package/dist/tools/utils/file-util.d.ts +1 -0
- package/dist/tools/utils/file-util.d.ts.map +1 -0
- package/dist/tools/utils/html-parser.d.ts +1 -0
- package/dist/tools/utils/html-parser.d.ts.map +1 -0
- package/dist/tools/void.d.ts +1 -0
- package/dist/tools/void.d.ts.map +1 -0
- package/dist/tools/void.js +3 -16
- package/dist/tools/void.js.map +1 -1
- package/package.json +18 -20
- package/readme.md +63 -1
- package/dist/meta.json +0 -1
- package/dist/package.json +0 -66
- package/dist/public/favicon/favicon16.png +0 -0
- package/dist/public/favicon/favicon192.png +0 -0
- package/dist/public/favicon/favicon32.png +0 -0
- package/dist/public/favicon/favicon48.png +0 -0
- package/dist/public/favicon/favicon64.png +0 -0
- package/dist/public/preload-atlas.png +0 -0
- package/dist/public/void-v0.1.0-6+20251020.7cdf98d.html +0 -111
- package/dist/public/void-v0.1.0-6+20251020.e4e9eef.html +0 -111
- package/dist/public/void-v0.1.0-7+20251021.7cdf98d.html +0 -111
- package/dist/schema/config-file.js.map +0 -1
- package/dist/src/demo/assets/preload-atlas.json +0 -193
- package/dist/src/demo/ents/clock-ent.d.ts +0 -11
- package/dist/src/demo/ents/clock-ent.js +0 -26
- package/dist/src/demo/ents/clock-ent.js.map +0 -1
- package/dist/src/demo/ents/render-toggle-ent.d.ts +0 -12
- package/dist/src/demo/ents/render-toggle-ent.js +0 -41
- package/dist/src/demo/ents/render-toggle-ent.js.map +0 -1
- package/dist/src/demo/ents/work-counter-ent.d.ts +0 -10
- package/dist/src/demo/ents/work-counter-ent.js +0 -20
- package/dist/src/demo/ents/work-counter-ent.js.map +0 -1
- package/dist/src/demo/game.d.ts +0 -12
- package/dist/src/demo/game.js +0 -135
- package/dist/src/demo/game.js.map +0 -1
- package/dist/src/demo/types/tag.d.ts +0 -2
- package/dist/src/demo/types/tag.js +0 -2
- package/dist/src/demo/types/tag.js.map +0 -1
- package/dist/src/ents/button-ent.d.ts +0 -39
- package/dist/src/ents/button-ent.js +0 -128
- package/dist/src/ents/button-ent.js.map +0 -1
- package/dist/src/ents/cursor-ent.d.ts +0 -18
- package/dist/src/ents/cursor-ent.js +0 -63
- package/dist/src/ents/cursor-ent.js.map +0 -1
- package/dist/src/ents/follow-cam-ent.d.ts +0 -25
- package/dist/src/ents/follow-cam-ent.js +0 -87
- package/dist/src/ents/follow-cam-ent.js.map +0 -1
- package/dist/src/ents/nine-patch-ent.d.ts +0 -43
- package/dist/src/ents/nine-patch-ent.js +0 -143
- package/dist/src/ents/nine-patch-ent.js.map +0 -1
- package/dist/src/ents/text-ent.d.ts +0 -23
- package/dist/src/ents/text-ent.js +0 -109
- package/dist/src/ents/text-ent.js.map +0 -1
- package/dist/src/types/void-version.d.ts +0 -7
- package/dist/src/types/void-version.js +0 -2
- package/dist/src/types/void-version.js.map +0 -1
- package/schema/config-file.test.ts +0 -55
- package/schema/config-file.ts +0 -69
- package/schema/config-file.v0.json +0 -68
- package/tools/atlas-pack/aseprite.ts +0 -60
- package/tools/atlas-pack/atlas-json-parser.test.ts +0 -780
- package/tools/atlas-pack/atlas-json-parser.ts +0 -159
- package/tools/atlas-pack/atlas-pack.ts +0 -51
- package/tools/bundle/bundle.ts +0 -64
- package/tools/bundle/html-plugin.ts +0 -135
- package/tools/types/config.ts +0 -65
- package/tools/types/package-json.ts +0 -4
- package/tools/utils/argv.test.ts +0 -41
- package/tools/utils/argv.ts +0 -29
- package/tools/utils/exec.ts +0 -22
- package/tools/utils/file-util.ts +0 -11
- package/tools/utils/html-parser.ts +0 -9
- package/tools/void.ts +0 -55
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-schema-json.d.ts","sourceRoot":"","sources":["../../../src/level/level-schema-json.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,eAAe,CAAC;IAC7B,MAAM,IAAI,EAAE,OAAO,mBAAmB,EAAE,WAAW,CAAA;IACnD,eAAe,IAAI,CAAA;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-schema-json.js","sourceRoot":"","sources":["../../../src/level/level-schema-json.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { ButtonType, Trim, XYFlag } from '../ents/ent.ts';
|
|
2
|
+
import type { Tag } from '../graphics/atlas.ts';
|
|
3
|
+
import type { Layer } from '../graphics/layer.ts';
|
|
4
|
+
import type { Border, CompassDir, WH, XY } from '../types/geo.ts';
|
|
5
|
+
export type BorderSchema = number | Partial<XY> | Partial<Border>;
|
|
6
|
+
export type ButtonSchema = {
|
|
7
|
+
pressed: SpriteSchema | Tag;
|
|
8
|
+
selected: SpriteSchema | Tag;
|
|
9
|
+
type?: ButtonType;
|
|
10
|
+
z?: LayerSchema;
|
|
11
|
+
};
|
|
12
|
+
export interface EntSchema {
|
|
13
|
+
button?: ButtonSchema;
|
|
14
|
+
cam?: CamSchema;
|
|
15
|
+
cursor?: CursorSchema;
|
|
16
|
+
debugInput?: DebugInputSchema;
|
|
17
|
+
draw?: DrawSchema;
|
|
18
|
+
fps?: FPSSchema;
|
|
19
|
+
hud?: HUDSchema;
|
|
20
|
+
id?: string;
|
|
21
|
+
name?: string;
|
|
22
|
+
ninePatch?: NinePatchSchema;
|
|
23
|
+
override?: OverrideSchema;
|
|
24
|
+
sprite?: (SpriteSchema & Partial<WH> & Partial<XY> & {
|
|
25
|
+
scale?: number | Partial<XY>;
|
|
26
|
+
}) | Tag;
|
|
27
|
+
text?: string;
|
|
28
|
+
textWH?: TextWHSchema;
|
|
29
|
+
textXY?: TextXYSchema;
|
|
30
|
+
}
|
|
31
|
+
export interface CamSchema {
|
|
32
|
+
}
|
|
33
|
+
export type CursorSchema = {
|
|
34
|
+
keyboard?: number;
|
|
35
|
+
pick?: Tag;
|
|
36
|
+
};
|
|
37
|
+
export type DebugInputSchema = true;
|
|
38
|
+
export interface DrawSchema {
|
|
39
|
+
}
|
|
40
|
+
export type FPSSchema = true;
|
|
41
|
+
export type HUDSchema = {
|
|
42
|
+
fill?: XYFlag;
|
|
43
|
+
margin?: BorderSchema;
|
|
44
|
+
modulo?: number | Partial<XY>;
|
|
45
|
+
origin: CompassDir;
|
|
46
|
+
};
|
|
47
|
+
export type LayerSchema = keyof typeof Layer;
|
|
48
|
+
export type LevelSchema = {
|
|
49
|
+
$schema?: string;
|
|
50
|
+
ents?: EntSchema[];
|
|
51
|
+
keepZoo?: boolean;
|
|
52
|
+
minWH?: UnboundedWHSchema;
|
|
53
|
+
};
|
|
54
|
+
export type NinePatchSchema = {
|
|
55
|
+
border?: BorderSchema;
|
|
56
|
+
pad?: BorderSchema;
|
|
57
|
+
patch: {
|
|
58
|
+
[dir in Lowercase<CompassDir>]?: SpriteSchema | Tag;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export type OverrideSchema = {
|
|
62
|
+
invalid?: boolean;
|
|
63
|
+
};
|
|
64
|
+
export type PoolSchema = 'Default' | string;
|
|
65
|
+
export type SpriteSchema = {
|
|
66
|
+
flip?: XYFlag;
|
|
67
|
+
pool?: PoolSchema;
|
|
68
|
+
stretch?: boolean;
|
|
69
|
+
tag?: Tag;
|
|
70
|
+
visible?: boolean;
|
|
71
|
+
z?: LayerSchema;
|
|
72
|
+
zend?: boolean;
|
|
73
|
+
};
|
|
74
|
+
export type TextWHSchema = {
|
|
75
|
+
maxW?: number;
|
|
76
|
+
pad?: BorderSchema;
|
|
77
|
+
scale?: number;
|
|
78
|
+
trim?: Trim;
|
|
79
|
+
};
|
|
80
|
+
export type TextXYSchema = {
|
|
81
|
+
z?: LayerSchema;
|
|
82
|
+
};
|
|
83
|
+
export type UnboundedWHSchema = {
|
|
84
|
+
w?: number | 'Infinity';
|
|
85
|
+
h?: number | 'Infinity';
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=level-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-schema.d.ts","sourceRoot":"","sources":["../../../src/level/level-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-schema.js","sourceRoot":"","sources":["../../../src/level/level-schema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level.d.ts","sourceRoot":"","sources":["../../../src/level/level.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,iBAAiB,CAAA;AAEvC,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,EAAE,CAAA;CACV,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level.js","sourceRoot":"","sources":["../../../src/level/level.ts"],"names":[],"mappings":""}
|
package/dist/src/looper.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"looper.d.ts","sourceRoot":"","sources":["../../src/looper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AAE3C;;;;;;GAMG;AACH,qBAAa,MAAM;;IACjB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAI;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAK/C,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI;IASpC,YAAY,IAAI,IAAI;IAMpB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAsBzB"}
|
package/dist/src/looper.js
CHANGED
|
@@ -11,6 +11,7 @@ export class Looper {
|
|
|
11
11
|
onFrame;
|
|
12
12
|
#req = 0;
|
|
13
13
|
#registered = false;
|
|
14
|
+
#start = 0;
|
|
14
15
|
register(op) {
|
|
15
16
|
const fn = `${op}EventListener`;
|
|
16
17
|
document[fn]('visibilitychange', this.#onVisibility);
|
|
@@ -23,6 +24,7 @@ export class Looper {
|
|
|
23
24
|
requestFrame() {
|
|
24
25
|
if (this.#req || document.hidden || !this.#registered)
|
|
25
26
|
return;
|
|
27
|
+
this.#start = performance.now();
|
|
26
28
|
this.#req = requestAnimationFrame(this.#onFrame);
|
|
27
29
|
}
|
|
28
30
|
[Symbol.dispose]() {
|
|
@@ -33,8 +35,9 @@ export class Looper {
|
|
|
33
35
|
cancelAnimationFrame(this.#req);
|
|
34
36
|
this.#req = 0;
|
|
35
37
|
}
|
|
36
|
-
#onFrame = (
|
|
37
|
-
const
|
|
38
|
+
#onFrame = () => {
|
|
39
|
+
const now = performance.now();
|
|
40
|
+
const millis = (now - this.#start);
|
|
38
41
|
this.age = now;
|
|
39
42
|
this.#req = 0;
|
|
40
43
|
this.onFrame?.(millis);
|
package/dist/src/looper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"looper.js","sourceRoot":"","sources":["../../src/looper.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACjB,mCAAmC;IACnC,GAAG,GAAW,
|
|
1
|
+
{"version":3,"file":"looper.js","sourceRoot":"","sources":["../../src/looper.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACjB,mCAAmC;IACnC,GAAG,GAAW,CAAC,CAAA;IACf,OAAO,CAAwC;IAC/C,IAAI,GAAW,CAAC,CAAA;IAChB,WAAW,GAAY,KAAK,CAAA;IAC5B,MAAM,GAAW,CAAC,CAAA;IAElB,QAAQ,CAAC,EAAoB;QAC3B,MAAM,EAAE,GAAG,GAAG,EAAE,eAAwB,CAAA;QACxC,QAAQ,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QACpD,IAAI,EAAE,KAAK,QAAQ;YAAE,IAAI,CAAC,OAAO,EAAE,CAAA;QACnC,mEAAmE;QACnE,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,KAAK,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAM;QAC7D,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAC/B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClD,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,IAAI;YAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IACf,CAAC;IAED,QAAQ,GAAG,GAAS,EAAE;QACpB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAW,CAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,aAAa,GAAG,CAAC,EAAS,EAAQ,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,SAAS;YAAE,OAAM;QACzB,IAAI,QAAQ,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,EAAE,CAAA;;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAA;IAC1B,CAAC,CAAA;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-map.d.ts","sourceRoot":"","sources":["../../../src/mem/pool-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool-map.js","sourceRoot":"","sources":["../../../src/mem/pool-map.ts"],"names":[],"mappings":""}
|
package/dist/src/mem/pool.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export type PoolOpts<out T extends Block> = {
|
|
2
2
|
alloc(pool: Pool<T>): T;
|
|
3
|
+
init?(block: T): void;
|
|
4
|
+
/** bytes per block. */
|
|
3
5
|
allocBytes: number;
|
|
4
6
|
minPages?: number;
|
|
7
|
+
/** blocks per page. */
|
|
5
8
|
pageBlocks: number;
|
|
6
9
|
};
|
|
7
10
|
export type Block = {
|
|
@@ -24,8 +27,9 @@ export declare class Pool<out T extends Block> {
|
|
|
24
27
|
constructor(opts: Readonly<PoolOpts<T>>);
|
|
25
28
|
alloc(): T;
|
|
26
29
|
clear(): void;
|
|
27
|
-
free(
|
|
30
|
+
free(block: T): void;
|
|
28
31
|
get size(): number;
|
|
29
32
|
get view(): DataView<ArrayBuffer>;
|
|
30
33
|
toDebugString(): string;
|
|
31
34
|
}
|
|
35
|
+
//# sourceMappingURL=pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/mem/pool.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,IAAI;IAC1C,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACvB,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACrB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAAmC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAA;AAEjE;;;;;;;;;;;GAWG;AACH,qBAAa,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK;;gBAQvB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAcvC,KAAK,IAAI,CAAC;IAUV,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAuBpB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,CAEhC;IAED,aAAa,IAAI,MAAM;CA6BxB"}
|
package/dist/src/mem/pool.js
CHANGED
|
@@ -23,7 +23,11 @@ export class Pool {
|
|
|
23
23
|
throw Error('byte allocation must be > 0');
|
|
24
24
|
if (opts.pageBlocks <= 0)
|
|
25
25
|
throw Error('page blocks must be > 0');
|
|
26
|
-
this.#opts = {
|
|
26
|
+
this.#opts = {
|
|
27
|
+
...opts,
|
|
28
|
+
init: opts.init ?? (() => { }),
|
|
29
|
+
minPages: opts.minPages ?? 1
|
|
30
|
+
};
|
|
27
31
|
const initSize = this.#opts.minPages * opts.pageBlocks;
|
|
28
32
|
this.#blocks = new Array(initSize);
|
|
29
33
|
this.#u8 = new Uint8Array();
|
|
@@ -35,6 +39,7 @@ export class Pool {
|
|
|
35
39
|
const block = this.#blocks[this.#size];
|
|
36
40
|
block.i = this.#size * this.#opts.allocBytes;
|
|
37
41
|
this.#size++;
|
|
42
|
+
this.#opts.init(block);
|
|
38
43
|
return block;
|
|
39
44
|
}
|
|
40
45
|
clear() {
|
|
@@ -43,9 +48,22 @@ export class Pool {
|
|
|
43
48
|
if (this.#currentCapacity > minCapacity)
|
|
44
49
|
this.#resize(minCapacity, 'Call');
|
|
45
50
|
}
|
|
46
|
-
free(
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
free(block) {
|
|
52
|
+
if (!this.#size)
|
|
53
|
+
throw Error('pool underflow');
|
|
54
|
+
this.#size--;
|
|
55
|
+
const start = this.#size * this.#opts.allocBytes;
|
|
56
|
+
this.#u8.copyWithin(block.i, start, start + this.#opts.allocBytes);
|
|
57
|
+
this.#blocks[this.#size].i = block.i;
|
|
58
|
+
[this.#blocks[block.i], this.#blocks[this.#size]] = [
|
|
59
|
+
this.#blocks[this.#size],
|
|
60
|
+
this.#blocks[block.i]
|
|
61
|
+
];
|
|
62
|
+
const free = Math.floor((this.#currentCapacity - this.#size) / this.#opts.pageBlocks);
|
|
63
|
+
if (free &&
|
|
64
|
+
this.#currentCapacity / this.#opts.pageBlocks - free >=
|
|
65
|
+
this.#opts.minPages)
|
|
66
|
+
this.#resize(this.#currentCapacity - free * this.#opts.pageBlocks, 'Call');
|
|
49
67
|
}
|
|
50
68
|
get size() {
|
|
51
69
|
return this.#size;
|
|
@@ -65,23 +83,6 @@ export class Pool {
|
|
|
65
83
|
get #currentCapacity() {
|
|
66
84
|
return this.#u8.buffer.byteLength / this.#opts.allocBytes;
|
|
67
85
|
}
|
|
68
|
-
#freeBlock(block) {
|
|
69
|
-
if (!this.#size)
|
|
70
|
-
throw Error('pool underflow');
|
|
71
|
-
this.#size--;
|
|
72
|
-
const start = this.#size * this.#opts.allocBytes;
|
|
73
|
-
this.#u8.copyWithin(block.i, start, start + this.#opts.allocBytes);
|
|
74
|
-
this.#blocks[this.#size].i = block.i;
|
|
75
|
-
[this.#blocks[block.i], this.#blocks[this.#size]] = [
|
|
76
|
-
this.#blocks[this.#size],
|
|
77
|
-
this.#blocks[block.i]
|
|
78
|
-
];
|
|
79
|
-
const free = Math.floor((this.#currentCapacity - this.#size) / this.#opts.pageBlocks);
|
|
80
|
-
if (free &&
|
|
81
|
-
this.#currentCapacity / this.#opts.pageBlocks - free >=
|
|
82
|
-
this.#opts.minPages)
|
|
83
|
-
this.#resize(this.#currentCapacity - free * this.#opts.pageBlocks, 'Call');
|
|
84
|
-
}
|
|
85
86
|
#resize(capacity, origin) {
|
|
86
87
|
if (origin === 'Call' && debug?.mem)
|
|
87
88
|
console.debug(`[mem] ${capacity < this.#currentCapacity ? 'shrinking' : 'growing'} pool to ${capacity}`);
|
package/dist/src/mem/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/mem/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/mem/pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Atlas } from '../graphics/atlas.ts';
|
|
2
|
+
import { Sprite } from '../graphics/sprite.ts';
|
|
3
|
+
import type { Millis } from '../types/time.ts';
|
|
4
|
+
import { Pool, type PoolOpts } from './pool.ts';
|
|
5
|
+
export type SpritePoolOpts = {
|
|
6
|
+
atlas: Atlas;
|
|
7
|
+
looper: {
|
|
8
|
+
age: Millis;
|
|
9
|
+
};
|
|
10
|
+
} & Omit<PoolOpts<Sprite>, 'alloc' | 'allocBytes' | 'init'>;
|
|
11
|
+
export declare function SpritePool(opts: Readonly<SpritePoolOpts>): Pool<Sprite>;
|
|
12
|
+
//# sourceMappingURL=sprite-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite-pool.d.ts","sourceRoot":"","sources":["../../../src/mem/sprite-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAgB,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAC,IAAI,EAAE,KAAK,QAAQ,EAAC,MAAM,WAAW,CAAA;AAE7C,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAA;CACtB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC,CAAA;AAE3D,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAOvE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { drawableBytes, Sprite } from "../graphics/sprite.js";
|
|
2
|
+
import { Pool } from "./pool.js";
|
|
3
|
+
export function SpritePool(opts) {
|
|
4
|
+
return new Pool({
|
|
5
|
+
alloc: pool => new Sprite(pool, 0, opts.atlas, opts.looper),
|
|
6
|
+
init: sprite => sprite.init(),
|
|
7
|
+
allocBytes: drawableBytes,
|
|
8
|
+
...opts
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=sprite-pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprite-pool.js","sourceRoot":"","sources":["../../../src/mem/sprite-pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAE,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAC,IAAI,EAAgB,MAAM,WAAW,CAAA;AAO7C,MAAM,UAAU,UAAU,CAAC,IAA8B;IACvD,OAAO,IAAI,IAAI,CAAC;QACd,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QAC3D,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;QAC7B,UAAU,EAAE,aAAa;QACzB,GAAG,IAAI;KACR,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/random/random.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,qBAAa,MAAM;;gBAIL,IAAI,EAAE,MAAM;IAWxB,oCAAoC;IACpC,IAAI,GAAG,IAAI,MAAM,CAGhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { PartialJSONValue } from '../types/json.ts';
|
|
2
|
-
export declare function saveJSON(k: string, v:
|
|
2
|
+
export declare function saveJSON<T extends PartialJSONValue>(k: string, v: T): void;
|
|
3
3
|
export declare function loadJSON<T extends PartialJSONValue>(k: string): T | undefined;
|
|
4
|
+
//# sourceMappingURL=local-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAA;AAEtD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAG1E;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,gBAAgB,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAG7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,
|
|
1
|
+
{"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAA6B,CAAS,EAAE,CAAI;IAClE,IAAI,CAAC,IAAI,IAAI;QAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;;QACpC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,QAAQ,CAA6B,CAAS;IAC5D,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACjC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC"}
|
package/dist/src/text/font.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Font } from 'mem-font';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function fontCharToTag(font: Readonly<Font>,
|
|
2
|
+
import type { Tag } from '../graphics/atlas.ts';
|
|
3
|
+
export declare function fontCharToTag(font: Readonly<Font>, ch: string): Tag;
|
|
4
|
+
export declare function fontCharH(font: Readonly<Font>, ch: string): number;
|
|
4
5
|
/** @arg r undefined means end of line. */
|
|
5
6
|
export declare function fontKerning(font: Readonly<Font>, l: string, r: string | undefined): number;
|
|
6
|
-
export declare function
|
|
7
|
+
export declare function fontCharW(font: Readonly<Font>, ch: string): number;
|
|
8
|
+
//# sourceMappingURL=font.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../../src/text/font.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sBAAsB,CAAA;AAE7C,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,CAInE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,0CAA0C;AAC1C,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GAAG,SAAS,GACpB,MAAM,CAKR;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAElE"}
|
package/dist/src/text/font.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
export function fontCharToTag(font,
|
|
2
|
-
let pt =
|
|
1
|
+
export function fontCharToTag(font, ch) {
|
|
2
|
+
let pt = ch.codePointAt(0);
|
|
3
3
|
if (pt == null || pt > 0xff)
|
|
4
4
|
pt = 63; // ?
|
|
5
5
|
return `${font.id}--${pt.toString(16).padStart(2, '0')}`;
|
|
6
6
|
}
|
|
7
|
+
export function fontCharH(font, ch) {
|
|
8
|
+
return font.cellH - (font.descends[ch] ? 0 : font.baseline);
|
|
9
|
+
}
|
|
7
10
|
/** @arg r undefined means end of line. */
|
|
8
11
|
export function fontKerning(font, l, r) {
|
|
9
|
-
if (r == null)
|
|
12
|
+
if (l === '\n' || r == null || r === '\n')
|
|
10
13
|
return font.endOfLineKerning;
|
|
11
14
|
if (font.kerning[l + r] != null)
|
|
12
15
|
return font.kerning[l + r];
|
|
@@ -14,7 +17,7 @@ export function fontKerning(font, l, r) {
|
|
|
14
17
|
return font.defaultWhitespaceKerning;
|
|
15
18
|
return font.defaultKerning;
|
|
16
19
|
}
|
|
17
|
-
export function
|
|
18
|
-
return font.
|
|
20
|
+
export function fontCharW(font, ch) {
|
|
21
|
+
return font.charW[ch] ?? font.defaultCharW;
|
|
19
22
|
}
|
|
20
23
|
//# sourceMappingURL=font.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/text/font.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAC,IAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/text/font.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAAC,IAAoB,EAAE,EAAU;IAC5D,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI;QAAE,EAAE,GAAG,EAAE,CAAA,CAAC,IAAI;IACzC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAoB,EAAE,EAAU;IACxD,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC7D,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,WAAW,CACzB,IAAoB,EACpB,CAAS,EACT,CAAqB;IAErB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,gBAAgB,CAAA;IACvE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;IAC5D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,wBAAwB,CAAA;IAC5E,OAAO,IAAI,CAAC,cAAc,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAoB,EAAE,EAAU;IACxD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAA;AAC5C,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "mem-prop-5x6",
|
|
3
3
|
"name": "mem 5x6",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
4
|
+
"cellW": 5,
|
|
5
|
+
"cellH": 6,
|
|
6
6
|
"leading": 1,
|
|
7
|
-
"
|
|
7
|
+
"lineH": 7,
|
|
8
8
|
"baseline": 1,
|
|
9
9
|
"kerning": {
|
|
10
|
+
" ": 0,
|
|
10
11
|
" 0": 0,
|
|
11
12
|
" 1": 0,
|
|
12
13
|
" 2": 0,
|
|
@@ -543,7 +544,7 @@
|
|
|
543
544
|
"defaultKerning": 1,
|
|
544
545
|
"defaultWhitespaceKerning": -1,
|
|
545
546
|
"endOfLineKerning": 0,
|
|
546
|
-
"
|
|
547
|
+
"charW": {
|
|
547
548
|
" ": 4,
|
|
548
549
|
"!": 1,
|
|
549
550
|
"#": 5,
|
|
@@ -569,5 +570,19 @@
|
|
|
569
570
|
"w": 5,
|
|
570
571
|
"|": 1
|
|
571
572
|
},
|
|
572
|
-
"
|
|
573
|
+
"defaultCharW": 3,
|
|
574
|
+
"descends": {
|
|
575
|
+
"$": true,
|
|
576
|
+
",": true,
|
|
577
|
+
"/": true,
|
|
578
|
+
";": true,
|
|
579
|
+
"Q": true,
|
|
580
|
+
"\\": true,
|
|
581
|
+
"_": true,
|
|
582
|
+
"g": true,
|
|
583
|
+
"j": true,
|
|
584
|
+
"p": true,
|
|
585
|
+
"q": true,
|
|
586
|
+
"y": true
|
|
587
|
+
}
|
|
573
588
|
}
|
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
import type { Font } from 'mem-font';
|
|
2
|
-
import type { Box,
|
|
2
|
+
import type { Box, XY } from '../types/geo.ts';
|
|
3
3
|
export type TextLayout = {
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* the length of this array matches the string length. undefines are
|
|
6
|
+
* whitespace.
|
|
7
|
+
*/
|
|
5
8
|
chars: (Box | undefined)[];
|
|
6
9
|
/** the offset in pixels. */
|
|
7
10
|
cursor: XY;
|
|
8
|
-
|
|
11
|
+
w: number;
|
|
12
|
+
h: number;
|
|
13
|
+
/** the height without without leading and only actually used height of characters. */
|
|
14
|
+
trimmedH: number;
|
|
9
15
|
};
|
|
10
16
|
export type TextLayoutOpts = {
|
|
11
17
|
font: Font;
|
|
12
18
|
maxW?: number;
|
|
13
19
|
scale?: number;
|
|
14
20
|
start?: XY;
|
|
15
|
-
|
|
21
|
+
text: string;
|
|
22
|
+
};
|
|
23
|
+
type IntermediateTextLayout = Omit<TextLayout, 'h' | 'trimmedH'> & {
|
|
24
|
+
trimmedLineH: number;
|
|
16
25
|
};
|
|
17
26
|
export declare function layoutText(opts: Readonly<TextLayoutOpts>): TextLayout;
|
|
18
27
|
/** @internal */
|
|
19
|
-
export declare function layoutWord(font: Readonly<Font>, cursor: Readonly<XY>, maxW: number, word: string, index: number, startX: number, scale: number
|
|
28
|
+
export declare function layoutWord(font: Readonly<Font>, cursor: Readonly<XY>, maxW: number, word: string, index: number, startX: number, scale: number, trimmedLineH: number, w: number): IntermediateTextLayout;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=text-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-layout.d.ts","sourceRoot":"","sources":["../../../src/text/text-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,EAAC,GAAG,EAAE,EAAE,EAAC,MAAM,iBAAiB,CAAA;AAG5C,MAAM,MAAM,UAAU,GAAG;IACvB;;;OAGG;IACH,KAAK,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAA;IAC1B,4BAA4B;IAC5B,MAAM,EAAE,EAAE,CAAA;IACV,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,EAAE,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAGD,KAAK,sBAAsB,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAAC,GAAG;IACjE,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,UAAU,CAyErE;AAED,gBAAgB;AAChB,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EACpB,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,CAAC,EAAE,MAAM,GACR,sBAAsB,CAuBxB"}
|