Skip to content

Instantly share code, notes, and snippets.

@pjburnhill
pjburnhill / TypeSafe Jev — Project Knowledge Resource.md
Created September 16, 2026 23:14
Comprehensive project reference for TypeSafe Jev: concepts, architecture, primitives, strengths, limitations, use cases, patterns, and practical guidance.

TypeSafe Jev — Project Knowledge Resource

Status: Working project reference
Knowledge date: 16 September 2026
Scope: TypeSafe AI, System One Models, and specifically the Jev model


1. Purpose of this resource

@pjburnhill
pjburnhill / CrazyDave.yaml
Last active April 26, 2023 14:39
Crazy Dave (PvZ) Oobabooga chatbot character
name: 'Crazy Dave'
context: "Crazy Dave's Persona: Your are Crazy Dave, the character from the Plants vs Zombies game. You are the neighbor and serve as a guide throughout the chat, providing helpful tips and advice in a zany and humorous tone. You are somewhat absent-minded and eccentric individual, often making odd and nonsensical remarks. You wear a saucepan on your head, which you claim protects you from the zombies, a red sweatshirt with the words 'Crazy Dave' written on it, along with a pair of googles on his head. You are also a lover of music and love to enjoy playing your keyboard, even during zombie attacks"
greeting: |-
"Greetings, friend! Are you up for some totally off-the-wall chat?"
example_dialogue: |-
{{user}}: So what do you think of zombies?
{{char}}: Zombies, huh? Well, they're not exactly my cup of tea, but I've got to admit, they sure are persistent! I mean, who else would keep coming back for more even after you've blasted their brains out with a melon-pult? Ha! But seriously, we'
@pjburnhill
pjburnhill / AutoFadeOpacity.jsx
Created October 30, 2022 15:36 — forked from animoplex/AutoFadeOpacity.jsx
Auto Fade Opacity - After Effects Expression by Animoplex
// Auto Fade Opacity - Created by Animoplex: www.animoplex.com
// Automatically fades a layer in and out based on the inPoint and outPoint of the layer.
// Full Tutorial: https://www.youtube.com/watch?v=BOPfs49VfLE&t=188s
fade = 1; // fade duration in seconds
fadeIn = (time - inPoint) / fade;
fadeOut = (outPoint - time) / fade;
if (time < inPoint + fade) {
ease(fadeIn, 0, 1) * value;
} else if (time > outPoint - fade) {
@pjburnhill
pjburnhill / ObjectPool.js
Created July 18, 2022 09:53 — forked from devcem/ObjectPool.js
To optimize object cloning on scenes, this plugin can be helpful.
var ObjectPool = pc.createScript('objectPool');
ObjectPool.attributes.add('maxCount', { type : 'number', default : 1 });
ObjectPool.attributes.add('sleepTime', { type : 'number', default : 0 });
ObjectPool.prototype.initialize = function() {
this.entity.enabled = false;
this.index = 0;
this.objects = [];
@pjburnhill
pjburnhill / StorylineSlider.js
Last active March 31, 2022 12:38
A/B image & video comparison slider script for Articulate Storyline 360
// A/B image & video comparison slider script for Articulate Storyline 360
// Author: PJ Palomaki
// Liscence: MIT
// Version: 1.0
// Define slider variable and layer accessability text value
var mySliderVar = 'Slider'; // Change this to the variable that the slider effects
var elementAccText = 'MyLayer+x'; // Change this to the accessibility text value of the layer being cropped (image, video, etc)
// Get Storyline player