@playcraft/common 0.0.27 → 0.0.29
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/recommend/atom-graph/basic-atom-graph.d.ts +3 -0
- package/dist/recommend/atom-graph/basic-atom-graph.d.ts.map +1 -0
- package/dist/recommend/atom-graph/basic-atom-graph.js +291 -0
- package/dist/recommend/atom-graph/basic-atom-graph.js.map +1 -0
- package/dist/recommend/atom-graph/basic-atom-skill-graph.d.ts +3 -0
- package/dist/recommend/atom-graph/basic-atom-skill-graph.d.ts.map +1 -0
- package/dist/recommend/atom-graph/basic-atom-skill-graph.js +130 -0
- package/dist/recommend/atom-graph/basic-atom-skill-graph.js.map +1 -0
- package/dist/recommend/atom-graph/index.d.ts +6 -0
- package/dist/recommend/atom-graph/index.d.ts.map +1 -0
- package/dist/recommend/atom-graph/index.js +6 -0
- package/dist/recommend/atom-graph/index.js.map +1 -0
- package/dist/recommend/atom-graph/remix-examples.d.ts +6 -0
- package/dist/recommend/atom-graph/remix-examples.d.ts.map +1 -0
- package/dist/recommend/atom-graph/remix-examples.js +192 -0
- package/dist/recommend/atom-graph/remix-examples.js.map +1 -0
- package/dist/recommend/atom-graph/types.d.ts +323 -0
- package/dist/recommend/atom-graph/types.d.ts.map +1 -0
- package/dist/recommend/atom-graph/types.js +2 -0
- package/dist/recommend/atom-graph/types.js.map +1 -0
- package/dist/recommend/atom-graph/validate.d.ts +7 -0
- package/dist/recommend/atom-graph/validate.d.ts.map +1 -0
- package/dist/recommend/atom-graph/validate.js +140 -0
- package/dist/recommend/atom-graph/validate.js.map +1 -0
- package/dist/recommend/index.d.ts +1 -0
- package/dist/recommend/index.d.ts.map +1 -1
- package/dist/recommend/index.js +1 -0
- package/dist/recommend/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
const DEFAULT_TOPOLOGY_EDGE_KINDS = ['requires'];
|
|
2
|
+
export function getAtomNode(graph, nodeId) {
|
|
3
|
+
return graph.nodes.find((node) => node.id === nodeId);
|
|
4
|
+
}
|
|
5
|
+
export function getAtomEdges(graph, edgeKinds) {
|
|
6
|
+
if (!edgeKinds)
|
|
7
|
+
return graph.edges;
|
|
8
|
+
const allowed = new Set(edgeKinds);
|
|
9
|
+
return graph.edges.filter((edge) => allowed.has(edge.kind));
|
|
10
|
+
}
|
|
11
|
+
export function findAtomAncestors(graph, nodeId, edgeKinds = DEFAULT_TOPOLOGY_EDGE_KINDS) {
|
|
12
|
+
const incoming = new Map();
|
|
13
|
+
for (const edge of getAtomEdges(graph, edgeKinds)) {
|
|
14
|
+
const sources = incoming.get(edge.to) ?? [];
|
|
15
|
+
sources.push(edge.from);
|
|
16
|
+
incoming.set(edge.to, sources);
|
|
17
|
+
}
|
|
18
|
+
const visited = new Set();
|
|
19
|
+
const stack = [...(incoming.get(nodeId) ?? [])];
|
|
20
|
+
while (stack.length > 0) {
|
|
21
|
+
const current = stack.pop();
|
|
22
|
+
if (!current || visited.has(current))
|
|
23
|
+
continue;
|
|
24
|
+
visited.add(current);
|
|
25
|
+
stack.push(...(incoming.get(current) ?? []));
|
|
26
|
+
}
|
|
27
|
+
return [...visited];
|
|
28
|
+
}
|
|
29
|
+
export function topologicalSortAtomGraph(graph, edgeKinds = DEFAULT_TOPOLOGY_EDGE_KINDS) {
|
|
30
|
+
const nodeIds = graph.nodes.map((node) => node.id);
|
|
31
|
+
const nodeIdSet = new Set(nodeIds);
|
|
32
|
+
const topologyEdges = getAtomEdges(graph, edgeKinds).filter((edge) => nodeIdSet.has(edge.from) && nodeIdSet.has(edge.to));
|
|
33
|
+
const indegree = new Map();
|
|
34
|
+
const outgoing = new Map();
|
|
35
|
+
for (const nodeId of nodeIds) {
|
|
36
|
+
indegree.set(nodeId, 0);
|
|
37
|
+
outgoing.set(nodeId, []);
|
|
38
|
+
}
|
|
39
|
+
for (const edge of topologyEdges) {
|
|
40
|
+
outgoing.get(edge.from)?.push(edge.to);
|
|
41
|
+
indegree.set(edge.to, (indegree.get(edge.to) ?? 0) + 1);
|
|
42
|
+
}
|
|
43
|
+
const queue = nodeIds.filter((nodeId) => (indegree.get(nodeId) ?? 0) === 0);
|
|
44
|
+
const sorted = [];
|
|
45
|
+
while (queue.length > 0) {
|
|
46
|
+
const current = queue.shift();
|
|
47
|
+
if (!current)
|
|
48
|
+
continue;
|
|
49
|
+
sorted.push(current);
|
|
50
|
+
for (const next of outgoing.get(current) ?? []) {
|
|
51
|
+
const nextIndegree = (indegree.get(next) ?? 0) - 1;
|
|
52
|
+
indegree.set(next, nextIndegree);
|
|
53
|
+
if (nextIndegree === 0)
|
|
54
|
+
queue.push(next);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return sorted;
|
|
58
|
+
}
|
|
59
|
+
export function validateAtomGraph(graph) {
|
|
60
|
+
const errors = [];
|
|
61
|
+
const warnings = [];
|
|
62
|
+
const seenNodeIds = new Set();
|
|
63
|
+
const duplicateNodeIds = new Set();
|
|
64
|
+
for (const node of graph.nodes) {
|
|
65
|
+
if (seenNodeIds.has(node.id))
|
|
66
|
+
duplicateNodeIds.add(node.id);
|
|
67
|
+
seenNodeIds.add(node.id);
|
|
68
|
+
}
|
|
69
|
+
for (const nodeId of duplicateNodeIds) {
|
|
70
|
+
errors.push({
|
|
71
|
+
code: 'duplicate_node_id',
|
|
72
|
+
nodeId,
|
|
73
|
+
message: `Atom graph contains duplicate node id "${nodeId}".`,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const nodeIds = new Set(graph.nodes.map((node) => node.id));
|
|
77
|
+
const connectedNodeIds = new Set();
|
|
78
|
+
for (const edge of graph.edges) {
|
|
79
|
+
connectedNodeIds.add(edge.from);
|
|
80
|
+
connectedNodeIds.add(edge.to);
|
|
81
|
+
if (!nodeIds.has(edge.from)) {
|
|
82
|
+
errors.push({
|
|
83
|
+
code: 'edge_missing_source',
|
|
84
|
+
edge,
|
|
85
|
+
message: `Atom edge references missing source node "${edge.from}".`,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (!nodeIds.has(edge.to)) {
|
|
89
|
+
errors.push({
|
|
90
|
+
code: 'edge_missing_target',
|
|
91
|
+
edge,
|
|
92
|
+
message: `Atom edge references missing target node "${edge.to}".`,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
if (edge.weight !== undefined && (edge.weight < 0 || edge.weight > 1)) {
|
|
96
|
+
warnings.push({
|
|
97
|
+
code: 'invalid_edge_weight',
|
|
98
|
+
edge,
|
|
99
|
+
message: `Atom edge weight should be between 0 and 1, got ${edge.weight}.`,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
for (const node of graph.nodes) {
|
|
104
|
+
if (!connectedNodeIds.has(node.id)) {
|
|
105
|
+
warnings.push({
|
|
106
|
+
code: 'isolated_node',
|
|
107
|
+
nodeId: node.id,
|
|
108
|
+
message: `Atom node "${node.id}" has no edges.`,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const topologicalOrder = topologicalSortAtomGraph(graph);
|
|
113
|
+
if (topologicalOrder.length !== graph.nodes.length) {
|
|
114
|
+
errors.push({
|
|
115
|
+
code: 'cycle_detected',
|
|
116
|
+
message: 'Atom graph contains a cycle in requires edges.',
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
// Gameplay nodes must have a requires path to an engine OR scaffold (component) node.
|
|
120
|
+
// In slot-level graphs, the root is an engine node (phaser/threejs/playcanvas).
|
|
121
|
+
// In skill-level graphs, the root is a prefab/scaffold node (e.g. match3_casual.prefab), category `component`.
|
|
122
|
+
const runtimeNodeIds = new Set(graph.nodes.filter((node) => node.category === 'engine' || node.category === 'component').map((node) => node.id));
|
|
123
|
+
for (const gameplayNode of graph.nodes.filter((node) => node.category === 'gameplay')) {
|
|
124
|
+
const ancestors = findAtomAncestors(graph, gameplayNode.id);
|
|
125
|
+
if (!ancestors.some((ancestorId) => runtimeNodeIds.has(ancestorId))) {
|
|
126
|
+
warnings.push({
|
|
127
|
+
code: 'gameplay_without_engine_path',
|
|
128
|
+
nodeId: gameplayNode.id,
|
|
129
|
+
message: `Gameplay atom "${gameplayNode.id}" has no requires path to an engine or scaffold (component) atom.`,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
valid: errors.length === 0,
|
|
135
|
+
errors,
|
|
136
|
+
warnings,
|
|
137
|
+
topologicalOrder,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/recommend/atom-graph/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recommend/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recommend/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|
package/dist/recommend/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recommend/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recommend/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|