nako-mascot 0.0.0-stage → 1.0.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/LICENSE.txt +13 -0
- package/README.md +104 -2
- package/assets/manifest.json +1154 -0
- package/assets/posters/arcade-dash.webp +0 -0
- package/assets/posters/arcade-jump.webp +0 -0
- package/assets/posters/arcade-retry.webp +0 -0
- package/assets/posters/arcade-run.webp +0 -0
- package/assets/posters/arcade-win.webp +0 -0
- package/assets/posters/assistant-explain.webp +0 -0
- package/assets/posters/assistant-listen.webp +0 -0
- package/assets/posters/assistant-think.webp +0 -0
- package/assets/posters/assistant-type.webp +0 -0
- package/assets/posters/assistant-wave.webp +0 -0
- package/assets/posters/idle-blink.webp +0 -0
- package/assets/posters/idle-breathe.webp +0 -0
- package/assets/posters/idle-scarf.webp +0 -0
- package/assets/posters/idle-sit.webp +0 -0
- package/assets/posters/idle-tail-sway.webp +0 -0
- package/assets/posters/idle-yawn.webp +0 -0
- package/assets/posters/loading-breathe.webp +0 -0
- package/assets/posters/loading-look.webp +0 -0
- package/assets/posters/loading-stretch.webp +0 -0
- package/assets/posters/loading-tail.webp +0 -0
- package/assets/posters/loading-wings.webp +0 -0
- package/assets/posters/transaction-check.webp +0 -0
- package/assets/posters/transaction-help.webp +0 -0
- package/assets/posters/transaction-long.webp +0 -0
- package/assets/posters/transaction-success.webp +0 -0
- package/assets/posters/transaction-wait.webp +0 -0
- package/assets/sprites/arcade-dash.webp +0 -0
- package/assets/sprites/arcade-jump.webp +0 -0
- package/assets/sprites/arcade-retry.webp +0 -0
- package/assets/sprites/arcade-run.webp +0 -0
- package/assets/sprites/arcade-win.webp +0 -0
- package/assets/sprites/assistant-explain.webp +0 -0
- package/assets/sprites/assistant-listen.webp +0 -0
- package/assets/sprites/assistant-think.webp +0 -0
- package/assets/sprites/assistant-type.webp +0 -0
- package/assets/sprites/assistant-wave.webp +0 -0
- package/assets/sprites/idle-blink.webp +0 -0
- package/assets/sprites/idle-breathe.webp +0 -0
- package/assets/sprites/idle-scarf.webp +0 -0
- package/assets/sprites/idle-sit.webp +0 -0
- package/assets/sprites/idle-tail-sway.webp +0 -0
- package/assets/sprites/idle-yawn.webp +0 -0
- package/assets/sprites/loading-breathe.webp +0 -0
- package/assets/sprites/loading-look.webp +0 -0
- package/assets/sprites/loading-stretch.webp +0 -0
- package/assets/sprites/loading-tail.webp +0 -0
- package/assets/sprites/loading-wings.webp +0 -0
- package/assets/sprites/transaction-check.webp +0 -0
- package/assets/sprites/transaction-help.webp +0 -0
- package/assets/sprites/transaction-long.webp +0 -0
- package/assets/sprites/transaction-success.webp +0 -0
- package/assets/sprites/transaction-wait.webp +0 -0
- package/bin/copy-assets.mjs +8 -0
- package/copy-assets.d.ts +2 -0
- package/copy-assets.js +13 -0
- package/index.d.ts +14 -0
- package/index.js +5 -0
- package/package.json +49 -4
- package/register.d.ts +2 -0
- package/register.js +2 -0
- package/runtime.js +244 -0
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Nako. — Ketentuan Penggunaan Khusus Proyek Pemilik
|
|
2
|
+
Versi 1.0 — 22 Oktober 2026
|
|
3
|
+
SPDX: LicenseRef-Nako-Private
|
|
4
|
+
|
|
5
|
+
Karakter Nako., nama, logo, ilustrasi, animasi, aset, dan kode integrasi pada paket ini disediakan untuk proyek milik pemilik Nako. dan tim yang mendapat wewenang darinya. Izin internal mencakup pemasangan, integrasi, serta penyesuaian ukuran dan penempatan dalam proyek pemilik, termasuk nanaaja, pbox, renaaja, dan proyek lain yang disetujui pemilik. Izin ini tidak dapat dialihkan ke pihak lain.
|
|
6
|
+
|
|
7
|
+
Pihak lain memerlukan izin tertulis sebelum memakai, menyalin, memodifikasi, menjual, mendistribusikan ulang, atau menjadikan Nako. identitas proyek, produk, maupun materi promosi. Atribusi bukan pengganti izin. Dilarang mengklaim kepemilikan atau afiliasi yang tidak disetujui.
|
|
8
|
+
|
|
9
|
+
Akses publik ke demo atau URL CDN tidak memberikan izin penggunaan untuk proyek lain. Ketentuan ini bukan pernyataan pendaftaran merek atau jaminan perlindungan eksklusif atas setiap unsur visual. Hak pihak ketiga tetap berlaku. Aset visual dibuat dengan bantuan AI dan penyuntingan teknis.
|
|
10
|
+
|
|
11
|
+
Komponen pihak ketiga tetap mengikuti lisensinya masing-masing. Font Fredoka dan Manrope menggunakan SIL Open Font License.
|
|
12
|
+
|
|
13
|
+
Ketentuan lengkap: https://nako.nanaaja.web.id/license
|
package/README.md
CHANGED
|
@@ -1,3 +1,105 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Nako.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Komponen web `nako-mascot` dengan 26 animasi semi-3D. Paket ESM ini hanya untuk proyek milik pemilik Nako. atau pihak yang diberi izin tertulis. Paket disiapkan untuk publikasi sebagai `nako-mascot`; panduan registry berikut berlaku setelah versi tersebut terbit.
|
|
4
|
+
|
|
5
|
+
## Pasang melalui npm atau Bun
|
|
6
|
+
|
|
7
|
+
Setelah `nako-mascot@1.0.0` tersedia di registry npm:
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install nako-mascot@1.0.0
|
|
11
|
+
npx --no-install nako-assets
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Dengan Bun:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
bun add nako-mascot@1.0.0
|
|
18
|
+
bunx --no-install nako-assets
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Keduanya mengambil paket dari registry npm yang sama. `nako-assets` menyalin aset ke `public/nako/`; sertakan folder hasil salinan saat deployment aplikasi.
|
|
22
|
+
|
|
23
|
+
## Pasang dari arsip lokal
|
|
24
|
+
|
|
25
|
+
Salin `nako-mascot-1.0.0.tgz` ke folder `vendor/` di proyek pemakai. Sertakan arsip dan lockfile saat build/deploy agar pemasangan tidak bergantung pada path laptop pengembang.
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
npm install ./vendor/nako-mascot-1.0.0.tgz
|
|
29
|
+
npx --no-install nako-assets
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Dengan Bun:
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
bun add ./vendor/nako-mascot-1.0.0.tgz
|
|
36
|
+
bunx --no-install nako-assets
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Perintah kedua menyalin manifest, sprite, dan poster ke `public/nako/`. Sertakan folder itu saat build/deploy aplikasi. Tidak ada script instalasi otomatis, akses layanan Tripo, atau dependency Three.js di paket runtime. Browser hanya mengambil atlas aktif dan berikutnya.
|
|
40
|
+
|
|
41
|
+
Di entry JavaScript aplikasi:
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
import 'nako-mascot/register';
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Di HTML/template:
|
|
48
|
+
|
|
49
|
+
```html
|
|
50
|
+
<nako-mascot mode="loading" style="--nako-size:160px"></nako-mascot>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Folder `public/nako` harus tersedia pada URL `/nako/`. Misalnya Vite, Next.js, Nuxt, SvelteKit, atau Laravel dengan konfigurasi public standarnya. Jika folder statis proyek berbeda, jalankan `nako-assets static/nako` (SvelteKit), atau arahkan ke folder yang dipakai proyekmu.
|
|
54
|
+
|
|
55
|
+
URL aset alternatif memakai atribut `assets-base`, contohnya `<nako-mascot assets-base="/app/nako/" mode="idle"></nako-mascot>`. Jika aset di domain lain, aktifkan CORS untuk manifest dan gambar.
|
|
56
|
+
|
|
57
|
+
## SSR dan Next.js
|
|
58
|
+
|
|
59
|
+
Entry `nako-mascot` aman diimpor pada server. Registrasi elemen dilakukan di browser:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
import {defineNakoMascot} from 'nako-mascot';
|
|
63
|
+
await defineNakoMascot(); // null saat SSR; constructor setelah registrasi di browser
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Contoh komponen Next.js (JavaScript):
|
|
67
|
+
|
|
68
|
+
```jsx
|
|
69
|
+
'use client';
|
|
70
|
+
import {createElement, useEffect} from 'react';
|
|
71
|
+
|
|
72
|
+
export default function Nako() {
|
|
73
|
+
useEffect(() => { void import('nako-mascot/register'); }, []);
|
|
74
|
+
return createElement('nako-mascot', {
|
|
75
|
+
mode: 'loading',
|
|
76
|
+
style: {'--nako-size': '160px'},
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Vue perlu mengenali tag sebagai custom element melalui `compilerOptions.isCustomElement`. Laravel/Blade dapat memakai modul bundler Vite atau integrasi URL langsung.
|
|
82
|
+
|
|
83
|
+
## Kontrol
|
|
84
|
+
|
|
85
|
+
```js
|
|
86
|
+
import {defineNakoMascot} from 'nako-mascot';
|
|
87
|
+
await defineNakoMascot();
|
|
88
|
+
const nako = document.querySelector('nako-mascot');
|
|
89
|
+
await nako.ready;
|
|
90
|
+
await nako.play('assistant-wave');
|
|
91
|
+
await nako.playMode('loading');
|
|
92
|
+
await nako.playAll();
|
|
93
|
+
nako.pause();
|
|
94
|
+
nako.resume();
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Mode: `idle`, `loading`, `transaction`, `arcade`, `assistant`. `animation` memilih satu gerakan; `showcase` memutar katalog. Atribut `animation` lebih diprioritaskan daripada mode/showcase.
|
|
98
|
+
|
|
99
|
+
Pause, reduced motion, tab tersembunyi, serta keluar viewport ditangani oleh komponen. Mode transaksi tidak menampilkan sukses otomatis; `transaction-success` hanya dipicu setelah aplikasi memastikan transaksi sukses.
|
|
100
|
+
|
|
101
|
+
## Aset dan lisensi
|
|
102
|
+
|
|
103
|
+
26 atlas 512 px / 805 frame, total sekitar 14.63 MiB. Arsip mengandung semua aset untuk disalin saat build, tetapi browser tidak mengunduh semuanya sekaligus. Dua atlas yang sudah didekode membutuhkan sekitar 64 MiB. Paket tidak membawa model hero 3D, audio, atau logo.
|
|
104
|
+
|
|
105
|
+
Paket dikonfigurasi untuk akses publik melalui registry npm. Akses publik memungkinkan pengunduhan paket; izin penggunaan Nako. tetap mengikuti lisensi khusus di `LICENSE.txt`.
|