petdex-cc 0.1.2 → 0.1.4

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.
@@ -1,9 +1,9 @@
1
- #!/bin/bash
2
- PORT_FILE="$HOME/.petdex-cc/data/port.lock"
3
- PORT=17321
4
- if [ -f "$PORT_FILE" ]; then
5
- PORT=$(cat "$PORT_FILE" 2>/dev/null || echo "17321")
6
- fi
7
- cat | curl -s -X POST "http://localhost:$PORT/event" \
8
- -H "Content-Type: application/json" \
9
- -d @- > /dev/null 2>&1 &
1
+ #!/bin/bash
2
+ PORT_FILE="$HOME/.petdex-cc/data/port.lock"
3
+ PORT=17321
4
+ if [ -f "$PORT_FILE" ]; then
5
+ PORT=$(cat "$PORT_FILE" 2>/dev/null || echo "17321")
6
+ fi
7
+ cat | curl -s -X POST "http://localhost:$PORT/event" \
8
+ -H "Content-Type: application/json" \
9
+ -d @- > /dev/null 2>&1 &
@@ -1,8 +0,0 @@
1
- import type { BrowserWindow } from "electron";
2
- type Screen = Electron.Screen;
3
- export declare function startWander(window: BrowserWindow, screenObjParam?: Screen): void;
4
- export declare function stopWander(): void;
5
- export declare function pauseWander(): void;
6
- export declare function resumeWander(): void;
7
- export {};
8
- //# sourceMappingURL=wander.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wander.d.ts","sourceRoot":"","sources":["../../../src/renderer/wander.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,KAAK,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AA8G9B,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAKhF;AAED,wBAAgB,UAAU,IAAI,IAAI,CAKjC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAInC"}
@@ -1,137 +0,0 @@
1
- import { setPetAction } from "./pet-sprite.js";
2
- let wanderRafId = null;
3
- let paused = false;
4
- let dx = 0;
5
- let dy = 0;
6
- let moveFrames = 0;
7
- const SPEED = 1;
8
- const MOVE_DURATION_MIN = 5 * 60; // 5 seconds at 60fps
9
- const MOVE_DURATION_MAX = 12 * 60;
10
- const IDLE_DURATION_MIN = 2 * 60;
11
- const IDLE_DURATION_MAX = 4 * 60;
12
- let screenObj = null;
13
- function randomInt(min, max) {
14
- return Math.floor(Math.random() * (max - min + 1)) + min;
15
- }
16
- /** Get usable screen area (safe bounds for the pet). */
17
- function getScreenBounds() {
18
- if (screenObj) {
19
- try {
20
- const displays = screenObj.getAllDisplays();
21
- if (displays.length > 0) {
22
- let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
23
- for (const d of displays) {
24
- const w = d.workArea;
25
- minX = Math.min(minX, w.x);
26
- minY = Math.min(minY, w.y);
27
- maxX = Math.max(maxX, w.x + w.width);
28
- maxY = Math.max(maxY, w.y + w.height);
29
- }
30
- return { minX, minY, maxX, maxY };
31
- }
32
- }
33
- catch { }
34
- }
35
- // Fallback: use primary screen from web API
36
- return {
37
- minX: 0,
38
- minY: 0,
39
- maxX: window.screen.width,
40
- maxY: window.screen.height,
41
- };
42
- }
43
- function pickNewDirection() {
44
- dx = randomInt(-1, 1);
45
- dy = randomInt(-1, 1);
46
- if (dx === 0 && dy === 0)
47
- dx = Math.random() < 0.5 ? -1 : 1;
48
- moveFrames = randomInt(MOVE_DURATION_MIN, MOVE_DURATION_MAX);
49
- if (dx > 0)
50
- setPetAction("running-right");
51
- else if (dx < 0)
52
- setPetAction("running-left");
53
- }
54
- function pickIdle() {
55
- dx = 0;
56
- dy = 0;
57
- moveFrames = randomInt(IDLE_DURATION_MIN, IDLE_DURATION_MAX);
58
- const actions = ["idle", "waiting", "waving"];
59
- setPetAction(actions[randomInt(0, actions.length - 1)]);
60
- }
61
- function wanderTick(window) {
62
- if (paused) {
63
- wanderRafId = requestAnimationFrame(() => wanderTick(window));
64
- return;
65
- }
66
- // Segment finished → pick next action
67
- if (moveFrames <= 0) {
68
- if (Math.random() < 0.4) {
69
- pickIdle();
70
- }
71
- else {
72
- pickNewDirection();
73
- }
74
- }
75
- // Only move if we have a direction
76
- if (dx !== 0 || dy !== 0) {
77
- const [wx, wy] = window.getPosition();
78
- const [ww, wh] = window.getSize();
79
- const { minX, minY, maxX, maxY } = getScreenBounds();
80
- let nx = wx + dx * SPEED;
81
- let ny = wy + dy * SPEED;
82
- // Bounce: clamp position AND reverse direction
83
- let bounced = false;
84
- if (nx < minX) {
85
- nx = minX;
86
- dx = 1;
87
- bounced = true;
88
- }
89
- if (nx + ww > maxX) {
90
- nx = maxX - ww;
91
- dx = -1;
92
- bounced = true;
93
- }
94
- if (ny < minY) {
95
- ny = minY;
96
- dy = 1;
97
- bounced = true;
98
- }
99
- if (ny + wh > maxY) {
100
- ny = maxY - wh;
101
- dy = -1;
102
- bounced = true;
103
- }
104
- if (bounced) {
105
- // Give a fresh segment after bounce so the pet walks away clearly
106
- moveFrames = randomInt(MOVE_DURATION_MIN, MOVE_DURATION_MAX);
107
- if (dx > 0)
108
- setPetAction("running-right");
109
- else if (dx < 0)
110
- setPetAction("running-left");
111
- }
112
- window.setPosition(Math.round(nx), Math.round(ny));
113
- }
114
- moveFrames--;
115
- wanderRafId = requestAnimationFrame(() => wanderTick(window));
116
- }
117
- export function startWander(window, screenObjParam) {
118
- screenObj = screenObjParam ?? null;
119
- paused = false;
120
- pickNewDirection();
121
- wanderRafId = requestAnimationFrame(() => wanderTick(window));
122
- }
123
- export function stopWander() {
124
- if (wanderRafId !== null) {
125
- cancelAnimationFrame(wanderRafId);
126
- wanderRafId = null;
127
- }
128
- }
129
- export function pauseWander() {
130
- paused = true;
131
- }
132
- export function resumeWander() {
133
- paused = false;
134
- // Pick a fresh direction from current position so pet doesn't jump back
135
- pickNewDirection();
136
- }
137
- //# sourceMappingURL=wander.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wander.js","sourceRoot":"","sources":["../../../src/renderer/wander.ts"],"names":[],"mappings":"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"}