Skip to content

Instantly share code, notes, and snippets.

Karsten Schmidt postspectacular

Block or report user

Report or block postspectacular

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View petecory.ts
import {
area,
centroid,
clipConvex,
convexHull,
points,
polygon,
rect,
scatter,
withAttribs
@postspectacular
postspectacular / hello-ast.js
Last active Jun 14, 2019
@thi.ng/shader-ast WIP codegen example w/ multiple output targets (GLSL & JS)
View hello-ast.js
// // // //
// ///// // //// // //// ///// //// ///// //////
// // ///// // ///// // // // // ////// // // //
// //// // // ///// // // ////// // ///// //// //
// // // // // // // // // // // // // //
// ///// // // ///// ///// //// // ///// ///// ///
//
// Head over to thi.ng/shader-ast for more details
const ast = require("@thi.ng/shader-ast");
View deform.vex
// deform code
vector4 planes[] = point(1, "planes", @id);
foreach(vector4 plane; planes) {
vector n = set(plane.x, plane.y, plane.z);
float d = dot(n, @P) + plane.w;
// check if point is "above" intersection plane
// since the plane normal always points away from each sphere's center
// this will select all points intersecting a neighbor sphere
if (d > 0) {
@postspectacular
postspectacular / sdf-svg-heatmap.ts
Last active Mar 15, 2019
Shroomania: SDF SVG heatmap
View sdf-svg-heatmap.ts
import { DisjointSet } from "@thi.ng/adjacency";
import { cosineColor, GRADIENTS } from "@thi.ng/color";
import { identity, partial } from "@thi.ng/compose";
import { serialize } from "@thi.ng/hiccup";
import { rect, svg, text } from "@thi.ng/hiccup-svg";
import { fitClamped, wrap } from "@thi.ng/math";
import { IRandom, Smush32 } from "@thi.ng/random";
import {
buildKernel2d,
comp,
@postspectacular
postspectacular / wolfram.js
Created Mar 10, 2019
Transducer based, branch-less 1D Wolfram automata (textmode)
View wolfram.js
const tx = require("@thi.ng/transducers");
const txb = require("@thi.ng/transducers-binary");
// ANSI clear screen esc seq
const CLEAR = "\x1b[2J\x1b[;H";
// CA dimensions
const WIDTH = 72;
const HEIGHT = 24;
@postspectacular
postspectacular / rulegen.ts
Last active Mar 4, 2018
@thi.ng/hiccup-css example to generate tachyons.css width & height rules incl. their media query versions
View rulegen.ts
import * as fs from "fs";
import * as css from "@thi.ng/hiccup-css";
const mediaQueries = [
[""],
["-ns", "--breakpoint-no-small"],
["-m", "--breakpoint-medium"],
["-l", "--breakpoint-large"]
];
View keybase.md

Keybase proof

I hereby claim:

  • I am postspectacular on github.
  • I am toxi (https://keybase.io/toxi) on keybase.
  • I have a public key ASChmJFjwANWhFE5SMqUl6TX65dPobiDLv4CtgE0WgIxIQo

To claim this, I am signing this object:

@postspectacular
postspectacular / compile.sh
Created Jul 3, 2016
STL mesh viewer & WebWorker example
View compile.sh
lein do clean, cljsbuild once min && node postprocess.js
@postspectacular
postspectacular / core.cljs
Created Jul 3, 2016
STL mesh viewer & WebWorker example
View core.cljs
(ns meshviewer.core
(:require-macros
[reagent.ratom :refer [reaction]])
(:require
[thi.ng.math.core :as m :refer [PI HALF_PI TWO_PI]]
[thi.ng.color.core :as col]
[thi.ng.geom.core :as g]
[thi.ng.geom.vector :as v]
[thi.ng.geom.matrix :as mat]
[thi.ng.geom.gl.core :as gl]
@postspectacular
postspectacular / meshworker.cljs
Last active Jan 23, 2017
STL mesh viewer & WebWorker example
View meshworker.cljs
;; base.js contains all of CLJS & thi.ng
(.importScripts js/self "base.js")
(ns meshworker
(:require-macros
[cljs-log.core :refer [debug info warn]])
(:require
[thi.ng.math.core :as m]
[thi.ng.geom.core :as g]
[thi.ng.geom.matrix :as mat]
You can’t perform that action at this time.