Repository navigation
v0.1.0
First stable release. The API, the file format (kind ioscene, format 1) and the validation codes are those of
0.1.0-preview.2. From this release a patch adds or fixes; a breaking change waits for 0.2.0 (docs/contract.md,
section 5). A package that depends on IOScene references [0.1.0, 0.2.0-0).
Changed
- README,
docs/contract.mdand SECURITY.md describe a stable package, and the install command has no
--prerelease. docs/contract.mdand the XML documentation state these rules; the code is unchanged:- An explicit
nullreads as the default for text other thanKind, lists, objects and members marked?.
SceneJson.Readrejects anullfor a number, an enum, a math value, a date-time or a property value
withInvalidDataException. Validate()does not checkvertex-countandindex-countfor a topology it does not know;index-range,
normal-countanduv-countapply to every topology.- A triangle's front is the side from which its vertices run counter-clockwise, and normals point to the front. An
instance transform with a negative determinant reverses the winding (the glTF rule). - A
PlannedStartorPlannedEndat its default0001-01-01T00:00:00+00:00means "not given"; a consumer leaves
such a task out of time-based views. - Date-times are written with an offset; a value without one is read in the local time zone.
SceneModel.Produceris the package id and the NuGet version without build metadata, separated by one space.- An instance colour replaces the material colour, also as the factor of the material's texture.
- A lookup by key takes the first property with the key in the first set that has it.
SceneJsonwrites and reads JSON nested at most 128 levels deep, which holds 62 levels of tasks.
- An explicit
docs/keys.md: the namespacesrevit:andifc:are registered; their formats are fixed from the first releases
ofRvtIO.SceneandIfcIO.Scene. Shared, project and family parameters have no key yet.- The package has its own icon instead of a copy of the IOViewer icon.