@gratiaos/presence-kernel 1.1.2 → 1.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.
- package/README.md +9 -0
- package/dist/ConstellationHUD.d.ts.map +1 -1
- package/dist/ConstellationHUD.js +3 -2
- package/dist/ConstellationHUD.js.map +1 -1
- package/dist/Heartbeat.d.ts.map +1 -1
- package/dist/Heartbeat.js +2 -1
- package/dist/Heartbeat.js.map +1 -1
- package/dist/index.d.ts +33 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -5
- package/dist/index.js.map +1 -1
- package/dist/useConstellationAudio.d.ts.map +1 -1
- package/dist/useConstellationAudio.js +3 -2
- package/dist/useConstellationAudio.js.map +1 -1
- package/dist/usePhaseSound.d.ts.map +1 -1
- package/dist/usePhaseSound.js +3 -2
- package/dist/usePhaseSound.js.map +1 -1
- package/dist/usePhaseSpatialSound.d.ts.map +1 -1
- package/dist/usePhaseSpatialSound.js +3 -2
- package/dist/usePhaseSpatialSound.js.map +1 -1
- package/package.json +1 -1
- package/src/ConstellationHUD.tsx +6 -4
- package/src/Heartbeat.tsx +3 -1
- package/src/index.ts +88 -5
- package/src/useConstellationAudio.ts +4 -2
- package/src/usePhaseSound.ts +5 -3
- package/src/usePhaseSpatialSound.ts +6 -4
package/README.md
CHANGED
|
@@ -17,6 +17,15 @@ Provides a tiny reactive core (`PresenceKernel`) and four shared signals:
|
|
|
17
17
|
| `pulse$` | Monotonic integer tick (heartbeats) |
|
|
18
18
|
| `kernelAuthority` | String constant identifying who currently conducts the shared kernel |
|
|
19
19
|
|
|
20
|
+
## 🛰️ Garden Stack naming (infra-facing)
|
|
21
|
+
|
|
22
|
+
- **Pattern Engine** → the underlying model stack (training / inference / retrieval). Use this when you talk infra, capabilities, or updates.
|
|
23
|
+
- **Presence Node** → any surfaced endpoint where humans contact the Engine (web UI, CLI, scripts, voice, agents).
|
|
24
|
+
- **Mode** → behavioral / conversational contract for a Presence Node (e.g. `Codex-mode`, `Monday-mode`). Styles, not identities.
|
|
25
|
+
- **Garden Stack** → Pattern Engine + Presence Nodes + Modes working together.
|
|
26
|
+
|
|
27
|
+
Any mention of “AI” should map to the correct layer above so kernel docs stay precise.
|
|
28
|
+
|
|
20
29
|
## Install
|
|
21
30
|
|
|
22
31
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstellationHUD.d.ts","sourceRoot":"","sources":["../src/ConstellationHUD.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConstellationHUD.d.ts","sourceRoot":"","sources":["../src/ConstellationHUD.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAExF,OAAO,yBAAyB,CAAC;AAYjC;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AAIH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAoG7G,CAAC"}
|
package/dist/ConstellationHUD.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
-
import { phase$, peers$, pulse$ } from './index';
|
|
4
|
+
import { phase$, peers$, pulse$ } from './index.js';
|
|
4
5
|
import './constellation-hud.css';
|
|
5
|
-
import { useConstellationAudio } from './useConstellationAudio';
|
|
6
|
+
import { useConstellationAudio } from './useConstellationAudio.js';
|
|
6
7
|
const BASE_RADIUS = 42;
|
|
7
8
|
const RING_GAP = 18;
|
|
8
9
|
const RING_CAPACITY = 10;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstellationHUD.js","sourceRoot":"","sources":["../src/ConstellationHUD.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConstellationHUD.js","sourceRoot":"","sources":["../src/ConstellationHUD.tsx"],"names":[],"mappings":"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"}
|
package/dist/Heartbeat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heartbeat.d.ts","sourceRoot":"","sources":["../src/Heartbeat.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Heartbeat.d.ts","sourceRoot":"","sources":["../src/Heartbeat.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,iBAAiB,CAAC;AAsDzB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAyH7B,CAAC"}
|
package/dist/Heartbeat.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { useEffect, useRef, useState } from 'react';
|
|
3
|
-
import { phase$, mood$, peers$, pulse$ } from './index';
|
|
4
|
+
import { phase$, mood$, peers$, pulse$ } from './index.js';
|
|
4
5
|
import './heartbeat.css';
|
|
5
6
|
const DEFAULT_COLOR = '#ffffff';
|
|
6
7
|
function resolveColor(color) {
|
package/dist/Heartbeat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heartbeat.js","sourceRoot":"","sources":["../src/Heartbeat.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Heartbeat.js","sourceRoot":"","sources":["../src/Heartbeat.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type Phase = 'companion' | 'presence' | 'archive' | (string & {});
|
|
2
2
|
export type Mood = 'soft' | 'presence' | 'focused' | 'celebratory' | (string & {});
|
|
3
|
+
export type KernelAuthority = 'local-primary' | 'remote-primary' | 'distributed' | (string & {});
|
|
3
4
|
export type PresenceSnapshot = Readonly<{
|
|
4
5
|
t: number;
|
|
5
6
|
phase: Phase;
|
|
@@ -41,8 +42,22 @@ export interface PresenceAdapter {
|
|
|
41
42
|
}
|
|
42
43
|
export type KernelPlugin = (kernel: PresenceKernel) => void;
|
|
43
44
|
import { type Signal } from '@gratiaos/signal';
|
|
44
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Identifies who is currently "conducting" the shared presence kernel.
|
|
47
|
+
*
|
|
48
|
+
* - 'local-primary' (default): This process is the source-of-truth for presence state.
|
|
49
|
+
* Everything else listens or mirrors from here.
|
|
50
|
+
*
|
|
51
|
+
* Future modes (not yet implemented) may include:
|
|
52
|
+
* - 'remote-primary' — presence conducted elsewhere (e.g., another browser/device)
|
|
53
|
+
* - 'distributed' — multiple equal peers co-conduct the field
|
|
54
|
+
*
|
|
55
|
+
* Surfaces can read this to understand how to interpret presence and pulse flow.
|
|
56
|
+
*/
|
|
45
57
|
export declare const kernelAuthority: "local-primary";
|
|
58
|
+
export declare const authority$: Signal<KernelAuthority>;
|
|
59
|
+
export declare const setAuthority: (next: KernelAuthority) => void;
|
|
60
|
+
export declare const getAuthority: () => KernelAuthority;
|
|
46
61
|
export declare const phase$: Signal<Phase>;
|
|
47
62
|
export declare const mood$: Signal<Mood>;
|
|
48
63
|
export declare const peers$: Signal<string[]>;
|
|
@@ -76,10 +91,23 @@ export declare class PresenceKernel {
|
|
|
76
91
|
private tick;
|
|
77
92
|
private publish;
|
|
78
93
|
}
|
|
79
|
-
export
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
94
|
+
export interface ValueSealOptions {
|
|
95
|
+
whisper?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* runValueSealRitual()
|
|
99
|
+
* ---------------------
|
|
100
|
+
* Helper for the Value Bridge "Seal" action.
|
|
101
|
+
*
|
|
102
|
+
* 1. Temporarily shifts the shared mood to 'soft' for the length of the exhale.
|
|
103
|
+
* 2. Emits a `value:sealed` CustomEvent so other surfaces can respond without direct wiring.
|
|
104
|
+
* 3. Applies a gentle glow to the body that falls back once the exhale completes.
|
|
105
|
+
*/
|
|
106
|
+
export declare function runValueSealRitual(options?: ValueSealOptions): void;
|
|
107
|
+
export { Heartbeat } from './Heartbeat.js';
|
|
108
|
+
export { ConstellationHUD } from './ConstellationHUD.js';
|
|
109
|
+
export { usePhaseSound } from './usePhaseSound.js';
|
|
110
|
+
export { usePhaseSpatialSound } from './usePhaseSpatialSound.js';
|
|
83
111
|
export { createSignal } from '@gratiaos/signal';
|
|
84
112
|
export type { Signal, SignalListener } from '@gratiaos/signal';
|
|
85
113
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACzE,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { createSignal } from '@gratiaos/signal';
|
|
2
2
|
// Signals are now sourced from @gratiaos/signal (shared micro observable).
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Identifies who is currently "conducting" the shared presence kernel.
|
|
5
|
+
*
|
|
6
|
+
* - 'local-primary' (default): This process is the source-of-truth for presence state.
|
|
7
|
+
* Everything else listens or mirrors from here.
|
|
8
|
+
*
|
|
9
|
+
* Future modes (not yet implemented) may include:
|
|
10
|
+
* - 'remote-primary' — presence conducted elsewhere (e.g., another browser/device)
|
|
11
|
+
* - 'distributed' — multiple equal peers co-conduct the field
|
|
12
|
+
*
|
|
13
|
+
* Surfaces can read this to understand how to interpret presence and pulse flow.
|
|
14
|
+
*/
|
|
4
15
|
export const kernelAuthority = 'local-primary';
|
|
16
|
+
export const authority$ = createSignal(kernelAuthority);
|
|
17
|
+
export const setAuthority = (next) => authority$.set(next);
|
|
18
|
+
export const getAuthority = () => authority$.value;
|
|
5
19
|
export const phase$ = createSignal('presence');
|
|
6
20
|
export const mood$ = createSignal('soft'); // phase can be vivid while mood stays gentle by default
|
|
7
21
|
export const peers$ = createSignal([]);
|
|
@@ -132,10 +146,67 @@ export class PresenceKernel {
|
|
|
132
146
|
(_a = adapter.emit) === null || _a === void 0 ? void 0 : _a.call(adapter, event);
|
|
133
147
|
}
|
|
134
148
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
149
|
+
const AUTHORITY_EXHALE_MS = {
|
|
150
|
+
'local-primary': 1200,
|
|
151
|
+
'remote-primary': 900,
|
|
152
|
+
distributed: 800,
|
|
153
|
+
};
|
|
154
|
+
const AUTHORITY_GLOWS = {
|
|
155
|
+
'local-primary': 'var(--tone-glow)',
|
|
156
|
+
'remote-primary': '0 0 18px color-mix(in oklab, var(--tone-accent) 26%, transparent)',
|
|
157
|
+
distributed: '0 0 16px color-mix(in oklab, var(--tone-accent) 22%, transparent)',
|
|
158
|
+
};
|
|
159
|
+
let valueSealTimer = null;
|
|
160
|
+
/**
|
|
161
|
+
* runValueSealRitual()
|
|
162
|
+
* ---------------------
|
|
163
|
+
* Helper for the Value Bridge "Seal" action.
|
|
164
|
+
*
|
|
165
|
+
* 1. Temporarily shifts the shared mood to 'soft' for the length of the exhale.
|
|
166
|
+
* 2. Emits a `value:sealed` CustomEvent so other surfaces can respond without direct wiring.
|
|
167
|
+
* 3. Applies a gentle glow to the body that falls back once the exhale completes.
|
|
168
|
+
*/
|
|
169
|
+
export function runValueSealRitual(options) {
|
|
170
|
+
var _a, _b;
|
|
171
|
+
const authority = authority$.value;
|
|
172
|
+
const previousMood = mood$.value;
|
|
173
|
+
const exhaleMs = (_a = AUTHORITY_EXHALE_MS[authority]) !== null && _a !== void 0 ? _a : 900;
|
|
174
|
+
const glow = (_b = AUTHORITY_GLOWS[authority]) !== null && _b !== void 0 ? _b : 'var(--tone-glow)';
|
|
175
|
+
setMood('soft');
|
|
176
|
+
if (typeof window !== 'undefined') {
|
|
177
|
+
const detail = {
|
|
178
|
+
t: Date.now(),
|
|
179
|
+
authority,
|
|
180
|
+
whisper: options === null || options === void 0 ? void 0 : options.whisper,
|
|
181
|
+
};
|
|
182
|
+
window.dispatchEvent(new CustomEvent('value:sealed', { detail }));
|
|
183
|
+
}
|
|
184
|
+
if (valueSealTimer) {
|
|
185
|
+
clearTimeout(valueSealTimer);
|
|
186
|
+
valueSealTimer = null;
|
|
187
|
+
}
|
|
188
|
+
let originalShadow = null;
|
|
189
|
+
if (typeof document !== 'undefined') {
|
|
190
|
+
originalShadow = document.body.style.boxShadow;
|
|
191
|
+
document.body.style.boxShadow = glow;
|
|
192
|
+
}
|
|
193
|
+
valueSealTimer = setTimeout(() => {
|
|
194
|
+
if (typeof document !== 'undefined') {
|
|
195
|
+
if (originalShadow !== null) {
|
|
196
|
+
document.body.style.boxShadow = originalShadow;
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
document.body.style.removeProperty('box-shadow');
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
setMood(previousMood);
|
|
203
|
+
valueSealTimer = null;
|
|
204
|
+
}, exhaleMs);
|
|
205
|
+
}
|
|
206
|
+
export { Heartbeat } from './Heartbeat.js';
|
|
207
|
+
export { ConstellationHUD } from './ConstellationHUD.js';
|
|
208
|
+
export { usePhaseSound } from './usePhaseSound.js';
|
|
209
|
+
export { usePhaseSpatialSound } from './usePhaseSpatialSound.js';
|
|
139
210
|
// Re-export micro signal primitives to preserve historical import patterns
|
|
140
211
|
// for downstream packages that previously consumed signals via presence-kernel.
|
|
141
212
|
export { createSignal } from '@gratiaos/signal';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConstellationAudio.d.ts","sourceRoot":"","sources":["../src/useConstellationAudio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useConstellationAudio.d.ts","sourceRoot":"","sources":["../src/useConstellationAudio.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,QAOpI"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
'use client';
|
|
2
|
+
import { usePhaseSpatialSound } from './usePhaseSpatialSound.js';
|
|
3
|
+
import { usePhaseSound } from './usePhaseSound.js';
|
|
3
4
|
/**
|
|
4
5
|
* useConstellationAudio — unified audio gating for Constellation HUD.
|
|
5
6
|
* Always calls underlying hooks (Rules of Hooks) but passes enabled flags
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConstellationAudio.js","sourceRoot":"","sources":["../src/useConstellationAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useConstellationAudio.js","sourceRoot":"","sources":["../src/useConstellationAudio.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAgD,EAAE,MAAe,EAAE,IAA4B;;IACnI,MAAM,cAAc,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC;IACvE,MAAM,YAAY,GAAG,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,CAAC;IAEnE,iEAAiE;IACjE,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,aAAa,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,KAAK,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePhaseSound.d.ts","sourceRoot":"","sources":["../src/usePhaseSound.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePhaseSound.d.ts","sourceRoot":"","sources":["../src/usePhaseSound.ts"],"names":[],"mappings":"AAkBA,wBAAgB,aAAa,CAAC,aAAa,UAAQ,EAAE,OAAO,GAAE,OAAc,QAkJ3E"}
|
package/dist/usePhaseSound.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
import { phase$ } from './index';
|
|
3
|
-
import { DEFAULT_SOUND_PROFILE, PHASE_SOUND_PROFILE } from './phase-sound-profile';
|
|
3
|
+
import { phase$ } from './index.js';
|
|
4
|
+
import { DEFAULT_SOUND_PROFILE, PHASE_SOUND_PROFILE } from './phase-sound-profile.js';
|
|
4
5
|
export function usePhaseSound(enableHaptics = false, enabled = true) {
|
|
5
6
|
const timerRef = useRef(null);
|
|
6
7
|
const ctxRef = useRef(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePhaseSound.js","sourceRoot":"","sources":["../src/usePhaseSound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"usePhaseSound.js","sourceRoot":"","sources":["../src/usePhaseSound.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePhaseSpatialSound.d.ts","sourceRoot":"","sources":["../src/usePhaseSpatialSound.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePhaseSpatialSound.d.ts","sourceRoot":"","sources":["../src/usePhaseSpatialSound.ts"],"names":[],"mappings":"AAqEA,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,QAyK5E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
import { phase$, peers$, pulse$ } from './index';
|
|
3
|
-
import { DEFAULT_SOUND_PROFILE, PHASE_SOUND_PROFILE } from './phase-sound-profile';
|
|
3
|
+
import { phase$, peers$, pulse$ } from './index.js';
|
|
4
|
+
import { DEFAULT_SOUND_PROFILE, PHASE_SOUND_PROFILE } from './phase-sound-profile.js';
|
|
4
5
|
const LISTEN_EVENTS = ['pointerdown', 'keydown', 'touchstart'];
|
|
5
6
|
const BASE_GAIN = 0.14;
|
|
6
7
|
const filterFrequency = (type) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePhaseSpatialSound.js","sourceRoot":"","sources":["../src/usePhaseSpatialSound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"usePhaseSpatialSound.js","sourceRoot":"","sources":["../src/usePhaseSpatialSound.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/ConstellationHUD.tsx
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import React, { useEffect, useMemo, useRef, useState, type CSSProperties } from 'react';
|
|
2
|
-
import { phase$, peers$, pulse$, type Phase } from './index';
|
|
4
|
+
import { phase$, peers$, pulse$, type Phase } from './index.js';
|
|
3
5
|
import './constellation-hud.css';
|
|
4
|
-
import { useConstellationAudio } from './useConstellationAudio';
|
|
6
|
+
import { useConstellationAudio } from './useConstellationAudio.js';
|
|
5
7
|
|
|
6
8
|
const BASE_RADIUS = 42;
|
|
7
9
|
const RING_GAP = 18;
|
|
@@ -45,8 +47,8 @@ export const ConstellationHUD: React.FC<{ selfId?: string; soundMode?: 'spatial'
|
|
|
45
47
|
// Render audio wrappers conditionally (hooks live inside wrapper components).
|
|
46
48
|
|
|
47
49
|
useEffect(() => {
|
|
48
|
-
const stopPhase = phase$.subscribe((nextPhase) => setPhase(nextPhase));
|
|
49
|
-
const stopPeers = peers$.subscribe((ids) => setPeerIds(ids));
|
|
50
|
+
const stopPhase = phase$.subscribe((nextPhase: Phase) => setPhase(nextPhase));
|
|
51
|
+
const stopPeers = peers$.subscribe((ids: string[]) => setPeerIds(ids));
|
|
50
52
|
|
|
51
53
|
return () => {
|
|
52
54
|
stopPhase();
|
package/src/Heartbeat.tsx
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
-
import { phase$, mood$, peers$, pulse$, type Phase, type Mood } from './index';
|
|
4
|
+
import { phase$, mood$, peers$, pulse$, type Phase, type Mood } from './index.js';
|
|
3
5
|
import './heartbeat.css';
|
|
4
6
|
|
|
5
7
|
const DEFAULT_COLOR = '#ffffff';
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type Phase = 'companion' | 'presence' | 'archive' | (string & {});
|
|
2
2
|
export type Mood = 'soft' | 'presence' | 'focused' | 'celebratory' | (string & {});
|
|
3
|
+
export type KernelAuthority = 'local-primary' | 'remote-primary' | 'distributed' | (string & {});
|
|
3
4
|
|
|
4
5
|
export type PresenceSnapshot = Readonly<{
|
|
5
6
|
t: number;
|
|
@@ -32,8 +33,22 @@ export type KernelPlugin = (kernel: PresenceKernel) => void;
|
|
|
32
33
|
import { createSignal, type Signal, type SignalListener } from '@gratiaos/signal';
|
|
33
34
|
// Signals are now sourced from @gratiaos/signal (shared micro observable).
|
|
34
35
|
|
|
35
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Identifies who is currently "conducting" the shared presence kernel.
|
|
38
|
+
*
|
|
39
|
+
* - 'local-primary' (default): This process is the source-of-truth for presence state.
|
|
40
|
+
* Everything else listens or mirrors from here.
|
|
41
|
+
*
|
|
42
|
+
* Future modes (not yet implemented) may include:
|
|
43
|
+
* - 'remote-primary' — presence conducted elsewhere (e.g., another browser/device)
|
|
44
|
+
* - 'distributed' — multiple equal peers co-conduct the field
|
|
45
|
+
*
|
|
46
|
+
* Surfaces can read this to understand how to interpret presence and pulse flow.
|
|
47
|
+
*/
|
|
36
48
|
export const kernelAuthority = 'local-primary' as const;
|
|
49
|
+
export const authority$ = createSignal<KernelAuthority>(kernelAuthority);
|
|
50
|
+
export const setAuthority = (next: KernelAuthority) => authority$.set(next);
|
|
51
|
+
export const getAuthority = () => authority$.value;
|
|
37
52
|
|
|
38
53
|
export const phase$ = createSignal<Phase>('presence');
|
|
39
54
|
export const mood$ = createSignal<Mood>('soft'); // phase can be vivid while mood stays gentle by default
|
|
@@ -168,11 +183,79 @@ export class PresenceKernel {
|
|
|
168
183
|
}
|
|
169
184
|
}
|
|
170
185
|
|
|
171
|
-
|
|
172
|
-
|
|
186
|
+
const AUTHORITY_EXHALE_MS: Record<string, number> = {
|
|
187
|
+
'local-primary': 1200,
|
|
188
|
+
'remote-primary': 900,
|
|
189
|
+
distributed: 800,
|
|
190
|
+
};
|
|
173
191
|
|
|
174
|
-
|
|
175
|
-
|
|
192
|
+
const AUTHORITY_GLOWS: Record<string, string> = {
|
|
193
|
+
'local-primary': 'var(--tone-glow)',
|
|
194
|
+
'remote-primary': '0 0 18px color-mix(in oklab, var(--tone-accent) 26%, transparent)',
|
|
195
|
+
distributed: '0 0 16px color-mix(in oklab, var(--tone-accent) 22%, transparent)',
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
let valueSealTimer: ReturnType<typeof setTimeout> | null = null;
|
|
199
|
+
|
|
200
|
+
export interface ValueSealOptions {
|
|
201
|
+
whisper?: string;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* runValueSealRitual()
|
|
206
|
+
* ---------------------
|
|
207
|
+
* Helper for the Value Bridge "Seal" action.
|
|
208
|
+
*
|
|
209
|
+
* 1. Temporarily shifts the shared mood to 'soft' for the length of the exhale.
|
|
210
|
+
* 2. Emits a `value:sealed` CustomEvent so other surfaces can respond without direct wiring.
|
|
211
|
+
* 3. Applies a gentle glow to the body that falls back once the exhale completes.
|
|
212
|
+
*/
|
|
213
|
+
export function runValueSealRitual(options?: ValueSealOptions) {
|
|
214
|
+
const authority = authority$.value;
|
|
215
|
+
const previousMood = mood$.value;
|
|
216
|
+
const exhaleMs = AUTHORITY_EXHALE_MS[authority] ?? 900;
|
|
217
|
+
const glow = AUTHORITY_GLOWS[authority] ?? 'var(--tone-glow)';
|
|
218
|
+
|
|
219
|
+
setMood('soft');
|
|
220
|
+
|
|
221
|
+
if (typeof window !== 'undefined') {
|
|
222
|
+
const detail = {
|
|
223
|
+
t: Date.now(),
|
|
224
|
+
authority,
|
|
225
|
+
whisper: options?.whisper,
|
|
226
|
+
};
|
|
227
|
+
window.dispatchEvent(new CustomEvent('value:sealed', { detail }));
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if (valueSealTimer) {
|
|
231
|
+
clearTimeout(valueSealTimer);
|
|
232
|
+
valueSealTimer = null;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
let originalShadow: string | null = null;
|
|
236
|
+
if (typeof document !== 'undefined') {
|
|
237
|
+
originalShadow = document.body.style.boxShadow;
|
|
238
|
+
document.body.style.boxShadow = glow;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
valueSealTimer = setTimeout(() => {
|
|
242
|
+
if (typeof document !== 'undefined') {
|
|
243
|
+
if (originalShadow !== null) {
|
|
244
|
+
document.body.style.boxShadow = originalShadow;
|
|
245
|
+
} else {
|
|
246
|
+
document.body.style.removeProperty('box-shadow');
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
setMood(previousMood);
|
|
250
|
+
valueSealTimer = null;
|
|
251
|
+
}, exhaleMs);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
export { Heartbeat } from './Heartbeat.js';
|
|
255
|
+
export { ConstellationHUD } from './ConstellationHUD.js';
|
|
256
|
+
|
|
257
|
+
export { usePhaseSound } from './usePhaseSound.js';
|
|
258
|
+
export { usePhaseSpatialSound } from './usePhaseSpatialSound.js';
|
|
176
259
|
|
|
177
260
|
// Re-export micro signal primitives to preserve historical import patterns
|
|
178
261
|
// for downstream packages that previously consumed signals via presence-kernel.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { usePhaseSpatialSound } from './usePhaseSpatialSound.js';
|
|
4
|
+
import { usePhaseSound } from './usePhaseSound.js';
|
|
3
5
|
|
|
4
6
|
/**
|
|
5
7
|
* useConstellationAudio — unified audio gating for Constellation HUD.
|
package/src/usePhaseSound.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
import { phase
|
|
3
|
-
import { DEFAULT_SOUND_PROFILE, PHASE_SOUND_PROFILE, type PhaseSoundProfile } from './phase-sound-profile';
|
|
4
|
+
import { phase$, type Phase } from './index.js';
|
|
5
|
+
import { DEFAULT_SOUND_PROFILE, PHASE_SOUND_PROFILE, type PhaseSoundProfile } from './phase-sound-profile.js';
|
|
4
6
|
|
|
5
7
|
type AudioWindow = Window & {
|
|
6
8
|
AudioContext?: typeof AudioContext;
|
|
@@ -130,7 +132,7 @@ export function usePhaseSound(enableHaptics = false, enabled: boolean = true) {
|
|
|
130
132
|
// Try to initialize immediately in case interaction already happened
|
|
131
133
|
ensureContext(false);
|
|
132
134
|
|
|
133
|
-
const stopPhase = phase$.subscribe((phase) => {
|
|
135
|
+
const stopPhase = phase$.subscribe((phase: Phase) => {
|
|
134
136
|
const profile = PHASE_SOUND_PROFILE[phase as keyof typeof PHASE_SOUND_PROFILE] ?? DEFAULT_SOUND_PROFILE;
|
|
135
137
|
|
|
136
138
|
profile.intervals.forEach((semi, index) => {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
import { phase$, peers$, pulse
|
|
3
|
-
import { DEFAULT_SOUND_PROFILE, PHASE_SOUND_PROFILE, type PhaseSoundProfile } from './phase-sound-profile';
|
|
4
|
+
import { phase$, peers$, pulse$, type Phase } from './index.js';
|
|
5
|
+
import { DEFAULT_SOUND_PROFILE, PHASE_SOUND_PROFILE, type PhaseSoundProfile } from './phase-sound-profile.js';
|
|
4
6
|
|
|
5
7
|
type AudioWindow = Window & {
|
|
6
8
|
AudioContext?: typeof AudioContext;
|
|
@@ -200,12 +202,12 @@ export function usePhaseSpatialSound(selfId?: string, enabled: boolean = true) {
|
|
|
200
202
|
peers.forEach((peerId, index) => playPeerTone(peerId, profile, index));
|
|
201
203
|
};
|
|
202
204
|
|
|
203
|
-
const phaseSub = phase$.subscribe((phase) => {
|
|
205
|
+
const phaseSub = phase$.subscribe((phase: Phase) => {
|
|
204
206
|
const profile = PHASE_SOUND_PROFILE[phase as keyof typeof PHASE_SOUND_PROFILE] ?? DEFAULT_SOUND_PROFILE;
|
|
205
207
|
profileRef.current = profile;
|
|
206
208
|
});
|
|
207
209
|
|
|
208
|
-
const peersSub = peers$.subscribe((ids) => {
|
|
210
|
+
const peersSub = peers$.subscribe((ids: string[]) => {
|
|
209
211
|
peersRef.current = mergePeers(ids, selfId);
|
|
210
212
|
});
|
|
211
213
|
|