Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add KHR_interactivity draft #2293

Draft
wants to merge 42 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
2070215
Add KHR_interactivity intro
lexaknyazev Jul 1, 2023
09bd2cf
Add socket descriptions and math nodes
lexaknyazev Oct 2, 2023
151f3ad
Add vector and more arithmetic nodes; editorial changes
lexaknyazev Oct 16, 2023
47c12fa
Add comparison nodes; address feedback
lexaknyazev Oct 23, 2023
736e686
Add special float constants
lexaknyazev Nov 6, 2023
667fdb1
Add matrix and integer nodes; update formatting
lexaknyazev Nov 14, 2023
4b7b4fe
Add a note about math/tan return values
lexaknyazev Jan 22, 2024
866ea7f
Add flow nodes
lexaknyazev Feb 26, 2024
f69bfb1
Address feedback
lexaknyazev Mar 4, 2024
29e8acc
Add flow/throttle
lexaknyazev Mar 4, 2024
6ebb25f
Add flow/delay
lexaknyazev Mar 4, 2024
c63a37f
Address feedback
lexaknyazev Mar 11, 2024
48851d2
Mention flow/delay activations limit
lexaknyazev Mar 11, 2024
86bf693
Add pointer/get and pointer/set
lexaknyazev Mar 11, 2024
71860b8
Add variable/get and variable/set
lexaknyazev Mar 11, 2024
ffd99ef
Adjust flow/throttle error condition
lexaknyazev Mar 25, 2024
3260039
Update delay nodes
lexaknyazev Mar 25, 2024
18e12cc
Clarify delay limits
lexaknyazev Apr 1, 2024
e73bc71
Clarify invalid values for pointer/set
lexaknyazev Apr 8, 2024
38e690f
Add boolean arithmetic nodes
lexaknyazev Apr 8, 2024
8fbc866
Add type conversion nodes
lexaknyazev Apr 8, 2024
b681b0a
Add math/select node
lexaknyazev Apr 8, 2024
9e000b9
Add boolean XOR
lexaknyazev Apr 15, 2024
de89f6a
Add vector and matrix combine/extract nodes
lexaknyazev Apr 21, 2024
6867635
Add pointer/interpolate
lexaknyazev May 13, 2024
32fd170
Typo fixes
lexaknyazev May 13, 2024
19630ba
Adjust min/max/clamp node descriptions
lexaknyazev May 13, 2024
a369436
Add animation control nodes
lexaknyazev Jun 3, 2024
4685e06
Add lifecycle nodes
lexaknyazev Jun 3, 2024
09f1f1d
Add custom event nodes
lexaknyazev Jun 3, 2024
22fecec
Add more intro sections
lexaknyazev Jun 10, 2024
63f5d3d
Add JSON syntax
lexaknyazev Jun 17, 2024
4177adf
Initialize floating-point variables to NaN
lexaknyazev Jun 24, 2024
21e1b4c
Update custom event nodes
lexaknyazev Jun 24, 2024
83aa69c
Align async output flow socket names
lexaknyazev Jun 24, 2024
d873db6
Clarify flow/multiGate randomness
lexaknyazev Jun 24, 2024
86409f3
Fix typo
lexaknyazev Jul 22, 2024
4834fcd
Clarify input value sockets for pointer nodes
lexaknyazev Jul 22, 2024
e33a3bc
Clarify configuration value types
lexaknyazev Jul 22, 2024
fbcf696
Clarify pointer nodes for not mutable pointers
lexaknyazev Jul 22, 2024
11339a0
Add active camera pointers
lexaknyazev Jul 22, 2024
220ca40
Clarify pointer nodes validity
lexaknyazev Jul 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,15 @@ jobs:
path: |
specification/2.0/Specification.html
specification/2.0/Specification.pdf

- name: Build interactivity extension targets
run: |
cd extensions/2.0/Khronos/KHR_interactivity
make Specification.html

- name: Archive generated files
uses: actions/upload-artifact@v2
with:
name: interactivity-outputs
path: |
extensions/2.0/Khronos/KHR_interactivity/Specification.html
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ specification/2.0/PropertiesReference.adoc
specification/2.0/JsonSchemaReference.adoc
specification/2.0/Specification.html
specification/2.0/Specification.pdf
extensions/2.0/Khronos/**/Specification.html
extensions/2.0/Khronos/**/Specification.pdf
78 changes: 78 additions & 0 deletions extensions/2.0/Khronos/KHR_interactivity/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Copyright 2020 The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

# Output specification targets
SPEC = Specification
TARGETS = $(SPEC).html $(SPEC).pdf
all: $(TARGETS)

# Generate the Properties Reference section of the spec from JSON schema.
# This uses 'npx' to minimally install the 'wetzel' tool, if needed.
# When using embedded schemas, SCHEMALINK should be a relative path.

# Note this Makefile should remain locked to a particular version of
# wetzel, such that the history of changes to the documentation can
# accurately reflect changes to wetzel that impact the output here.
# Please manually upgrade the version as often as needed, without unlocking.

WETZEL = npx wetzel@0.2.2
SCHEMALINK = schema
EMBEDSCHEMA = JsonSchemaReference.adoc

# Base name of the generated properties reference file
PROPREF = PropertiesReference.adoc
# Files generated by wetzel
GENERATED = $(PROPREF) $(EMBEDSCHEMA)
# Schema files to leave out of $(PROPREF)
IGNORESCHEMA = '["gltfchildofrootproperty.schema.json", "gltfid.schema.json", "gltfproperty.schema.json"]'
$(GENERATED): $(wildcard schema/*.json)
$(WETZEL) -n -a=cqo -m=a -p "$(SCHEMALINK)" -e "$(EMBEDSCHEMA)" \
-i $(IGNORESCHEMA) -c "icon:check[]" -k "**MUST**"\
schema/glTF.schema.json > $(PROPREF)

# Spec targets for offline generation
# Requires an up-to-date asciidoctor, asciidoctor-pdf, and
# asciidoctor-mathematical be installed
# We recommend using the following image on dockerhub:
# docker pull khronosgroup/docker-images:asciidoctor-spec
ASCIIDOCTOR = asciidoctor $(ADOCOPTS)
ADOCOPTS = -d book
ADOCHTMLOPTS = -a stylesheet=../../../../specification/2.0/khronos.css -a sectanchors
SPECDEPS = $(SPEC).adoc #$(GENERATED)

PATCHVERSION = 1
SPECREVISION = 2.0.$(PATCHVERSION)

# Spell out ISO 8601 format as not all date commands support --rfc-3339
SPECDATE = $(shell echo `date -u "+%Y-%m-%d %TZ"`)

# Generate AsciiDoc attributes for spec remark
# Could use `git log -1 --format="%cd"` to get branch commit date
# This used to be a dependency in the spec html/pdf targets,
# but that's likely to lead to merge conflicts. Just regenerate
# when pushing a new spec for review to the sandbox.
# The dependency on HEAD is per the suggestion in
# http://neugierig.org/software/blog/2014/11/binary-revisions.html
SPECREMARK = from git branch: $(shell echo `git symbolic-ref --short HEAD 2> /dev/null || echo Git branch not available`) \
commit: $(shell echo `git log -1 --format="%H" 2> /dev/null || echo Git commit not available`)

ATTRIBOPTS = -a revnumber="$(SPECREVISION)" \
-a revdate="$(SPECDATE)" \
-a revremark="$(SPECREMARK)"

$(SPEC).html: $(SPECDEPS)
$(ASCIIDOCTOR) -b html5 $(ADOCHTMLOPTS) $(ATTRIBOPTS) $(SPEC).adoc -o $@

# :allow-url-read: is necessary for the embedded render.githubusers.com
# math images to be processed for the PDF target. See
# https://github.com/asciidoctor/asciidoctor-pdf/issues/369
# asciidoctor-mathematical leaves intermediate images of equations behing.
# These are removed after creating the PDF.
STEMIMAGES = stem-*.png
$(SPEC).pdf: $(SPECDEPS)
$(ASCIIDOCTOR) -b pdf $(ATTRIBOPTS) -a allow-uri-read -r asciidoctor-pdf \
-r asciidoctor-mathematical $(SPEC).adoc -o $@
rm -f $(STEMIMAGES)

clean:
-rm -f $(GENERATED) $(TARGETS)
Loading
Loading