dreamcontext 0.5.3 → 0.6.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 +201 -21
- package/NOTICE +7 -0
- package/README.md +77 -12
- package/agents/dreamcontext-explore.md +1 -1
- package/agents/sleep-product.md +29 -8
- package/agents/sleep-tasks.md +44 -9
- package/dist/agents/dreamcontext-explore.md +1 -1
- package/dist/agents/sleep-product.md +29 -8
- package/dist/agents/sleep-tasks.md +44 -9
- package/dist/dashboard/assets/{BrainCanvas3D-1HMiA14F.js → BrainCanvas3D-LLqVeXtb.js} +1 -1
- package/dist/dashboard/assets/{_baseUniq-C7pfRmXz.js → _baseUniq-DW0uA0ty.js} +1 -1
- package/dist/dashboard/assets/{arc-B5x_GF9Q.js → arc-fVUGtlbL.js} +1 -1
- package/dist/dashboard/assets/{architectureDiagram-Q4EWVU46-CWmjaqno.js → architectureDiagram-Q4EWVU46-Dz2PKBsS.js} +1 -1
- package/dist/dashboard/assets/{blockDiagram-DXYQGD6D-B7SyUIdV.js → blockDiagram-DXYQGD6D-ByWKxzhL.js} +1 -1
- package/dist/dashboard/assets/{c4Diagram-AHTNJAMY-OeJBWXHU.js → c4Diagram-AHTNJAMY-dpHsVM3D.js} +1 -1
- package/dist/dashboard/assets/channel-zrLwggBX.js +1 -0
- package/dist/dashboard/assets/{chunk-4BX2VUAB-2Oop1B0M.js → chunk-4BX2VUAB-HEXb6Yg5.js} +1 -1
- package/dist/dashboard/assets/{chunk-4TB4RGXK-Bh7qSu_X.js → chunk-4TB4RGXK-DeVy5g6H.js} +1 -1
- package/dist/dashboard/assets/{chunk-55IACEB6-gNeHRO_i.js → chunk-55IACEB6-DGy3ZgDZ.js} +1 -1
- package/dist/dashboard/assets/{chunk-EDXVE4YY-BRniAH53.js → chunk-EDXVE4YY-CYJehjz4.js} +1 -1
- package/dist/dashboard/assets/{chunk-FMBD7UC4-B5r8U2gJ.js → chunk-FMBD7UC4-DKTOmvgZ.js} +1 -1
- package/dist/dashboard/assets/{chunk-OYMX7WX6-Dd1c17fm.js → chunk-OYMX7WX6-mmtWyiDA.js} +1 -1
- package/dist/dashboard/assets/{chunk-QZHKN3VN-BIw-OdTn.js → chunk-QZHKN3VN-DSdV0iwY.js} +1 -1
- package/dist/dashboard/assets/{chunk-YZCP3GAM-Dl9MlwCW.js → chunk-YZCP3GAM-DbY-KoDn.js} +1 -1
- package/dist/dashboard/assets/classDiagram-6PBFFD2Q-BvejNiwH.js +1 -0
- package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-BvejNiwH.js +1 -0
- package/dist/dashboard/assets/clone-BFVdml6g.js +1 -0
- package/dist/dashboard/assets/{cose-bilkent-S5V4N54A-DlrROH5K.js → cose-bilkent-S5V4N54A-p0t1DY88.js} +1 -1
- package/dist/dashboard/assets/{dagre-KV5264BT-B0GpPXKL.js → dagre-KV5264BT-DYE0WzHM.js} +1 -1
- package/dist/dashboard/assets/{diagram-5BDNPKRD-BBYcDW2Z.js → diagram-5BDNPKRD-D9EiQCOP.js} +1 -1
- package/dist/dashboard/assets/{diagram-G4DWMVQ6-BxHxugdp.js → diagram-G4DWMVQ6-poDXSAfu.js} +1 -1
- package/dist/dashboard/assets/{diagram-MMDJMWI5-C9Jc19Wo.js → diagram-MMDJMWI5-CHZ7wgN1.js} +1 -1
- package/dist/dashboard/assets/{diagram-TYMM5635-Vmo5GAAU.js → diagram-TYMM5635-DVk6fYG7.js} +1 -1
- package/dist/dashboard/assets/{erDiagram-SMLLAGMA-pskr9x-V.js → erDiagram-SMLLAGMA-D2sqkGin.js} +1 -1
- package/dist/dashboard/assets/{flowDiagram-DWJPFMVM-B1D7Ky0W.js → flowDiagram-DWJPFMVM-DrMlKBYA.js} +1 -1
- package/dist/dashboard/assets/{ganttDiagram-T4ZO3ILL-BVJZZV1M.js → ganttDiagram-T4ZO3ILL-Cf4FbEFp.js} +1 -1
- package/dist/dashboard/assets/{gitGraphDiagram-UUTBAWPF-BiOGN6We.js → gitGraphDiagram-UUTBAWPF-BsbOq1C9.js} +1 -1
- package/dist/dashboard/assets/{graph-D58deEXr.js → graph-CUxxgCtS.js} +1 -1
- package/dist/dashboard/assets/index-CqSkXBSu.css +1 -0
- package/dist/dashboard/assets/index-flRpQtDj.js +476 -0
- package/dist/dashboard/assets/{infoDiagram-42DDH7IO-DgJYg1X1.js → infoDiagram-42DDH7IO-DTkMnZiD.js} +1 -1
- package/dist/dashboard/assets/{ishikawaDiagram-UXIWVN3A-arJgr-8P.js → ishikawaDiagram-UXIWVN3A-CahQ348K.js} +1 -1
- package/dist/dashboard/assets/{journeyDiagram-VCZTEJTY-B3DCvb8p.js → journeyDiagram-VCZTEJTY-BDY2Nslc.js} +1 -1
- package/dist/dashboard/assets/{kanban-definition-6JOO6SKY-B--dN6Ma.js → kanban-definition-6JOO6SKY-CgrwoTjI.js} +1 -1
- package/dist/dashboard/assets/{layout-z2qEbZWC.js → layout-IaUxkFkm.js} +1 -1
- package/dist/dashboard/assets/{linear-BQu1dwrM.js → linear-shc0iNFn.js} +1 -1
- package/dist/dashboard/assets/{min-DkF5b2sh.js → min-BIL7YgTN.js} +1 -1
- package/dist/dashboard/assets/{mindmap-definition-QFDTVHPH-Bw04koyq.js → mindmap-definition-QFDTVHPH-GmO0JRtA.js} +1 -1
- package/dist/dashboard/assets/{pieDiagram-DEJITSTG-vNqz64o8.js → pieDiagram-DEJITSTG-Bfm_toYA.js} +1 -1
- package/dist/dashboard/assets/{quadrantDiagram-34T5L4WZ-TuVP5Gi6.js → quadrantDiagram-34T5L4WZ-DIjTM3lm.js} +1 -1
- package/dist/dashboard/assets/{requirementDiagram-MS252O5E-D3mS8_ke.js → requirementDiagram-MS252O5E-B9AEoGYh.js} +1 -1
- package/dist/dashboard/assets/{sankeyDiagram-XADWPNL6-BmVRers6.js → sankeyDiagram-XADWPNL6-C_O5XLXm.js} +1 -1
- package/dist/dashboard/assets/{sequenceDiagram-FGHM5R23-CTYCgk5P.js → sequenceDiagram-FGHM5R23-CHSxSvmJ.js} +1 -1
- package/dist/dashboard/assets/{stateDiagram-FHFEXIEX-DNbP2aCg.js → stateDiagram-FHFEXIEX-B0URrhHw.js} +1 -1
- package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-FdAb9MBo.js +1 -0
- package/dist/dashboard/assets/{timeline-definition-GMOUNBTQ-DKHJd4z8.js → timeline-definition-GMOUNBTQ-CycU2gVC.js} +1 -1
- package/dist/dashboard/assets/{vennDiagram-DHZGUBPP-ChotNMNq.js → vennDiagram-DHZGUBPP-DcU2536G.js} +1 -1
- package/dist/dashboard/assets/{wardley-RL74JXVD-Dmo2_ksP.js → wardley-RL74JXVD-BWqqaX3S.js} +1 -1
- package/dist/dashboard/assets/{wardleyDiagram-NUSXRM2D-Z6Wbiv2H.js → wardleyDiagram-NUSXRM2D-CUnIHJgd.js} +1 -1
- package/dist/dashboard/assets/{xychartDiagram-5P7HB3ND-BJa0AHtN.js → xychartDiagram-5P7HB3ND-b9fcOYTj.js} +1 -1
- package/dist/dashboard/index.html +2 -2
- package/dist/dashboard/media/README.md +29 -0
- package/dist/dashboard/media/brain-hero.png +0 -0
- package/dist/dashboard/media/brain.mp4 +0 -0
- package/dist/dashboard/media/brain.webm +0 -0
- package/dist/dashboard/media/shot-disabled.png +0 -0
- package/dist/dashboard/media/shot-enabled.png +0 -0
- package/dist/index.js +3408 -2051
- package/dist/skill-packs/catalog.json +44 -0
- package/dist/skill-packs/excalidraw/SKILL.md +123 -0
- package/dist/skill-packs/excalidraw/examples/hello.spec.json +14 -0
- package/dist/skill-packs/excalidraw/examples/sample.png +0 -0
- package/dist/skill-packs/excalidraw/examples/style_board.js +31 -0
- package/dist/skill-packs/excalidraw/package.json +5 -0
- package/dist/skill-packs/excalidraw/reference/format.md +93 -0
- package/dist/skill-packs/excalidraw/scripts/build_excalidraw.js +357 -0
- package/dist/skill-packs/excalidraw/scripts/lib/fractional-indexing.LICENSE +121 -0
- package/dist/skill-packs/excalidraw/scripts/lib/fractional-indexing.js +311 -0
- package/dist/skill-packs/excalidraw/scripts/lib/imagesize.js +65 -0
- package/dist/skill-packs/excalidraw/scripts/lib/style.js +130 -0
- package/dist/skill-packs/video-watching/SKILL.md +151 -0
- package/dist/skill-packs/video-watching/scripts/build_frame_index.py +95 -0
- package/dist/skill-packs/video-watching/scripts/gap_fill.py +45 -0
- package/dist/skill-packs/video-watching/scripts/transcribe.sh +136 -0
- package/package.json +4 -2
- package/skill/SKILL.md +5 -0
- package/skill-packs/catalog.json +44 -0
- package/skill-packs/excalidraw/SKILL.md +123 -0
- package/skill-packs/excalidraw/examples/hello.spec.json +14 -0
- package/skill-packs/excalidraw/examples/sample.png +0 -0
- package/skill-packs/excalidraw/examples/style_board.js +31 -0
- package/skill-packs/excalidraw/package.json +5 -0
- package/skill-packs/excalidraw/reference/format.md +93 -0
- package/skill-packs/excalidraw/scripts/build_excalidraw.js +357 -0
- package/skill-packs/excalidraw/scripts/lib/fractional-indexing.LICENSE +121 -0
- package/skill-packs/excalidraw/scripts/lib/fractional-indexing.js +311 -0
- package/skill-packs/excalidraw/scripts/lib/imagesize.js +65 -0
- package/skill-packs/excalidraw/scripts/lib/style.js +130 -0
- package/skill-packs/video-watching/SKILL.md +151 -0
- package/skill-packs/video-watching/scripts/build_frame_index.py +95 -0
- package/skill-packs/video-watching/scripts/gap_fill.py +45 -0
- package/skill-packs/video-watching/scripts/transcribe.sh +136 -0
- package/dist/dashboard/assets/channel-CbuTKKsM.js +0 -1
- package/dist/dashboard/assets/classDiagram-6PBFFD2Q-HXl3A_sM.js +0 -1
- package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-HXl3A_sM.js +0 -1
- package/dist/dashboard/assets/clone-NKHOtdi8.js +0 -1
- package/dist/dashboard/assets/index-DK_2-eWY.css +0 -1
- package/dist/dashboard/assets/index-Ds-JXWtr.js +0 -476
- package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-CfN6kjo8.js +0 -1
|
@@ -167,7 +167,7 @@ For each knowledge candidate (research finding, sleep-state flag, extracted over
|
|
|
167
167
|
|
|
168
168
|
| Signal | Action |
|
|
169
169
|
|---|---|
|
|
170
|
-
| New research or decision worth long-term retention | `dreamcontext knowledge create <slug> --tags "<tag1>,<tag2>"`
|
|
170
|
+
| New research or decision worth long-term retention | Decide create-vs-extend per **B2's consolidation rubric** first, then `dreamcontext knowledge create <slug> --tags "<tag1>,<tag2>"` and Edit body — *or* extend an existing file |
|
|
171
171
|
| Existing knowledge file gained new findings | Edit the file; update frontmatter `summary:` if drifted |
|
|
172
172
|
| `sleep-state` flagged stale-archival candidate | Read the file; if no longer load-bearing, append to a top-level `archive/` knowledge file or set `archived: true` in frontmatter (per project convention) |
|
|
173
173
|
| `sleep-state` flagged frequent-access-not-pinned | Edit frontmatter: `pinned: true` |
|
|
@@ -175,9 +175,29 @@ For each knowledge candidate (research finding, sleep-state flag, extracted over
|
|
|
175
175
|
| Overflow extracted from core file (one-line reference left there) | `dreamcontext knowledge create <slug>` and paste the extracted content |
|
|
176
176
|
| Cross-cutting finding from your own features pass | Capture inline (no need to flag — you own both domains this cycle) |
|
|
177
177
|
|
|
178
|
-
#### B2. Create
|
|
178
|
+
#### B2. Create vs. extend — the consolidation rubric
|
|
179
179
|
|
|
180
|
-
**
|
|
180
|
+
**A knowledge file is a tag-able identity, not a dumping ground.** Aim for the *fewest* files that keep each topic cleanly findable. Fragmenting one topic across many near-duplicate slugs makes tags noisy and recall worse; cramming unrelated topics into one super-file makes tags meaningless. Pick the boundary on purpose.
|
|
181
|
+
|
|
182
|
+
**Dedup first — recall by the topic AND by its family** (vertical / brand / parent domain), not just the exact phrase:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
dreamcontext memory recall "<topic>" --types knowledge,feature
|
|
186
|
+
dreamcontext memory recall "<vertical / brand / parent domain>" --types knowledge,feature
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Then decide — **default to extending an existing file**:
|
|
190
|
+
|
|
191
|
+
| The finding is… | Action |
|
|
192
|
+
|---|---|
|
|
193
|
+
| The **same vertical / brand / topic family** as an existing file, or a sub-aspect / increment / follow-up of a topic already covered (a *soft* distinction) | **Extend that file** — add a section, update `summary:` if it drifted. Don't fork a near-duplicate slug. Similar brands, similar verticals, similar topics belong together in the fewest files. |
|
|
194
|
+
| A **genuinely separate topic / domain / concern** a future session would expect to find standing alone, where its own tag set sharpens discovery (a *sharp* distinction) | **Create a new file** (below). A clean topical boundary earns its own slug so tagging stays valuable. |
|
|
195
|
+
|
|
196
|
+
The test for sharp-vs-soft: *Would a future recall expect this bundled with the existing file, or standing on its own? Would a separate file make the tag set more discriminating — or just split one topic across two slugs?* If splitting wouldn't sharpen the tags, extend.
|
|
197
|
+
|
|
198
|
+
This is **not** "always make super-files." Distinct topics MUST get distinct files — that's exactly what makes tags worth having. It's the *soft* distinctions (same family, narrower slice, incremental finding) that fold into an existing file.
|
|
199
|
+
|
|
200
|
+
**When the rubric says create:**
|
|
181
201
|
|
|
182
202
|
```bash
|
|
183
203
|
dreamcontext knowledge create "<descriptive-slug>" \
|
|
@@ -247,8 +267,8 @@ This is a one-time bootstrap per product; once the file exists, treat it like an
|
|
|
247
267
|
- No-op feature signals: 1 (signal "feature_advanced=marketing-dashboard-v0" — but PRD exists and no criteria moved)
|
|
248
268
|
|
|
249
269
|
### Knowledge
|
|
250
|
-
- Created: knowledge/jwt-rotation-policy.md (tags: security, decisions; from sleep-state flag)
|
|
251
|
-
-
|
|
270
|
+
- Created: knowledge/jwt-rotation-policy.md (tags: security, decisions; from sleep-state flag) — sharp boundary, new tag-able topic
|
|
271
|
+
- Extended (no new file): knowledge/competitive-analysis-ecc.md — folded the new ECC pricing finding into the existing file (soft distinction, same topic family) instead of forking a near-duplicate slug; updated `summary:`
|
|
252
272
|
- Pinned: knowledge/project-origin-and-prd.md (frequently accessed)
|
|
253
273
|
- Archived: 0
|
|
254
274
|
- No-op knowledge signals: 1 (`research_present` was a one-line decision already captured by sleep-state in 2.memory.md — not knowledge-worthy)
|
|
@@ -263,6 +283,7 @@ This is a one-time bootstrap per product; once the file exists, treat it like an
|
|
|
263
283
|
5. **Create PRDs for buildable concepts** that don't have one — they will be lost otherwise.
|
|
264
284
|
6. **Don't create knowledge that already fits in memory.** A short technical decision belongs in `2.memory.md` (sleep-state's domain), not its own knowledge file.
|
|
265
285
|
7. **Knowledge file threshold**: ≥3 paragraphs of content, or material that will be re-read in future sessions.
|
|
266
|
-
8. **
|
|
267
|
-
9. **
|
|
268
|
-
10. **
|
|
286
|
+
8. **Fewest files, sharp boundaries (B2 rubric).** Default to extending an existing file. Fold soft distinctions in — same vertical/brand/topic family, a narrower slice, an increment. Create a new file only for a genuinely separate topic whose own tags sharpen discovery. Not super-files, not fragmentation.
|
|
287
|
+
9. **Use standard tags only.** New tags fragment discovery.
|
|
288
|
+
10. **Process all flags from sleep-state** in your report — don't silently drop them.
|
|
289
|
+
11. **No-op cheaply** when signals don't actually warrant work.
|
|
@@ -49,8 +49,41 @@ Also read `_dream_context/state/.sleep.json` directly for `sessions[].last_assis
|
|
|
49
49
|
|
|
50
50
|
For each session:
|
|
51
51
|
|
|
52
|
-
- **Has `task_slugs`** → those are the task(s) to update.
|
|
53
|
-
- **No `task_slugs`** → check `last_assistant_message`, the user hint in the brief, and bookmark messages for
|
|
52
|
+
- **Has `task_slugs`** → those are the task(s) to update. Go to step 3.
|
|
53
|
+
- **No `task_slugs`** → check `last_assistant_message`, the user hint in the brief, and bookmark messages for what the work was about.
|
|
54
|
+
|
|
55
|
+
**Before creating anything, dedup against existing tasks.** Duplicate tasks — and tasks that are really just a smaller slice of one that already exists — are the #1 consolidation failure mode. A "much smaller piece" of an existing task is **never** its own task. Recall by topic and scan the active list first:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
dreamcontext memory recall "<topic / feature / area>" --types task
|
|
59
|
+
dreamcontext tasks list --status in_progress
|
|
60
|
+
dreamcontext tasks list --status in_review
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Then decide with this rubric — **default to folding in, not forking a new task**:
|
|
64
|
+
|
|
65
|
+
| The session's work is… | Action |
|
|
66
|
+
|---|---|
|
|
67
|
+
| A **smaller piece, sub-step, or follow-up** of a task that already exists (same feature/area, narrower scope) | **Do NOT create a task.** Fold it into the existing one (see below). |
|
|
68
|
+
| The **same work** as an existing task, observed again | Update that task (step 3). No new task. |
|
|
69
|
+
| A **genuinely separate concern** — a different feature/area/deliverable, not a slice of an existing task | Create a new task (below). |
|
|
70
|
+
|
|
71
|
+
**Folding a smaller piece into an existing task** (the case the system keeps getting wrong):
|
|
72
|
+
|
|
73
|
+
1. If the existing task's scope grew to include this work, **broaden its title/scope** — Edit the frontmatter `description:` (the one-line scope) and the `## Why` so the header reflects the now-wider scope. Don't leave a stale, too-narrow title with the new work buried only in the changelog. (Renaming the slug/`name:` is usually unnecessary and breaks links — only do it if the scope fundamentally changed identity.)
|
|
74
|
+
2. Add the new work as concrete **sub-items in the body**, not a new file:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
dreamcontext tasks insert <slug> user_stories "<as a … I want …>"
|
|
78
|
+
dreamcontext tasks insert <slug> acceptance_criteria "<testable criterion>"
|
|
79
|
+
dreamcontext tasks insert <slug> notes "<follow-up / smaller piece>"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
3. Tick/extend the Workflow Mermaid nodes if the task has them.
|
|
83
|
+
|
|
84
|
+
**Sub-tasks (`parent_task`) are for genuinely large decomposition only** — an epic that legitimately splits into separable deliverables. Do not spawn a child task for a slice that fits as a user story or acceptance criterion in the parent. When in doubt, fold in.
|
|
85
|
+
|
|
86
|
+
**Create a new task only when the rubric says "separate concern":**
|
|
54
87
|
|
|
55
88
|
```bash
|
|
56
89
|
# Ensure an active planning version exists (orchestrator should have done this; verify)
|
|
@@ -63,7 +96,7 @@ dreamcontext tasks create "<descriptive-slug>" --status in_progress --priority m
|
|
|
63
96
|
--description "<one-line scope>"
|
|
64
97
|
```
|
|
65
98
|
|
|
66
|
-
Untracked work is invisible to future sessions
|
|
99
|
+
Untracked, genuinely-separate work is invisible to future sessions — always link it. But a smaller slice of existing work belongs *inside* that task, never in a duplicate.
|
|
67
100
|
|
|
68
101
|
### 3. Log progress AND reconcile the body — both required
|
|
69
102
|
|
|
@@ -118,7 +151,8 @@ If every task linked to the active version is `completed` (or only `in_review` r
|
|
|
118
151
|
```
|
|
119
152
|
## sleep-tasks report
|
|
120
153
|
- Updated: <slug> (in_progress → in_review, "<reason>"), <slug> (logged)
|
|
121
|
-
-
|
|
154
|
+
- Folded in (no new task): <existing-slug> — broadened scope + added 2 user stories / 1 criterion for <smaller-piece> instead of forking a duplicate
|
|
155
|
+
- Created: <slug> (status: in_progress, attached to vX.Y.Z) — genuinely separate concern
|
|
122
156
|
- Body reconciled: <slug> (dropped phase 1 from User Stories; replaced Technical Details auth section)
|
|
123
157
|
- Version readiness: vX.Y.Z — 4/5 tasks ready for review
|
|
124
158
|
- Cross-domain mentions: <slug> includes a memory-worthy decision about JWT — flagging for sleep-state
|
|
@@ -127,8 +161,9 @@ If every task linked to the active version is `completed` (or only `in_review` r
|
|
|
127
161
|
|
|
128
162
|
## Rules
|
|
129
163
|
|
|
130
|
-
1. **
|
|
131
|
-
2. **
|
|
132
|
-
3. **
|
|
133
|
-
4. **
|
|
134
|
-
5. **
|
|
164
|
+
1. **Dedup before creating.** Recall first; fold a smaller slice into the task that already covers it — broaden its title + insert sub-items — instead of forking a duplicate or a needless sub-task. A new task is only for a genuinely separate concern.
|
|
165
|
+
2. **Body = current truth, Changelog = history.** Don't let the body lag behind decisions.
|
|
166
|
+
3. **Never auto-complete.** Bump to `in_review`.
|
|
167
|
+
4. **Always attach to a planning version.** No orphan work.
|
|
168
|
+
5. **Stay in your lane.** If you spot non-task work worth preserving, flag it — don't write it.
|
|
169
|
+
6. **CLI first** for status/log/insert; **Edit** for surgical body reconciliation (including broadening `description:` / `## Why` when scope grows).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{bs as jc,bt as I0,aM as pS,bu as xt,bv as Ip,bw as mS,bx as gS,by as _S,bz as xS,bA as yS,bp as vS,bq as bS,bB as B0,aC as SS,bC as TS,bD as MS,bE as ES,bF as xg,bG as yg,bH as AS,bI as k,bJ as $s,bK as wS,bL as RS,bM as CS,bN as NS}from"./index-
|
|
1
|
+
import{bs as jc,bt as I0,aM as pS,bu as xt,bv as Ip,bw as mS,bx as gS,by as _S,bz as xS,bA as yS,bp as vS,bq as bS,bB as B0,aC as SS,bC as TS,bD as MS,bE as ES,bF as xg,bG as yg,bH as AS,bI as k,bJ as $s,bK as wS,bL as RS,bM as CS,bN as NS}from"./index-flRpQtDj.js";function PS(r){var e=jc(.1),t,n,i;typeof r!="function"&&(r=jc(r==null?0:+r));function s(a){for(var l=0,c=t.length,u;l<c;++l)u=t[l],u.vz+=(i[l]-u.z)*n[l]*a}function o(){if(t){var a,l=t.length;for(n=new Array(l),i=new Array(l),a=0;a<l;++a)n[a]=isNaN(i[a]=+r(t[a],a,t))?0:+e(t[a],a,t)}}return s.initialize=function(a){t=a,o()},s.strength=function(a){return arguments.length?(e=typeof a=="function"?a:jc(+a),o(),s):e},s.z=function(a){return arguments.length?(r=typeof a=="function"?a:jc(+a),o(),s):r},s}/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2010-2026 Three.js Authors
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aJ as A,aK as S,a_ as P,aI as W,bX as ln,bY as gn,bZ as dn,b_ as z,b$ as hn,bS as pn,c0 as G,b1 as N,b6 as m,b9 as b,c1 as An,b0 as K,b4 as _n,c2 as wn,bV as on,aL as V,bT as On,c3 as R}from"./index-
|
|
1
|
+
import{aJ as A,aK as S,a_ as P,aI as W,bX as ln,bY as gn,bZ as dn,b_ as z,b$ as hn,bS as pn,c0 as G,b1 as N,b6 as m,b9 as b,c1 as An,b0 as K,b4 as _n,c2 as wn,bV as on,aL as V,bT as On,c3 as R}from"./index-flRpQtDj.js";function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var U=P?P.prototype:void 0,B=U?U.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(S(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Pn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function yn(n){return n!==n}function Tn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function bn(n,r,e){return r===r?Tn(n,r,e):cn(n,yn,e)}function In(n,r){var e=n==null?0:n.length;return!!e&&bn(n,r,0)>-1}function x(n){return W(n)?ln(n):gn(n)}var Rn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ln=/^\w*$/;function M(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||S(n)?!0:Ln.test(n)||!Rn.test(n)||r!=null&&n in Object(r)}var Sn=500;function xn(n){var r=dn(n,function(i){return e.size===Sn&&e.clear(),i}),e=r.cache;return r}var Mn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$n=/\\(\\)?/g,Cn=xn(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Mn,function(e,i,f,t){r.push(f?t.replace($n,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:M(n,r)?[n]:Cn(Dn(n))}function I(n){if(typeof n=="string"||S(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function Fn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Gn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Ur(n,r,e,i,f){var t=-1,u=n.length;for(e||(e=Gn),f||(f=[]);++t<u;){var s=n[t];e(s)?rn(f,s):i||(f[f.length]=s)}return f}function Nn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var u=n[e];r(u,e,n)&&(t[f++]=u)}return t}function mn(){return[]}var Kn=Object.prototype,Un=Kn.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Bn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Un.call(n,r)}))}:mn;function Hn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return Hn(n,x,Bn)}var Zn="__lodash_hash_undefined__";function qn(n){return this.__data__.set(n,Zn),this}function Yn(n){return this.__data__.has(n)}function E(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new hn;++r<e;)this.add(n[r])}E.prototype.add=E.prototype.push=qn;E.prototype.has=Yn;function Xn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Jn=1,Qn=2;function fn(n,r,e,i,f,t){var u=e&Jn,s=n.length,a=r.length;if(s!=a&&!(u&&a>s))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,w=e&Qn?new E:void 0;for(t.set(n,r),t.set(r,n);++l<s;){var p=n[l],_=r[l];if(i)var o=u?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(o!==void 0){if(o)continue;d=!1;break}if(w){if(!Xn(r,function(O,v){if(!tn(w,v)&&(p===O||f(p,O,e,i,t)))return w.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Wn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function $(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var zn=1,Vn=2,kn="[object Boolean]",jn="[object Date]",nr="[object Error]",rr="[object Map]",er="[object Number]",ir="[object RegExp]",tr="[object Set]",fr="[object String]",ur="[object Symbol]",sr="[object ArrayBuffer]",ar="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function lr(n,r,e,i,f,t,u){switch(e){case ar:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case sr:return!(n.byteLength!=r.byteLength||!t(new G(n),new G(r)));case kn:case jn:case er:return pn(+n,+r);case nr:return n.name==r.name&&n.message==r.message;case ir:case fr:return n==r+"";case rr:var s=Wn;case tr:var a=i&zn;if(s||(s=$),n.size!=r.size&&!a)return!1;var h=u.get(n);if(h)return h==r;i|=Vn,u.set(n,r);var g=fn(s(n),s(r),i,f,t,u);return u.delete(n),g;case ur:if(L)return L.call(n)==L.call(r)}return!1}var gr=1,dr=Object.prototype,hr=dr.hasOwnProperty;function pr(n,r,e,i,f,t){var u=e&gr,s=q(n),a=s.length,h=q(r),g=h.length;if(a!=g&&!u)return!1;for(var l=a;l--;){var d=s[l];if(!(u?d in r:hr.call(r,d)))return!1}var w=t.get(n),p=t.get(r);if(w&&p)return w==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var o=u;++l<a;){d=s[l];var O=n[d],v=r[d];if(i)var F=u?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(F===void 0?O===v||f(O,v,e,i,t):F)){_=!1;break}o||(o=d=="constructor")}if(_&&!o){var c=n.constructor,y=r.constructor;c!=y&&"constructor"in n&&"constructor"in r&&!(typeof c=="function"&&c instanceof c&&typeof y=="function"&&y instanceof y)&&(_=!1)}return t.delete(n),t.delete(r),_}var Ar=1,X="[object Arguments]",J="[object Array]",T="[object Object]",_r=Object.prototype,Q=_r.hasOwnProperty;function wr(n,r,e,i,f,t){var u=A(n),s=A(r),a=u?J:N(n),h=s?J:N(r);a=a==X?T:a,h=h==X?T:h;var g=a==T,l=h==T,d=a==h;if(d&&m(n)){if(!m(r))return!1;u=!0,g=!1}if(d&&!g)return t||(t=new b),u||An(n)?fn(n,r,e,i,f,t):lr(n,r,a,e,i,f,t);if(!(e&Ar)){var w=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(w||p){var _=w?n.value():n,o=p?r.value():r;return t||(t=new b),f(_,o,e,i,t)}}return d?(t||(t=new b),pr(n,r,e,i,f,t)):!1}function C(n,r,e,i,f){return n===r?!0:n==null||r==null||!K(n)&&!K(r)?n!==n&&r!==r:wr(n,r,e,i,C,f)}var or=1,Or=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var u=e[f];if(u[2]?u[1]!==n[u[0]]:!(u[0]in n))return!1}for(;++f<t;){u=e[f];var s=u[0],a=n[s],h=u[1];if(u[2]){if(a===void 0&&!(s in n))return!1}else{var g=new b,l;if(!(l===void 0?C(h,a,or|Or,i,g):l))return!1}}return!0}function un(n){return n===n&&!_n(n)}function Pr(n){for(var r=x(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,un(f)]}return r}function sn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=Pr(n);return r.length==1&&r[0][2]?sn(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function yr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var u=I(r[i]);if(!(t=n!=null&&e(n,u)))break;n=n[u]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&on(u,f)&&(A(n)||z(n)))}function Tr(n,r){return n!=null&&yr(n,r,cr)}var br=1,Ir=2;function Rr(n,r){return M(n)&&un(r)?sn(I(n),r):function(e){var i=Fn(e,n);return i===void 0&&i===r?Tr(e,n):C(r,i,br|Ir)}}function Lr(n){return function(r){return r==null?void 0:r[n]}}function Sr(n){return function(r){return nn(r,n)}}function xr(n){return M(n)?Lr(I(n)):Sr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Rr(n[0],n[1]):Er(n):xr(n)}function Mr(n,r){return n&&On(n,r,x)}function $r(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,u=Object(e);++t<f&&i(u[t],t,u)!==!1;);return e}}var D=$r(Mr);function Cr(n){return typeof n=="function"?n:V}function Br(n,r){var e=A(n)?En:D;return e(n,Cr(r))}function Dr(n,r){var e=[];return D(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Hr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function Fr(n,r,e,i,f){return f(n,function(t,u,s){e=i?(i=!1,t):r(e,t,u,s)}),e}function Zr(n,r,e){var i=A(n)?Nn:Fr,f=arguments.length<3;return i(n,an(r),e,f,D)}var Gr=1/0,Nr=R&&1/$(new R([,-0]))[1]==Gr?function(n){return new R(n)}:Pn,mr=200;function qr(n,r,e){var i=-1,f=In,t=n.length,u=!0,s=[],a=s;if(t>=mr){var h=r?null:Nr(n);if(h)return $(h);u=!1,f=tn,a=new E}else a=r?[]:s;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,u&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),s.push(g)}else f(a,l,e)||(a!==s&&a.push(l),s.push(g))}return s}export{D as a,Ur as b,an as c,vn as d,rn as e,Hn as f,Bn as g,En as h,q as i,qr as j,x as k,Hr as l,Br as m,cn as n,Cr as o,Mr as p,yr as q,Zr as r,mn as s,j as t,I as u,nn as v,Tr as w,Dn as x};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as rn,a9 as L,aa as o,ab as B,ac as sn,ad as on,ae as fn}from"./index-
|
|
1
|
+
import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as rn,a9 as L,aa as o,ab as B,ac as sn,ad as on,ae as fn}from"./index-flRpQtDj.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|